You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R中含交互项的多分类逻辑回归似然比测试报错解决方法

多分类逻辑回归似然比检验的正确实现方法

问题原因

你遇到的错误是因为lrtest()(通常来自lmtest包)没有针对multinom类模型的适配方法,无法直接调用该函数完成检验。

前置修正(重要)

注意:当前你的无交互项模型未包含trstplt主效应,这不符合嵌套模型的要求——要检验交互项的价值,无交互项模型应包含所有主效应(仅去掉交互项),同时确保两个模型使用同一数据集:

# 修正后的无交互项模型(包含trstplt主效应,统一用ie22数据集)
model_without_interaction <- multinom(prtvtcie ~ freehms + trstplt + agea + gndr_dummy, data = ie22)
# 你的含交互项模型(保持不变)
model_with_interaction <- multinom(prtvtcie ~ freehms + trstplt + freehms*trstplt + agea + gndr_dummy, data = ie22)

两种正确的检验方法

方法1:使用基础R的anova()函数

直接对比两个嵌套模型,指定检验类型为似然比检验(LRT):

anova(model_without_interaction, model_with_interaction, test = "LRT")

输出结果会包含卡方统计量、自由度和p值:若p值<0.05,说明加入交互项后模型拟合度显著提升,交互项具有统计价值。

方法2:手动计算似然比统计量

如果需要更灵活的计算方式,可手动实现:

# 提取两个模型的对数似然值
ll_null <- logLik(model_without_interaction)
ll_alt <- logLik(model_with_interaction)

# 计算似然比统计量和自由度
lr_stat <- 2 * (ll_alt - ll_null)
df <- attr(ll_alt, "df") - attr(ll_null, "df")

# 计算p值
p_value <- pchisq(lr_stat, df, lower.tail = FALSE)

# 输出结果
cat("似然比统计量:", lr_stat, "\n自由度:", df, "\np值:", p_value, "\n")

内容的提问来源于stack exchange,提问作者Jana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 22:45:38