Как смоделировать данные из модели logit - PullRequest
2 голосов
/ 28 марта 2012

У меня есть логистическая регрессия, и я хотел бы генерировать смоделированные данные из кривой логита.Мой код ниже:

    #Begin Code        
    require(gld)

    runs<-100
    num.trees<-500
    p<-0.5

    trial.1<-rgl(num.trees,1859.75592, 0.02179, -0.09578, 0.24264, param = "fkml", lambda5 =    NULL)
    trial.1 <- floor(trial.1/10)*10+1

    minDecade <- min(trial.1)
    maxDecade <- max(trial.1)
    allDecades <- seq(minDecade-100, 2001, by=10) 

    x<-1:length(allDecades)
    y<-sample(trial.1, p*num.trees)


binTrees <- rep(0,length(allDecades))

for (i in 1:length(allDecades)) {

        binTrees[i] <- length(which(y==allDecades[i]))
    }
        binTrees


    binTrees<-cumsum(binTrees)/sum(binTrees)

    fit<-glm(binTrees~x,family=binomial(link='logit'))

    plot(binTrees)
    lines(fitted.values(fit))

    #End Code

По сути, из этого последнего бита, как можно генерировать моделируемые данные из моей логистической регрессии?Кто-то, с кем я говорил, рекомендовал использовать для этого функцию CDF, но я не знаю, с чего начать.Моя цель состоит в том, чтобы воссоздать полный набор данных на основе моей подгоночной кривой.

Заранее спасибо за любой совет!

1 Ответ

0 голосов
/ 29 марта 2012

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

> set.seed(123)
> df1 <- data.frame(event=rbinom(n=20, size=1, prob=.4) )
> glm(event ~ . , df1, family="binomial")

Call:  glm(formula = event ~ ., family = "binomial", data = df1)

Coefficients:
(Intercept)  
    -0.4055  

Degrees of Freedom: 19 Total (i.e. Null);  19 Residual
Null Deviance:      26.92 
Residual Deviance: 26.92    AIC: 28.92 
> exp(-0.4055)/(1+exp(-0.4055))
[1] 0.3999916
> sum(df1$event)/length(df1$event)
[1] 0.4  # that degree of agreement with the simulated parameter is accidental.

Связь между вашим rgl функциональным результатом (на основе неназванного пакета) и остальной частью кода кажется неясной, поэтому было бы лучше, если бы вы описали на естественном естественном языке то, что вы надеетесь смоделировать.

...