Інтерпретація QQplot - чи є якесь правило, щоб вирішити ненормальність?


47

Тут я прочитав достатньо тем на QQplots, щоб зрозуміти, що QQplot може бути більш інформативним, ніж інші тести на нормальність. Однак я не досвідчений в інтерпретації QQplots. Я дуже гуглив; Я знайшов багато графіків ненормативних QQplots, але немає чітких правил, як їх інтерпретувати, окрім того, що, здається, порівняння з дистрибутивом нотаток плюс "відчуття кишки".

Мені хотілося б знати, чи є у вас (або ви знаєте) будь-яке правило, яке допоможе вам вирішити ненормативність.

Це питання виникло, коли я побачив ці два графіки: графік 2 графік 1

Я розумію, що рішення про ненормальність залежить від даних і того, що я хочу зробити з ними; проте моє запитання таке: як правило, коли спостережувані відступи від прямої лінії є достатньою ознакою, щоб зробити необґрунтованим наближення нормальності?

Наскільки це варте, тест Шапіро-Вілка не зміг відкинути гіпотезу про ненормальність в обох випадках.


3
смуги довіри навколо лінії QQ досить круті. Чи можете ви поділитися кодом R, який ви використовували для їх отримання?
user603

7
Це просто qqPlot () від {qualityTools} :)
greymatter0

Відповіді:


43

Зауважимо, що Шапіро-Вілк є потужним тестом на нормальність.

Найкращим підходом є насправді мати гарне уявлення про те, наскільки чутлива будь-яка процедура, яку ви хочете використовувати, - до різних видів ненормативності (наскільки погано ненормативно це має бути, щоб це впливало на ваш висновок більше, ніж ви може прийняти).

Неофіційним підходом до перегляду сюжетів було б генерування декількох наборів даних, які насправді є нормальними такого ж розміру вибірки, як і у вас (наприклад, 24 з них). Накресліть ваші реальні дані серед сітки таких графіків (5х5 у випадку 24 випадкових наборів). Якщо це не особливо незвично виглядає (скажімо, найгірше), воно розумно відповідає нормальності.

введіть тут опис зображення

На мій погляд, набір даних "Z" в центрі виглядає приблизно нарівні з "o" і "v" і, можливо, навіть "h", тоді як "d" і "f" виглядають трохи гірше. "Z" - це реальні дані. Хоча я ні на хвилину не вірю, що це насправді нормально, це не особливо незвично, коли ти порівнюєш його зі звичайними даними.

[Редагувати: Я щойно провів випадкове опитування - ну, я запитав доньку, але у досить випадковий час - і її вибір як мінімум прямої лінії був "d". Тож 100% опитаних вважали, що "d" є найбільш дивним.]

Більш офіційним підходом було б зробити тест Shapiro-Francia (який фактично базується на кореляції в QQ-графіці), але (a) він навіть не такий потужний, як тест Shapiro Wilk, і (b) формальне тестування відповідає на питання (іноді), на яке ви вже маєте знати відповідь (розподіл ваших даних було взято не зовсім нормально), замість того, на яке питання вам потрібно відповісти (наскільки це погано?).


За потребою введіть код для вищезазначеного дисплея. Нічого фантазійного не було:

z = lm(dist~speed,cars)$residual
n = length(z)
xz = cbind(matrix(rnorm(12*n),nr=n),z,matrix(rnorm(12*n),nr=n))
colnames(xz) = c(letters[1:12],"Z",letters[13:24])

opar = par()
par(mfrow=c(5,5));
par(mar=c(0.5,0.5,0.5,0.5))
par(oma=c(1,1,1,1));

ytpos = (apply(xz,2,min)+3*apply(xz,2,max))/4
cn = colnames(xz)

for(i in 1:25) {
  qqnorm(xz[,i],axes=FALSE,ylab= colnames(xz)[i],xlab="",main="")
  qqline(xz[,i],col=2,lty=2)
  box("figure", col="darkgreen")
  text(-1.5,ytpos[i],cn[i])
}

