我有兴趣使用混合logit模型进行预测。 R中有功能/包可以帮我吗?如果没有,它是如何以数学方式接近的。我知道系数是随机的,因此,一种非常天真的方法是从beta的分布中得出并从样本X中取出均值。
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以直接使用predict
功能
library("mlogit")
data("Mode", package="mlogit")
Mo <- mlogit.data(Mode, choice = 'choice', shape = 'wide',
varying = c(2:9))
# starting values of the beta coefficients
strt <- c(1.83086600, -1.28168186, 0.30935104, -0.41344010, -0.04665517,
1,0.25997237,0.73648694, 1.30789474, -0.79818416, 0.43013035)
p1 <- mlogit(choice ~ cost + time, Mo, seed = 20,
R = 100, probit = TRUE, start = strt)
Mo2 <- Mo
Mo2[Mo2$alt == 'car', 'cost'] <- Mo2[Mo2$alt == 'car', 'cost'] * 2
newShares <- apply(predict(p1, newdata = Mo2), 2, mean)
希望这能回答您的问题