如何解决如何使用 r 中的多项式获得多项 logit 中因子变量 X 的每个级别的平均预测概率?
我正在做一个多项式 logit,其中 Y~X + C1 + C2,其中 Y 是具有 5 个级别的结果变量。 X 是感兴趣的变量,是一个有 8 个水平的因子变量。 C1和C2为对照,分别为5个和7个水平的因子变量。
现在,我可以使用 multinom
包中的 nnet
函数运行多项 logit 模型
model=mulitnom(Y~X+C1+C2,data=dataset,weights=weight,na.rm=T)
但是我很难在持有 C1 和 C2 的同时获得 X 的每个级别的平均预测概率。
我尝试了两种方法:
方法一
#taking probabilities
>prob=predict(model,type=="probs")
#combining the predicted probabilities to the dataset
>new_data=cbind(dataset,prob)
#taking the mean predicted probabilities for each level of X
>mean(new_data$`1`[new_data$X==1],na.rm=T) (`1` is the predicted probability when Y=1)
方法二
#I created a new dataset to get the predicted probabilities of each level of X
df= with(dataset,data.frame(X=factor
("1",levels = c("1","2","3","4","5","6","7","8"
)),C1,C2))
#getting the predicted probability
prob1=predict(model,df,type="probs")
#summarizing it to get the average probability
summary(prob1)
我得到了不同的结果。两种方法的平均预测概率相差1-2个百分点,不知道哪种方法是正确的。如果有人能帮助我,我将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。