このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
ARIMA モデルの推定
この例では、自己回帰和分移動平均 (ARIMA) モデルを推定する方法を示します。
非定常トレンド (季節性) を含む時系列のモデルが必要になることがあります。このようなモデルのカテゴリの 1 つが ARIMA モデルです。これらのモデルはノイズ源に固定の積分器を含みます。したがって、ARMA モデルの支配方程式が "A(q)y(t)=Ce(t)" として表される場合、ARIMA モデルの対応するモデルは次のように表されます。ここで、"A(q)" は自己回帰項、"C(q)" は移動平均項を表します。
ここで、項 は離散時間積分器を表します。同様に、ARI モデルと ARIX モデルの方程式も定式化できます。
時系列モデルの推定コマンド ar
、arx
、および armax
を使用して、ノイズ源 e(t)
に積分器を導入できます。これは、推定コマンドの IntegrateNoise
パラメーターを使用して行います。
推定の手法では、時系列データの定数のオフセットは考慮されません。ノイズの積分器を導入する機能は時系列データだけに限定されません。外乱が季節性の影響を受ける可能性がある入出力モデルに対しても行うことができます。1 つの例として ARIMAX 構造の多項式モデルがあります。
例については、armax
のリファレンス ページを参照してください。
線形トレンドをもつスカラーの時系列の ARI モデルを推定します。
load iddata9 z9 Ts = z9.Ts; y = cumsum(z9.y); model = ar(y,4,'ls','Ts',Ts,'IntegrateNoise', true); % 5 step ahead prediction compare(y,model,5)
2 つの時系列のうちの一方にのみノイズの積分がある多変量時系列モデルを推定します。
load iddata9 z9 Ts = z9.Ts; y = z9.y; y2 = cumsum(y); % artificially construct a bivariate time series data = iddata([y, y2],[],Ts); na = [4 0; 0 4]; nc = [2;1]; model1 = armax(data, [na nc], 'IntegrateNoise',[false; true]); % Forecast the time series 100 steps into future yf = forecast(model1,data(1:100), 100); plot(data(1:100),yf)
出力が結合されていた場合 (na
が対角行列でなかった場合)、状況がより複雑になり、2 番目のノイズ チャネルに単純に積分器を追加しても機能しません。