【问题标题】:Create a multivariate AR model in MATLAB在 MATLAB 中创建多元 AR 模型
【发布时间】:2015-09-30 01:52:25
【问题描述】:

我想在 MATLAB 或 Python 中创建两个向量时间序列,如下所示。 分别为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);

有人可以提供有关如何在 MATLAB 和/或 Python 中执行 Y(t) 的见解。谢谢!

【问题讨论】:

    标签: python matlab autoregressive-models


    【解决方案1】:

    在 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);
    

    【讨论】:

    • 你知道我会如何为 Python 做这件事吗?
    • Beta 版是否也使 ymodel 依赖于 xmodel?我找不到任何好的 matlab 文档来解释这一点。
    • @ajl123 我对 python 的了解不够,必须自己查看文档。至于您的第二条评论:请查看垫子works documentation about simulate。那里说明了如何添加 X 模型。我会将示例添加到我的答案中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-05
    • 2014-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多