0

为了生成自回归模型,我们有 aryule() 命令,我们还可以使用过滤器估计 AR 模型。但是如何生成 MA 模型?例如,有人可以展示如何生成 MA(20) 模型吗?我找不到任何合适的技术来做到这一点。噪声是从非线性映射生成的

epsilon(1) = 0.01;

for i =1 : N 
        epsilon(i+1) = 4*epsilon(i)*(1-epsilon(i));
    end

因此,MA 模型将在epsilon期限内回归。

Q1:如果 MA 模型的代码和函数形式最好使用上述噪声模型显示为 MA(20),那将​​非常有帮助。

Q2:这就是我使用随机噪声生成 AR(20) 的方式,但不知道如何使用上述等式作为噪声,而不是对 MA 和 AR 使用 rand

 %Generate sine wave = A*sin(2*pi*f*t + phi)
t = linspace(0,1,1000);
A = 5;
f = 2;
phi = pi/8;
sinewave = A*sin(2*pi*f*t + phi);
noisy_sine=sinewave+0.5*randn(size(t));
subplot(1,2,1);
plot(t, sinewave)
hold on;
subplot(1,2,2);
plot(t,noisy_sine);

%Generate AR model(20)
order =20;
ARCoeff = aryule(noisy_sine,order);
4

2 回答 2

1

您可以使用一行代码来做到这一点filter

让我们谈谈拉普拉斯域中的 AR 和 MA。假设您有一个传递函数 H = B/A,其中 B 和 A 是多项式。B 有你的 MA 的系数,A 有你的 AR 系数。在方程式中:

在此处输入图像描述

因此,给定您的输入信号x,您可以使用 Matlaby=filter(B,A,x)生成您的 AR、MA 和 ARMA 进程。关于的文档filterhere。对于纯 MA 模型的特定情况,只需将 B=1 和 A 作为具有 20 个元素的向量。

您可能已经知道这一点,但为了以防万一并帮助未来的读者,这里有一个链接,其中包含有关如何将差分方程转换为拉普拉斯域的评论。TL;博士:在此处输入图像描述

于 2014-08-15T19:55:09.817 回答
1

我有同样的问题。以下链接可以提供帮助:

https://www.mathworks.com/examples/econometrics/mw/econ-ex18477389-simulate-an-ma-process


模拟 MA 过程

此示例说明如何在不指定预采样观测值的情况下模拟来自固定 MA(12) 过程的样本路径。

内容

  1. 指定模型。
  2. 生成示例路径。
  3. 绘制模拟方差。

步骤 1. 指定模型。

指定 MA(12) 模型

{y_t} = 0.5 + {\varepsilon _t} + 0.8{\varepsilon _{t - 1}} + 0.2{\varepsilon _{t - 12}}

其中创新分布是高斯分布,方差为 0.2。

model = arima('Constant',0.5,'MA',{0.8,0.2},...
              'MALags',[1,12],'Variance',0.2);

步骤 2. 生成示例路径。 生成 200 个样本路径,每个路径有 60 个观测值。

rng('default')
Y = simulate(model,60,'NumPaths',200);

步骤 3. 绘制模拟方差。

figure
plot(Y,'Color',[.85,.85,.85])
hold on
h = plot(mean(Y,2),'k','LineWidth',2)
legend(h,'Simulation Mean','Location','NorthWest')
title('MA(12) Process')
hold off
于 2017-06-13T13:45:34.363 回答