首页 > 解决方案 > 多项式 Reg 的 Wald 检验。在 R 中

问题描述

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

样本数据:

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

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

标签: rmultinomialhypothesis-test

解决方案


就像在使用nnetpackage with时要注意的那样multinom:您还可以broom通过执行以下操作使用 package 来整理一些东西:

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

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


推荐阅读