رگرسیون موزون جغرافیایی چیست؟و چه کاربردهایی دارد …
این پست مقدمهای بر مدلهای رگرسیون وزندار جغرافیایی ارائه میکند.
محتوای این پست بر اساس موارد زیر است:
- فاثرینگهام، براندون و چارلتون ( 2002 ) ، کتابی است که اگر در حال کار یا برنامه ریزی برای شروع کار بر روی مدلسازی رگرسیون وزندار جغرافیایی هستید، ضروری است.
- کامبر و همکاران پیشچاپ اخیراً منتشر شده ( 2020 ) که یک نقشه راه برای نزدیک شدن به مسائل مختلف عملی در کاربرد GWR ارائه میکند.
این پست بخشی از یادداشتهای تحلیل فضایی است، مجموعهای که به عنوان یک مخزن GitHub میزبانی میشود و میتوانید به چند روش به آن دسترسی داشته باشید:
- به عنوان دانلود
.zip
فایلی که شامل تمامی مطالب می باشد . - به عنوان یک وب سایت html .
- به عنوان یک سند pdf
- به عنوان یک مخزن GitHub .
9.1 وابستگی ها
این فصل از کتابخانه های زیر استفاده می کند. با اجرای قطعه کد زیر، مطمئن شوید که آنها بر روی دستگاه شما 46 نصب شده اند:
# Data manipulation, transformation and visualisation
library(tidyverse)
# Nice tables
library(kableExtra)
# Simple features (a standardised way to encode vector data ie. points, lines, polygons)
library(sf)
# Spatial objects conversion
library(sp)
# Thematic maps
library(tmap)
# Colour palettes
library(RColorBrewer)
# More colour palettes
library(viridis) # nice colour schemes
# Fitting geographically weighted regression models
library(spgwr)
# Obtain correlation coefficients
library(corrplot)
# Exportable regression tables
library(jtools)
library(stargazer)
library(sjPlot)
# Assess multicollinearity
library(car)
9.2 داده ها
برای این فصل از داده های زیر استفاده خواهیم کرد:
- موارد تجمعی تایید شده COVID-19 از 1 ژانویه 2020 تا 14 آوریل 2020 از بهداشت عمومی انگلستان از طریق داشبورد GOV.UK ؛
- مشخصات جمعیت ساکن از سرشماری 2011، در دسترس از دفتر آمار ملی ؛ و
- داده های شاخص محرومیت چندگانه (IMD) 2019 از GOV.UK و توسط وزارت مسکن، جوامع و دولت محلی منتشر شده است.
دادههای مورد استفاده برای این فصل در سطح مقامات محلی سطح بالایی ONS (UTLA) سازماندهی شدهاند – که به عنوان استانها و مقامات واحد نیز شناخته میشوند . آنها واحدهای جغرافیایی هستند که برای گزارش داده های COVID-19 استفاده می شوند.
اگر از مجموعه داده استفاده شده در این فصل استفاده می کنید، حتماً به این کتاب مراجعه کنید. برای لیست کامل متغیرهای موجود در مجموعه داده های مورد استفاده در این فصل، فایل readme را در پوشه داده gwr ببینید. 47
بیایید داده ها را بخوانیم:
# clean workspace
rm(list=ls())
# read data
utla_shp <- st_read("data/gwr/Covid19_total_cases_geo.shp") %>%
select(objct, cty19c, ctyu19nm, long, lat, st_rs, st_ln, X2020.04.14, I.PL1, IMD20, IMD2., Rsdnt, Hshld, Dwlln, Hsh_S, E_16_, A_65_, Ag_85, Mixed, Indin, Pkstn, Bngld, Chins, Oth_A, Black, Othr_t, CB_U_, Crwd_, Lng__, Trn__, Adm__, Ac___, Pb___, Edctn, H____, geometry)
# replace nas with 0s
utla_shp[is.na(utla_shp)] <- 0
# explore data
str(utla_shp)
9.3 خلاصه: اثرات فضایی
تا اینجا، ما به طور ضمنی سه اثر فضایی متمایز را مورد بحث قرار دادهایم:
- ناهمگونی فضایی به توزیع ناهموار مقادیر یک متغیر در فضا اشاره دارد
- وابستگی فضایی به رابطه فضایی مقادیر یک متغیر برای یک جفت مکان در فاصله معینی از هم اشاره دارد، به طوری که شباهت بیشتری (یا کمتر مشابه) از آنچه برای جفت مشاهدات به طور تصادفی مرتبط میشود دارند.
- ناایستایی فضایی به تغییرات در رابطه بین یک متغیر نتیجه و مجموعه ای از متغیرهای پیش بینی کننده در فضا اشاره دارد.
در جلسات قبلی، مدلهای چند سطحی را برای مقابله با غیرایستایی فضایی در نظر گرفتیم، با تشخیص اینکه قدرت و جهت رابطه بین یک نتیجه و مجموعهای از پیشبینیکنندهها ممکن است در فضا متفاوت باشد. در اینجا ما یک رویکرد متفاوت، یعنی رگرسیون وزندار جغرافیایی (GWR) را در نظر میگیریم.yx
9.4 تجزیه و تحلیل اکتشافی
ما این تکنیک را از طریق یک تحلیل تجربی با توجه به شیوع جهانی فعلی COVID-19 بررسی خواهیم کرد. به طور خاص ما به دنبال شناسایی عوامل زمینه ای بالقوه ای هستیم که ممکن است با افزایش خطر عفونت موضعی مرتبط باشند. تراکم جمعیت، خانههای شلوغ، افراد آسیبپذیر و کارگران بحرانی، همگی با خطر بالاتر عفونت COVID-19 مرتبط هستند.
ابتدا، ما برخی از درک اساسی از متغیر مورد علاقه خود را تعریف و توسعه خواهیم داد. ما خطر ابتلا به COVID-19 را با تعداد تجمعی موارد مثبت COVID-19 تأیید شده در هر 100000 نفر تعریف می کنیم:
# risk of covid-19 infection
utla_shp$covid19_r <- (utla_shp$X2020.04.14 / utla_shp$Rsdnt) * 100000
# histogram
ggplot(data = utla_shp) +
geom_density(alpha=0.8, colour="black", fill="lightblue", aes(x = covid19_r)) +
theme_classic()
# distribution in numbers
summary(utla_shp$covid19_r)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 32.11 92.81 140.15 146.66 190.96 341.56
نتایج نشاندهنده تنوع گستردهای در خطر ابتلا به عفونت در سراسر UTLA در انگلستان است که از 31 تا 342 مورد مثبت تایید شده COVID-19 در هر 100000 نفر با میانگین 147 متغیر است. ما موارد را برای درک ساختار فضایی آنها ترسیم میکنیم.
# read region boundaries for a better looking map
reg_shp <- st_read("data/gwr/Regions_December_2019_Boundaries_EN_BGC.shp")
## Reading layer `Regions_December_2019_Boundaries_EN_BGC' from data source `/Users/Franciscorowe 1/Dropbox/Francisco/uol/teaching/envs453/202021/san/data/gwr/Regions_December_2019_Boundaries_EN_BGC.shp' using driver `ESRI Shapefile'
## Simple feature collection with 9 features and 9 fields
## geometry type: MULTIPOLYGON
## dimension: XY
## bbox: xmin: 82672 ymin: 5342.7 xmax: 655653.8 ymax: 657536
## projected CRS: OSGB 1936 / British National Grid
# ensure geometry is valid
utla_shp = sf::st_make_valid(utla_shp)
reg_shp = sf::st_make_valid(reg_shp)
# map
legend_title = expression("Cumulative cases per 100,000")
map_utla = tm_shape(utla_shp) +
tm_fill(col = "covid19_r", title = legend_title, palette = magma(256), style = "cont") + # add fill
tm_borders(col = "white", lwd = .1) + # add borders
tm_compass(type = "arrow", position = c("right", "top") , size = 5) + # add compass
tm_scale_bar(breaks = c(0,1,2), text.size = 0.7, position = c("center", "bottom")) + # add scale bar
tm_layout(bg.color = "white") # change background colour
map_utla + tm_shape(reg_shp) + # add region boundaries
tm_borders(col = "white", lwd = .5) # add borders
این نقشه نشان میدهد که میزان شیوع بالای عفونت در مناطق شهری لندن، لیورپول، نیوکاسل، شفیلد، میدلزبرو و بیرمنگام وجود دارد. در زیر ما UTLA ها در این مناطق را به ترتیب نزولی فهرست می کنیم.
hotspots <- utla_shp %>% select(ctyu19nm, covid19_r) %>%
filter(covid19_r > 190)
hotspots[order(-hotspots$covid19_r),]
## Simple feature collection with 38 features and 2 fields
## geometry type: MULTIPOLYGON
## dimension: XY
## bbox: xmin: 293941.4 ymin: 155850.8 xmax: 561956.7 ymax: 588517.4
## projected CRS: Transverse_Mercator
## First 10 features:
## ctyu19nm covid19_r geometry
## 14 Brent 341.5645 MULTIPOLYGON (((520113.1 19...
## 32 Southwark 337.1687 MULTIPOLYGON (((532223 1805...
## 27 Lambeth 305.5238 MULTIPOLYGON (((531189.5 18...
## 22 Harrow 286.1254 MULTIPOLYGON (((517363.8 19...
## 17 Croydon 276.8467 MULTIPOLYGON (((531549.3 17...
## 12 Barnet 274.1410 MULTIPOLYGON (((524645.2 19...
## 28 Lewisham 261.3408 MULTIPOLYGON (((536691.6 17...
## 30 Newham 258.4550 MULTIPOLYGON (((542600.7 18...
## 38 Cumbria 255.6726 MULTIPOLYGON (((357012.9 58...
## 15 Bromley 253.7234 MULTIPOLYGON (((542252.7 17...
چالش 1: لیورپول چگونه در این لیست رتبه بندی می کند؟
9.5 رگرسیون جهانی
برای ارائه درک شهودی از GWR، یک شروع مفید این است که داده ها را با استفاده از یک مدل رگرسیون خطی حداقل مربعات معمولی (OLS) کاوش کنیم. مسئله کلیدی در اینجا این است که بفهمیم آیا بروز بالای COVID-19 با تفاوت های ساختاری در سراسر UTLA در انگلستان مرتبط است یا خیر. همانطور که در بالا اشاره شد، موارد مثبت تایید شده COVID-19 با مسکن های بیش از حد شلوغ، جمعیت های آسیب پذیر – از جمله افراد در گروه های سنی مسن، گروه های محروم اقتصادی و کسانی که از شرایط سلامت مزمن رنج می برند – اقلیت های قومی، کارکنان مهم در بخش بهداشت و مددکاری اجتماعی مرتبط است. ، آموزش، مسکن و غذا، حمل و نقل، و بخش های اداری و پشتیبانی. بنابراین، بیایید مجموعه ای از متغیرها را برای تقریب این عوامل ایجاد کنیم.
# define predictors
utla_shp <- utla_shp %>% mutate(
crowded_hou = Crwd_ / Hshld, # share of crowded housing
elderly = (A_65_ + Ag_85) / Rsdnt, # share of population aged 65+
lt_illness = Lng__ / Rsdnt, # share of population in long-term illness
ethnic = (Mixed + Indin + Pkstn + Bngld + Chins + Oth_A + Black + Othr_t) / Rsdnt, # share of nonwhite population
imd19_ext = IMD20, # proportion of a larger area’s population living in the most deprived LSOAs in the country
hlthsoc_sec = H____ / E_16_, # share of workforce in the human health & social work sector
educ_sec = Edctn / E_16_, # share of workforce in the education sector
trnsp_sec= Trn__ / E_16_, # share of workforce in the Transport & storage sector
accfood_sec = Ac___ / E_16_, # share of workforce in the accommodation & food service sector
admsupport_sec = Adm__ / E_16_, # share of workforce in the administrative & support sector
pblic_sec = Pb___ / E_16_ # share of workforce in the public administration & defence sector
)
بیایید به سرعت بررسی کنیم که چگونه آنها با متغیر پیامد ما یعنی نرخ بروز COVID-19 با استفاده از ضرایب همبستگی و همبستگی مرتبط هستند.
# obtain a matrix of Pearson correlation coefficients
df_sel <- st_set_geometry(utla_shp[,37:48], NULL) # temporary data set removing geometries
cormat <- cor(df_sel, use="complete.obs", method="pearson")
# significance test
sig1 <- corrplot::cor.mtest(df_sel, conf.level = .95)
# creta a correlogram
corrplot::corrplot(cormat, type="lower",
method = "circle",
order = "original",
tl.cex = 0.7,
p.mat = sig1$p, sig.level = .05,
col = viridis::viridis(100, option = "plasma"),
diag = FALSE)
همبستگی قدرت و اهمیت رابطه خطی بین مجموعه متغیرهای ما را نشان می دهد. اندازه دایره نشان دهنده قدرت روابط است که توسط ضریب همبستگی پیرسون گرفته شده است، و تلاقی ها نشان دهنده روابط آماری ناچیز در سطح اطمینان 95٪ است. رنگ جهت رابطه با رنگ های تیره (روشن) را نشان می دهد که نشان دهنده یک ارتباط منفی (مثبت) است.
نتایج نشان میدهد که بروز کووید-19 به طور مثبت و معنادار با سهم خانههای پرجمعیت، اقلیتهای قومی غیرسفید پوست و کارکنان اداری و پشتیبانی مرتبط است. برخلاف انتظارات، به نظر میرسد بروز کووید-19 با سهم جمعیت سالمند، جمعیتی که از بیماری طولانیمدت رنج میبرند و کارکنان اداری و پشتیبانی همبستگی منفی دارد، و ارتباط معنیداری با سهم جمعیتی که در مناطق محروم زندگی میکنند نشان نمیدهد. مناطق و همچنین سهم کارکنان اداری دولتی و دفاعی و کارکنان بهداشتی و اجتماعی. مورد دوم احتمالاً نشاندهنده اثربخشی اقدامات محافظتی انجام شده برای جلوگیری از عفونت در بین این گروههای جمعیتی است، اما ممکن است بازتابی از پوشش نسبی آزمایشهای COVID-19 و گزارشدهی کم باشد. همچنین ممکن است محدودیتهای توصیفی ضرایب همبستگی را آشکار کند زیرا آنها رابطه بین یک جفت متغیر را نشان میدهند و برای دیگران کنترل نمیکنند. بنابراین ضرایب همبستگی می توانند روابط جعلی ناشی از متغیرهای مخدوش را ایجاد کنند. در ادامه به این نکته باز خواهیم گشت.
نتایج همچنین نشان میدهد که همبستگی بالایی بین جفتهای خاصی از متغیرها، به ویژه بین سهم مسکن شلوغ و جمعیت قومی غیرسفیدپوست، سهم مسکن شلوغ و جمعیت سالمندان، سهم خانههای پرجمعیت و کارکنان اداری و پشتیبانی، سهم جمعیت مسن و جمعیتی که از بیماری طولانی مدت رنج می برند. تجزیه و تحلیل دقیق تری از چند خطی مورد نیاز است. تشخیصهای مختلفی برای چند خطی بودن در چارچوب رگرسیون وجود دارد، از جمله اعداد شرایط ماتریس (CN)، عوامل تورم واریانس پیشبینیکننده (VIFs) و عوامل تجزیه واریانس (VDPs). قوانین سرانگشتی (CNs > 30، VIFs > 10 و VDPs > 0.5) برای نشان دادن سطوح نگران کننده همخطی را می توان در Belsley، Kuh و Welsch ( 2005 ) یافت.. برای جلوگیری از مشکلات چند خطی، اغلب یک استراتژی ساده حذف پیش بینی کننده های بسیار همبسته است. مشکل در تصمیم گیری برای حذف کدام پیش بینی کننده (ها) است، به خصوص زمانی که همه مهم تلقی شوند. این را در هنگام تعیین مدل خود در نظر داشته باشید.
چالش 2: رابطه همه متغیرهای اجرا شده را تجزیه و تحلیل کنید
pairs(df_sel)
. یک رگرسیون خطی در گرفتن روابط مجموعه متغیرهای ما چقدر دقیق است؟
9.5.1 نتایج رگرسیون جهانی
برای به دست آوردن درک بهتری از این روابط، میتوانیم نرخ بروز COVID-19 را بر اساس مجموعهای از عوامل که تفاوتها را در مناطق مختلف نشان میدهند، کاهش دهیم. برای تمرکز بر توصیف GWR، تحلیل خود را ساده نگه می داریم و نرخ بروز COVID-19 را به عنوان تابعی از سهم جمعیت قومی غیرسفید پوست و جمعیتی که از بیماری طولانی مدت رنج می برند با تخمین مدل رگرسیون خطی OLS زیر مطالعه می کنیم:
# attach data
attach(utla_shp)
# specify a model equation
eq1 <- covid19_r ~ ethnic + lt_illness
model1 <- lm(formula = eq1, data = utla_shp)
# estimates
summary(model1)
##
## Call:
## lm(formula = eq1, data = utla_shp)
##
## Residuals:
## Min 1Q Median 3Q Max
## -109.234 -38.386 -4.879 29.284 143.786
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 63.77 30.13 2.117 0.036 *
## ethnic 271.10 30.65 8.845 2.64e-15 ***
## lt_illness 216.20 151.88 1.424 0.157
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 51 on 147 degrees of freedom
## Multiple R-squared: 0.3926, Adjusted R-squared: 0.3844
## F-statistic: 47.52 on 2 and 147 DF, p-value: < 2.2e-16
ما همچنین VIF ها را برای متغیرهای مدل محاسبه می کنیم:
vif(model1)
## ethnic lt_illness
## 1.43015 1.43015
نتایج رگرسیون نشان می دهد که یک رابطه مثبت بین سهم جمعیت غیرسفید پوست و افزایش خطر ابتلا به عفونت COVID-19 وجود دارد. افزایش یک درصدی در سهم جمعیت غیرسفیدپوست، افزایش 271 درصدی در تعداد تجمعی عفونت کووید-19 به ازای هر 100000 نفر را نشان میدهد، بقیه موارد ثابت است. نتایج همچنین یک رابطه مثبت (البته از نظر آماری ناچیز) را بین سهم جمعیت مبتلا به بیماری درازمدت و افزایش خطر ابتلا به عفونت COVID-19 پس از کنترل سهم جمعیت غیرسفید پوست نشان میدهد و در نتیجه شک ما را در مورد محدودیتهای بیماری تأیید میکند. ضرایب همبستگی; یعنی زمانی که تفاوت در سهم جمعیت غیر سفیدپوست در نظر گرفته شود، ارتباط بین سهم جمعیتی که از بیماری طولانی مدت رنج می برند و افزایش خطر ابتلا به عفونت COVID-19 مثبت می شود. ما همچنین چند خطی بودن را آزمایش می کنیم. VIF ها زیر 10 هستند که نشان می دهد چند خطی بودن خیلی مشکل ساز نیست.
\ (R2مقدار رگرسیون OLS 0.393 است که نشان میدهد مدل ما تنها 39 درصد از واریانس نرخ عفونت COVID-19 را توضیح میدهد. این امر 71 درصد از واریانس را بدون توضیح باقی می گذارد. برخی از این واریانس غیرقابل توضیح میتواند به این دلیل باشد که ما فقط دو متغیر توضیحی را در مدل خود گنجاندهایم، اما همچنین به این دلیل که مدل رگرسیون OLS فرض میکند که روابط در مدل در فضا ثابت است. یعنی یک فرآیند ثابت را فرض می کند. از این رو، یک مدل رگرسیون OLS برای گرفتن روابط جهانی در نظر گرفته می شود. با این حال، روابط ممکن است در فضا متفاوت باشد. به عنوان مثال، فرض کنید که در سراسر انگلستان تغییرات رفتاری ذاتی وجود دارد و مردم در برخی مناطق نسبت به سایر مناطق به شدت به اقدامات خود انزوا و فاصله گذاری اجتماعی پایبند بوده اند. یا اینکه اقلیتهای قومی کمتر در معرض ابتلا به COVID-19 در بخشهای خاصی از انگلستان هستند. اگر چنین تغییراتی در ارتباطات در فضا وجود داشته باشد، مدل تخمینی OLS ما یک تعریف نادرست از واقعیت خواهد بود زیرا این روابط را ثابت فرض میکند.
برای درک بهتر این مشخصات نادرست بالقوه، ما باقیماندههای مدل را بررسی میکنیم که تنوع بالایی را نشان میدهند (به زیر مراجعه کنید). توزیع غیرتصادفی است و باقیماندههای مثبت بزرگ را در مناطق شهری لندن، لیورپول، نیوکاسل (در رنگهای روشن) و ناحیه دریاچه و باقیماندههای منفی بزرگ در بسیاری از انگلستان (به رنگ سیاه) نشان میدهد. این با الگوی فضایی موارد تایید شده COVID-19 با غلظت بالا در تعداد محدودی از مناطق شهری مطابقت دارد (به بالا مراجعه کنید). در حالی که نقشه باقیمانده ما نشان میدهد که مشکلی در مدل OLS وجود دارد، اما نشان نمیدهد که در صورت وجود کدام یک از پارامترهای مدل ممکن است ناپایداری فضایی را نشان دهند. یک راه ساده برای بررسی اینکه آیا روابط مدلسازی شده در مدل جهانی OLS ما احتمالاً در فضا ثابت هستند یا خیر، تخمین مدل OLS جداگانه برای هر UTLA در انگلستان است. اما این به وضوح بالاتری نیاز دارد، یعنی دادههای درون UTLA، و ما فقط یک نقطه داده در هر UTLA داریم.( 2002 ) (2002، p.40-44) رویکردهای جایگزین و محدودیت های آنها را مورد بحث قرار می دهند.
utla_shp$res_m1 <- residuals(model1)
# map
legend_title = expression("OLS residuals")
map_utla = tm_shape(utla_shp) +
tm_fill(col = "res_m1", title = legend_title, palette = magma(256), style = "cont") + # add fill
tm_borders(col = "white", lwd = .1) + # add borders
tm_compass(type = "arrow", position = c("right", "top") , size = 5) + # add compass
tm_scale_bar(breaks = c(0,1,2), text.size = 0.7, position = c("center", "bottom")) + # add scale bar
tm_layout(bg.color = "white") # change background colour
map_utla + tm_shape(reg_shp) + # add region boundaries
tm_borders(col = "white", lwd = .5) # add borders
9.6 برازش رگرسیون دارای وزن جغرافیایی
GWR بر محدودیت مدل رگرسیون OLS برای ایجاد مجموعه ای جهانی از برآوردها غلبه می کند. ایده اصلی پشت GWR بررسی روشی است که در آن روابط بین یک متغیر وابسته و مجموعه ای از پیش بینی کننده ها ممکن است در فضا متفاوت باشد. GWR با جابجایی یک پنجره جستجو از یک نقطه رگرسیون به نقطه دیگر عمل می کند و به طور متوالی در تمام نقاط رگرسیون موجود در مجموعه داده کار می کند. سپس مجموعه ای از مناطق در اطراف هر نقطه رگرسیون و در پنجره جستجو تعریف می شود. سپس یک مدل رگرسیون به همه دادههای موجود در هر یک از مناطق شناسایی شده در اطراف یک نقطه رگرسیون برازش داده میشود، با نقاط داده نزدیکتر به نقطه نمونه وزن بیشتری نسبت به نقاط دورتر دارد. این فرآیند برای تمام نقاط نمونه در مجموعه داده تکرار می شود. برای یک مجموعه داده از 150 مشاهدات، GWR با 150 مدل رگرسیون وزنی مطابقت خواهد داشت.
از نظر گرافیکی، GWR شامل برازش یک هسته فضایی برای داده ها است که در شکل 1 توضیح داده شده است. برای یک نقطه رگرسیون معین , وزن ( ) یک نقطه داده در مکان حداکثر است. از نقطه رگرسیون وزن به تدریج با افزایش فاصله بین دو نقطه کاهش می یابد. بنابراین یک مدل رگرسیون به صورت محلی با جابجایی نقطه رگرسیون در سراسر منطقه مورد مطالعه کالیبره می شود. برای هر مکان، وزن داده ها متفاوت است به طوری که تخمین های حاصل برای یک مکان خاص منحصر به فرد هستند.XW

شکل 1. GWR با هسته فضایی ثابت. منبع: Fotheringham et al. ( 2002 ، 45) .
9.6.1 هسته ثابت یا تطبیقی
یک مسئله کلیدی تصمیم گیری بین دو گزینه هسته فضایی است: یک هسته ثابت یا یک هسته تطبیقی. به طور شهودی، یک هسته ثابت شامل استفاده از یک پهنای باند ثابت برای تعریف منطقه ای در اطراف تمام نقاط رگرسیون همانطور که در شکل 1 نشان داده شده است. وسعت هسته با فاصله تا یک نقطه رگرسیون معین تعیین می شود، با این که هسته در هر نقطه ای یکسان است. فضا. یک هسته تطبیقی شامل استفاده از پهنای باند متغیر برای تعریف یک منطقه در اطراف نقاط رگرسیون همانطور که در شکل 2 نشان داده شده است. وسعت هسته با تعداد نزدیکترین همسایگان از یک نقطه رگرسیون معین تعیین می شود. هسته ها دارای پهنای باند بزرگ تری هستند که در آن داده ها پراکنده هستند.

شکل 2. GWR با هسته فضایی تطبیقی. منبع: Fotheringham et al. ( 2002 ، 47) .
9.6.2 پهنای باند بهینه
موضوع دوم، تعریف وسعت منطقه جغرافیایی (یعنی پهنای باند بهینه ) هسته فضایی است. پهنای باند فاصله ای است که پس از آن مقدار صفر به مشاهدات وزن اختصاص داده می شود. پهنای باند بزرگتر شامل تعداد بیشتری از مشاهدات است که وزن غیر صفر دریافت می کنند و مشاهدات بیشتری برای برازش رگرسیون محلی استفاده می شود.
برای تعیین پهنای باند بهینه، یک رویکرد اعتبارسنجی متقابل اعمال می شود. یعنی برای یک مکان، یک رگرسیون محلی بر اساس پهنای باند معین برازش می شود و برای پیش بینی مقدار متغیر وابسته استفاده می شود. مقدار پیشبینیشده حاصل برای محاسبه باقیمانده مدل استفاده میشود. باقیمانده ها با استفاده از یک سری پهنای باند مقایسه می شوند و پهنای باندی که کوچکترین باقی مانده های محلی را برمی گرداند، انتخاب می شوند.
واریانس و تعصب مبادله شود
انتخاب پهنای باند بهینه مستلزم مصالحه بین تعصب و دقت است. به عنوان مثال، پهنای باند بزرگتر شامل استفاده از تعداد بیشتری از مشاهدات برای تناسب با یک رگرسیون محلی است و در نتیجه منجر به کاهش واریانس (یا افزایش دقت) اما بایاس بالای تخمین می شود. از سوی دیگر، پهنای باند بسیار کم شامل استفاده از تعداد بسیار کمی از مشاهدات است که منجر به افزایش واریانس اما سوگیری کوچک می شود. پهنای باند بهینه سازش بین بایاس و واریانس را ارائه می دهد.
9.6.3 شکل هسته فضایی
دو مجموعه کلی از توابع هسته را می توان متمایز کرد: هسته های پیوسته و هسته هایی با پشتیبانی فشرده. هسته های پیوسته برای وزن دهی به تمام مشاهدات در منطقه مورد مطالعه استفاده می شود و شامل توابع هسته یکنواخت، گاوسی و نمایی است. هسته با پشتیبانی فشرده برای تعیین وزن غیر صفر به مشاهدات در فاصله معین و وزن صفر فراتر از آن استفاده می شود. گزارش شده است که شکل هسته باعث تغییرات کوچکی در برآوردهای حاصل می شود (Brunsdon، Fotheringham و Charlton 1998 ) .
9.6.4 انتخاب پهنای باند
حال بیایید یک مدل GWR را پیاده سازی کنیم. اولین مرحله کلیدی، تعریف پهنای باند بهینه است. ما ابتدا استفاده از یک هسته فضایی ثابت را نشان می دهیم.
9.6.4.1 پهنای باند ثابت
اعتبار سنجی متقاطع برای جستجوی پهنای باند بهینه استفاده می شود. به یاد بیاورید که این روش باقیمانده های مدل را بر اساس پهنای باند مختلف مقایسه می کند و راه حل بهینه را انتخاب می کند، یعنی پهنای باندی که کوچکترین باقی مانده های مدل را بر اساس مشخصات مدل داده شده برمی گرداند. یک پارامتر کلیدی در اینجا شکل تابع وزن جغرافیایی ( gweight
) است. ما آن را به عنوان یک تابع گاوسی تنظیم کردیم که پیش فرض است. یک تابع دو مربعی برای کاهش زمان محاسباتی توصیه می شود. از آنجایی که ما یک مدل ساده داریم، یک تابع گاوسی نباید آنقدر طول بکشد. توجه داشته باشید که آرگومان longlat
را روی مختصات ( ) قرار می دهیم TRUE
و از طول و عرض جغرافیایی استفاده می کنیم. coords
وقتی longlat
روی تنظیم شود TRUE
، مسافت ها بر حسب کیلومتر اندازه گیری می شوند.
# find optimal kernel bandwidth using cross validation
fbw <- gwr.sel(eq1,
data = utla_shp,
coords=cbind( long, lat),
longlat = TRUE,
adapt=FALSE,
gweight = gwr.Gauss,
verbose = FALSE)
# view selected bandwidth
fbw
## [1] 29.30417
نتیجه نشان می دهد که پهنای باند بهینه 39.79 کیلومتر است. این بدان معنی است که UTLA های همسایه در شعاع ثابت 39.79 کیلومتر برای تخمین رگرسیون محلی گرفته می شوند. برای تخمین یک GWR، کد زیر را اجرا می کنیم که در آن از پهنای باند بهینه بالا به عنوان ورودی در آرگومان استفاده می شود bandwidth
.
# fit a gwr based on fixed bandwidth
fb_gwr <- gwr(eq1,
data = utla_shp,
coords=cbind( long, lat),
longlat = TRUE,
bandwidth = fbw,
gweight = gwr.Gauss,
hatmatrix=TRUE,
se.fit=TRUE)
fb_gwr
## Call:
## gwr(formula = eq1, data = utla_shp, coords = cbind(long, lat),
## bandwidth = fbw, gweight = gwr.Gauss, hatmatrix = TRUE, longlat = TRUE,
## se.fit = TRUE)
## Kernel function: gwr.Gauss
## Fixed bandwidth: 29.30417
## Summary of GWR coefficient estimates at data points:
## Min. 1st Qu. Median 3rd Qu. Max. Global
## X.Intercept. -187.913 -42.890 93.702 211.685 792.989 63.768
## ethnic -785.938 104.813 194.609 254.717 1078.854 271.096
## lt_illness -2599.119 -563.128 128.176 690.603 1507.024 216.198
## Number of data points: 150
## Effective number of parameters (residual: 2traceS - traceS'S): 57.11019
## Effective degrees of freedom (residual: 2traceS - traceS'S): 92.88981
## Sigma (residual: 2traceS - traceS'S): 38.34777
## Effective number of parameters (model: traceS): 44.65744
## Effective degrees of freedom (model: traceS): 105.3426
## Sigma (model: traceS): 36.00992
## Sigma (ML): 30.17717
## AICc (GWR p. 61, eq 2.33; p. 96, eq. 4.21): 1580.349
## AIC (GWR p. 96, eq. 4.22): 1492.465
## Residual sum of squares: 136599.2
## Quasi-global R2: 0.7830537
فعلاً از تفسیر نتایج صرف نظر می کنیم و در بخش بعدی آنها را بررسی می کنیم. اکنون، میخواهیم بر تناسب مدل کلی تمرکز کنیم و نتایج را برای رگرسیونهای محلی برآورد شده ترسیم کنیم. برای انجام این کار، نتایج مدل ذخیره شده در یک قاب داده مکانی (SDF) را استخراج می کنیم و آنها را به قاب داده های مکانی خود اضافه می کنیم . توجه داشته باشید که شبه جهانی بسیار بالا است (0.77) که نشاندهنده دقت پیشبینی بالا در نمونه است.R2utla_shp
R2
# write gwr output into a data frame
fb_gwr_out <- as.data.frame(fb_gwr$SDF)
utla_shp$fmb_localR2 <- fb_gwr_out$localR2
# map
# Local R2
legend_title = expression("Fixed: Local R2")
map_fbgwr1 = tm_shape(utla_shp) +
tm_fill(col = "fmb_localR2", title = legend_title, palette = magma(256), style = "cont") + # add fill
tm_borders(col = "white", lwd = .1) + # add borders
tm_compass(type = "arrow", position = c("right", "top") , size = 5) + # add compass
tm_scale_bar(breaks = c(0,1,2), text.size = 0.7, position = c("center", "bottom")) + # add scale bar
tm_layout(bg.color = "white") # change background colour
map_fbgwr1 + tm_shape(reg_shp) + # add region boundaries
tm_borders(col = "white", lwd = .5) # add borders
این نقشه پیشبینیهای مدل دروننمونهای بسیار بالا تا 80 درصد را در UTLAهای نسبتاً بزرگ (مانند کورنوال، دوون و کامبریا) نشان میدهد، اما پیشبینیهای ضعیفی را در لینکونشر و UTLAهای کوچک در شمال غرب و یورکشایر و مناطق هامبر و لندن بزرگ نشان میدهد. توزیع فضایی این الگو ممکن است منعکس کننده یک مشکل بالقوه باشد که در کاربرد GWR با هسته های فضایی ثابت ایجاد می شود. استفاده از هستههای ثابت نشان میدهد که رگرسیونهای محلی برای واحدهای فضایی کوچک ممکن است روی تعداد زیادی از مناطق غیرمشابه کالیبره شوند، در حالی که رگرسیونهای محلی برای مناطق بزرگ ممکن است در نقاط داده بسیار کمی کالیبره شوند، که منجر به تخمینهایی با خطاهای استاندارد بزرگ میشود. در موارد شدید، تولید تخمین ممکن است به دلیل تنوع ناکافی در نمونه های کوچک امکان پذیر نباشد. در عمل،
9.6.4.2 پهنای باند تطبیقی
برای کاهش این مشکلات می توان از هسته های فضایی تطبیقی استفاده کرد. این هستهها از نظر اندازه با تغییرات چگالی دادهها سازگار میشوند، به طوری که هستهها در جایی که دادهها کم هستند، پهنای باند بزرگتری داشته باشند و در جایی که دادهها فراوان است، پهنای باند کوچکتری داشته باشند. همانطور که در بالا ذکر شد، ابتدا باید پهنای باند بهینه را قبل از تخمین GWR جستجو کنیم.
# find optimal kernel bandwidth using cross validation
abw <- gwr.sel(eq1,
data = utla_shp,
coords=cbind( long, lat),
longlat = TRUE,
adapt = TRUE,
gweight = gwr.Gauss,
verbose = FALSE)
# view selected bandwidth
abw
## [1] 0.03126972
پهنای باند بهینه 0.03 است که نشاندهنده نسبت مشاهدات (یا k-نزدیکترین همسایگان) است که باید در طرح وزندهی گنجانده شوند. در این مثال، پهنای باند بهینه نشان می دهد که برای یک UTLA معین، 3% از نزدیکترین همسایگان آن باید برای کالیبره کردن رگرسیون محلی مربوطه استفاده شود. یعنی حدود 5 UTLA. بنابراین اندازه پنجره جستجو بسته به وسعت UTLA ها متغیر خواهد بود. توجه داشته باشید که در اینجا پهنای باند بهینه بر اساس k نزدیکترین همسایه نقطه داده تعریف می شود. همچنین می توان آن را با فاصله جغرافیایی همانطور که در بالا برای هسته فضایی ثابت انجام شد، تعریف کرد. سپس یک GWR را بر اساس پهنای باند تطبیقی منطبق میکنیم.
# fit a gwr based on adaptive bandwidth
ab_gwr <- gwr(eq1,
data = utla_shp,
coords=cbind( long, lat),
longlat = TRUE,
adapt = abw,
gweight = gwr.Gauss,
hatmatrix=TRUE,
se.fit=TRUE)
ab_gwr
## Call:
## gwr(formula = eq1, data = utla_shp, coords = cbind(long, lat),
## gweight = gwr.Gauss, adapt = abw, hatmatrix = TRUE, longlat = TRUE,
## se.fit = TRUE)
## Kernel function: gwr.Gauss
## Adaptive quantile: 0.03126972 (about 4 of 150 data points)
## Summary of GWR coefficient estimates at data points:
## Min. 1st Qu. Median 3rd Qu. Max. Global
## X.Intercept. -198.790 -28.398 113.961 226.437 346.510 63.768
## ethnic -121.872 106.822 229.591 283.739 1162.123 271.096
## lt_illness -1907.098 -746.468 -125.855 798.875 1496.549 216.198
## Number of data points: 150
## Effective number of parameters (residual: 2traceS - traceS'S): 48.59361
## Effective degrees of freedom (residual: 2traceS - traceS'S): 101.4064
## Sigma (residual: 2traceS - traceS'S): 36.57493
## Effective number of parameters (model: traceS): 36.04378
## Effective degrees of freedom (model: traceS): 113.9562
## Sigma (model: traceS): 34.50222
## Sigma (ML): 30.07257
## AICc (GWR p. 61, eq 2.33; p. 96, eq. 4.21): 1546.029
## AIC (GWR p. 96, eq. 4.22): 1482.809
## Residual sum of squares: 135653.9
## Quasi-global R2: 0.7845551
9.6.5 مناسب مدل
با ارزیابی تناسب جهانی مدل، بهبودهای حاشیه ای مشاهده می شود. و مجموع باقیمانده مربع ها کاهش حاشیه ای را تجربه کردند، در حالی که در مقایسه با GRW بر اساس یک هسته ثابت افزایش یافت. برای درک بهتر این تغییرات، مانند بالا، را برای رگرسیون های محلی تخمین زده شده ترسیم می کنیم.AICR2R2
# write gwr output into a data frame
ab_gwr_out <- as.data.frame(ab_gwr$SDF)
utla_shp$amb_ethnic <- ab_gwr_out$ethnic
utla_shp$amb_lt_illness <- ab_gwr_out$lt_illness
utla_shp$amb_localR2 <- ab_gwr_out$localR2
# map
# Local R2
legend_title = expression("Adaptive: Local R2")
map_abgwr1 = tm_shape(utla_shp) +
tm_fill(col = "amb_localR2", title = legend_title, palette = magma(256), style = "cont") + # add fill
tm_borders(col = "white", lwd = .1) + # add borders
tm_compass(type = "arrow", position = c("right", "top") , size = 5) + # add compass
tm_scale_bar(breaks = c(0,1,2), text.size = 0.7, position = c("center", "bottom")) + # add scale bar
tm_layout(bg.color = "white") # change background colour
map_abgwr1 + tm_shape(reg_shp) + # add region boundaries
tm_borders(col = "white", lwd = .5) # add borders
این نقشه پیشرفت های قابل توجهی را در برآوردهای محلی برای UTLA ها در غرب و شرق میدلندز، جنوب شرق، جنوب غرب و شرق انگلستان نشان می دهد. برآوردها هنوز در مورد UTLA های داغ که موارد تایید شده COVID-19 را متمرکز می کنند، مانند مناطق لندن بزرگ، لیورپول و نیوکاسل ضعیف است.
9.6.6 تفسیر
نقطه قوت کلیدی مدلهای GWR در شناسایی الگوهای تغییرات فضایی در ارتباط بین جفت متغیرها است. نتایج نشان می دهد که چگونه این ضرایب در 150 UTLA انگلستان متفاوت است. برای بررسی این تنوع، اجازه دهید ابتدا بر خروجی GWR تطبیقی که در بخش 8.6.4.2 گزارش شده است، تمرکز کنیم. خروجی شامل خلاصه ای از برآوردهای ضریب GWR در نقاط داده مختلف است. ستون آخر تخمین های کلی را گزارش می دهد که همان ضرایب رگرسیون OLS است که در ابتدای تحلیل خود برازش کردیم. برای جمعیت قومی غیرسفید متغیر ما، خروجیهای GWR نشان میدهد که ضرایب محلی از حداقل مقدار 148.41- تا حداکثر مقدار 1076.84 متغیر است، که نشان میدهد افزایش یک درصدی در سهم جمعیت غیرسفیدپوست با کاهش 148 aa مرتبط است. 41 مورد در تعداد انباشته موارد تایید شده COVID-19 در هر 100000 نفر در برخی از UTLA ها و افزایش 1076.84 در برخی دیگر. برای نیمی از UTLA ها در مجموعه داده، با افزایش یک درصدی سهم جمعیت قومی غیرسفیدپوست، نرخ COVID-19 بین 106.29 و 291.24 مورد افزایش خواهد یافت. یعنی محدوده بین چارکی بین Qu 1 و Qu 3. برای تجزیه و تحلیل ساختار فضایی، ضرایب تخمینی بهدستآمده از هسته تطبیقی GWR را نقشهبرداری میکنیم.
# Ethnic
legend_title = expression("Ethnic")
map_abgwr2 = tm_shape(utla_shp) +
tm_fill(col = "amb_ethnic", title = legend_title, palette = magma(256), style = "cont") + # add fill
tm_borders(col = "white", lwd = .1) + # add borders
tm_compass(type = "arrow", position = c("right", "top") , size = 5) + # add compass
tm_scale_bar(breaks = c(0,1,2), text.size = 0.7, position = c("center", "bottom")) + # add scale bar
tm_layout(bg.color = "white") # change background colour
map_abgwr2 = map_abgwr2 + tm_shape(reg_shp) + # add region boundaries
tm_borders(col = "white", lwd = .5) # add borders
# Long-term Illness
legend_title = expression("Long-term illness")
map_abgwr3 = tm_shape(utla_shp) +
tm_fill(col = "amb_lt_illness", title = legend_title, palette = magma(256), style = "cont") + # add fill
tm_borders(col = "white", lwd = .1) + # add borders
tm_scale_bar(breaks = c(0,1,2), text.size = 0.7, position = c("center", "bottom")) + # add scale bar
tm_layout(bg.color = "white") # change background colour
map_abgwr3 = map_abgwr3 + tm_shape(reg_shp) + # add region boundaries
tm_borders(col = "white", lwd = .5) # add borders
tmap_arrange(map_abgwr2, map_abgwr3)
با تجزیه و تحلیل نقشه برای بیماری های طولانی مدت، می توان یک شکاف واضح شمال-جنوب را شناسایی کرد. در شمال ما رابطه مثبت مورد انتظار بین COVID-19 و بیماری طولانی مدت را مشاهده کردیم، یعنی با افزایش سهم جمعیت محلی که از بیماری طولانی مدت رنج می برند، انتظار می رود تعداد تجمعی موارد مثبت COVID-19 افزایش یابد. در جنوب، ما الگوی معکوس را مشاهده می کنیم، یعنی با افزایش سهم جمعیت محلی که از بیماری طولانی مدت رنج می برند، انتظار می رود تعداد تجمعی موارد مثبت COVID-19 کاهش یابد. این الگو خلاف واقع است، اما ممکن است با معایب گستردهتر اجتماعی-اقتصادی بین شمال و جنوب انگلستان توضیح داده شود.(رو، پاتیاس و آریباس-بل 2020 ) .
9.6.7 ارزیابی اهمیت آماری
در حالی که نقشههای بالا بینشهای ارزشمندی برای درک الگوهای فضایی روابط ارائه میدهند، اما مشخص نمیکنند که آیا این ارتباطها از نظر آماری معنادار هستند یا خیر. آنها ممکن است نباشند. به طور تقریبی، اگر یک برآورد ضریب دارای مقدار مطلق t بزرگتر از 1.96 باشد و نمونه به اندازه کافی بزرگ باشد، از نظر آماری معنادار است. نمونه ما فقط 150 مشاهدات دارد، بنابراین ما محافظه کارتر هستیم و اگر مقدار مطلق t بزرگتر از 2 باشد، یک ضریب را از نظر آماری معنادار در نظر می گیریم. همچنین توجه داشته باشید که مقادیر p را می توان محاسبه کرد – به لو و همکاران مراجعه کنید. ( 2014 ) .
# compute t statistic
utla_shp$t_ethnic = ab_gwr_out$ethnic / ab_gwr_out$ethnic_se
# categorise t values
utla_shp$t_ethnic_cat <- cut(utla_shp$t_ethnic,
breaks=c(min(utla_shp$t_ethnic), -2, 2, max(utla_shp$t_ethnic)),
labels=c("sig","nonsig", "sig"))
# map statistically significant coefs for ethnic
legend_title = expression("Ethnic: significant")
map_sig = tm_shape(utla_shp) +
tm_fill(col = "t_ethnic_cat", title = legend_title, legend.hist = TRUE, midpoint = NA, textNA = "", colorNA = "white") + # add fill
tm_borders(col = "white", lwd = .1) + # add borders
tm_compass(type = "arrow", position = c("right", "top") , size = 5) + # add compass
tm_scale_bar(breaks = c(0,1,2), text.size = 0.7, position = c("center", "bottom")) + # add scale bar
tm_layout(bg.color = "white", legend.outside = TRUE) # change background colour & place legend outside
map_sig + tm_shape(reg_shp) + # add region boundaries
tm_borders(col = "white", lwd = .5) # add borders
# utla count
table(utla_shp$t_ethnic_cat)
##
## sig nonsig
## 105 45
برای سهم جمعیت غیرسفید پوست، 67 درصد از کل ضرایب محلی از نظر آماری معنادار است و این ضرایب عمدتاً در جنوب انگلستان است. ضرایب در شمال معمولاً ناچیز است. از طریق نقاط پرت در هر دو منطقه وجود دارد. در جنوب، ضرایب غیر قابل توجهی در مناطق شهری لندن، بیرمنگام و ناتینگهام مشاهده می شود، در حالی که ضرایب قابل توجهی در مناطق نیوکاسل و میدلزبرو در شمال وجود دارد.
چالش 3 مقادیر t را برای رهگیری و ضریب تخمینی برای بیماری طولانی مدت محاسبه کنید و نقشه هایی از اهمیت آماری آنها ایجاد کنید. چند UTLA ضرایب آماری معنی دار را گزارش می کنند؟
9.6.8 همخطی در GWR
نکته پایانی مهم این است: هم خطی در مدل های GWR مشکل ساز است. می تواند در زیر مجموعه داده ها برای تخمین ضرایب محلی وجود داشته باشد، حتی زمانی که در سطح جهانی Wheeler and Tiefelsdorf ( 2005 ) مشاهده نمی شود . همخطی می تواند در مورد پیش بینی کننده های ترکیبی، طبقه ای و ترتیبی بسیار مشکل ساز باشد و ممکن است منجر به همخطی دقیق محلی شود که جستجو برای پهنای باند بهینه را غیرممکن می کند. یک مقاله اخیر راه های بالقوه رو به جلو را پیشنهاد می کند (کامبر و همکاران 2020 ) .
منابع
بلزلی، دیوید آ، ادوین کوه، و روی ای ولش. 1384. تشخیص رگرسیون: شناسایی داده های تأثیرگذار و منابع همخطی . جلد 571. جان وایلی و پسران.
براندون، کریس، استوارت فاثرینگهام و مارتین چارلتون. 1998. “رگرسیون وزنی جغرافیایی.” مجله انجمن آمار سلطنتی: سری D (آمار) 47 (3): 431-43.
کامبر، الکسیس، کریس براندون، مارتین چارلتون، گوانپنگ دونگ، ریچ هریس، بینبین لو، ییه لو، و همکاران. 2020. “نقشه مسیر Gwr: راهنمای کاربرد آگاهانه رگرسیون وزندار جغرافیایی.” arXiv پیش چاپ arXiv:2004.06070 .
فاثرینگهام، استوارت، کریس براندون و مارتین چارلتون. 2002. رگرسیون وزنی جغرافیایی . جان وایلی و پسران
لو، بینبین، پل هریس، مارتین چارلتون و کریس براندون. 2014. «بسته Gwmodel R: موضوعات بیشتر برای کاوش ناهمگونی فضایی با استفاده از مدلهای وزندار جغرافیایی». علم اطلاعات جغرافیایی 17 (2): 85–101.
رو، فرانسیسکو، نیکوس پاتیاس، و دنی آریباس بل. 2020. خلاصه سیاست: تغییر محله و مسیر نابرابری در بریتانیا، 1971-2011.
ویلر، دیوید و مایکل تیفلسدورف. 2005. “چند خطی و همبستگی بین ضرایب رگرسیون محلی در رگرسیون وزنی جغرافیایی.” مجله نظام های جغرافیایی 7 (2): 161–87.
- این یادداشت بخشی از یادداشتهای تحلیل فضایی رگرسیون وزندار جغرافیایی است – ناپایداری فضایی توسط فرانسیسکو روو تحت مجوز Creative Commons Attribution-NonCommercial-ShareAlike 4.0 بینالمللی مجوز دارد. ↩︎
- می توانید بسته را
mypackage
با اجرای دستورinstall.packages("mypackage")
در خط R یا از طریقTools --> Install Packages...
منو در RStudio نصب کنید. ↩︎ - با اجرای
read_tsv("data/gwr/readme.txt")
↩︎ فایل را در R بخوانید
17 نظرات