【发布时间】:2012-02-05 12:58:42
【问题描述】:
我正在使用 R 中的 mlogit 包来估计具有对数正态参数的混合 logit 模型。该包运行良好,但有没有办法提取随机系数,特别是对于非正态分布的参数?
使用“Kenneth Train 使用 R 的 mlogit 包进行的练习”中的示例,第 22 页,
library(mlogit)
data("Electricity", package = "mlogit")
Electr <- mlogit.data(Electricity, id = "id", choice = "choice",
varying = 3:26, shape = "wide", sep = "")
Electr$rev.tod <- -1*Electr$tod # Reverse sign on tod parameter
Elec.mxl <- mlogit(choice ~ pf + cl + loc + wk + rev.tod + seas | 0, data=Electr,
rpar = c(cl = "n", loc = "n", wk = "u", rev.tod = "ln", seas = "n"),
R = 100, halton = NA, print.level = 0, panel = TRUE)
summary(Elec.mxl)
生成这个(截断的)输出:
Coefficients :
Estimate Std. Error t-value Pr(>|t|)
pf -0.866325 0.032452 -26.696 < 2.2e-16 ***
cl -0.203770 0.013411 -15.194 < 2.2e-16 ***
loc 2.038715 0.079918 25.510 < 2.2e-16 ***
wk 1.481339 0.065181 22.727 < 2.2e-16 ***
rev.tod 2.105324 0.033971 61.973 < 2.2e-16 ***
seas -8.490331 0.279262 -30.403 < 2.2e-16 ***
sd.cl 0.360140 0.017474 20.610 < 2.2e-16 ***
sd.loc 1.575765 0.089507 17.605 < 2.2e-16 ***
sd.wk 1.600303 0.122982 13.012 < 2.2e-16 ***
sd.rev.tod 0.390088 0.021940 17.780 < 2.2e-16 ***
sd.seas 1.997713 0.106031 18.841 < 2.2e-16 ***
random coefficients
Min. 1st Qu. Median Mean 3rd Qu. Max.
cl -Inf -0.4466810 -0.2037701 -0.2037701 0.03914082 Inf
loc -Inf 0.9758776 2.0387151 2.0387151 3.10155255 Inf
wk -0.1189636 0.6811879 1.4813394 1.4813394 2.28149087 3.081642
rev.tod 0.0000000 6.3104924 8.2097637 8.8587752 10.68065958 Inf
seas -Inf -9.8377681 -8.4903311 -8.4903311 -7.14289412 Inf
有没有办法提取这些随机系数的平均值?这主要是非正态分布参数的问题。正如 Train & Croissant 所指出的,您可以使用以下代码来计算对数正态分布参数的平均系数,但我想知道是否有更直接(更简单!)的方法。
-exp(coef(Elec.mxl)["rev.tod"]+(0.5*(coef(Elec.mxl)["sd.rev.tod"])**2))
【问题讨论】:
-
由于这个问题更多的是关于统计而不是编程,您可能想在 stats.stackexchange.com 上尝试一下
标签: r statistics