簡體   English   中英

SAS 能否對 ARIMA 模型的數據集進行評分?

[英]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 arimadata步驟。 這是使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM