Как выполнить тест отношения правдоподобия в r


Тест отношения правдоподобия сравнивает степень соответствия двух вложенных регрессионных моделей.

Вложенная модель — это просто модель, которая содержит подмножество переменных-предикторов в общей модели регрессии.

Например, предположим, что у нас есть следующая модель регрессии с четырьмя переменными-предикторами:

Y = β 0 + β 1 x 1 + β 2 x 2 + β 3 x 3 + β 4 x 4 + ε

Примером вложенной модели может быть следующая модель только с двумя исходными переменными-предикторами:

Y = β 0 + β 1 x 1 + β 2 x 2 + ε

Чтобы определить, существенно ли отличаются эти две модели, мы можем выполнить тест отношения правдоподобия, который использует следующие нулевые и альтернативные гипотезы:

H 0 : Полная модель и вложенная модель одинаково хорошо соответствуют данным. Итак, вам следует использовать вложенную модель .

H A : Полная модель значительно лучше соответствует данным, чем вложенная модель. Поэтому вам придется использовать полный шаблон .

Если значение p теста ниже определенного уровня значимости (например, 0,05), то мы можем отвергнуть нулевую гипотезу и сделать вывод, что полная модель обеспечивает значительно лучшее соответствие.

В следующем примере показано, как выполнить проверку отношения правдоподобия в R.

Пример: тест отношения правдоподобия в R

Следующий код показывает, как подогнать следующие две модели регрессии в R, используя данные из встроенного набора данных mtcars :

Полная модель: миль на галлон = β 0 + β 1 доступно + β 2 карбюратор + β 3 л.с. + β 4 цил.

Модель: миль на галлон = β 0 + β 1 в наличии + β 2 карбюратор

Мы будем использовать функцию lrtest() пакета lmtest для проверки отношения правдоподобия для этих двух моделей:

 library (lmtest)

#fit full model
model_full <- lm(mpg ~ disp + carb + hp + cyl, data = mtcars)

#fit reduced model
model_reduced <- lm(mpg ~ disp + carb, data = mtcars)

#perform likelihood ratio test for differences in models
lrtest(model_full, model_reduced)

Likelihood ratio test

Model 1: mpg ~ disp + carb + hp + cyl
Model 2: mpg ~ available + carb
  #Df LogLik Df Chisq Pr(>Chisq)
1 6 -77.558                     
2 4 -78.603 -2 2.0902 0.3517

Из результата мы видим, что статистика теста хи-квадрат равна 2,0902 , а соответствующее значение p составляет 0,3517 .

Поскольку это значение p не меньше 0,05, мы не сможем отвергнуть нулевую гипотезу.

Это означает, что полная модель и вложенная модель одинаково хорошо соответствуют данным. Поэтому мы должны использовать вложенную модель, поскольку дополнительные переменные-предикторы в полной модели не обеспечивают значительного улучшения соответствия.

Затем мы могли бы выполнить еще один тест отношения правдоподобия, чтобы определить, значительно ли отличается модель с одной переменной-предиктором от модели с обоими предикторами:

 library (lmtest)

#fit full model
model_full <- lm(mpg ~ disp + carb, data = mtcars)

#fit reduced model
model_reduced <- lm(mpg ~ disp, data = mtcars)

#perform likelihood ratio test for differences in models
lrtest(model_full, model_reduced)

Likelihood ratio test

Model 1: mpg ~ available + carb
Model 2: mpg ~ available
  #Df LogLik Df Chisq Pr(>Chisq)   
1 4 -78.603                        
2 3 -82.105 -1 7.0034 0.008136 **
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Из результата мы видим, что значение p теста отношения правдоподобия составляет 0,008136 . Поскольку это число меньше 0,05, мы бы отвергли нулевую гипотезу.

Таким образом, мы пришли бы к выводу, что модель с двумя предикторами обеспечивает значительное улучшение соответствия по сравнению с моделью с одним предиктором.

Итак, наша окончательная модель будет такой:

миль на галлон = β 0 + β 1 доступные + β 2 углеводы

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

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

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

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