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

Stephen23
Stephen23 2015년 5월 11일
Sure the code is there, but sorry we can't just imagine where the error occurs. Please help us by giving the complete error message, which includes useful information such as the line of code where the error happens.
Jacek Freyer
Jacek Freyer 2015년 5월 11일
I'm trying to implement this paper: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=5306195 Kalman filter part and it gives a good approximation but when I adjust the coefficients V and W there is no effect on the approximation
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개)

카테고리

질문:

2015년 5월 11일

댓글:

2015년 5월 12일

Community Treasure Hunt

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

Start Hunting!

Translated by