R 包含随机项的面板数据的多项式Logit模型

R 包含随机项的面板数据的多项式Logit模型,r,panel-data,multinomial,R,Panel Data,Multinomial,我有一个面板数据集,可以通过以下方式进行模拟: set.seed(123) N = 1000 X2 = runif(N, 0, 1) X1 = sample(0:6, N, replace=TRUE) eps = rnorm(N, 0, 6) length = sample(1:4,N,replace=TRUE) Ycont = 0.5*X2 - 0.3*X1 +0.2*length + 10 + eps Y = ntile(Ycont, 3) Y =Y - 1 df_org = data.f

我有一个面板数据集,可以通过以下方式进行模拟:

set.seed(123)
N = 1000
X2 = runif(N, 0, 1)
X1 = sample(0:6, N, replace=TRUE)
eps = rnorm(N, 0, 6)
length = sample(1:4,N,replace=TRUE)
Ycont = 0.5*X2 - 0.3*X1 +0.2*length + 10 + eps
Y = ntile(Ycont, 3)
Y =Y - 1
df_org  = data.frame(id=as.character(1:N), length, Y, X1, X2)
df_org[df_org$length==2 & df_org$Y==1,]$Y=0 # keine Ausfälle in t2
df = df_org
# Data-Manipulation
df_long = setDT(df_org)[,.SD[rep(1L,(length))], by = id]
# add length-variable:
df_long = df_long[ , time := 1:.N, by=id]
# correct dependent variable
df_long$Y_new = df_long$Y
df_long[df_long$time < df_long$length,]$Y_new = 0
df_long$int_time = as.factor(df_long$time)

我读到我需要估计质点混合多项式logit模型。但是如何在R中实现这一点呢?

我不太确定质量点部分,但您可以通过将单个ID作为因子包含在模型中,在R中添加随机效果。 这将有效地向模型中添加个人级别的虚拟对象(这是每个人的虚拟变量),并“允许”您的截距在个人级别上发生变化,测量给定个人与平均“分数”之间的差异

进一步阅读:

reg_surv=multinom(Y_new~-1+int_time+X1+X2,data=df_long,maxit=500,MaxNWts =2000)