我正在尝试实施此公式:
其中y(t)是自回归过程AR(2)的输出。 t = 1,2,...,5000个数据样本,间隔相等。 p = 2。代码抛出错误
Error using -
Matrix dimensions must agree.
这是因为我不知道如何用变量L1
中的索引表示法来表示滞后。有人可以通过显示正确的索引方法来帮助减轻此错误吗?这就是我的表现:
var_eps = 1;
epsilon = sqrt(var_eps)*randn(5000,1); % Gaussian signal exciting the AR model
Y(1) = 0.0;
Y(2) = 0.0;
for n= 3:5000
Y(n)= 0.1950*Y(n-1) -0.9500*Y(n-2)+ epsilon(n); %AR(1) model
end
p=2;
t= p+1;
rho0 = randn(); %c
phi1 = 0.1950;
phi2 = -0.9500;
L1 = (Y(t:end) - rho0 - phi1.*Y(2:end) - phi2.*Y(1:end)).^2;
L11 = sum(L1);
答案 0 :(得分:0)
因为Y(t:end)
,Y(2:end)
和Y(1:end)
都有不同的长度,所以您无法添加或减去它们。可能更容易使用for
循环:
L1 = 0;
for t=p+1:5000
L1 = L1 + (Y(t) -rho0 - phi1*Y(t-1) - phi2*Y(t-2))^2;
end