R語(yǔ)言實(shí)現(xiàn)地理加權(quán)回歸(GWR)
地理加權(quán)回歸(GWR)
地理加權(quán)回歸(Geographically Weighted Regression,簡(jiǎn)稱GWR)是一種用于解釋地理空間數(shù)據(jù)的統(tǒng)計(jì)方法。它是多元線性回歸的一種擴(kuò)展,允許模型的參數(shù)在空間上變化,以更好地捕捉地理數(shù)據(jù)的空間異質(zhì)性。
GWR 考慮了地理位置的影響,認(rèn)為不同地理位置的數(shù)據(jù)可能具有不同的關(guān)系,因此在不同地點(diǎn)擬合不同的回歸模型。這使得 GWR 能夠更好地分析和解釋空間數(shù)據(jù)的變化。在 GWR 中,回歸系數(shù)是空間上的可變參數(shù),根據(jù)地理位置的不同而變化。
GWR 可以用于各種領(lǐng)域,如城市規(guī)劃、地理信息系統(tǒng)(GIS)、環(huán)境科學(xué)等,以研究地理位置對(duì)某個(gè)變量的影響。通過(guò)考慮空間變異性,GWR 可以提供更準(zhǔn)確的空間預(yù)測(cè)和更深入的空間數(shù)據(jù)分析。
操作流程
1、導(dǎo)入包
導(dǎo)入了必要的R包,包括GWmodel
用于GWR分析和sf
用于處理地理空間數(shù)據(jù)。
library(GWmodel) library(sf)
2、讀取shp數(shù)據(jù)
讀取了一個(gè)名為"Watershed"的Shapefile文件,將其轉(zhuǎn)換為Spatial
對(duì)象,并繪制了地圖。
ES <- st_read(dsn = getwd(), layer = "Watershed") %>% as("Spatial") plot(ES)
3、確定最優(yōu)帶寬(bandwidth)
計(jì)算地理加權(quán)回歸(GWR)中的bw
(帶寬)通常需要一些經(jīng)驗(yàn)和試驗(yàn),因?yàn)樗鼪Q定了權(quán)重在空間上的分布。帶寬控制了模型中每個(gè)數(shù)據(jù)點(diǎn)周圍的鄰域大小,從而影響了模型的擬合。以下是一些常見(jiàn)的方法來(lái)計(jì)算bw
帶寬:
- Cross-Validation(交叉驗(yàn)證): 交叉驗(yàn)證是一種常見(jiàn)的方法,用于確定最優(yōu)的帶寬值。你可以嘗試不同的帶寬值,然后對(duì)每個(gè)值進(jìn)行交叉驗(yàn)證,選擇具有最佳性能的帶寬。
- AIC(赤池信息準(zhǔn)則)或BIC(貝葉斯信息準(zhǔn)則): 這些信息準(zhǔn)則可以用于選擇最合適的帶寬。你可以計(jì)算不同帶寬下的AIC或BIC值,并選擇具有最小值的帶寬。
- 經(jīng)驗(yàn)法: 根據(jù)你的研究領(lǐng)域和數(shù)據(jù)特點(diǎn),可以使用一些經(jīng)驗(yàn)法來(lái)選擇帶寬。例如,使用平均最短距離(average nearest neighbor distance)或使用空間數(shù)據(jù)的密度來(lái)估計(jì)帶寬。
- 參考文獻(xiàn)和先前研究: 查閱與你的研究類似的文獻(xiàn),了解其他研究中使用的帶寬值。這可以作為一個(gè)起點(diǎn)來(lái)選擇帶寬。
- 試驗(yàn)法: 嘗試不同的帶寬值,然后評(píng)估模型的性能??梢岳L制擬合的殘差圖、R-squared值等指標(biāo),以判斷哪個(gè)帶寬值最適合你的數(shù)據(jù)。
- 自適應(yīng)帶寬(Adaptive Bandwidth): 使用自適應(yīng)帶寬方法,其中帶寬值根據(jù)數(shù)據(jù)的密度和分布自動(dòng)調(diào)整。這可以通過(guò)設(shè)置
adaptive = TRUE
和提供適當(dāng)?shù)淖赃m應(yīng)函數(shù)來(lái)實(shí)現(xiàn)。
注意,不同的數(shù)據(jù)和研究問(wèn)題可能需要不同的帶寬選擇方法。通常,建議嘗試多種方法,并根據(jù)模型的性能和數(shù)據(jù)的特點(diǎn)來(lái)選擇最合適的帶寬值。通過(guò)交叉驗(yàn)證等方法可以幫助你更好地確定合適的帶寬。在R中,你可以使用gwr.basic
函數(shù)中的bw
參數(shù)來(lái)指定帶寬值,然后根據(jù)你選擇的方法確定這個(gè)值。
使用AIC方法計(jì)算了最佳帶寬值,然后將其打印出來(lái)。
bw.AB<-bw.gwr(A~B,data = ES, approach = "aic", adaptive = F, kernel = "gaussian") bw.AB
[1] 22348.91
bw.gwr
函數(shù)是"GWmodel"包中用于帶寬選擇的函數(shù),它用于計(jì)算地理加權(quán)回歸(GWR)中的最佳帶寬(bandwidth)值。
bw.gwr( formula, data, family = gaussian(), kernel = "gaussian", adaptive = FALSE, approach = "AIC", fixed = FALSE, minB = 0.1, maxB = 0.9, longlat = NULL, search.method = "grid", percentiles = NULL, ...)
formula
: 一個(gè)公式,指定了回歸模型的結(jié)構(gòu),例如y ~ x1 + x2 + xn
,其中y
是因變量,x1
,x2
,xn
是自變量。data
: 包含因變量和自變量的數(shù)據(jù)框。family
: 用于指定模型的誤差分布。默認(rèn)是正態(tài)分布(gaussian()
),但你也可以使用其他分布,如泊松分布或二項(xiàng)分布,根據(jù)你的數(shù)據(jù)類型選擇適當(dāng)?shù)姆植肌?/li>kernel
: 用于計(jì)算權(quán)重的核函數(shù)。通常使用的核函數(shù)有"Gauss"(高斯核)和"Bisquare"(雙二次核)。你可以根據(jù)你的研究需求選擇不同的核函數(shù)。adaptive
: 一個(gè)邏輯值,表示是否使用自適應(yīng)帶寬。如果為TRUE
,帶寬將根據(jù)數(shù)據(jù)的密度在空間上自適應(yīng)調(diào)整。approach
: 用于帶寬選擇的方法。常用的方法包括"AIC"(赤池信息準(zhǔn)則)和"BIC"(貝葉斯信息準(zhǔn)則)等。fixed
: 一個(gè)邏輯值,表示是否固定帶寬。如果為TRUE
,將使用指定的帶寬值,而不進(jìn)行帶寬選擇。minB
和maxB
: 用于搜索最佳帶寬的帶寬范圍的最小值和最大值。通常情況下,搜索方法會(huì)在這個(gè)范圍內(nèi)尋找最佳帶寬。longlat
: 一個(gè)邏輯值,表示是否在經(jīng)緯度坐標(biāo)系中運(yùn)行。如果為TRUE
,將自動(dòng)考慮地球的曲率。search.method
: 用于帶寬搜索的方法。常用的方法有"grid"(網(wǎng)格搜索)和"optimize"(優(yōu)化搜索)等。percentiles
: 用于指定帶寬搜索的百分位數(shù),可以用于精細(xì)化搜索。...
: 其他參數(shù),用于傳遞給底層函數(shù)。
bw.gwr
函數(shù)執(zhí)行帶寬選擇過(guò)程,計(jì)算最適合數(shù)據(jù)的帶寬值,以用于后續(xù)的GWR模型擬合。帶寬選擇的方法和參數(shù)可以根據(jù)你的需求進(jìn)行調(diào)整,以便選擇最佳的帶寬值。該函數(shù)通常用于幫助確定合適的帶寬,以優(yōu)化GWR模型的性能。
運(yùn)行GWR模型
運(yùn)行了地理加權(quán)回歸(GWR)模型,使用之前計(jì)算得到的最佳帶寬值,并繪制了自變量B的回歸系數(shù)圖。最后,將GWR模型結(jié)果導(dǎo)出到Shapefile文件中,以便在ArcGIS等GIS軟件中進(jìn)一步分析和可視化。
AB<-gwr.basic(A~B, data = ES, bw = bw.AB, adaptive = F, kernel = "gaussian") spplot(AB$SDF['B']) #繪圖查看自變量B的回歸系數(shù) gwr.write.shp(AB,fn="AB") #導(dǎo)出到一個(gè)shp文件,之后就可以導(dǎo)入到ArcGIS
gwr.basic
函數(shù)是"GWmodel"包中用于執(zhí)行地理加權(quán)回歸(GWR)的函數(shù),它執(zhí)行最基本的GWR模型估計(jì)。
gwr.basic( formula, data, coords, bw, family = gaussian(), kernel = "gaussian", adaptive = FALSE, ... )
formula
: 一個(gè)公式,指定了回歸模型的結(jié)構(gòu),例如y ~ x1 + x2 + xn
,其中y
是因變量,x1
,x2
,xn
是自變量。data
: 包含因變量和自變量的數(shù)據(jù)框。coords
: 一個(gè)包含地理坐標(biāo)信息的Spatial*DataFrame
對(duì)象,或類似的對(duì)象。這些坐標(biāo)將用于地理加權(quán)回歸。bw
: 地理權(quán)重的帶寬(bandwidth)??梢允且粋€(gè)常數(shù)值,也可以是一個(gè)向量,用于指定每個(gè)數(shù)據(jù)點(diǎn)的帶寬。通常,這是GWR中重要的參數(shù),它控制了權(quán)重在空間上的分布。family
: 用于指定模型的誤差分布。默認(rèn)是正態(tài)分布(gaussian()
),但你也可以使用其他分布,如泊松分布或二項(xiàng)分布,根據(jù)你的數(shù)據(jù)類型選擇適當(dāng)?shù)姆植肌?/li>kernel
: 用于計(jì)算權(quán)重的核函數(shù)。通常使用的核函數(shù)有"Gauss"(高斯核)和"Bisquare"(雙二次核)。你可以根據(jù)你的研究需求選擇不同的核函數(shù)。adaptive
: 一個(gè)邏輯值,表示是否使用自適應(yīng)帶寬。如果為TRUE
,帶寬將根據(jù)數(shù)據(jù)的密度在空間上自適應(yīng)調(diào)整。...
: 其他參數(shù),用于傳遞給底層函數(shù)。
gwr.basic
函數(shù)執(zhí)行GWR模型估計(jì),根據(jù)提供的參數(shù)和數(shù)據(jù)來(lái)生成GWR模型。你可以根據(jù)你的研究需求自定義這些參數(shù),以獲得符合你需求的GWR模型。一般來(lái)說(shuō),你可以查閱"GWmodel"包的文檔以獲取更詳細(xì)的信息和示例代碼,以更好地理解如何使用gwr.basic
函數(shù)。這個(gè)函數(shù)通常用于擬合地理加權(quán)回歸模型并生成模型的擬合結(jié)果和統(tǒng)計(jì)信息。
以上就是R語(yǔ)言實(shí)現(xiàn)地理加權(quán)回歸(GWR)的詳細(xì)內(nèi)容,更多關(guān)于R語(yǔ)言 GWR地理加權(quán)回歸的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- R語(yǔ)言之dplyr包常用函數(shù)方法示例學(xué)習(xí)
- R語(yǔ)言學(xué)習(xí)數(shù)據(jù)獲取操作示例詳解
- 詳解R語(yǔ)言的24個(gè)高效操作技巧
- R語(yǔ)言rhdf5讀寫(xiě)hdf5并展示文件組織結(jié)構(gòu)和索引數(shù)據(jù)
- R語(yǔ)言使用cgdsr包獲取TCGA數(shù)據(jù)示例詳解
- R語(yǔ)言ComplexHeatmap繪制復(fù)雜熱圖heatmap
- R語(yǔ)言繪制corrplot相關(guān)熱圖分析美化示例及詳細(xì)圖解
- R語(yǔ)言ggplot2拼圖包patchwork安裝使用
相關(guān)文章
R語(yǔ)言對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的實(shí)例詳解
在本篇文章里小編給大家分享的是一篇關(guān)于R語(yǔ)言對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的實(shí)例詳解內(nèi)容,有興趣的朋友們跟著學(xué)習(xí)下吧。2021-05-05R語(yǔ)言中的fivenum與quantile()函數(shù)算法詳解
這篇文章主要介紹了R語(yǔ)言中的fivenum與quantile()函數(shù)算法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04R語(yǔ)言讀取txt文件中的內(nèi)容實(shí)現(xiàn)
R語(yǔ)言提供了多種讀取文本數(shù)據(jù)的函數(shù),本文主要介紹了R語(yǔ)言讀取txt文件中的內(nèi)容實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03R語(yǔ)言使用ggplot繪制畫(huà)中畫(huà)細(xì)節(jié)放大的方法
這篇文章主要為大家介紹了R語(yǔ)言使用ggplot繪制畫(huà)中畫(huà)細(xì)節(jié)放大的方法實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11R語(yǔ)言wilcoxon秩和檢驗(yàn)及wilcoxon符號(hào)秩檢驗(yàn)的操作
這篇文章主要介紹了R語(yǔ)言wilcoxon秩和檢驗(yàn)及wilcoxon符號(hào)秩檢驗(yàn)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04