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

如何在Julia中实现线性回归并获取标准差与决定系数R²?

解决方案

1. 基于GLM.jl实现所需指标

GLM.jl虽然官方示例没直接展示所有指标,但通过内置函数或简单推导就能获取你需要的全部内容:

  • 斜率(角系数)/线性系数:用coef()函数直接提取回归模型的系数,返回数组的第一个值是截距,后续值对应各自变量的斜率。
    using GLM, DataFrames
    df = DataFrame(X = 1:10, Y = 2 .* (1:10) .+ randn(10))
    model = lm(@formula(Y ~ X), df)
    coefs = coef(model)  # 索引1是截距,索引2是X的斜率
    
  • 决定系数R²:GLM.jl v1.8及以上版本支持直接调用r2()函数;也可以手动计算:1 - deviance(model)/nulldeviance(model)
    # 直接调用内置函数
    r² = r2(model)
    # 手动计算方式
    r²_manual = 1 - deviance(model)/nulldeviance(model)
    
  • 标准差:
    • 残差的标准差:用sqrt(deviance(model)/dof_residual(model))计算
    • 回归系数的标准误:用stderror(model)直接获取
    # 残差标准差
    residual_std = sqrt(deviance(model)/dof_residual(model))
    # 系数标准误
    coef_stderr = stderror(model)
    

2. 更便捷的工具包选项

如果想要更直观的指标输出,可以搭配专门的工具包:

  • RegressionTables.jl:能直接生成包含系数、R²、残差标准差、样本量等的标准化回归表格,无需手动拼接结果
    using RegressionTables
    regtable(model; stats = [:r2, :nobs, :residual_std])
    

结论

完全不需要自行编写全部函数,GLM.jl本身就可以覆盖所有需求;如果追求更便捷的输出格式,搭配RegressionTables.jl这类工具包即可。

内容的提问来源于stack exchange,提问作者João Vitor Vieira Flauzino

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 11:03:20