【问题标题】:Strange big number of variables in multinom() function in RR中multinom()函数中奇怪的大量变量
【发布时间】:2014-03-13 21:49:03
【问题描述】:

当我在 R 中运行 multinom() 函数时,结果中的变量数量非常多,而公式中只有几个预测变量。谁能向我解释为什么会这样,我该如何解决? (mv_daily 只取 0 和 1,icu_loc 在数据中取 0,1,2。)

我尝试了 3 个预测变量,结果中的变量数量增加到 1230 个!该程序将预测变量的每个不同值作为结果中的不同变量,并赋予它不同的系数。

newdata2 <- read.csv("~/Desktop/input_multinom_reg_March9_csv.csv")
library(nnet)
test <- multinom(state_tomorrow ~ mv_daily + icu_loc, newdata2,maxit=400,MaxNWts=2000)

结果:

 Call:
 multinom(formula = state_tomorrow ~ mv_day2 + icu_loc, data = newdata2, 
 maxit = 400, MaxNWts = 2000)

Coefficients:
(Intercept)    mv_daily    icu_loc
F     3.6303751 -1.1223394 -0.3681095
H     1.2178084 -1.3153864  0.3721295
IND   0.4628305 -2.1366738 -1.2530020
PR    2.2952981 -1.3085620 -0.4032178
RRT   0.1000952 -0.6432881  0.7659957

# weights:  24 (15 variable)
initial  value 18682.675986 
iter  10 value 12929.391832
iter  20 value 12341.441938
final  value 12284.346914

数据如下所示:

id  state_tomorrow  day  mv_daily  icu_loc
1     F              1      0         1
1     RRT            2      1         1
2     PR             4      1         0
2     PR             5      1         2

【问题讨论】:

    标签: r statistics logistic-regression


    【解决方案1】:

    在估计多项模型时,应该期望每个因子水平都有一个单独的参数估计值。

    【讨论】:

    • 嗨@IShouldBuyABoat。是的,我知道我们应该期望每个因子水平都有一个单独的参数估计。问题是当我使用 nlevels(icu_loc) 和 nlevels(mv_daily) 时,它们都有 3 个或更少的级别,我不知道回归中的 15 个级别来自哪里。
    • 我只看到有 5 个系数的报告。您在哪里看到“15 个级别”?
    • 现在我明白了,谢谢!还有没有分解的变量怎么样。我不想为这些参数的每个不同值设置单独的参数。我该怎么办?
    • 我认为multinom 不会成功,因为假设所有变量都是因素,我认为您需要使用对数线性建模框架,也许是glm( formula, data, "poisson")
    猜你喜欢
    • 1970-01-01
    • 2015-11-05
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    • 2012-12-15
    • 1970-01-01
    • 1970-01-01
    • 2015-06-26
    相关资源
    最近更新 更多