par(opar)

Зауважте, що це було лише для ілюстрації; Я хотів невеликий набір даних, який виглядав м'яко ненормальним, тому я використовував залишки від лінійної регресії на даних про машини (модель не зовсім підходить). Однак, якщо я насправді генерував такий дисплей для набору залишків для регресії, я б регресував усі 25 наборів даних на тих самих , що і в моделі, і відображав QQ графіки їх залишків, оскільки залишки мають деякі структура, відсутня в нормальних випадкових числах.x

(Я створював такі набори сюжетів принаймні з середини 80-х. Як ви можете інтерпретувати сюжети, якщо ви незнайомі, як вони поводяться, коли припущення мають місце, а коли їх немає?)

Побачити більше:

Buja, A., Cook, D. Hofmann, H., Lawrence, M. Lee, E.-K., Swayne, DF та Wickham, H. (2009) Статистичні висновки для дослідницького аналізу даних та діагностики моделі Філ. Транс. Р. Соц. A 2009 367, 4361-4383 doi: 10.1098 / rsta.2009.0120


8
+1. Мені дуже подобається ідея порівнювати QQ-графіки вашого зразка з деякими випадково генерованими!
COOLSerdash

Дякую @Glen_b. Чи можу я запитати вас, як ви створили сітку графіків?
greymatter0

3
Щойно я виявив, що ніколи не відповідав на ваш запит, greymatter0. Немає місця, щоб скласти весь мій сценарій, але я викладу суть цього. Я грав з варіантами сюжету - opar=par(); par(mfrow=c(5,5)); par(mar=c(0.5,0.5,0.5,0.5)); par(oma=c(1,1,1,1))тоді в циклі iя робив qqnorm(xz[,i],axes=FALSE,ylab= colnames(xz)[i],xlab="",main=""); qqline(xz[,i],col=2,lty=2); box("figure", col="darkgreen")тоді в кінці, par(opar)щоб повернути параметри до того, що вони були раніше. Це залишає деякі деталі, але ви повинні мати можливість керувати звідти.
Glen_b

@ greymatter0 ... і тепер я виявив, що раніше не правильно писав тобі, коли нарешті відповів. Мої вибачення.
Glen_b

Не хвилюйся, Glen_b, дякую тобі за запам'ятовування!
greymatter0

22

Не суперечуючи жодній із відмінних відповідей тут, у мене є одне головне правило, яке часто (але не завжди) є визначальним. (Попередній коментар у відповіді від @Dante теж здається актуальним.)

Іноді здається занадто очевидним заявити, але ось ти.

Я радий називати розповсюдження неординарним, якщо думаю, що можу запропонувати інший опис, який явно є більш підходящим.

Отже, якщо в хвостах нормальної квантильно-квантильної ділянки є незначна кривизна та / або нерівність, але наближена прямолінійність на гамма-квантильно-квантильному ділянці, я можу сказати: "Це не добре характеризується як нормальне; це більше схоже на гамму ".

Не випадково це повторює стандартний аргумент в історії та філософії науки, не кажучи вже про загальну наукову практику, про те, що гіпотеза найбільш чітко і ефективно спростовується, коли вам належить викласти її замість неї. (Cue: натяки на Карла Поппера, Томаса С. Куна тощо).

Це правда, що для початківців, і справді для всіх, існує плавна градація між "Це нормально, за винятком незначних нерівностей, яких ми завжди очікуємо" і "Це дуже відрізняється від нормального, за винятком деякої грубої подібності, яку ми часто отримуємо ".

Конверти (-подобні) та кілька модельованих зразків можуть впевнено допомогти, і я використовую і рекомендую обидва, але це може бути корисним. (Між іншим, порівняння з портфелем симуляцій - це неодноразове нещодавнє повторне винахід, але воно приходить щонайменше, що стосується Shewhart в 1931 році.)

Я відлуню мою верхню лінію. Іноді, як видається, жодна дистрибуція фірмових найменувань не підходить, і вам потрібно рухатися вперед якнайкраще.


