1

以下のように、MATLAB や Python で 2 つのベクトル時系列を作成したいと考えています。 Variances = 10.7、それぞれ。

X(t) = 0.9X(t − 1) − 0.5X(t − 2) + ε(t)
Y(t) = 0.8Y (t − 1) − 0.5Y (t − 2) + 0.16X(t − 1) − 0.2X(t − 2) + η(t)

これを行うにはどうすればよいでしょうか... X(t) については、MATLAB で次のようにコーディングできます。

xmodel = arima('Constant', 0, 'AR', {0.9, -0.5}, 'Variance', 0.1);
X = simulate(xmodel, 500);

Y(t)誰かがMATLAB および/または Python の両方で行う方法についての洞察を提供できますか? ありがとうございました!

4

1 に答える 1

0

Matlab では、arima Beta プロパティを使用して、追加の回帰係数を考慮することができます。

ymodel = arima('Constant',0,'AR',{0.8,-0.5},'Beta',[0.16,-0.2],'Variance',0.7)

ymodel = 

    ARIMAX(2,0,0) Model:
    ---------------------
    Distribution: Name = 'Gaussian'
               P: 2
               D: 0
               Q: 0
        Constant: 0
              AR: {0.8 -0.5} at Lags [1 2]
             SAR: {}
              MA: {}
             SMA: {}
            Beta: [0.16 -0.2]
        Variance: 0.7

編集: simulateY のシミュレーションに X を含める方法を説明するコマンドを追加しました。

Y = simulate(ymodel,500,'X',X);
于 2015-09-30T08:17:58.220 に答える