Moran I'e sağlam alternatifler


19

Mekansal otokorelasyonun bir ölçüsü olan Moran I , özellikle sağlam bir istatistik değildir (mekansal veri özelliklerinin çarpık dağılımlarına duyarlı olabilir).

Mekansal otokorelasyonu ölçmek için daha sağlam teknikler nelerdir? Özellikle R gibi bir komut dosyası dilinde kolayca bulunabilen / uygulanabilen çözümlerle ilgileniyorum. Çözümler benzersiz koşullar / veri dağıtımları için geçerliyse, lütfen cevabınızdakileri belirtin.


DÜZENLEME : Soruyu birkaç örnekle genişletiyorum (orijinal soruya yapılan yorumlara / yanıtlara yanıt olarak)

Permütasyon tekniklerinin (bir Monte Carlo prosedürü kullanılarak bir Moran I örnekleme dağılımının üretildiği yerlerde) sağlam bir çözüm sunduğu öne sürülmüştür. Anladığım kadarıyla, böyle bir test , Moran'ın I dağılımı hakkında herhangi bir varsayım yapma ihtiyacını ortadan kaldırıyor (test istatistiğinin veri kümesinin uzamsal yapısından etkilenebileceği göz önüne alındığında), ancak permütasyon tekniğinin normal olmayanlar için nasıl düzeltildiğini göremiyorum dağıtılmış öznitelik verisi . İki örnek öneriyorum: biri çarpık verilerin yerel Moran'ın I istatistiği üzerindeki etkisi, diğeri ise küresel Moran'ın I- - permütasyon testleri altında bile etkisini göstermektedir.

Ben kullanacağız Zhang et al. 'nin (2008) ilk örneği analiz eder. Makalelerinde, permütasyon testleri (9999 simülasyonları) kullanarak nitelik veri dağıtımının yerel Moran I üzerindeki etkisini göstermektedirler . Orijinal verileri (sol panel) ve aynı verilerin log dönüşümünü (sağ panel) GeoDa'da kullanarak (% 5 güven seviyesinde) kurşun (Pb) konsantrasyonları için yazarların sıcak nokta sonuçlarını çoğalttım. Orijinal ve log-dönüştürülmüş Pb konsantrasyonlarının kutu grafikleri de sunulmaktadır. Burada, veriler dönüştürüldüğünde önemli sıcak noktaların sayısı neredeyse iki katına çıkar ; bu örnekte, yerel istatistiğin , Monte Carlo tekniklerini kullanırken bile özellik veri dağıtımına duyarlı olduğu gösterilmiştir!

resim açıklamasını buraya girin

İkinci örnek (simüle edilmiş veriler) , permütasyon testlerini kullanırken bile çarpık verilerin küresel Moran I üzerindeki etkisini gösterir . R'de bir örnek şöyledir:

library(spdep)
library(maptools)
NC <- readShapePoly(system.file("etc/shapes/sids.shp", package="spdep")[1],ID="FIPSNO", proj4string=CRS("+proj=longlat +ellps=clrk66"))
rn <- sapply(slot(NC, "polygons"), function(x) slot(x, "ID"))
NB <- read.gal(system.file("etc/weights/ncCR85.gal", package="spdep")[1], region.id=rn)
n  <- length(NB)
set.seed(4956)
x.norm <- rnorm(n) 
rho    <- 0.3          # autoregressive parameter
W      <- nb2listw(NB) # Generate spatial weights
# Generate autocorrelated datasets (one normally distributed the other skewed)
x.norm.auto <- invIrW(W, rho) %*% x.norm # Generate autocorrelated values
x.skew.auto <- exp(x.norm.auto) # Transform orginal data to create a 'skewed' version
# Run permutation tests
MCI.norm <- moran.mc(x.norm.auto, listw=W, nsim=9999)
MCI.skew <- moran.mc(x.skew.auto, listw=W, nsim=9999)
# Display p-values
MCI.norm$p.value;MCI.skew$p.value

P değerlerindeki farkı not edin. Çarpık veriler,% 5 anlamlılık düzeyinde (p = 0.167) kümeleme olmadığını gösterirken, normal olarak dağıtılan veriler, (p = 0.013) olduğunu gösterir.


Chaosheng Zhang, Lin Luo, Weilin Xu, Valerie Ledwith, Galway, İrlanda'nın kentsel topraklarında Pb'nin kirlilik sıcak noktalarını tanımlamak için yerel Moran I ve CBS kullanımı, Toplam Çevre Bilimi, Cilt 398, Sayılar 1–3, 15 Temmuz 2008 , Sayfalar 212-221


1
Çarpık dağılımlara duyarlılık için bir referansınız var mı?) Rastgele olmayan uzamsal dağılımın global testleriyle veya yerel anormal özelliklerin tanımlanmasıyla ilgileniyor musunuz? Faiz sonucunun dağılımı nedir (pozitif sayı değişkeni?)
Andy W

1
AndyW: 1) Testin hassasiyetine bir referans Fortin ve Dale'ın 'Mekansal Analiz, Ekolojistler için bir rehber' (s. 125), 2) Hem Global hem de Yerel testlerin çözümleriyle ilgileniyorum, 3) Belirli bir şeyim yok akılda veri dağıtımı.
MannyG

