Один із способів підійти до цього питання - це поглянути на зворотне: як ми могли почати з нормально розподілених залишків і організувати їх як гетеросептичні? З цієї точки зору відповідь стає очевидною: асоціюйте менші залишки з меншими прогнозованими значеннями.
Для ілюстрації, тут явна конструкція.
Дані ліворуч явно гетероскедастичні щодо лінійного прилягання (показані червоним кольором). Це спрямовано додому залишками та передбачуваним сюжетом праворуч. Але - за конструкцією - не упорядкований набір залишків близький до нормально розподілених, як показує їх гістограма посередині. (Значення р у тесті Шапіро-Вілка на нормальність дорівнює 0,60, отримане за допомогою R
команди, shapiro.test(residuals(fit))
виданої після запуску коду нижче.)
Реальні дані також можуть виглядати так. Мораль полягає в тому, що гетероскедастичність характеризує залежність між залишковими розмірами і прогнозами, тоді як нормальність нічого не говорить про те, як залишки відносяться до чогось іншого.
Ось R
код цієї конструкції.
set.seed(17)
n <- 256
x <- (1:n)/n # The set of x values
e <- rnorm(n, sd=1) # A set of *normally distributed* values
i <- order(runif(n, max=dnorm(e))) # Put the larger ones towards the end on average
y <- 1 + 5 * x + e[rev(i)] # Generate some y values plus "error" `e`.
fit <- lm(y ~ x) # Regress `y` against `x`.
par(mfrow=c(1,3)) # Set up the plots ...
plot(x,y, main="Data", cex=0.8)
abline(coef(fit), col="Red")
hist(residuals(fit), main="Residuals")
plot(predict(fit), residuals(fit), cex=0.8, main="Residuals vs. Predicted")
ncvTest
функцією автомобільного пакета дляR
проведення офіційного тесту на гетероседастичність. У прикладі Уубера командаncvTest(fit)
дає значення, що майже дорівнює нулю, і надає вагомі докази проти постійної дисперсії помилок (що, звичайно, очікувалося).