如何使用package in的multinom函数获取 p 值?nnetR
我有一个数据集,其中包含“病理评分”(缺席、轻度、重度)作为结果变量,以及两个主要影响:年龄(两个因素:二十 / 三十天)和治疗组(四个因素:没有 ATB 感染;感染 + ATB1;感染 + ATB2;感染 + ATB3)。
首先,我尝试拟合一个序数回归模型,考虑到我的因变量(序数)的特征,这似乎更合适。然而,赔率比例的假设被严重违反(图形上),这促使我改用多项模型,使用nnet包。  
首先,我选择了需要用作基线类别的结果级别:
Data$Path <- relevel(Data$Path, ref = "Absent")
然后,我需要为自变量设置基线类别:
Data$Age <- relevel(Data$Age, ref = "Twenty")
Data$Treat <- relevel(Data$Treat, ref="infected without ATB") 
该模型:
test <- multinom(Path ~ Treat + Age, data = Data) 
# weights:  18 (10 variable) 
initial value 128.537638 
iter 10 value 80.623608 
final  value 80.619911 
converged
输出:
Coefficients:
         (Intercept)   infected+ATB1   infected+ATB2   infected+ATB3    AgeThirty
Moderate   -2.238106   -1.1738540      -1.709608       -1.599301        2.684677
Severe     -1.544361   -0.8696531      -2.991307       -1.506709        1.810771
Std. Errors:
         (Intercept)    infected+ATB1   infected+ATB2   infected+ATB3    AgeThirty
Moderate   0.7880046    0.8430368       0.7731359       0.7718480        0.8150993
Severe     0.6110903    0.7574311       1.1486203       0.7504781        0.6607360
Residual Deviance: 161.2398
AIC: 181.2398
有一段时间,我找不到一种方法来获取模型的值和使用. 昨天我遇到了一篇文章,其中作者提出了一个关于估计系数值的类似问题(如何在 R 中建立和估计多项式 logit 模型?)。在那里,一位博主建议从结果中值非常容易,首先获取值如下:nnet:multinomsummarymultinom
pt(abs(summary1$coefficients / summary1$standard.errors), df=nrow(Data)-10, lower=FALSE) 
         (Intercept)   infected+ATB1   infected+ATB2   infected+ATB3    AgeThirty
Moderate 0.002670340   0.08325396      0.014506395     0.02025858       0.0006587898
Severe   0.006433581   0.12665278      0.005216581     0.02352202       0.0035612114
值,至少有 2 个因子缺失分布用于真正的统计量通常是错误的;对于聚合数据,它可能是一个非常严重的错误。” 根据 Brian Ripley 的说法,“使用 Wald 检验进行拟合也是一个错误,因为它们与二项式拟合存在相同(可能很严重)的问题。使用轮廓似然置信区间(软件包确实为此提供了软件),或者如果你必须测试,似然比测试(同上)。”multinom
我只需要能够得出可靠的值。