Help me to find a bug:)

조회 수: 1 (최근 30일)
Jacek Freyer
Jacek Freyer 2015년 5월 11일
댓글: Jacek Freyer 2015년 5월 12일
I have e code for Matlab. Could anybody help me to find a bug in it? Code should change reaction for different parameters with variable Alfa and it does not work. The code is below
I = eye(W);
flag = 0;
for i = W+1:(size(data))
%generate X
for window = 1:W
X(i-W,window) = data(i-(W+1-window));
end
%set theta and P or use previous value
if (flag == 0)
theta = t ;
P = alpha*I;
flag = 1;
else
P = P;
end
%calculate prediction
x_tmp = X(i-W,:)';
y_hat = theta' * x_tmp;
%gather the weights and the Y's
weights(i-W,:) = theta;
estimated(i-W,:) = y_hat;
%calc error
e = data(i) - y_hat;
err(i-W,:) = e;
%calc Kalman gain
K = (P*x_tmp)/(2500 + x_tmp'*P*x_tmp);
%update theta and P
theta = theta + K*e;
P = (I - K*x_tmp')*P;
end
end
  댓글 수: 4
Walter Roberson
Walter Roberson 2015년 5월 11일
So there is no error message, it just doesn't output what you think it should, but you are not going to provide us with some sample data or what you think the output should be?
Jacek Freyer
Jacek Freyer 2015년 5월 12일
I am using S&P 500 index time series and using Kalman filter to fit it using the combination of weights * 3 previous index values (y-3, y-2, y-1). I am doing it recursively and updating the estimation of the weights at each step. The weights should converge to a final value, faster or slower depending on the ratio of W and V error signal. When I test different values of V and W it makes no difference to the speed of convergence of the parameters.

댓글을 달려면 로그인하십시오.

답변 (0개)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by