1
Andy, Moran I'in ağırlıklı varyans ve kovaryans tahminlerine dayandığı için, bu tahminlerin yaptığı gibi aykırı değerlere aynı duyarlılığa sahip olacaktır (ki bu da iyi bilinmektedir). Bu içgörü , Manny'nin sorununa birçok olası çözümün yolunu da işaret ediyor : sağlam bir ağırlık korelasyonu oluşturmak için favori dağılım ve ilişkilendirme tahminlerinin en sevdiğiniz sağlam sürümlerini kullanın ve yola çıkın.
whuber

1
Görünüşe göre burada birkaç konsepti karıştırıyor olabilirsiniz, @Andy. İlk olarak, Manny otokorelasyonu ölçmek istiyor ; mutlaka bir hipotez testi yapmaz. İkincisi, hipotez testi ile ilgili soru en iyi sağlamlıktan ziyade güç açısından çerçevelenir. Ancak (üçüncüsü) kavramların bir bağlantısı vardır: Sağlam bir test istatistiği, dağılımsal varsayımların (aykırı değerlerin kirlenmesi gibi) çok çeşitli ihlalleri altında gücünü koruma eğiliminde olurken, sağlam olmayan bir test istatistiği, bu durumlarda gücü.
whuber

1
@ FC84, geçen yıl bu sorunu tekrar gözden geçirdim ve önerilen bir çözüm yazdım . Ama veterinere ihtiyacı var. Bu yazının bir noktada cevap olarak (çok) indirgenmiş bir versiyonunu sunmayı planlıyorum. Sahip olduğumdan ne yapabileceğinizi öğrenmekten çekinmeyin. Ama dikkatli kullanın!
MannyG

Yanıtlar:


2

(Bu, bu noktada bir yoruma dönüşemeyecek kadar hantal)

Bu, yerel ve küresel testlerle ilgilidir (spesifik, örnek bağımsız oto-korelasyon ölçüsü değil). Belirli Moran'ın ölçtüğüm korelasyonun (Pearson korelasyon katsayısı ile aynı terimlerle yorumlandığında) önyargılı bir tahmin olduğunu takdir edebilirim , yine de permütasyon hipotez testinin değişkenin orijinal dağılımına nasıl duyarlı olduğunu görmüyorum ( tip 1 veya tip 2 hataları açısından).

Yorumda verdiğiniz kodu hafifçe uyarlamak (uzamsal ağırlıklar colqueeneksikti);

library(spdep)
data(columbus)
attach(columbus)

colqueen <- nb2listw(col.gal.nb, style="W") #weights object was missing in original comment
MC1 <- moran.mc(PLUMB,colqueen,999)
MC2 <- moran.mc(log(PLUMB),colqueen,999)
par(mfrow = c(2,2))
hist(PLUMB, main = "Histogram PLUMB")
hist(log(PLUMB), main = "HISTOGRAM log(PLUMB)")
plot(MC1, main = "999 perm. PLUMB")
plot(MC2, main = "999 perm. log(PLUMB)")

Bir kişi permütasyon testleri gerçekleştirdiğinde (bu örnekte, alanı karıştırmaktan hoşlanıyorum), küresel mekansal oto-korelasyonun hipotez testi , değişkenin dağılımından etkilenmemelidir, çünkü simüle edilmiş test dağılımı özünde değişecektir orijinal değişkenlerin dağılımı ile. Muhtemelen bunu göstermek için daha ilginç simülasyonlar ortaya çıkabilir, ancak bu örnekte de görebileceğiniz gibi, gözlemlenen test istatistikleri, hem orijinal hem de kaydedilen (normal bir dağılıma çok daha yakın) için oluşturulan dağılımın çok dışındadır. . Kayıtlı PLUMB test dağılımını null altında görebilseniz de simetriye yaklaşık 0 kayar.PLUMBPLUMB

resim açıklamasını buraya girin

Bunu zaten bir alternatif olarak önerecektim, dağıtımı yaklaşık normal hale getirecektim. Ayrıca, mekansal filtreleme (ve benzer şekilde Getis-Ord yerel ve küresel istatistikleri) ile ilgili kaynaklara bakmayı önerecektim, ancak bunun da ölçeksiz bir ölçüye yardımcı olacağından emin değilim (ancak belki de hipotez testleri için verimli olabilir) . Daha sonra potansiyel olarak daha fazla ilgi alanıyla ilgili yayınlar göndereceğim.


Ayrıntılı hesabınız için teşekkürler Andy. Seni doğru anlarsam, bir permütasyon testinde test istatistiği (Moran I) elde edilen MC dağılımına göre değişmeyeceğini ima etmek , ancak bu benim gözlemlerimle uyuşmuyor. Örneğin, aynı columbus veri kümesinde HOVAL değişkenini kullanırsak, elde edilen MC Moran'ın I testi p değeri 0.029'dan (orijinal eğri verilerle) MC arasında genişleyen bir boşluğu gösteren 0.004'e (log dönüştürülmüş verilerle) gider. dağılım ve test istatistiği - eşiği% 1 olarak ayarlamış olsaydık önemsiz değil.
MannyG

1
Evet, fikrimi doğru yorumluyorsun. Sonuçların farklı olduğu herhangi bir koşuyu bulmak kesinlikle mümkündür. Soru, çeşitli durumlarda hata oranlarının aynı olup olmadığı olur.
Andy W
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.