Sapma nedir? (özellikle CART / rpart'ta)


45

“Sapma” nedir, nasıl hesaplanır ve istatistiki olarak farklı alanlarda kullanımları nelerdir?

Özellikle, CART’daki kullanımlarıyla (ve R’de rpart’taki uygulaması) kişisel olarak ilgileniyorum.

Bunu soruyorum çünkü wiki makalesi biraz eksik görünüyor ve görüşleriniz en iyi şekilde karşılanacak.

Yanıtlar:


48

Sapma ve glm

Resmen, sapma iki olasılıklı model arasında bir çeşit mesafe olarak görülebilir; GLM bağlamında, iki iç içe model arasındaki olasılıkların günlük oranının iki katıdır. , "küçük" modeldir; yani, @ suncoolsu'nun dediği gibi , model parametreleri üzerindeki doğrusal bir kısıtlama (bkz. Neyman – Pearson lemması ). Bu nedenle, model karşılaştırması yapmak için kullanılabilir . Ayrıca, OLS tahmininde (ANOVA, regresyon) kullanılan RSS'in genelleştirilmesi olarak da görülebilir, çünkü null modelle karşılaştırıldığında değerlendirilen modelin uyum iyiliği ölçüsünü sağlar (sadece engelleme). LM ile de çalışır:1/00

> x <- rnorm(100)
> y <- 0.8*x+rnorm(100)
> lm.res <- lm(y ~ x)

Artık SS (RSS) şu şekilde elde edilen olarak hesaplanır :ε^tε^

> t(residuals(lm.res))%*%residuals(lm.res)
         [,1]
[1,] 98.66754

veya (düzeltilmemiş)R2

> summary(lm.res)

Call:
lm(formula = y ~ x)

(...)

Residual standard error: 1.003 on 98 degrees of freedom
Multiple R-squared: 0.4234, Adjusted R-squared: 0.4175 
F-statistic: 71.97 on 1 and 98 DF,  p-value: 2.334e-13 

çünkü burada toplam varyanstır. Bunun gibi bir ANOVA tablosunda doğrudan bulunduğunu unutmayın.R2=1RSS/TSSTSS

> summary.aov(lm.res)
            Df Sum Sq Mean Sq F value    Pr(>F)    
x            1 72.459  72.459  71.969 2.334e-13 ***
Residuals   98 98.668   1.007                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Şimdi, sapmaya bakın:

> deviance(lm.res)
[1] 98.66754

Aslında, doğrusal modeller için sapma RSS'e eşittir (böyle bir durumda OLS ve ML'nin çakışacağını tahmin edebilirsiniz).

Sapma ve CART

CART'ı zaten etiketli bireyleri (sınıflandırma bağlamında) keyfi sınıflara ayırmanın bir yolu olarak görebiliriz . Ağaçlar, bireylerin sınıf üyeliğine yönelik bir olasılık modeli olarak görülebilir. Yani, her düğüm at , bir olasılık dağılımı var sınıflar üzerinde. Burada önemli olan ağacın yaprakları bize rastgele bir numune vermek olduğunu tarafından belirtilmiş bir multinomial dağılımından . Böylece bir ağacın sapmasını, nin tüm yapraklarının toplamı olarak tanımlayabiliriz .nipiknikpikD

Di=2kniklog(pik),

Venables ve Ripley'in notasyonlarını takiben ( MASS , Springer 2002, 4. basım). R kullanıcıları için bu temel referansa erişiminiz varsa (IMHO), böyle bir yaklaşımın düğümleri bölmek ve bir ağacı gözlenen verilere yerleştirmek için nasıl kullanılacağını kendiniz kontrol edebilirsiniz (s. 255 ff.); Temel olarak fikir, ağacı budayarak en aza indirmektir, burada ağacındaki düğümlerin sayısıdır . Burada maliyet karmaşıklığı değişiminin farkındayız . Burada , entropi veya bilgi kazancı ölçüsüne veya olarak tanımlanan Gini endeksine dayanan düğüm kirlilik kavramına (yani, belirli bir düğümdeki dağılımın heterojenliği)D+α#(T)#(T)TD1kpik2 (bilinmeyen oranlar, düğüm oranlarından tahmin edilmiştir).

Bir regresyon ağacı ile, fikir oldukça benzerdir ve sapmayı tarafından bireyler için tanımlanan karelerin toplamı olarak kavramsallaştırabiliriz.j

Di=j(yjμi)2,

tüm yapraklar üzerinde toplandı. Burada, her yaprağın içinde düşünülen olasılık modeli bir gauss . Venables ve Ripley'den alıntılar (s. 256), " , bir gaussian GLM için normal ölçekli sapmadır. Bununla birlikte, ağacın iç düğümlerindeki dağılım daha sonra normal dağılımların bir karışımıdır ve sadece yapraklarda uygundur. Ağaç yapım süreci, regresyondaki ileri değişken seçimine çok benzeyen olasılık modellerinin hiyerarşik bir düzeltmesi olarak görülmelidir . ” Bölüm 9.2, uygulama hakkında daha ayrıntılı bilgi sağlar , ancak işlevine zaten bakabilirsiniz.N(μi,σ2)DDirpartresiduals()rpart "sapma artıkları" eksi karenin kökü olarak hesaplanan nesnenin takılı modelin logaritmasının iki katı.

