Table of Contents

Spasal regresyon, uzaysal olarak ilişkili verileri analiz etmek için kullanılan güçlü bir istatistiksel tekniktir, araştırmacıların çevresel desenlerden kentsel gelişime, halk sağlığı sonuçları ve ekonomik eğilimlere kadar çeşitli fenomenleri nasıl etkilediğini anlamalarına olanak sağlar. Bu kapsamlı kılavuz, R kullanarak uzaysal regresyon uygulama için ayrıntılı bir yaklaşım sağlar, akademik araştırma ve profesyonel uygulamadaki uzaysal veri analizi için standart bir açık kaynaklı programlama dili haline gelmiştir.

Spasal Regresyon ve Onun Önemini Anlamak

Coğrafyadaki geri dönüşüm sorunları, coğrafi konumları ve uzaysal verileri kullanmanın sonuçları potansiyel olarak uzaysal bağımlılık (spatial otokorelasyon) ve uzaysal heterojenlik veya trendleri (kampütürel olmayan) içerir. gözlemler arasında bağımsızlık, uzaydaki diğer her birine yakın olan geleneksel regresyon modellerinin aksine, uzaydaki gözlemler arasındaki bağımsızlık, uzak olmayan diğerlerinden daha benzer olma eğilimindedir.

Tobler'in ilk coğrafya yasası şöyle: “Her şey, sıradan en az meydanların (OLS) regresyonlarının temel varsayımını ihlal etmek yerine, standart regresyon tekniklerinin neden uzaysal verilere uygulanan yanıltıcı sonuçlar üretebileceğini vurgulamaktadır. Yakın gözlemler, sıradan durumlardan daha karmaşık bir varsayımı ihlal edebilir.

Birçok sosyal bilim araştırma sorusu, oy sonuçları, konut fiyatları, işgücü piyasaları, protesto davranışları veya göç kararları gibi bir şekilde bağlıdır.Yerel otokorelasyon regresyonlarda mevcut olduğunda, değer ve kat katsayı tahminlerinin güvenilir olamayacağı anlamına gelir. Spatial regresyon modelleri bu konuları ele almak için uygun çerçeveyi sağlar.

Spasal Regresyon için Temel R Paketleri

Uzaysal regresyon analizinize başlamadan önce, birkaç anahtar R paketi yüklemeniz ve yüklemeniz gerekir. R'deki uzaysal analiz ekosistemi önemli ölçüde gelişti, uzaysal veri operasyonları ve modelleme için kapsamlı işlevsellik sağlamak için modern paketler.

Spasal Analiz için Core Paketler

Temel uzaysal işlemler için önemli paketler, uzaysal veri işleme, harita ve tmap for visualization ve ilişkiler için spdep içerir.TheurFLT:0Consf) paketi, R'deki uzaysal vektör verilerinin taşınması için modern standart haline geldi, daha sezgisel ve verimli bir yaklaşımla paket.

Uzaylı regresyon modellemesi özellikle, mekansal gerileme modeline ihtiyacınız olacak:0)Spatialreg) paketi, bu paketleri aşağıdaki kodu kullanarak uygun yersel gecikme ve uzaysal hata modelleri için sağlar.TheDANFLT:2).spdep) paketi aşağıdaki kodu kullanarak uzaysal ağırlıkları teşhis etmek ve yaratmak için gereklidir:

install.packages(c("sf", "spdep", "spatialreg", "tmap", "mapview"))

Bir kez kurulduktan sonra, R seansınızın başında paketler yükleyin:

library(sf)
library(spdep)
library(spatialreg)
library(tmap)
library(mapview)

Hazırlanma ve Spasal Verinizi Yükle

Proper data hazırlığı başarılı uzaysal regresyon analizinin temelidir. Veri setiniz hem özellik verilerini ( analiz etmek istediğiniz değişkenler) hem de uzaysal bilgileri (yerleri tanımlayan koordinatlar veya geometriler) içermelidir.

Data Format Gereksinimler

Spatial data can come in various formats, with the most common being shapefiles (.shp), GeoJSON files (.geojson), and GeoPackage files (.gpkg). The sf package can read all these formats using the st_read() function. Here's how to load a shapefile:

spatial_data <- st_read("your_data.shp")

GeoJSON dosyaları için, sözcüler aynıdır:

spatial_data <- st_read("your_data.geojson")

Data Temizlik ve Geçerlilik

