Matlab Kalman Filter Source
% Kalman Filter MATLAB Simulation Example.
%
% Estimation of random constant by WonwooPark
% Original Code of Andrew D. Straw
% initial parameters
n_iter = 50;
data_size = n_iter;
x = -0.37727; % truth value
sigma = 0.1; % sigma
z = x+randn(1, data_size)*sigma; % observations (normal about x, sigma=0.1)
Q = 1e-5; % process variance
% allocate space for array
xhat = zeros(1, data_size); % a posteri extimate of x
P = zeros(1, data_size); % a posteri error estimate
xhatminus = zeros(1, data_size); % a priori estimate of x
Pminus = zeros(1, data_size); % a priori error estimate
K = zeros(1, data_size); % gain or blending factor
R = 1; % Estimate of measurement variance. chage to see effect
% initial guess
xhat(1) = 0;
P(1) = 1;
for k=2:n_iter
% time update (prediction)
xhatminus(k) = xhat(k-1); % Project the state ahead
Pminus(k) = P(k-1)+Q; % Project the error covariance ahead
% measurement update
K(k) = Pminus(k)/(Pminus(k)+R); % Kalman gain
xhat(k) = xhatminus(k)+K(k)*(z(k)-xhatminus(k)); % measurement
P(k) = (1-K(k))*Pminus(k); % error covariance
end
close all;
figure(1); subplot(211);
hold on;
x1 = x*ones(1, data_size);
plot(x1, 'b'); plot(z, 'r-+'); plot(xhat, 'g');
legend('truth value', 'noisy measurements', 'a posteri estimate');
hold off;
title(['Simulation with R=' num2str(R)]);
xlabel('iteration'); ylabel('voltage');
subplot(212);
plot(Pminus(2:n_iter));
title('a priori error estimate'); xlabel('iteration'); ylabel('voltage^2');
- 퀀트 파이낸스 쪽에서 제일 폼나는게 바로 이 칼만필터와 몬테카를로 시뮬레이션이더군요. 칼만 필터는 미사일 추적 장치에 쓴다지요 ?!
>> 네 처음에 그 용도 개발 되었죠. 최근엔 센서 보정에도 많이 씁니다.
파이낸스 쪽 GPU예제는 거의 전부가 MC일 정도로 인기가 많구요 !
>> 파이낸셜 예제 몇개 올려줘 보세요~ 저도 궁금하네요.
마침 파이썬과 R 게시판이 따로 있으니 얘네들은 이쪽에 맞는 (financial) signal processing 예제들을 좀 뒤져봐야겠군여.
>> 그러세요. 근데 경제학 쪽 예제는 많이 없을 겁니다. 공학도들은 그쪽 예제는 배우질 않아서 ... ^^
>> 뭐... 수학적 알고리즘은 비스하겠지만 말이죠.. - 길똥고 에... 파이낸스 쪽 예제가 드문게, 제대로 되면 공개를 (당연히) 안합니다. 짐 사이먼스처럼 헷지펀드를 만들어버리지요 ! 그리고 결과는 아마 무덤까지 가져가겠지요. 제대로 안나올 때, 이걸 이렇게 볼 수도 있다, 더 연구해 볼 여지가 있다고 공개가 되지여...
가만히 보니까, 칼만필터/마르코프체인/볼츠만머신이 공통점이 있더군요. 시그널 프로세싱, 언어개념, 열역학 등 전혀 다른 도메인의 문제를 해결하고자 나온 이론들이지만, 이미 아는(旣知) 상태로 부터 아직 모르는(未知) 상태를 추정한다는 동일한 목적을 갖고 있다는 거지요. 그 핵심이 아마 '우연성' 혹은 '무작위성' 이라는 소금과 후추가 반드시 들어가야 한다는 점인거 같구요 !! - 함지 경제학에서 괄목할만한
공학적 성과가 나오면
며느리도 안가르쳐 주는 거로군요. ^^
혹시 그거 유태인들의 전통에서
유래한거 아닌가요?
탈무드에 보면 돈에 관한한 철저한
그런 가르침이
종종 나오거든요.
참고: http://cafe.naver.com/iphonediy/513

댓글
댓글 쓰기