learn_AR.m
上传用户:mozhenmi
上传日期:2008-02-18
资源大小:13k
文件大小:1k
源码类别:

其他小程序

开发平台:

Matlab

  1. function [coef, C] = learn_AR(data, k)
  2. % Find the ML parameters of a vector autoregressive process of order k.
  3. % [coef, C] = learn_AR(k, data)
  4. % data{l}(:,t) = the observations at time t in sequence l
  5. warning('learn_AR seems to be broken');
  6. nex = length(data);
  7. obs = cell(1, nex);
  8. for l=1:nex
  9.   obs{l} = convert_to_lagged_form(data{l}, k);
  10. end
  11. % The initial parameter values don't matter, since this is a perfectly observable problem.
  12. % However, the size of F must be set correctly.
  13. y = data{1};
  14. [s T] = size(y);
  15. coef = rand(s,s,k);
  16. C = rand_psd(s);
  17. [F,H,Q,R,initx,initV] = AR_to_SS(coef, C, y);
  18. max_iter = 1;
  19. fully_observed = 1;
  20. diagQ = 0;
  21. diagR = 0;
  22. [F, H, Q, R, initx, initV, loglik] = ...
  23.     learn_kalman(obs, F, H, Q, R, initx, initV, max_iter, diagQ, diagR, fully_observed);
  24. [coef, C] = SS_to_AR(F, Q, k);