我需要爲n
時間序列(n
觀測值的T
向量)做一個估計過程。我有公式來評估我的變量(使用for循環),但我需要重複這個次數(向量的數量)。Double for loop MATLAB
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'在哪裏? – Adriaan
n和T是[T,n] =大小(殘差) –