Как выполнить тест отношения правдоподобия в 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