【问题标题】:Wald Test for Multinomial Reg. in R多项式 Reg 的 Wald 检验。在 R 中
【发布时间】:2020-06-06 09:26:52
【问题描述】:

我之前问过这个问题,但从未得到答案,所以我再次尝试并提供了一个示例数据集,以便有人可以告诉我为什么我在尝试从 aod 实施 Wald 测试时遇到错误和 lmtest 包。

样本数据:

marital <- sample(1:5, 64614, replace = T)
race <- sample(1:3, 64614, replace = T)
educ <- sample(1:20, 64614, replace = T)
test <- data.frame(educ, marital, race)

test$marital <- as.factor(test$marital)
test$race <- as.factor(test$race)

test$marital <- relevel(test$marital, ref = "3")

require(nnet)
require(aod)
require(lmtest)

testmod <- multinom(marital ~ race*educ, data = test)
testnull <- multinom(marital ~ 1, data = test) #null model for the global test

waldtest(testnull, testmod)
wald.test(b = coef(testmod), Sigma = vcov(testmod), Terms = 1:24) #testing all terms for the global test

如您所见,当我使用 lmtest 包中的 waldtest 函数时,出现以下错误:

Error in solve.default(vc[ovar, ovar]) : 'a' is 0-diml

当我使用 aod 的 wald.test 函数时,我收到以下错误:

Error in L %*% b : non-conformable arguments

我认为这些是相关的错误,因为它们似乎都与方差矩阵有关。我不确定为什么会出现这些错误,因为数据集没有缺失值。

【问题讨论】:

  • 那些函数(来自 lmtest 的waldtest 和来自 aod 的wald.test)似乎只接受线性或一般线性模型。 nnet 包中的multinom 函数通过神经网络执行多项回归模型。您可能必须手动执行 wald 测试。
  • 哦...这更有意义。谢谢。
  • 这应该会为您提供 Wald 检验中每个术语的 p 值:z &lt;- summary(testmod)$coefficients/summary(testmod)$standard.errors; (1 - pnorm(abs(z), 0, 1)) * 2

标签: r multinomial hypothesis-test


【解决方案1】:

就像使用 nnet 包和 multinom 时的提醒一样:​​您也可以使用包 broom 来整理一下:

tidy(multinom_model, conf.int= True, conf.level = 0.95, exponentiate = T)

这将返回一个带有指数化系数、置信区间(类似于 lm 中使用的 confint)以及 Wald Z 检验的 Z 分数、标准误差和相应 p 值的小标题(基本上是在做z = summary(multinom_model)$coefficients/summary(multinom_model)$standard.errorsround((1 - pnorm(abs(z), 0, 1)) * 2,digits=5) 已经

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-09
    • 1970-01-01
    • 2015-09-17
    相关资源
    最近更新 更多