n
時系列(n
ベクトル、T
の観測値)の推定手順を実行する必要があります。変数を評価する式がforループを使用していますが、これを(ベクトルの数)n
回繰り返す必要があります。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
だから、このループはシリーズ1の観測値のすべてについてht
を計算しますが、私は私がシリーズのすべてのために、この式を使用することができますループのために別のものを必要とします。
編集:これは、私は以下の回答に基づいて行われてきたものである:
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] =サイズ(残差) –