Як я інтерпретую цей пристосований проти залишків сюжет?


17

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

Я не дуже розумію гетеросцедастичність. Мені хотілося б знати, чи підходить моя модель чи ні відповідно до цього сюжету.


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

1
Залишки @IrishState проти спостережуваних покажуть кореляцію. Їх важче інтерпретувати через це. Залишки та пристосовані показують найкраще наближення до того, як помилки відносяться до сукупності, і є дещо корисним для вивчення більш звичного розгляду при регресії того, чи є дисперсія середньою.
Glen_b -Встановити Моніку

Відповіді:


18

Як прокоментував @IrishStat, вам потрібно перевірити свої спостережувані значення на предмет помилок, щоб побачити, чи є проблеми із змінністю. Я повернуся до цього до кінця.

Так ви отримуєте уявлення про те, що ми маємо на увазі під гетерокедастичністю: коли ви підходите до лінійної моделі на змінну ви по суті говорите, що ви робите припущення, що ваш або в умови мирянина, що ваш повинен прирівнювати плюс деякі помилки, які мають відхилення . Це практично ваша лінійна модель , де помилки . Добре, круто поки що подивимось це в коді:ууN(Хβ,σ2)уХβσ2у=Хβ+ϵϵN(0,σ2)

set.seed(1);            #set the seed for reproducability
N = 100;                #Sample size
x = runif(N)            #Independant variable
beta = 4;               #Regression coefficient
epsilon = rnorm(N);     #Error with variance 1 and mean 0
y = x * beta + epsilon  #Your generative model
lin_mod <- lm(y ~x)  #Your linear model

так правильно, як поводиться моя модель:

x11(); par(mfrow=c(1,3));   #Make a new 1-by-3 plot
plot(residuals(lin_mod)); 
title("Simple Residual Plot - OK model")
acf(residuals(lin_mod), main = ""); 
title("Residual Autocorrelation Plot - OK model");
plot(fitted(lin_mod), residuals(lin_mod)); 
title("Residual vs Fit. value - OK model");

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

Гаразд, ви хочете гетерокедастичності. Враховуючи ті самі припущення щодо лінійності та адитивності, давайте визначимо іншу генеративну модель із "очевидними" проблемами гетероскдастичності. А саме після деяких значень наше спостереження стане набагато більш галасливим.

epsilon_HS = epsilon;               
epsilon_HS[ x>.55  ] = epsilon_HS[x>.55 ] * 9       #Heteroskedastic errors

y2 = x * beta + epsilon_HS      #Your generative model
lin_mod2 <- lm(y2 ~x)            #Your unfortunate LM

де прості діагностичні схеми моделі:

 par(mfrow=c(1,3));   #Make a new 1-by-3 plot
 plot(residuals(lin_mod2)); 
 title("Simple Residual Plot - Fishy model")
 acf(residuals(lin_mod2), main = ""); 
 title("Residual Autocorrelation Plot - Fishy model");
 plot(fitted(lin_mod2), residuals(lin_mod2)); 
 title("Residual vs Fit. value - Fishy model");

має дати щось на кшталт: введіть тут опис зображення Тут перший сюжет здається трохи "дивним"; Схоже, у нас є кілька залишків, які скупчуються невеликими розмірами, але це не завжди проблема ... Другий сюжет є нормальним, означає, що ми не маємо кореляції між вашими залишками в різних відставаннях, тому ми можемо на мить дихати. І третій сюжет розсипає боби: зрозуміло, що коли ми дістаємося до більш високих значень, наші залишки вибухають. У нас, безумовно, є гетерокедастичність у залишках цієї моделі, і нам потрібно щось зробити (наприклад, IRLS , регресія Theil – Sen тощо).

Тут проблема була дійсно очевидною, але в інших випадках ми могли б пропустити; щоб зменшити наші шанси пропустити його ще одним проникливим сюжетом був той, про який згадував IrishStat: Залишки проти спостережуваних значень, або для нашої проблеми з іграшками, що знаходиться під рукою:

 par(mfrow=c(1,2))
 plot(y, residuals(lin_mod) ); 
 title( "Residual vs Obs. value - OK model")
 plot(y2, residuals(lin_mod2) ); 
 title( "Residual vs Obs. value - Fishy model")

