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

SAS基于ARIMA预测结果绘制与原始数据对比图的实现问询

实现步骤

第一步:还原对数转换的预测值,合并绘图数据集

由于你建模时对Volume做了对数转换,ARIMA输出的forecast数据集里的forecast字段是对数尺度的预测值,需要先做指数还原,同时和原始数据合并便于对比:

* 还原预测值并处理置信区间;
data forecast_reversed;
    set forecast;
    * 指数转换还原真实交易量;
    pred_volume = exp(forecast);
    l95_volume = exp(l95);
    u95_volume = exp(u95);
run;

* 合并原始数据和预测结果,按日期对齐;
data plot_full;
    merge intel_stock(keep=Date Volume) forecast_reversed(keep=Date pred_volume l95_volume u95_volume);
    by Date;
run;

第二步:绘制对比可视化图

直接用proc sgplot把原始值、预测值、置信区间画在同一张图中,直观展示对比效果:

proc sgplot data=plot_full;
    title "交易量原始值与ARIMA 12个月预测值对比";
    * 原始交易量曲线;
    series x=Date y=Volume / lineattrs=(color=navy thickness=2) markers legendlabel="原始交易量";
    * 预测交易量曲线;
    series x=Date y=pred_volume / lineattrs=(color=red thickness=2 pattern=dash) markers legendlabel="预测交易量";
    * 95%置信区间阴影带,不需要可删除本行;
    band x=Date lower=l95_volume upper=u95_volume / fillattrs=(color=lightred transparency=0.7) legendlabel="95%置信区间";
    xaxis label="日期" grid;
    yaxis label="交易量" grid;
    keylegend / position=topleft location=inside;
run;

可选调整项

  • 数据点过多时可删除series语句后的markers参数,去掉散点只显示折线
  • 需要聚焦某段时间的效果时,可在xaxis语句中加values=('01JAN2020'd to '01JAN2025'd by month)这类参数限定展示区间
  • 不需要置信区间时直接删除band对应的语句即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 20:24:02