Analizle devam etmeden önce, veri kalitesini sağlamak için veri setinizi iyice temizleyin:

  • Hem uzaysal geometrilerde hem de özelliklerde eksik değerleri kontrol edin ve ele alın veri
  • Tamamlanmış geometriler, [[DüzDÜŞÜNÜŞÜŞÜNÜŞÜŞÜŞÜNÜŞÜNÜŞÜŞÜŞÜNÜŞÜNÜŞÜŞÜNÜŞÜNÜŞÜNÜŞÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜŞÜŞÜŞÜNÜŞÜNÜŞÜŞÜŞÜNÜŞÜŞÜŞÜNÜŞÜNÜŞÜŞÜŞÜNÜŞÜNÜŞÜŞÜŞÜŞÜŞÜNÜŞÜŞÜŞÜŞÜŞÜŞÜŞÜŞÜŞÜŞÜŞÜŞÜŞÜNÜ
  • Tüm gözlemlerin modelinizin dahil etmeyi planladığı değişkenler için tam verileri sağlayın
  • Tekrarlanan uzaysal özellikler olmadığını doğrulayın
  • Regresyon sonuçlarınızı tamamen etkileyebilecek dışlayıcılara göz atın

Eksik değerleri kontrol edebilirsiniz:

summary(spatial_data)
sum(is.na(spatial_data$your_variable))

Koordinatör Referans Sistemleri

Uzaylı veri hazırlığının en kritik yönlerinden biri, tüm veri setlerinin aynı koordinat referans sistemini (CRS) yanlış yer alan ve geçersiz analiz sonuçlarını kontrol etmesini sağlamaktır.

st_crs(spatial_data)

Verilerinizi farklı bir CRS'ye dönüştürmeniz gerekiyorsa, örneğin WGS84'e dönüştürmek (EPSG:4326):

spatial_data <- st_transform(spatial_data, crs = 4326)

Mesafe hesaplamaları içeren analiz için, bir projeli koordinat sistemi (measured in metre veya ayak) coğrafi koordinat sistemi ( derecelerde sigortalı) için uygun bir projeksiyon seçin.

Exploratory Spasal Veri Analizi ve Görselleştirme

Görsel keşif, uzaysal regresyon analizinde temel bir ilk adımdır. modelleri tanımlamanıza yardımcı olur, potansiyel kesintiçüleri tespit eder, değişkenlerinizin uzaysal dağılımını anlayın ve uzaysal ilişkiler hakkında hipotezler formüle eder.

Temel Haritalar oluşturmak

Uzaysal verilerinize görselleştirmenin en basit yolu temel arsa işlevini kullanıyor:

plot(spatial_data["variable_name"])

Daha interaktif ve bilgilendirici görselleştirmeler için, tmap[Dönetici:0) veya [[Dönetici:2)) veya [[Dönetici[Döneticiler için[Döneticiler için) bir grafik yaklaşımı ggp>

tm_shape(spatial_data) +
 tm_polygons("variable_name",
 style = "quantile",
 palette = "Blues",
 title = "Your Variable") +
 tm_layout(legend.outside = TRUE)

Haritalama paketi, yakınlaştırmanıza izin veren interaktif haritalar yaratır ve özelliklere tıklayın:

mapview(spatial_data, zcol = "variable_name")

Değişken Dağıtımlarını Değerlendirme

Regresyon modellerini uygunlaştırmadan önce, değişkenlerinizin istatistiksel dağıtımlarını inceleyin. Histogramlar, boxplotlar ve özet istatistikler:

hist(spatial_data$dependent_variable,
 main = "Distribution of Dependent Variable",
 xlab = "Value")

summary(spatial_data$dependent_variable)

skewness, outliers ve dönüşümlerin gerekli olup olmadığını görün. Yüksek değişkenli değişkenler log veya kare kök dönüşümlerinden daha iyi bir karşılaşma varsayımlarına fayda sağlayabilir.

Correlation Analysis

Bağımsız değişkenleriniz arasındaki korelasyonlar, regresyon analizinde sorunlara neden olabilecek çokkolinearity kontrol etmek için:

cor(st_drop_geometry(spatial_data[, c("var1", "var2", "var3")]))

[FONT=16] işlevi, uzaysal geometri sütununu ortadan kaldırır, sadece korelasyon analizi için özellik verileri bırakır.

Spasal Autocorrelasyon için anlayış ve test

Uzaysal regresyona ihtiyacınız olup olmadığını karar vermeden önce, uzaydaki yakın konumlar arasında bir korelasyonun mevcut olup olmadığını test etmelisiniz, çünkü çok boyutlu ve çok yönlüdür.

Global Moran'ın I Statisticist

Global Moran'ın ben, uzaysal verilerin genel kümelenmesinin bir ölçüsüdür. Moran'ın her bölgenin komşularıyla ve ortalamaları ile tüm bu değerlendirmelerle nasıl benzer olduğunu ölçtüğüm.

  • Beklenilen değerin üzerinde önemli ölçüde pozitif uzaysal otokorelasyon veya kümeleme gösterir, komşu bölgelerde benzer değerlere sahip olma eğilimindedir
  • Beklenilen değerin altında önemli ölçüde negatif uzaysal otokorelasyon veya dağıtım gösterir, bölgelere yakın bir başka şeye sahip olma eğilimi farklı değerlere sahip olma eğilimindedir.
  • Beklenilen değerin etrafındaki değerler rastgeleliği gösterir, bu, uzaysal desen yokluğudur.

Değişkenlerdeki Spasal Autocorrelasyon Test

Bir değişkende uzaysal otokorelasyon için doğrudan doğruya test edebilirsiniz:) spdep paketinden işlev. Ancak, öncelikle bir uzaysal ağırlık matrisi oluşturmanız gerekir (bir sonraki bölümde ayrıntılı olarak yorumlanmalıdır):

# Create neighbors and weights (simplified example)
neighbors <- poly2nb(spatial_data)
weights <- nb2listw(neighbors)

# Test for spatial autocorrelation
moran.test(spatial_data$variable_name, weights)

Global Moran'ın I statistic için, null hipotezi, analiz edilen özelliklerin çalışma alanınızdaki özellikler arasında rastgele dağıtılması olduğunu belirtir. p-değer bu araç tarafından geri döndüğü zaman, null hipotezini reddedebilirsiniz.

Regresyon Residuals'da Spasal Autocorrelasyon Test

Bu, uzaysal otokorelasyon için oturmayı değerlendirmek önemlidir, çünkü bunlar bağımsız olması gerekir, ilişkili değildir.Eğer ikamet süresiz olarak otomatik olarak otomatik olarak otomatik olarak otomatikleşirse, bu modelin eksik olduğunu gösterir. İlk olarak standart bir OLS regresyon modeline sığar:

ols_model <- lm(dependent_var ~ independent_var1 + independent_var2,
 data = spatial_data)

Sonra uzaysal otokorelasyon için kalıntıları test edin: “Üyetim:

lm.morantest(ols_model, weights)

Bu test, ikametlerinde önemli bir uzaysal otokorelasyon gösterirse, standart OLS regresyonundan ziyade uzaysal regresyon yöntemlerini kullanmanız gerekir.

Monte Carlo Simülasyonu Significance Test için

Monte Carlo simülasyonu test önemi için tercih edilen yöntemdir. Bu şekilde, değerler poligonlara ve Moran'ın I'si hesaplandı, beklenen değerlerin dağılımını oluşturmak için birkaç kez tekrarlanır ve gözlemlenen değer, simdi dağıtım ile karşılaştırılır.

moran_mc <- moran.mc(spatial_data$variable_name, weights, nsim = 999)
moran_mc

Monte Carlo yaklaşımı özellikle sağlam çünkü dağıtım varsayımlarına güvenmiyor ve özellikle daha küçük örnek boyutlarda daha güvenilir bir değer sunuyor.

Spasal Birliğin Yerel Göstergeleri (LISA)

Spasal Birliğin yerel göstergeleri (LISA) her gözlem etrafında benzer değerlerin ölçütlerini sunmak için tasarlanmıştır. Global Moran'ın size tüm çalışma alanı için bir istatistik verdiğinde, LISA analizi kümeleyen veya uzaysal olmayanların meydana geldiği belirli yerleri tanımlar.

Kullandığım yerel Moran'ı hesaplayabilirsiniz:

local_moran <- localmoran_perm(spatial_data$variable_name, weights, nsim = 9999)
head(local_moran)

LISA, HH'yi (yüksek değerler ile çevrili yüksek değerler), düşük değerler ile çevrili olan düşük değerler), LISA (yüksek değerler ile çevrili yüksek değerler) ve LH (düşük değerler ile çevrili yüksek değerler) Bu bilgi, yerel uzaysal desenleri anlamak ve verilerinizdeki noktaları tanımlamak için değerlidir.

Spasal Ağırlıklar Matrices

Uzaylı ağırlıklar, uzaysal regresyon analizi temeldir. Gözlemler arasındaki mekansal ilişkileri tanımlarlar, aslında soruyu cevaplar: “Her gözlemin komşuları kim?”Yerel ağırlıkların seçimi analiz sonuçlarını önemli ölçüde etkileyebilir, bu yüzden araştırma soru ve veri yapısınız için uygun bir yöntem seçmek önemlidir.

Contiguity-Based Kilos

Contiguity tabanlı ağırlıklar sınırları paylaşan uzaysal birimler olarak tanımlamaktadır. Bu yaklaşım, sayı sistemleri, sayılar veya ülkeler gibi poligon verileri için en yaygın olarak kullanılır.

  • [FONT:0)Queen contiguity[[Dönetici: Neighbors, köşeler dahil olmak üzere herhangi bir sınır noktasını paylaşıyor (kızın satrançta hareket gibi)
  • [FONT:0]Rook contiguity[[Dönetici: Neighbors sadece bir köşe değil (örneğin rook’un satrançta hareket ettiği gibi)

Kontiguity tabanlı komşular, [[FONTD:24” işlevi kullanarak oluşturun:

# Queen contiguity (default)
neighbors_queen <- poly2nb(spatial_data, queen = TRUE)

# Rook contiguity
neighbors_rook <- poly2nb(spatial_data, queen = FALSE)

# Examine the neighbor structure
summary(neighbors_queen)

Özet size komşu bağlantıların dağılımını gösterecek ve herhangi bir bölgeyi komşu olmayan (islands) tanımlayacaktır.

Mesafeli Kilolar

Mesafeli ağırlıklar, belirli bir mesafe eşine göre komşuları tanımlar. Bu yaklaşım, yakın zamanda yakın olmayan veya zaman veri ile çalışırken, mekansal ilişkileri yakalamak istediğinizde yararlıdır.

# Get coordinates of centroids
coords <- st_coordinates(st_centroid(spatial_data))

# K-nearest neighbors (e.g., 4 nearest neighbors)
knn_neighbors <- knn2nb(knearneigh(coords, k = 4))

# Distance band (all neighbors within specified distance)
distance_neighbors <- dnearneigh(coords, d1 = 0, d2 = 10000) # distance in map units

Mesafe temelli ağırlıkları kullanırken, verileriniz bir proje koordinat sisteminde olduğundan, mesafeler derecelerden ziyade anlamlı birimlerde (metreler veya ayaklar) ölçülmektedir.

Neighbors'ı Kilos'a Dönüştürmek

Komşu yapısını tanımladıktan sonra, onu ESFLT:27 kullanarak bir ağırlık listesine dönüştürürsünüz. Bu işlev ağırlıkların nasıl standartlaştırılabileceğini belirtmenize olanak sağlar:

# Row-standardized weights (most common)
weights_W <- nb2listw(neighbors_queen, style = "W")

# Binary weights
weights_B <- nb2listw(neighbors_queen, style = "B")

# Variance-stabilizing coding
weights_S <- nb2listw(neighbors_queen, style = "S")

Row-standartize ağırlıklar (style = "W") en yaygın olarak kullanılır çünkü her gözlem için ağırlıkların 1'e kadar toplam olmasını sağlarlar, daha basit yorum yaparlar. İkili ağırlıklar (style = "B") sadece gözlemlerin komşular (1) veya (0) olmadığını gösterir.

Adaları ve Dis bağlantılı Gözlemler

Bazı gözlemler seçilmiş tanımınızın altında komşulara sahip olmayabilir, uzaysal ağırlıklarınızda "islands" yaratabilirsiniz. Bu, uzaysal regresyonda sorunlara neden olabilir: adaları tanımlayabilirsiniz:

which(card(neighbors_queen) == 0)

Eğer adalar varsa, onlara en yakın komşularına bağlanmak, bunun yerine mesafe tabanlı bir yaklaşım kullanmak veya analiz işlevlerinizde TRUE'ye parametre ayarlamak (bu dikkatli bir şekilde yapılmalıdır).

Spasal Lag ve Spasal Hata Modelleri Arasında Seçin

Uzaysal otokorelasyonun mevcut olduğunu doğruladıktan sonra, hangi tür bir uzaysal regresyon modelinin sizin verileriniz için en uygun olduğuna karar vermeniz gerekir. İki ana tip uzaysal gecikme modelleri ve uzaysal hata modelleridir ve temel olarak farklı kavramsallaştırmaları temsil eder.

Spasal Lag Modellerini Anlamak

Uzaylı bir şekilde lagged model, regresyon denkleminin sağ tarafında “spati olarak sarsılmış” değişken bir y eklenerek, komşu gözlem alanlarının değerlerinin her bir bireysel alanda önemli bir tahminci olduğunu söylüyor.

Spasal diffüzyon, uzaysal olarak proximate birimlerinin doğrudan komşularından etkilendiği ve tersi olarak etkilendiği zaman gerçekleşir.Bu, bir yerde doğrudan bir noktada sonuç komşu yerlerdeki sonuçları etkilerle ilgili olarak, bir mahalledeki suç oranlarının yansıttığını gösterir.

Uzaylı gecikme modeli formu alır:

y = ⁇ Wy + XLR + ⁇

⁇ (rho) uzaysal otoregresyon parametresi, W uzaysal ağırlıklar matrisi, X bağımsız değişkenleri içeriyor ve ⁇ hata terimidir.

Spasal Hata Modelleri Anlamak

Uzaysal hata modeli, komşularla konuşmaları gerektiği için aynı adayın lehine olan bir nuisance olarak mekansal otokorelasyona aykırı davranır, ancak benzer gelirlere sahip vatandaşlar coğrafi olarak kümeleme eğiliminde değildir.

Eğer referans kaynakları, onları açıklayıcı değişkenler olarak dahil etmek için hesaplanamazsa, model, uzaysal olarak en uygun şekilde modellenebilir, ki bu, uzaysal olarak kümelenmiş değişkenlerden elde edilen değişkenlerden elde edilen boşluksal hata modeli uygun olacaktır.

Uzaylı hata modeli formu alır:

y = XLR + u, nerede u = ⁇ Wu + ⁇

⁇ (lambda) hata terimi için uzaysal otoregresyon parametresi.

Model Seçimi için Lagrange Multiplier Testleri Kullanımı

Lagrange Multiplier testleri, bu iki modelin en uygun olduğu karara yardımcı olmak için araçlar sağlar. Bu testler, [[ŞUDÜT:31) işlevi kullanarak yapılabilir:

# Fit OLS model first
ols_model <- lm(dependent_var ~ independent_var1 + independent_var2,
 data = spatial_data)

# Run Lagrange Multiplier tests
lm.LMtests(ols_model, weights, test = "all")

Çıktı birkaç test içerecek:

  • [FONT:0]LMlag[[Dönetici: Uzaylı gecikme bağımlılığı için testler
  • [FONT:0]LMerr[[Dönem: Uzaysal hata bağımlılığı için testler
  • [FONT:0) RLMlag[[DÜDÜT:1): Robust LM gecikme testi (sayı için saymak)
  • [FONT:0)RLMerr[[DÜT 1: 1 ): Robust LM hatası için test (yok için hesap)

Hem LMlag hem de LMerr önemliyse, sağlam versiyonları inceler. RLMlag önemli ve RLMerr değil ve RLMerr'ın önemli olup olmadığının uzaysal gecikme modelini seçin.Eğer RLMlag önemli değilse, hem sağlam testler önemlidir, daha karmaşık modelleri göz önünde bulundurmanız veya model özelliklerini dikkatlice incelemeniz gerekebilir.

Spasal Lag Modelleri

Bir uzaysal gecikme modelinin sizin verileriniz için uygun olduğunu belirledikten sonra, uzaysal paketin işlevini kullanarak uygun bir şekilde konumlandırabilirsiniz.Yerel gecikme modelinin aslihood tahminleri gecikme ile yapılır() işlevi, gerekli argümanlar bir regresyon formülü, bir veri seti ve bir listew uzaysal ağırlık nesnesi olarak kullanılabilir.

Temel Spasal Lag Model Syntax

Bir uzaysal gecikme modelinin uygun olması için söz konusu sözcüler R'de standart regresyona benzerdir:

library(spatialreg)

spatial_lag_model <- lagsarlm(dependent_var ~ independent_var1 + independent_var2,
 data = spatial_data,
 listw = weights)

summary(spatial_lag_model)

Spatial Lag Model Çıktısını Yorum

Özet çıktı birkaç önemli bileşen içerecektir:

  • [FONT:0)Rho ( ⁇ ))[Uygun bir gecikme, her kanaldaki kanaldaki bağımlı değişkenleri ölçen bir değişken, uygun şekilde hesap uzaysal kümeleme değişkeni olarak kullanılan, uzaysal ağırlıklarda her bir kanalda çevreleyen eğimli bir değişken olarak kullanılan, uygun şekilde hesaplanmış bir değişken olarak kullanılan bir hesap haline gelir.
  • [FONT:0]Koaktif tahminler[Dönemli değişkenlerin etkileri: Bağımsız değişkenlerinizin etkileri
  • [FONT:0)Önemli testler[[Dönem: Risk oranı testleri, z testiler ve Wald testleri
  • [FONT:0) Model uygun istatistikler[Dönetici: AIC, log-likelilik ve diğer önlemler

Tahmin edilen kata göre rho hem olumlu hem de istatistiksel olarak önemliyse, çevre mahallelerdeki bağımlı değişkenler yükselir, ortalama olarak, bu yüzden diğer açıklayıcı değişkenler için ayarlandığında bile bağımlı değişken yapar.

Hesaplama Etkisi Önlemleri

Her tahmincinin uzaysal bir gecikme modeldeki alt tarihsel etkilerini yorumlamak, uzaysal olmayan bir modelden daha karmaşıktır çünkü bağımsız değişkenleri bağımlıya bağlar ve bağımsız değişkendeki değişimin etkisi tüm gözlemlerde sabit değildir.

Bir uzaysal bir gecikme modelinde katsayıları doğru bir şekilde yorumlamak için, ESFLT:35 kullanarak etki önlemleri hesaplamanız gerekir:

impacts_lag <- impacts(spatial_lag_model, listw = weights, R = 999)
summary(impacts_lag, zstats = TRUE)

Bu, üç tür etkiler sağlayacaktır:

  • [FONT:0)Direct etkiler[DÜT:1): Aynı yerde bağlı değişkende bir değişiklik etkisi aynı yerde aynı yerde aynı yerde aynı yerde aynı yerde aynı konuma bağlı değişkende bağımsız değişkende bir değişkende değişiklik.
  • [FONT:0)Önmüş etkiler[[Dönemli etkiler[[Dönler: 1 ): Başka yerlerde bağımsız değişkende bir değişiklik etkisi (spillover etkiler)
  • [0]Toplam etkiler[Dön ve dolaylı etkiler: Doğrudan ve dolaylı etkiler toplamı

Bu etki önlemleri, bağımsız değişkenlerinizde değişikliklerin hem yerel hem de uzaysal yayılmalar yoluyla bağımlı değişkenleri nasıl etkilediğine dair tam bir resim sağlar.

Spasal Hata Modelleri

Tanık testleriniz uzaysal bir hata modelinin daha uygun olduğunu gösterirken, uzaysal paketin işlevini kullanarak sığabilirsiniz.The syntax is very similar to the space lag model:

spatial_error_model <- errorsarlm(dependent_var ~ independent_var1 + independent_var2,
 data = spatial_data,
 listw = weights)

summary(spatial_error_model)

Spasal Hata Model Çıktısını Yorumlama

Rho yerine, gecikme hatası parametresi Lambda, bu hatada bir gecikmedir ve tüm testlerde olumlu ve önemliyse, bu, hatada yer alan uzaysal otokorelasyon için kontrol ihtiyacını gösterir.

Çıktının anahtar bileşenleri şunlardır:

  • [FONT:0)Lambda ( ⁇ ))[Uygun otoregresyon parametresi hata terimi için hata terimi için.
  • [FONT:0]Koaktif tahminler[[Dönetici: Bunlar, uzaysal gecikme modelinde aksine doğrudan yorumlanabilir.
  • [FONT:0)Önemli testler[[DÜT 1: 1 ): Her iki kat ve kuzu için
  • [[Düzücüler, istatistiklerini uygunlaştırıyorlar [Dönetici: AIC, log-likelihood

Uzaylı gecikme modelinin aksine, etkileşmeye ihtiyacımız yok (ve böylece katlar doğrudan OLS katsayılarına kıyasla karşılaştırılabilir. Bu, katlar bağımlı değişkene her bağımsız değişkenin doğrudan etkisini temsil ediyor, uzaysal otokorelasyon için yer alan boşluk hesapları ile.

Kalan Spasal Autocorrelasyon için kontrol edin

Ya uzaysal bir gecikme veya uzaysal hata modelinin uygun şekilde uzaysal otokorelasyona uygun olduğunu doğrulamak önemlidir.Yerel modelinizin kalıntılarını test edebilirsiniz:

# Extract residuals
residuals_spatial <- residuals(spatial_error_model)

# Test for remaining spatial autocorrelation
moran.test(residuals_spatial, weights)

Moran'ın oturmalarında test ettiğimde, uzaysal modeliniz uzaysal otokorelasyon için başarıyla hesaplandı. Önemli otokorelasyon kalırsa, model özelliklerini yeniden gözden geçirmeniz veya daha karmaşık uzaysal modelleri keşfetmeniz gerekebilir.

Model Tanıları ve Geçerlilik

Thorough model tanıları, uzaysal regresyon modelinizin geçerli ve güvenilir olmasını sağlamak için gereklidir. Modellerin bunları rapor etmeden önce teşhis edilmesi gerekir ve bu, model performansının birden fazla yönünü incelemektedir.

Residuals'ı incelemek

Uzaysal otokorelasyon için muhasebeden sonra bile, diğer potansiyel sorunlar için ikamet koşullarını incelemeniz gerekir:

# Histogram of residuals
hist(residuals(spatial_lag_model),
 main = "Distribution of Residuals",
 xlab = "Residuals")

# Q-Q plot to check normality
qqnorm(residuals(spatial_lag_model))
qqline(residuals(spatial_lag_model))

# Plot residuals against fitted values
plot(fitted(spatial_lag_model), residuals(spatial_lag_model),
 xlab = "Fitted Values", ylab = "Residuals")
abline(h = 0, col = "red")

Heteroskedasticity, non-linearity veya etkili outliers işaret edebilecek olan canlılarda desenler arayın.

Mapping Residuals

Bir ikamet yeri oluşturmak, yalnızca istatistiksel testlerden belirgin olmayabilir uzaysal desenleri ortaya çıkarabilir:

# Add residuals to spatial data
spatial_data$residuals <- residuals(spatial_lag_model)

# Map the residuals
tm_shape(spatial_data) +
 tm_polygons("residuals",
 style = "jenks",
 palette = "RdBu",
 midpoint = 0,
 title = "Model Residuals") +
 tm_layout(legend.outside = TRUE)

İdeal olarak, oturma şekilleri açık bir uzaysal desen göstermemelidir. Yüksek veya düşük oturma yerlerinin kümeleri, modelin belirli alanlarda sistematik olarak veya tahmin edilebilir olabileceğini önerir.

Model Performansı Karşılaştırma

Uzaysal regresyon modelinizi temel OLS modeline kıyasla ve potansiyel olarak alternatif uzaysal özelliklere kıyasla:

# Compare AIC values (lower is better)
AIC(ols_model)
AIC(spatial_lag_model)
AIC(spatial_error_model)

# Compare log-likelihoods
logLik(ols_model)
logLik(spatial_lag_model)
logLik(spatial_error_model)

En düşük AIC ve en yüksek log benzeri olan model genellikle verilere en uygun olanı sağlar, ancak teorik gerekçeyi de dikkate almalı ve yorumlanabilirliği de dikkate almalısınız.

Influential Gözlemleri için kontrol etmek

Model sonuçlarınızda orantısız bir etkiye sahip gözlemleri tanımlayın:

# Cook's distance for OLS model
cooks_d <- cooks.distance(ols_model)
plot(cooks_d, type = "h", main = "Cook's Distance")
abline(h = 4/nrow(spatial_data), col = "red", lty = 2)

# Identify influential observations
influential 4/nrow(spatial_data))
print(influential)

Veri hataları, gerçek outliers veya modelinizin uyması gerektiğini belirlemek için etkili gözlemler araştırmak.

Gelişmiş Spasal Regresyon Teknikleri

Temel uzaysal gecikme ve uzaysal hata modelleri ötesinde, birkaç gelişmiş teknik daha karmaşık uzaysal süreçler ve veri yapıları ele alabilir.

Spasal Durbin Model

Spasal Durbin Model (SDM) hem uzaysal olarak engin bağımlı değişken hem de uzaysal olarak en az bağımsız değişkenleri içerir, daha esnek bir şekilde uzaysal yayılma modeline izin verir:

spatial_durbin_model <- lagsarlm(dependent_var ~ independent_var1 + independent_var2,
 data = spatial_data,
 listw = weights,
 type = "mixed")

summary(spatial_durbin_model)

Bu model, yayılma etkilerinin bağımsız değişkenler arasında farklı olup olmadığını test etmenizi sağlar ve hangi faktörlerin uzaysal dışsallığa yol açtığına dair öngörüler sağlayabilir.

Coğrafi olarak Kiloed Regresyon

Coğrafi olarak Kilolandırılmış Regresyon (GWR), uzay boyunca değişkenleri değiştirmesine izin verir, ilişkilerdeki uzaysal heterojenliği ele alalım. Aynı anlamda uzaysal gecikme veya hata modelleri olarak aynı anlamda bir uzaysal gerileme modeli olmasa da, GWR, çalışma alanınızda değişkenleri arasındaki ilişkileri fark ettiğinde değerlidir:

library(spgwr)

# Determine optimal bandwidth
bandwidth <- gwr.sel(dependent_var ~ independent_var1 + independent_var2,
 data = spatial_data,
 coords = st_coordinates(st_centroid(spatial_data)))

# Fit GWR model
gwr_model <- gwr(dependent_var ~ independent_var1 + independent_var2,
 data = spatial_data,
 coords = st_coordinates(st_centroid(spatial_data)),
 bandwidth = bandwidth)

Spasal Panel Modelleri

Çok fazla zaman zaman zaman zamanları üzerinde gözlemlenen uzaysal veriler olduğunda, uzaysal panel modelleri uzaysal ve zamansal boyutlarda birleştirir.The splm paketi çeşitli uzaysal panel özellikleri için işlevleri sağlar:

library(splm)

# Spatial panel lag model
spatial_panel <- spml(dependent_var ~ independent_var1 + independent_var2,
 data = panel_data,
 listw = weights,
 model = "within",
 spatial.error = "none",
 lag = TRUE)

Sunulan ve Raporlama Sonuçları

Uzaysal regresyon sonuçlarının açık sunumu, bulgularınızı teknik ve teknik olmayan izleyicilere etkin bir şekilde iletişim kurmak için önemlidir.

Publication-Kalite Masaları Yaratmak

Çeşitli R paketleri profesyonel görünümlü regresyon tabloları oluşturmanıza yardımcı olabilir. Yıldızgaz paketi, birden çok modelle karşılaştırmak için özellikle yararlıdır:

library(stargazer)

stargazer(ols_model, spatial_lag_model, spatial_error_model,
 type = "text", # use "html" or "latex" for publication
 title = "Comparison of Regression Models",
 column.labels = c("OLS", "Spatial Lag", "Spatial Error"),
 model.numbers = FALSE)

Daha modern masa formatı için, modellermary paketi düşünün:

library(modelsummary)

models <- list("OLS" = ols_model,
 "Spatial Lag" = spatial_lag_model,
 "Spatial Error" = spatial_error_model)

modelsummary(models,
 stars = TRUE,
 gof_map = c("nobs", "aic", "logLik"))

Görselleştirme Spatial Effects

Haritalar, uzaysal regresyon sonuçları ile iletişim kurmak için güçlü araçlardır. gösteren haritalar oluşturun:

  • Bağımlı değişken değerlerin korunması
  • Modelinizden Tahmin Edilen değerler
  • Residuals (tabii kinesiz)
  • Yerel etkiler (gezegende gecikme modelleri için)
# Add predictions to spatial data
spatial_data$predicted <- fitted(spatial_lag_model)

# Create side-by-side maps
tm_shape(spatial_data) +
 tm_polygons(c("dependent_var", "predicted"),
 style = "quantile",
 palette = "YlOrRd",
 title = c("Observed", "Predicted")) +
 tm_layout(legend.outside = TRUE)

Raporlama Spasal Regresyon Sonuçları

Uzaysal regresyon sonuçları yazarken, şunları içerecekten emin olun:

  • Seçim için kullanılan uzaysal ağırlıkların matrisinin tanımı ve gerekçesi
  • Uzaylı otokorelasyon için teşhis testleri (Moran'ın I, LM testleri)
  • OLS ve uzaysal regresyon modellerinin karşılaştırması
  • Standart hataları ve önemi seviyeleri ile etkili tahminler
  • Uzaylı gecikme modelleri için, doğrudan, dolaylı ve toplam etkiler
  • Model uygun istatistikler (AIC, log-likelihood, R-squared if available)
  • Geleneksel tanı ve model doğrulama Tartışması
  • Anahtar sonuçların veya diğer görselleştirmeleri

Ortak Pitfalls ve En İyi Uygulamaları

Modellemenin en önemli özelliklerinden biri değişken bir seçimdir ve öznitelikli bir model asla iyi olmayacak, ne kadar uzaysal otokorelasyon için doğru bir şekilde düzelteceğinizi önemli değildir. İşte başarılı uzaysal regresyon analizi için önemli düşünceler:

Değişken Seçimi ve Model Özellikleri

Uzaylı otokorelasyon, uzaysal regresyona başvurmadan önce, modelinizde tüm teorik olarak ilgili değişkenleri dahil ettiğinizden emin olabilirsiniz.Eğer uzaysal otokorelasyon devam ederse, herhangi bir veri mevcut değildir veya aramak için değişkenin ne olduğu konusunda ipucu yoktur, uzaysal otokorelasyon için kontrolleri sağlayan bir regresyon modelini formüle edebilirsiniz.

Örnek Boyut Tahminleri

Giriş özelliği sınıfı en az 30 özellik içermeli, çünkü sonuçlar 30'dan daha az özellikle güvenilir olmayacaktır. Spatial regresyon modelleri, özellikle de uzaysal otoregrest parametrelerini korkutmak için yeterli örnek boyut gerektirir.

Appropriate Spatial Kilos

Uzaysal ağırlıkların matrisi seçimi sonuçlarınızı önemli ölçüde etkileyebilir. Her zaman verilerinize dayanan seçiminizi ve verilerinizin doğasını haklı çıkarabilir. Sonuçlarınızın farklı uzaysal ağırlık tanımlarına sağlam olduğunu göstermek için birçok özellik ve raporlama hassasiyet analizleri düşünün.

Causality

Modern regresyon modelleri, tüm regresyon modelleri gibi, kasütürel ilişkiler yerine ilişkileri tanımlamak.Özellikle de, özellikle de simultaneliğin yorumlayabildiği uzaysal gecikme modelleri hakkında dikkatli olun.Yerel otokorelasyon varlığı mutlaka bir uzaysal süreç ima edemez - sadece uzaysal olarak kümelenmiş olan değişkenleri yansıtabilir.

Edge Effects ile Anlaşma

Küresel önlemler, önemli uzaysal süreç bileşenlerinin çalışma alanı dışında düştüğü kenar etkiler tarafından önyargılanabilir. Çalışma alanınızın kenarlarında gözlemlerin komşu setleri olabileceğinin farkında olun, potansiyel olarak önyargılı sonuçlarınız olup olmadığını düşünün. Çalışma alanı sınırlarınız araştırma sorunuz için uygun olup olmadığını düşünün.

Pratik Örnek: Tamam Workflow

İşte tam bir örnek iş akışı bu kılavuzda tartışılan tüm adımları bir araya getiriyor:

# Load required packages
library(sf)
library(spdep)
library(spatialreg)
library(tmap)

# 1. Load and prepare data
spatial_data <- st_read("your_data.shp")
spatial_data <- st_transform(spatial_data, crs = 32618) # UTM Zone 18N

# 2. Explore data
summary(spatial_data)
tm_shape(spatial_data) +
 tm_polygons("dependent_var", style = "quantile", palette = "YlOrRd")

# 3. Create spatial weights
neighbors <- poly2nb(spatial_data, queen = TRUE)
weights <- nb2listw(neighbors, style = "W")

# 4. Fit OLS model and test for spatial autocorrelation
ols_model <- lm(dependent_var ~ independent_var1 + independent_var2,
 data = spatial_data)
lm.morantest(ols_model, weights)

# 5. Run Lagrange Multiplier tests
lm.LMtests(ols_model, weights, test = "all")

# 6. Fit spatial lag model
spatial_lag_model <- lagsarlm(dependent_var ~ independent_var1 + independent_var2,
 data = spatial_data,
 listw = weights)
summary(spatial_lag_model)

# 7. Compute impacts
impacts_lag <- impacts(spatial_lag_model, listw = weights, R = 999)
summary(impacts_lag, zstats = TRUE)

# 8. Check residuals
moran.test(residuals(spatial_lag_model), weights)

# 9. Map residuals
spatial_data$residuals <- residuals(spatial_lag_model)
tm_shape(spatial_data) +
 tm_polygons("residuals", style = "jenks", palette = "RdBu", midpoint = 0)

# 10. Compare models
AIC(ols_model, spatial_lag_model)

Ek Kaynaklar ve Daha Fazla Öğrenme

Spasal regresyon zengin ve gelişen bir alandır. anlayışınızı derinleştirmek ve bu kaynakları araştırırken mevcut kalmak için:

Online Kaynaklar

  • [FONT:0)R-Spatial[[[Döntilmiş: 1) - R-Spatial[[[Dönemli) ile uzaysal veri bilimi için kapsamlı kaynak
  • [FONT:0] R ile Spatial Data Science ([Dönetici analizi için eğitim ve belge)
  • [FONT:0) R[Docomputation with R[DDDD 1) - Uzaysal veri analizi içeren ücretsiz online kitap
  • [FONT:0] Veri Bilimi için bağımsız istatistik) - Modern analize yönelik yaklaşımlar
  • CRAN Task View: Spasal Verilerin Analizi - Uzaysal analiz için R paketlerinin Kapsamlı listesi

Key R Paketleri

Bu temel paketlerdeki son gelişmelerle güncel kalın:

  • [FONT:0]sf[DÜT:1) - R için basit özellikler, uzaysal vektör verileri için modern standart
  • [FONT:0)spdep[[DÜT:1) - Spasal bağımlılık: ağırlıklama programları, istatistikler ve modeller
  • [FONT:0]spatialreg[[[Dönemli regresyon analizi
  • [FONT=0)
  • [FONT:0]mapview[[[Dönetici:0)
  • [FONT:0)spgwr[[DÜT:1][/FONT][/FONT][/TRNT][/FONT][/TRNT][/FONT=0)
  • [FONT:0][[Dönemli panel veri modelleri

Önerilen Okumayı Önerilen Okuma

Teorik temeller ve ileri teknikler için, bu yazara dayalı metinlere danışın:

  • Anselin, L. (1988). "Spatial Ekonometri: Yöntemler ve Modeller" - Uzaysal ekonometrikler üzerine Klasik metin
  • Bivand, R., Pebesma, E., & Gómez-Rubio, V. (2013). "Applied Spatial Data Analysis with R" - R'de uzaysal analize kapsamlı bir kılavuz
  • LeSage, J., & Pace, R. K. (2009). "Introduction to Spatial Econometrics" - Modern regresyon tedavi
  • Cressie, N. (1993). "Statistics for Spatial Data" - uzaysal istatistikin teorik temelleri

Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç

R'deki uzaysal regresyonu sistematik bir iş akışı içeriyor: Bu adımları hazırlamak ve araştırmak, kentsel planlama, epidemiyoloji, çevresel bilim, ekonomi ve sosyal bilimler dahil olmak üzere farklı alanlarda uygun uzaysal ağırlıklar oluşturmak, araştırmalarını geliştirmek ve geliştirmek.

Başarılı uzaysal regresyon analizinin anahtarı sadece R ile teknik yeterlilikte değil, ancak verileriniz altında yer alan uzaysal süreçleri dikkate alarak, modellerinizi dikkatlice doğrulayın ve çalışmadığınız uzaysal ve altstanlı fenomenlerin bağlamında sonuçları yorumlar.Bu kılavuzda belirtilen kapsamlı bir iş akışını takip ederek, araştırma alanınızda karmaşık uzaysal regresyon analizlerinizi önceden anlamak için iyi donanımlı olacaksınız.

Uzaysal regresyonun, araştırma topluluğu ile meşgul olduğunu unutmayın, R paketlerinizi güncelle tutar ve alan geliştikçe yeni teknikler ve en iyi uygulamalar hakkında öğrenmeye devam edin. Bu becerileri geliştirmekte olan yatırım, uzaysal veri analizinizin kalitesinde ve etkisinde kar payı öder.