[英]Can SAS Score a Data Set to an ARIMA Model?
是否可以使用 SAS 中 PROC ARIMA 創建的模型對數據集進行評分?
這是我的代碼不起作用:
proc arima data=work.data;
identify var=x crosscorr=(y(7) y(30));
estimate outest=work.arima;
run;
proc score data=work.data score=work.arima type=parms predict out=pred;
var x;
run;
當我運行此代碼時,我從 PROC SCORE 部分收到一條錯誤消息,顯示“錯誤:未找到變量 x”。 x 列位於數據集 work.data 中。
proc score
不支持自相關變量。 獲得樣本外分數的最簡單方法是結合proc arima
和data
步驟。 這是使用sashelp.air
的示例。
第 1 步:生成歷史數據
我們省略了 1960 年作為我們的分數數據集。
data have;
set sashelp.air;
where year(date) < 1960;
run;
第 2 步:生成模型和預測
nooutall
選項告訴proc arima
只生成 12 個未來預測。
proc arima data=have;
identify var=air(12);
estimate p=1 q=(2) method=ml;
forecast lead=12 id=date interval=month out=forecast nooutall;
run;
第 3 步:評分
將您的預測和完整的歷史數據集合並在一起,看看模型的表現如何。 我個人喜歡update
語句,因為它不會用缺失值替換任何內容。
data want;
update forecast(in=fcst)
sashelp.air(in=historical);
by Date;
/* Generate fit statistics */
Error = Forecast-Air;
PctError = Error/Air;
AbsPctError = abs(PctError);
/* Helpful for bookkeeping */
if(fcst) then Type = 'Score';
else if(historical) then Type = 'Est';
format PctError AbsPctError percent8.2;
run;
您可以使用此代碼並將其轉換為自己的通用宏。 這樣在未來,如果你想得分,你可以簡單地調用一個宏程序來獲得你需要的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.