що має дати щось на зразок:

введіть тут опис зображення тут перший сюжет здається "відносно нормальним" із лише дещо туманною тенденцією до зростання залишків моделі (як згадував Скортчі, тут ми не переживаємо). Другий сюжет, хоча, повністю демонструє цю проблему. Ясно, що у нас є помилки, сильно залежні від значень спостережуваних значень. Це виявляється в питаннях з коефіцієнтом визначення наших підручних моделей; напр. модель «OK» , що має скоригований в в той час як «тьмяний» один з . Таким чином, у нас є підстави вважати, що неправильне визначення моделі може бути проблемою. (Дякую Скортчі, що вказав на оманливу заяву в моїй оригінальній відповіді.)R2R20,59890,03919

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


4
Ви не повинні дивуватися чи хвилюватися, коли бачите зв’язок між залишками та спостережуваними значеннями. Спробуйте обчислити теоретичний результат для правильно заданої моделі.
Scortchi

4
Або дивіться тут .
Scortchi

+1 до обох ваших коментарів. Дякуємо, що вказали на це питання; ваш коментар / був на місці. Я відредагував цей уривок, щоб він читався зараз правильно.
usεr11852 повідомляє Відновити Моніку

1
Ласкаво просимо. Я досі не впевнений, яке значення, на вашу думку, додає графік залишків проти спостережуваних значень відповіді; існування та природа гетероскедастичності менш очевидна, ніж у графіку залишків проти встановлених значень відповіді.
Scortchi

Я (в основному) згоден. Як ви бачили, це був не мій перший діагностичний сюжет. Це було запропоновано IrishStat, але я вважав, що це необхідно для повного відповіді на ОП.
usεr11852 повідомляє Відновити Монік

9

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

Я скребив ваші дані за допомогою цього веб-сайту (ht @Alexis). Зауважте, що дані сортуються у порядку зростання fitted. Виходячи з регресії та верхнього лівого сюжету, він здається достатньо вірним:

mod = lm(residuals~fitted)
summary(mod)
# ...
# Residuals:
#   Min       1Q   Median       3Q      Max 
# -0.78374 -0.13559  0.00928  0.19525  0.48107 
# 
# Coefficients:
#   Estimate Std. Error t value Pr(>|t|)
# (Intercept)  0.06406    0.35123   0.182    0.856
# fitted      -0.01178    0.05675  -0.208    0.836
# 
# Residual standard error: 0.2349 on 53 degrees of freedom
# Multiple R-squared:  0.0008118,  Adjusted R-squared:  -0.01804 
# F-statistic: 0.04306 on 1 and 53 DF,  p-value: 0.8364

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

Я не бачу тут жодних доказів гетероседастичності. Зверху праворуч (qq-графік) не виникає проблем з припущенням про нормальність.

З іншого боку, крива "S" у червоній нижній частині зображення (у верхньому лівому куті), а ділянки acf та pacf (внизу) здаються проблематичними. У крайній лівій частині більшість залишків знаходяться над сірою лінією 0. Коли ви рухаєтеся праворуч, основна частина залишків опускається нижче 0, потім вище, а потім знову нижче. Результат цього полягає в тому, що якби я сказав вам, що я дивлюся на певний залишок і що він має негативне значення (але я не сказав вам, на кого я дивився), ви можете з хорошою точністю здогадатися, що залишки поблизу також були негативно оцінені. Іншими словами, залишки не є незалежними - знаючи щось про одне, дає вам інформацію про інших.

Окрім сюжетів, це можна перевірити. Простий підхід полягає у використанні тесту на виконання :

library(randtests)
runs.test(residuals)
#  Runs Test
# 
# data:  residuals
# statistic = -3.2972, runs = 16, n1 = 27, n2 = 27, n = 54, p-value = 0.0009764
# alternative hypothesis: nonrandomness

Сенс цього полягає в тому, що ваша модель неправильно уточнена. Оскільки у відносині є два "вигину", вам потрібно додати терміни і до вашої моделі, щоб врахувати це. Х2Х3

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

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