【发布时间】:2017-07-06 10:46:20
【问题描述】:
我需要对n 时间序列(n T 观察向量)进行估计程序。我有计算变量的公式(使用 for 循环),但我需要重复这个 n 次(向量的数量)。
h0 = var(residuals);
ht=zeros(T,n); ht(T,1)=h0;
for i=2:T
ht(i) = theta(1) + theta(2)*residuals(i-1)^2 + theta(3)*ht(i-1);
end
所以这个循环计算ht 用于系列一中的所有观察,但我需要另一个 for 循环来帮助我将这个公式用于所有系列。
编辑:这是我根据以下答案所做的:
function ht = VarEQ(theta,residuals)
[T,n] = size(residuals)
for k=1:n
h0 = var(residuals(:,k));
ht=zeros(T,n); ht(1,k)=h0;
for i=2:T
ht(i,k) = theta(1,k) + theta(2,k)*residuals(i-1,k)^2 + theta(3,k)*ht(i-1,k);
end
end
end
当前问题:
现在ht 是所有零列,并且只是正确值的最后一列。
变量
var 是一个 1xn 行的方差向量。使用k,我只需要每个残差的标量。
theta 是一个 3xn 的参数矩阵。
residuals 是一个 Txn 矩阵。
【问题讨论】:
-
n是从哪里来的? -
n 和 T 是 [T,n]=size(residuals)