При моделировании непрерывных пропорций (например, пропорционального растительного покрова на съемочных квадратах или доли времени, вовлеченного в деятельность), логистическая регрессия считается неуместной (например, Warton & Hui (2011). Арксинус асинин: анализ пропорций в экологии ). Скорее, регрессия OLS после логит-трансформации пропорций, или, возможно, бета-регрессия, являются более подходящими.
При каких условиях оценки коэффициентов логит-линейной регрессии и логистической регрессии различаются при использовании R lm
и glm
?
Возьмем следующий имитируется набор данных, где мы можем предположить , что p
наши исходные данные (т.е. непрерывные пропорции, а не представляющие ):
set.seed(1)
x <- rnorm(1000)
a <- runif(1)
b <- runif(1)
logit.p <- a + b*x + rnorm(1000, 0, 0.2)
p <- plogis(logit.p)
plot(p ~ x, ylim=c(0, 1))
Подбирая логит-линейную модель, получаем:
summary(lm(logit.p ~ x))
##
## Call:
## lm(formula = logit.p ~ x)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.64702 -0.13747 -0.00345 0.15077 0.73148
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.868148 0.006579 131.9 <2e-16 ***
## x 0.967129 0.006360 152.1 <2e-16 ***
## ---
## Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
##
## Residual standard error: 0.208 on 998 degrees of freedom
## Multiple R-squared: 0.9586, Adjusted R-squared: 0.9586
## F-statistic: 2.312e+04 on 1 and 998 DF, p-value: < 2.2e-16
Логистическая регрессия дает:
summary(glm(p ~ x, family=binomial))
##
## Call:
## glm(formula = p ~ x, family = binomial)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.32099 -0.05475 0.00066 0.05948 0.36307
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.86242 0.07684 11.22 <2e-16 ***
## x 0.96128 0.08395 11.45 <2e-16 ***
## ---
## Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 176.1082 on 999 degrees of freedom
## Residual deviance: 7.9899 on 998 degrees of freedom
## AIC: 701.71
##
## Number of Fisher Scoring iterations: 5
##
## Warning message:
## In eval(expr, envir, enclos) : non-integer #successes in a binomial glm!
Будут ли оценки коэффициентов логистической регрессии всегда объективными по отношению к оценкам логит-линейной модели?
источник
0.1
«было», скажем, 10 независимых испытаний, дающих один успех. Для линейной модели0.1
это просто значение, некоторая произвольная мера.family=binomial
подразумевается, что зависимая переменная представляет двоичные числа, а не пропорции. И какglm
узнать, что0.1
это «один из десяти», а не «десять из ста»? Хотя сама пропорция не отличается, это имеет большое значение для расчета стандартной ошибки.weights
arg (хотя это не то, что я пытался в своем посте, где я намеренно неправильно проанализировал данные).Ответы:
Возможно, на это можно ответить «обратным» образом - т.е. когда они одинаковы?
Теперь алгоритм IRLS, используемый в логистической регрессии, дает некоторое представление здесь. При сходимости вы можете выразить коэффициенты модели как:
lm ()
источник
Пожалуйста, не стесняйтесь указывать на это, если я ошибаюсь.
Во-первых, я, так сказать, во второй посадке вы коллируете
glm
неправильно! Чтобы соответствовать логистической регрессииglm
, ответ должен быть (двоичной) категориальной переменной, но вы используетеp
числовую переменную! Я должен сказатьwarning
, что слишком мягко, чтобы пользователи знали свои ошибки ...И, как и следовало ожидать, вы получаете аналогичные оценки коэффициентов по двум подгонкам просто по совпадению. Если заменить
logit.p <- a + b*x + rnorm(1000, 0, 0.2)
сlogit.p <- a + b*x + rnorm(1000, 0, 0.7)
, то есть, изменение дисперсии остаточного члена от0.2
до0.7
, то результаты двух подборы будут значительно отличаться, хотя второй форме (glm
) не имеет смысла вообще ...Логистическая регрессия используется для (двоичной) классификации, поэтому вы должны иметь категорический ответ, как указано выше. Например, наблюдения ответа должны быть последовательностью «успех» или «неудача», а не серией «вероятность (частота)», как в ваших данных. Для данного категориального набора данных вы можете рассчитать только одну общую частоту для «отклик = успех» или «отклик = сбой», а не для ряда. В генерируемых вами данных вообще нет категориальной переменной, поэтому невозможно применить логистическую регрессию. Теперь вы можете видеть, хотя логит-линейная регрессия (как вы ее называете) похожа, это обычная линейная задача РЕГРЕССИИ (т. Е. Ответ является числовой переменной), использующий преобразованный ответ (как преобразование sqr или sqrt),
Как правило, линейная регрессия проходит через обычные наименьшие квадраты (OLS), что сводит к минимуму квадратные потери для задачи регрессии; логистическая регрессия подбирается с помощью максимального правдоподобия (MLE), что сводит к минимуму потери в журнале для проблемы классификации. Вот ссылка на функции потерь Функция потери, Дева Раманан. В первом примере вы рассматриваете
p
как ответ и подгоняете обычную модель линейной регрессии через OLS; во втором примере вы говорите,R
что подгоняете модель логистической регрессииfamily=binomial
, поэтомуR
подгоняйте модель по MLE. Как вы можете видеть, в первой модели вы получаете t-тест и F-тест, которые являются классическими выходами OLS, пригодными для линейной регрессии. Во второй модели, критерий значимости коэффициента основан наz
вместоt
, который является классическим выходом MLE, пригодным для логистической регрессии.источник
logistic regression is a CLASSIFICATION problem
может быть неверно истолковано в том смысле, что оно стоит только до тех пор, пока оно может хорошо классифицироваться. Что было бы неправильно думать, потому что модель «оптимальна» теоретически и по тому, как она моделирует вероятности, иногда может быть классифицирована хуже, чем не очень хорошая модель.