R 如何从logit模型模拟数据

R 如何从logit模型模拟数据,r,regression,simulate,ecdf,R,Regression,Simulate,Ecdf,我有一个logistic回归,我想从logit曲线生成模拟数据。我的代码如下: #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

我有一个logistic回归,我想从logit曲线生成模拟数据。我的代码如下:

    #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函数来实现这一点,但我不知道从哪里开始。我的目标是根据拟合曲线重新创建完整的数据集


提前感谢您的建议

如果您使用逻辑回归进行模拟实验,您通常会从二项分布中提取:

> 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函数结果与代码其余部分之间的联系似乎不明确,因此,如果你用自然语言描述你希望模拟的东西会更好。

如果你使用逻辑回归进行模拟实验,你通常会从二项分布中得出:

> 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函数结果与代码其余部分之间的联系似乎不明确,因此,如果您用自然语言描述希望模拟的内容,效果会更好。

从这个问题上看,您可能会从咨询统计学家中获得最大好处。在我看来,替代这一点的一个很好的起点是arm软件包和其中的参考资料。从这个问题上看,你可能会从咨询统计学家中受益匪浅。在我看来,替代这一点的一个好地方是arm软件包和其中的参考资料。谢谢。我试图将逻辑曲线拟合到一组二次抽样的数据中。然后,基于这条曲线,我想重新创建一个数据集,该数据集的大小与原始数据(二次采样的数据)的大小相同。我希望看到不同级别的采样对参数估计的影响。此外,rgl函数和gld包仅用于创建日期分布,然后将这些数据合并为十年。。。这和我的主要目标没有多大关系。我使用它们创建一个数据集,从中进行子采样。@jtgarcia,这听起来有点像自举,而不是根据拟合模型模拟分布。引导能完成你想要完成的吗?谢谢。我试图将逻辑曲线拟合到一组二次抽样的数据中。然后,基于这条曲线,我想重新创建一个数据集,该数据集的大小与原始数据(二次采样的数据)的大小相同。我希望看到不同级别的采样对参数估计的影响。此外,rgl函数和gld包仅用于创建日期分布,然后将这些数据合并为十年。。。这和我的主要目标没有多大关系。我使用它们创建一个数据集,从中进行子采样。@jtgarcia,这听起来有点像自举,而不是根据拟合模型模拟分布。引导会实现您想要实现的目标吗?