R - QQPlot: Verilerin normal dağılım gösterip göstermediğini


47

Bir Shapiro-Wilk normallik testi yaptıktan sonra bunu çizdim. Test, popülasyonun normal şekilde dağılmış olabileceğini göstermiştir. Ancak, bu arsa üzerinde bu "davranış" nasıl görülür?görüntü tanımını buraya girin

GÜNCELLEME

Verilerin basit bir histogramı:

görüntü tanımını buraya girin

GÜNCELLEME

Shapiro-Wilk testi şöyle diyor:

görüntü tanımını buraya girin


6
Düzenleme: SW testi sonucu , bu verilerin bağımsız bir ortak dağılımdan bağımsız olarak alındığı hipotezini reddeder : p değeri çok küçük. (Bu hem kısa sol kuyruk gösteren qq arsa hem de pozitif çarpıklık gösteren histogramda belirgindir.) Bu, testi yanlış yorumlamanızı önerir. Testi doğru yorumladığınızda, hala sormanız gereken bir sorunuz var mı?
whuber

4
Aksine: Yazılım ve tüm grafikler söyledikleri ile tutarlıdır. Qq grafiği ve histogram, verilerin normallikten sapma gösterdiği belirli yolları göstermektedir; SW testi, bu verilerin normal bir dağıtımdan gelme ihtimalinin düşük olduğunu söylüyor.
whuber

