我想知道我可以在圖表生成器中保留時間序列預測圖表的情節。因此,我的主管可以在將來仔細閱讀趨勢,然後立即採取計劃。我已經製作的圖已經分組了x,所以它應該在一個單獨的圖中顯示幾條預測線。
下面的腳本是時間序列預測圖:
Time Series(
X( :date ),
Y( :CD ),
ARIMA( 0, 1, 0 ),
SendToReport(
Dispatch(
{"Model: I(1) ", "Forecast"},
"Time Series Predicted Graph",
FrameBox,
{Frame Size( 659, 144 )}
)
)
);
時間序列預測似乎不像其他平台那樣直截了當。 解決這個問題我:
- 從平台保存時間序列腳本,然後將其拆分為單獨的Time Series()和Seasonal Arima()函數。
- 將預測保存到新表中
- 將腳本複制回原始表
- 製作圖表

Names default to here( 1 );
//Open sample data
dt = Open( "$Sample_data/time series/co2.jmp" );
//Add rows to the original table
dt << Add rows( 12 );
//Calculate date for future rows
dt << New Column( "Year&Month Future",
Numeric,
"Continuous",
Formula(
If( Is Missing( :Name( "Year&Month" ) ),
Lag( :Name( "Year&Month Future" ), 1 ) + 1 / 24,
:Name( "Year&Month" )
)
)
);
//Open time series
ts = dt << Time Series( Y( :CO2 ) );
//Add Arima
ar = ts << Seasonal Arima( 1, 1, 0, 0, 1, 1, 12 );
//Make a new table with predications
dtArima = ar << Save Prediction Formula;
//Graph with predictions in a separate data table
dtArima << Graph Builder(
Size( 493, 303 ),
Show Control Panel( 0 ),
Variables(
X( :Row ),
Y( :Actual CO2 ),
Y( :Predicted CO2, Position( 1 ) ) ),
Elements(
Points( X, Y( 1 ),
Legend( 19 ) ),
Line( X, Y( 2 ),
Legend( 20 ) ) )
);
//Or add predictions to original table:
//Copy the prediction formula and replace the column name, then save it to the original
//data table
Eval( Parse(
"dt << " ||
Substitute(
Char((Column(dtArima, "CO2 Prediction Formula" ) << Get Script ) ),
":Actual ",
":"
)
) );
/*
//Close temporary windows
ts << Close Window
dtArima << Close Window;
*/
//Graph with predictions in the original table
dt << Graph Builder(
Size( 493, 303 ),
Show Control Panel( 0 ),
Variables(
X( :Name("Year&Month Future") ),
Y( :CO2 ),
Y( :CO2 Prediction Formula, Position( 1 ) ) ),
Elements(
Points( X, Y( 1 ),
Legend( 19 ) ),
Line( X, Y( 2 ),
Legend( 20 ) ) )
);