У кого-нибудь есть предложения или пакеты, которые рассчитают коэффициент частичного определения?
Коэффициент частичного определения может быть определен как процент вариации, который не может быть объяснен в сокращенной модели, но может быть объяснен предикторами, указанными в полной (эр) модели. Этот коэффициент используется для того, чтобы понять, могут ли один или несколько дополнительных предикторов быть полезны в более полной модели регрессии.
Расчет для частичного r ^ 2 является относительно простым после оценки ваших двух моделей и генерации таблиц ANOVA для них. Расчет для частичного г ^ 2:
(SSEreduced - SSEfull) / SSEreduced
Я написал эту относительно простую функцию, которая вычислит это для модели множественной линейной регрессии. Я не знаком с другими модельными структурами в R, где эта функция может работать не так хорошо:
partialR2 <- function(model.full, model.reduced){
anova.full <- anova(model.full)
anova.reduced <- anova(model.reduced)
sse.full <- tail(anova.full$"Sum Sq", 1)
sse.reduced <- tail(anova.reduced$"Sum Sq", 1)
pR2 <- (sse.reduced - sse.full) / sse.reduced
return(pR2)
}
Будем весьма благодарны за любые предложения или советы по более надежным функциям для выполнения этой задачи и / или более эффективным реализациям приведенного выше кода.
источник
Ответы:
Что ж, r ^ 2 - это на самом деле просто ковариация в квадрате над произведением дисперсий, так что вы, вероятно, могли бы сделать что-то вроде cov (Yfull, Ytrue) / var (Ytrue) var (Yfull) - cov (YReduced, Ytrue) / var (Ytrue) ) var (YRed) независимо от типа модели; проверьте, чтобы убедиться, что дает тот же ответ в случае lm, хотя.
http://www.stator-afm.com/image-files/r-squared.gif
источник