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

如何在R中基于已有预测变量构建通勤成本变量并执行线性回归?

绝对不能这么做,原因和替代方案如下

核心问题:完全共线性导致模型无意义

你手动生成的CommutingCosts是所有自变量的直接线性相加,当你用这个变量作为因变量跑回归时,会出现完全多重共线性的问题:

  • 模型会识别到因变量就是自变量的线性组合,残差会被强制压缩为0,回归系数只是数学上的拟合结果,没有任何实际统计意义(无法反映真实的通勤成本与各变量的关联)。
  • 更严重的是,R可能直接抛出奇异矩阵报错,根本无法完成系数估计。

另外,你的代码里变量名带空格(比如commuting time),实际运行时会报错,需要改成下划线命名(commuting_time)或者用反引号包裹(`commuting time`),但这只是语法问题,核心错误还是逻辑上的共线性。

为什么这种思路不成立?

线性回归的本质是用自变量观测值拟合真实因变量的观测值,从而找到两者的统计关系。你没有真实的通勤成本数据,相当于自己编造了一个和自变量完全绑定的因变量,回归结果只是在验证你“把变量相加”这个操作,完全无法反映现实中通勤成本和这些因素的真实关联。

可行的替代思路

  1. 获取真实的通勤成本数据
    这是最靠谱的方案:通过调研、公开数据集(比如交通部门统计数据、城市出行调查)获取A到B地的通勤成本实际值(比如货币成本、时间成本的货币折算值),再用真实数据跑线性回归。

  2. 构建基于理论的代理变量
    如果实在找不到真实数据,可以结合经济学/社会学理论给各变量赋予合理权重,构建通勤成本的代理变量,而非简单相加:

    • 通勤时间可用当地平均时薪折算成货币成本:commuting_time * hourly_wage
    • 年龄可根据不同年龄段的时间价值差异调整权重(比如年轻人时薪更高,通勤时间的权重更大)
    • 子女数量可对应额外交通支出(比如需要打车而非公交,增加固定成本)
    • 教育程度、性别可参考已发表的通勤成本相关文献设定权重
      这种代理变量基于理论假设,回归前必须明确说明假设前提,结果也只能在该假设框架下解释。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 14:45:41