Atkinson ve Therneau tarafından rpart rutinlerini kullanarak özyinelemeli bölümlemeye giriş de iyi bir başlangıçtır. Daha genel bir inceleme için (torbalama dahil) tavsiye ederim


1
+1 güzel cevap chl, ki dediğiniz gibi, benimkileri tamamlıyor, o yüzden sorun yok. Çok güzel koymak.
Gavin Simpson

Bir küçük şey - muhtemelen lm.fitörneğinizde kullanmak en iyisidir , çünkü bu arkasındaki işgücünün adıdır lm.
Gavin Simpson

@ Gavin Oh, evet, doğru. Bunu hatırlattığın için teşekkürler, bu hatayı sık sık yaparım ...
chl

3
Sadece bir not: Doğrusal regresyon için Sapma, RSS'e eşittir, çünkü hataların normallik varsayımı, RSS'i ima eder, ayrıca Sapma'nın asimptotiklere bakılmaksızın normal olarak dağıtıldığı anlamına gelen LR testi istatistiğiyle aynıdır . Bu sadece (bence) bir chl yorumunun bir genişlemesi.
suncoolsu

@suncoolsu ML ve OLS tahminleri hakkındaki yorumumla ilgiliyse, evet (yani, doğrusal modellerde) için "bir gauss dağılımını varsaymak" demek istedim . Yorumunuz açığız. εi
chl

25

Tepkideki tüm varyansı açıklayacak şekilde gözlemler kadar parametresi olan mükemmel bir model düşünürsek, biraz daha net olabilir. Bu doymuş model. Sapma sadece bir aday modelin ve doymuş modelin "uyum" farkını ölçer.

Bir regresyon ağacında, doymuş model gözlemler kadar uç uç noktaya (yapraklara) sahip olan bir model olacaktır, böylece cevabın mükemmel bir şekilde uymasını sağlayacaktır. Daha basit bir modelin sapması, tüm düğümler üzerinde toplanan düğüm artık kareler toplamı olarak hesaplanabilir. Başka bir deyişle, öngörülen ve gözlenen değerler arasındaki kare farkların toplamı. Bu, en küçük kareler regresyonunda kullanılan aynı tür hata (veya sapma).

Bir sınıflandırma ağacı için, artık kareler toplamı uyumsuzluğun en uygun ölçüsü değildir. Bunun yerine, alternatif bir sapma ölçüsü vardır, ayrıca bir entropi ölçüsünü veya Gini endeksini en aza indirecek şekilde ağaçlar yapılabilir. İkincisi, varsayılan değerdir rpart. Gini endeksi şu şekilde hesaplanır:

Di=1k=1Kpik2

burada sınıfı gözlenen oranı olan düğümünün . Bu önlem, tüm terminal toplanır monte ağaç modeli için bir sapma gelmesi ağaç düğümler.pikkii


(+1) Üzgünüm, gönderim daha sonra geldi ve sizinkini farketmedim. Çok fazla çakışmadıklarını düşündüğüm gibi, sakıncası yoksa benimkini bırakacağım.
chl

Yani, sapma uygunluk iyiliğinin bir ölçüsüdür, değil mi? AFAIK, regresyonda, uygun olmayan kişileri ölçmek için bazı istatistiklere (RSS, ) sahibiz; ve sınıflandırmada yanlış sınıflandırma oranını kullanabiliriz. Haklı mıyım R2
avokado

11

Sapma, modelin genel alternatiften (yani doymuş model) elinde bulundurduğu boş hipotezi test etmek için olasılık oranı istatistiğidir. Bazı Poisson ve binom GLM'leri için, gözlem sayısı , bireysel sayımların büyüklüğü arttıkça sabit kalır. Sonra sapma ki-kare bir asimptotik null dağılımına sahiptir . Serbestlik derecesi = N - p, p model parametrelerinin sayısıdır; yani, doymuş ve doymamış modellerde serbest parametrelerin sayısına eşittir. Sapma daha sonra model uyumu için bir test sağlar.N

Deviance=2[L(μ^|y)L(y|y)]

Ancak, çoğu zaman, bazı değişkenleri düşürmeniz gerekip gerekmediğini test etmek istersiniz. Orada iki modellerdir Say ve ile ve sırasıyla parametreleri, ve daha iyi olan bu ikisinden testine gerek. Varsayalım özel bir durumdur yani iç içe modelleri. M1M2p1p2M1M2

Bu durumda, sapma farkı alınır:

ΔDeviance=2[L(μ1^|y)L(μ2^|y)]

Doymuş modelin log olasılığının iptal olduğuna ve serbestlik derecesinin olarak . Bazı parametrelerin 0 olup olmadığını test etmemiz gerektiğinde en sık kullandığımız şey budur. Eğer uygun Ama içinde sapma çıkışı akım modeli vs doymuş modele içindir.ΔDeviancep2p1glmR

Daha ayrıntılı olarak okumak istiyorsanız: cf: Alan Agresti tarafından kategorik veri analizi, sf 118.


@Tal, kullanmıyorum rpartve cevabı bu forumun daha deneyimli üyelerine bırakacağım.
suncoolsu

Sanırım bir fikrim var ... ama rpart, gerileme ağaçları için bile sapkınlık
yaratıyor

@deps_stats, sapmanın, ağacın terminal düğümleri üzerinde toplanan kareler artıklarının toplamıdır.
Gavin Simpson
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.