1
Grafikler neden normal dağılmadığını söylüyor? Qqplot düz bir çizgi oluşturur ve histogram da normal dağılmış gibi görünüyor? Anlamadım; (
Le Max,

7
Qq grafiği açıkça düz değildir ve histogram net bir şekilde simetrik değildir (bu, normal olarak dağıtılmış bir histogramın yerine getirmesi gereken birçok kriterin belki de en temelini oluşturur). Sven Hohenstein'ın cevabı qq grafiğinin nasıl okunacağını açıklıyor.
whuber

1
Aynı boyutta normal bir vektör üretmeyi ve aslında veriler normal bir dağılımdan geldiğinde nasıl görünebileceğini görmek için normal verilerle bir QQ grafiği oluşturmayı yararlı bulabilirsiniz.
StatsStudent

Yanıtlar:


31

" Test, popülasyonun normal şekilde dağılmasının muhtemel olduğunu gösterdi. "

Hayır; bunu göstermedi.

Hipotez testleri, boşluğun ne kadar muhtemel olduğunu söylemez. Aslında bu boşluğun yanlış olduğuna bahse girebilirsin.

QQ grafiği, normal olmadığına dair güçlü bir gösterge vermez (çizim oldukça düzdür); Belki de beklediğinizden biraz daha kısa bir kuyruk kuyruğu var ama bu gerçekten önemli değil.

Olduğu gibi histogram da pek bir şey söylemez; ayrıca biraz daha kısa bir sol kuyrukta ipucu veriyor. Ama buraya bakın

Verilerinizden gelen nüfus dağılımı tam olarak normal olmayacak. Bununla birlikte, QQ grafiği, normalliğin muhtemelen makul derecede iyi bir yaklaşım olduğunu göstermektedir.

Eğer örneklem büyüklüğü çok küçük olmasaydı, Shapiro-Wilk’in reddedilmemesi muhtemelen aynı şeyi söylerdi.

Güncelleme: gerçek Shapiro-Wilk p değerini içerecek şekilde düzenlemeniz önemlidir, çünkü aslında boş değeri tipik olarak önemli seviyelerde reddedeceğinizi gösterir. Bu test, verilerinizin normal bir şekilde dağılmadığını ve araziler tarafından gösterilen hafif eğriltmenin muhtemelen test tarafından toplandığını gösterir. Değişkenin normalliğini varsayan tipik prosedürler için (tek örnekli t-testi akla gelen bir testtir), oldukça büyük bir örneklem büyüklüğü gibi göründüğünde, bu hafif normal olmayanlık hemen hemen hiç sonuçlanmayacaktır. hepsi - uyum testlerinin iyiliği ile ilgili sorunlardan biri, sadece önemli olmadıklarında reddetme olasılıkları (örneklemin normal olmayan bir düzensizliği tespit edebilecek kadar büyük olduğunda); Benzer şekilde, en önemli olduğu zaman reddetme olasılıkları daha yüksektir (örneklem büyüklüğü küçük olduğunda).


Aslında, bu OP'nin ifadesini yanlış yorumlamamı sağladı: Sanırım olası olmadığını söyledi. Size biraz katılmıyorum: bir test normalde boş hipotez doğruysa gözlemin ne kadar olası olmadığını söylerken, bu gözlemi yaptığımızdan beri, boş hipotezin gerçek olamayacağını iddia etmek için kullanırız.
Nick Sabbe,

Cevabınız için teşekkürler! Diğer yöne giden tüm ifadelerle biraz kafam karıştı. Açıkça söylemek gerekirse, benim alıştırmam, örneğin normalliği hakkında bir açıklama yapmak. Peki profesörüme bir cevap olarak ne söyleyeceksiniz? Ve örneklem büyüklüğü bile normalliği nasıl gösterebilir ?, S
Le Max

2
Söyleyebileceğiniz en güçlü şey hakkında şöyle bir şey olabilirdi: - “QQ grafiği normallik ile makul derecede tutarlı, ancak sol kuyruk biraz kısa”; hafif çarpıklık göstergesi var.
Glen_b

37

Veriler normal olarak dağıtılırsa, QQ normal arsadaki noktalar düz bir çapraz çizgide bulunur. Eğer komutla çizmek QQ için bu satırı ekleyebilirsiniz qqline(x), xdeğerlerin vektörüdür.

Normal ve normal olmayan dağılım örnekleri:

Normal dağılım

set.seed(42)
x <- rnorm(100)

QQ normal çizgi ile arsa:

qqnorm(x); qqline(x)

görüntü tanımını buraya girin

Düz çizgiden sapmalar minimumdur. Bu normal dağılım gösterir.

Histogram:

hist(x)

görüntü tanımını buraya girin

Normal olmayan (Gama) dağılımı

y <- rgamma(100, 1)

QQ-normal arsa:

qqnorm(y); qqline(y)

görüntü tanımını buraya girin

Noktalar açıkça düz çizgiden başka bir şekli takip ediyor.

Histogram normal olmayanlığı onaylar. Dağılım çan şeklinde değil, olumlu yönde eğridir (yani, çoğu veri noktası alt yarıdadır). Normal dağılımların histogramları, dağılımın merkezinde en yüksek frekansı gösterir.

hist(y)

görüntü tanımını buraya girin


Qqplot'a güven aralıklarını koymanın faydalı olduğunu biliyorum. Hiçbir şey normalde "mükemmel" değildir ve örneklem büyüklüğü bir şeyin ne kadar yanlış olabileceğini ve hala normalde olabileceğini gösterebilir.
EngrStudent - Monica Hazretleri

@EngrStudent qqplot'a güven aralığını eklemek için paylaşılacak kodunuz var mı?
danno,

1
@ danno Paketteki qqPlotişlevi kontrol edin car.
Sven Hohenstein

@ danno - "araba" kütüphanesindeki "qqPlot" 'a bakın. Bir süredir buralardaydı ve ben yapmadım. Güven aralıklarını ekler. Bazı normal olmayan dağılımlar için baz dağılımını da belirleyebilirsiniz. Aşağıdaki cevabımda.
EngrStudent - Monica

1
Normallik varsayımının gerçekten kontrol etmesi için, puanların olarak düz bir çizgide kalması gerektiğini belirtmesi, aceminin de muhtemelen daha iyi olacağını düşünüyorum . approximately
StatsStudent

23

R’de normallik varsayımının geçerliliğini kontrol etmek için bazı araçlar

library(moments)
library(nortest)
library(e1071)

set.seed(777)
x <- rnorm(250,10,1)

# skewness and kurtosis, they should be around (0,3)
skewness(x)
kurtosis(x)

# Shapiro-Wilks test
shapiro.test(x)

# Kolmogorov-Smirnov test
ks.test(x,"pnorm",mean(x),sqrt(var(x)))

# Anderson-Darling test
ad.test(x)

# qq-plot: you should observe a good fit of the straight line
qqnorm(x)
qqline(x)

# p-plot: you should observe a good fit of the straight line
probplot(x, qdist=qnorm)

# fitted normal density
f.den <- function(t) dnorm(t,mean(x),sqrt(var(x)))
curve(f.den,xlim=c(6,14))
hist(x,prob=T,add=T)

11

Sezgilerinizin bazı testlerin sonucuyla eşleşip eşleşmediğini görsel olarak kontrol etmek iyi bir fikir olsa da, bunun her zaman kolay olmasını bekleyemezsiniz . Higgs Boson'u tespit etmeye çalışan insanlar, yalnızca görsel olarak değerlendirebilselerdi sonuçlarına güvenirse, çok keskin bir göze ihtiyaçları olacaktır.

Özellikle büyük veri kümeleriyle (ve dolayısıyla tipik olarak artan güce sahip) istatistikler çıplak gözle görülemeyecek olsalar bile en küçük farkları toplama eğilimindedir.

Söyleniyor: normalliği için, QQ-arsa düz bir çizgi göstermelidir: öyle olmadığını söyleyebilirim. Kuyruklarda net virajlar var, hatta ortada bile bazı kargaşalar var. Görsel olarak, yine de (normalliği kontrol etme hedefine bağlı olarak) bu verinin "makul" normal olduğunu söylemeye istekli olabilirim.

Ancak, normalliği kontrol etmek istediğiniz birçok amaç için, gözlemlerin normalliği yerine araçların normalliğine ihtiyacınız vardır, bu nedenle merkezi limit teoremi sizi kurtarmak için yeterli olabilir. Ek olarak: normallik genellikle “resmi olarak” kontrol etmeniz gereken bir varsayım olsa da, birçok testin bu varsayımı yerine getirmemeye karşı oldukça duyarsız olduğu gösterilmiştir.


2

'R' kütüphanesi 'arabasının' versiyonunu seviyorum çünkü sadece merkezi eğilimi değil, güven aralıklarını da sağlıyor. Verilerin davranışının varsayımsal dağıtım ile tutarlı olup olmadığını onaylamaya yardımcı olmak için görsel rehberlik sağlar.

library(car)

qqPlot(lm(prestige ~ income + education + type, data=Duncan), 
       envelope=.99)

bazı bağlantılar:

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.