Как извлечь остатки из функции lm() в r


Вы можете использовать следующий синтаксис для извлечения остатков из функции lm() в R:

 fit$residuals

В этом примере предполагается, что мы использовали функцию lm() для подбора модели линейной регрессии и назвали результаты fit .

В следующем примере показано, как использовать этот синтаксис на практике.

Связанный: Как извлечь R-квадрат из функции lm() в R

Пример: как извлечь остатки из lm() в R

Предположим, у нас есть следующий кадр данных в R, который содержит информацию о сыгранных минутах, общем количестве нарушений и общем количестве очков, набранных 10 баскетболистами:

 #create data frame
df <- data. frame (minutes=c(5, 10, 13, 14, 20, 22, 26, 34, 38, 40),
                 fouls=c(5, 5, 3, 4, 2, 1, 3, 2, 1, 1),
                 points=c(6, 8, 8, 7, 14, 10, 22, 24, 28, 30))

#view data frame
df

   minutes fouls points
1 5 5 6
2 10 5 8
3 13 3 8
4 14 4 7
5 20 2 14
6 22 1 10
7 26 3 22
8 34 2 24
9 38 1 28
10 40 1 30

Предположим, мы хотим подогнать следующую модель множественной линейной регрессии:

очки = β 0 + β 1 (минуты) + β 2 (нарушения)

Мы можем использовать функцию lm() , чтобы соответствовать этой модели регрессии:

 #fit multiple linear regression model
fit <- lm(points ~ minutes + fouls, data=df)

Затем мы можем ввести fit$residuals , чтобы извлечь остатки из модели:

 #extract residuals from model
fit$residuals

         1 2 3 4 5 6 7 
 2.0888729 -0.7982137 0.6371041 -3.5240982 1.9789676 -1.7920822 1.9306786 
         8 9 10 
-1.7048752 0.5692404 0.6144057

Поскольку всего в нашей базе данных было 10 наблюдений, то и остатков осталось 10 – по одному на каждое наблюдение.

Например:

  • Первое наблюдение имеет остаток 2089 .
  • Второе наблюдение имеет остаток -0,798 .
  • Третье наблюдение имеет остаток 0,637 .

И так далее.

Затем мы можем создать график остатков в зависимости от подобранных значений, если захотим:

 #store residuals in variable
res <- fit$residuals

#produce residual vs. fitted plot
plot(fitted(fit), res)

#add a horizontal line at 0 
abline(0,0)

По оси X отображаются подобранные значения, а по оси Y — остатки.

В идеале остатки должны быть случайным образом разбросаны вокруг нуля без четкой закономерности, чтобы гарантировать выполнение предположения о гомоскедастичности .

На приведенном выше графике остатков мы видим, что остатки кажутся случайным образом разбросанными вокруг нуля без четкой закономерности, а это означает, что предположение о гомоскедастичности, вероятно, выполняется.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:

Как выполнить простую линейную регрессию в R
Как выполнить множественную линейную регрессию в R
Как создать остаточный график в R

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *