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

Julia GLM中使用矩阵输入为线性回归添加截距的方法

Julia GLM矩阵输入添加截距的方法

当你直接用矩阵x调用lm(x, y)时,GLM会将x视为完整的设计矩阵,默认不会自动添加截距项,这也是你得到无截距模型的原因。无需修改原x矩阵的情况下,有两种可行方法添加截距:

方法1:使用公式接口(推荐)

通过公式明确指定截距项,同时用命名元组传递原始的x和y,原矩阵x不会被修改:

using GLM
# 用命名元组封装数据,公式中1代表截距项
lr = lm(@formula(y ~ 1 + x), (y=y, x=x))

拟合后你会得到包含截距的结果,原x矩阵保持不变。

方法2:生成带截距的临时设计矩阵

使用GLM.add_intercept()函数生成包含截距列的新矩阵,但不会修改原x:

lr = lm(add_intercept(x), y)

这个函数会返回一个在原矩阵前添加全1列的新矩阵,原x依然是初始状态。

注意事项

你的输入矩阵x两列完全共线(x1和x2数值完全相同),无论是否添加截距,都会导致模型存在多重共线性问题,表现为系数的标准误差极大、显著性极低。如果是实际数据分析,需要先处理共线性问题(比如删除其中一列)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 06:20:27