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

使用Statsmodels的predict()方法为何得到错误预测值?

问题原因分析

你的问题出在手动计算时使用了四舍五入后的近似参数,而Statsmodels的predict()方法用的是模型拟合得到的更精确原始参数。

具体验证

  1. 从代码输出可见,模型实际拟合的精确参数为:
    • Intercept: 0.275040
    • SAT系数: 实际约为0.001655688(打印时显示为0.001656是四舍五入后的结果)
  2. 用精确参数计算结果和predict()输出完全匹配:
    • SAT=1700:0.275040 + 0.001655688 * 1700 = 3.0897096,对应预测值3.089710
    • SAT=1670:0.275040 + 0.001655688 * 1670 = 3.04004096,对应预测值3.040039(仅浮点精度差异)

额外优化提示

构建预测用的new_data时无需手动添加Intercept列,Statsmodels会自动为公式形式的模型补充截距项,简化后的代码如下:

new_data = pd.DataFrame({'SAT': [1700, 1670]})
predictions = ols_model_results.predict(new_data)

执行后会得到和原代码完全一致的预测结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 18:57:16