12

Як сказав @Glen_b, ви можете порівняти свої дані з тими, для яких ви впевнені, що це нормально - з даними, які ви створили самі, а потім покладатись на почуття кишечника :)

Далі наведено приклад із підручника статистики OpenIntro

Давайте розглянемо цей сюжет QQ:

qq1

Це нормально? Порівняємо його з нормально розподіленими даними:

qq2

Це виглядає краще, ніж наші дані, тому наші дані не здаються нормальними. Давайте переконаємось, імітуючи її кілька разів і будуючи набік

qq3

Тож наше відчуття кишки говорить нам про те, що зразок, швидше за все, не поширюється нормально.

Ось R-код для цього

load(url("http://www.openintro.org/stat/data/bdims.RData"))
fdims = subset(bdims, bdims$sex == 0)

qqnorm(fdims$wgt, col=adjustcolor("orange", 0.4), pch=19)
qqline(fdims$wgt)

qqnormsim = function(dat, dim=c(2,2)) {
  par(mfrow=dim)
  qqnorm(dat, col=adjustcolor("orange", 0.4), 
         pch=19, cex=0.7, main="Normal QQ Plot (Data)")
  qqline(dat)
  for (i in 1:(prod(dim) - 1)) {
    simnorm = rnorm(n=length(dat), mean=mean(dat), sd=sd(dat))
    qqnorm(simnorm, col=adjustcolor("orange", 0.4), 
           pch=19, cex=0.7,
           main="Normal QQ Plot (Sim)")
    qqline(simnorm)
  }
  par(mfrow=c(1, 1))
}
qqnormsim(fdims$wgt)

9

Існує багато тестів на нормальність. Зазвичай фокусується на нульовій гіпотезі , а саме: " ". Однак мало уваги приділяється альтернативній гіпотезі : "проти чого"?H0:F=Normal

Як правило, тести, які розглядають будь-яке інше розподіл як альтернативну гіпотезу, мають низьку потужність у порівнянні з тестами з правильною альтернативною гіпотезою (див., Наприклад, 1 і 2 ).

Існує цікавий пакет R з реалізацією декількох непараметричних тестів на нормальність ("nortest", http://cran.r-project.org/web/packages/nortest/index.html). Як було зазначено у вищезазначених статтях, тест на коефіцієнт ймовірності з відповідною альтернативною гіпотезою є більш потужним, ніж ці тести.

Ідея, яку згадує @Glen_b про порівняння вашої вибірки з випадковими зразками з вашої (обладнаної) моделі, згадується у моїй другій довідці. Їх називають "QQ-конверти" або "вентилятори QQ". Це неявно вимагає наявності моделі для генерації даних з, а отже, і альтернативної гіпотези.


4

Під час викладання курсу моїх стратегій регресійного моделювання ця тема завжди непокоїть моїх учнів та мене. Я кажу їм, що наші графічні оцінки завжди суб'єктивні, і я, як правило, хвилююся за графіки більш рано, ніж пізніше, коли я втомився. Додавання формальних статистичних тестів не допомагає достатньо: тести можуть підібрати тривіальну ненормальність для дуже великих розмірів вибірки та пропустити важливу ненормальність для малих . Я вважаю за краще використовувати методи , які не передбачають нормальність , які є ефективними, наприклад, порядкової регресією для безперервного .YnY


1
+1. Якщо у вас є п'ять хвилин @Franck, можете поглянути на цю тему: stats.meta.stackexchange.com/questions/4743 і зважити там? Йдеться про наші теги для порядкового / впорядкованого logit / probit - існує ціла купа чи пов’язані з ними теги, а також є певна невідповідність у використанні тегів [ordinal], тому я пропоную виправити ці теги. Було б чудово знати вашу думку про найкращий спосіб їх організації.
амеба каже, що повернеться Моніка

1
Почну з постом про среднеквадратичном Орме функції з прикладом для безперервного . Неможливо знайти його заразY
Френк Харрелл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.