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

使用mlogit构建多项选择模型时solve.default报错求助

解决mlogit建模中的奇异矩阵错误

错误原因分析

你遇到的Lapack routine dgesv: system is exactly singular错误,本质是自变量存在完全多重共线性,或部分变量无任何变异,导致模型信息矩阵不可逆,无法估计系数。从你的数据可明确看到:

  • 变量L、S、I所有观测值均为0,无任何变异,无法估计其对选择行为的影响
  • 变量AZ和P的取值完全一致(均为[1,0,0,0,1,0]),属于完全共线性变量,同时纳入模型会导致矩阵奇异

解决步骤

  1. 移除无变异变量:删除L、S、I三个无变化的变量
  2. 移除完全共线性变量:删除AZ或P中的一个(二者信息完全重复)
  3. 重新拟合模型

修改后的代码

# 移除问题变量后重新建模
Permitmodel <- mlogit(Choice ~ ML+M+MM+AZ+NCR+NR+NNZ+LC+D+DC+NC | 0, Permitdata)

额外检查建议

  • 用apply(Permitdata[, c("ML","L","S",...)], 2, var)检查每个自变量的方差,方差为0的变量必须移除
  • 用cor(Permitdata[, your_variable_list])查看变量间相关系数,绝对值为1的变量对需保留其一

内容的提问来源于stack exchange,提问作者Aidan du Preez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 07:06:22