Взвешенная логистическая регрессия в R - PullRequest
0 голосов
/ 28 апреля 2018

Учитывая данные выборки пропорций успехов плюс размеры выборки и независимую переменную (и), я пытаюсь логистической регрессии в R.

Следующий код делает то, что я хочу, и, кажется, дает ощутимые результаты, но не выглядит как разумный подход; фактически он удваивает размер набора данных

datf <- data.frame(prop  = c(0.125, 0,  0.667, 1,  0.9),
                   cases = c(8,     1,  3,     3,  10),
                   x     = c(11,    12, 15,    16, 18))

datf2         <- rbind(datf,datf)
datf2$success <- rep(c(1, 0), each=nrow(datf))
datf2$cases   <- round(datf2$cases*ifelse(datf2$success,datf2$prop,1-datf2$prop))
fit2          <- glm(success ~ x, weight=cases, data=datf2, family="binomial")

datf$proppredicted    <- 1 / (1 + exp(-predict(fit2, datf)))
plot(datf$x, datf$proppredicted, type="l", col="red", ylim=c(0,1))
points(datf$x, datf$prop, cex=sqrt(datf$cases))

создание диаграммы типа logistic prediction

, который выглядит достаточно разумным.

Но меня не устраивает использование datf2 в качестве способа разделения успехов и неудач путем дублирования данных. Нужно ли что-то подобное?

В качестве небольшого вопроса, существует ли более чистый способ расчета прогнозируемых пропорций?

1 Ответ

0 голосов
/ 28 апреля 2018

Нет необходимости создавать подобные искусственные данные; glm может соответствовать вашей модели из набора данных, как указано.

> glm(prop ~ x, family=binomial, data=datf, weights=cases)

Call:  glm(formula = prop ~ x, family = binomial, data = datf, weights = cases)

Coefficients:
(Intercept)            x  
    -9.3533       0.6714  

Degrees of Freedom: 4 Total (i.e. Null);  3 Residual
Null Deviance:      17.3 
Residual Deviance: 2.043    AIC: 11.43

Вы получите предупреждение о «нецелых #successes», но это потому, что glm глупо. Сравните с моделью на вашем построенном наборе данных:

> fit2

Call:  glm(formula = success ~ x, family = "binomial", data = datf2, 
    weights = cases)

Coefficients:
(Intercept)            x  
    -9.3532       0.6713  

Degrees of Freedom: 7 Total (i.e. Null);  6 Residual
Null Deviance:      33.65 
Residual Deviance: 18.39    AIC: 22.39

Коэффициенты регрессии (и, следовательно, прогнозируемые значения) в основном равны. Однако ваше остаточное отклонение и AIC являются подозрительными, поскольку вы создали искусственные точки данных.

...