在 MATLAB 中创建多元 AR 模型
Create a multivariate AR model in MATLAB
我想在 MATLAB 中创建两个向量时间序列,或者 Python 如下所示。
Variances = 1
和 0.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);
有人可以深入了解如何在 MATLAB and/or Python 中执行 Y(t)
。谢谢!
在 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
编辑:添加命令 simulate
以说明如何在 Y 的模拟中包含 X。
Y = simulate(ymodel,500,'X',X);
我想在 MATLAB 中创建两个向量时间序列,或者 Python 如下所示。
Variances = 1
和 0.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);
有人可以深入了解如何在 MATLAB and/or Python 中执行 Y(t)
。谢谢!
在 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
编辑:添加命令 simulate
以说明如何在 Y 的模拟中包含 X。
Y = simulate(ymodel,500,'X',X);