Matlab: PDF from a Markov Chain

左心房为你撑大大i 提交于 2019-12-12 00:59:16

问题


I have generated the Markov Chain using Matlab. From the generated Markov Chain, I need to calculate the probability density function (PDF).

  • How should i do it?
    Should I use the generated Markov Chain directly in any of the PDF functions?
    or
    Should I do any pre-processing of the data before finding the PDF?

The Markov Chain is generated using the following code:

%  x     = the quantity corresponding to each state, typical element x(i)
%  P     = Markov transition matrix, typical element p(i,j) i,j=1,...n
%  pi0   = probability distribution over initial state
%  T     = number of periods to simulate 
%  chain = sequence of realizations from the simulation

n = length(x); % what is the size of the state vector?
E = rand(1,T); % T-vector of draws from independent uniform [0,1]  

cumsumP = P*triu(ones(size(P)));
E0   = rand(1,1);
ppi0 = [0,cumsum(pi0)];
s0   = ((E0<=ppi0(2:n+1)).*(E0>ppi0(1:n)))';
s    = s0; 

for t=1:T,
state(:,t) = s;
ppi        = [0,s'*cumsumP];
s          = ((E(t)<=ppi(2:n+1)).*(E(t)>ppi(1:n)))';
end

chain = x'*state;    

After generating the Markov Chain, I need to calculate the probability density.

  • How can I find the probability density using Matlab?

回答1:


If you have the states as single values in vector chain, you can simply make a histogram and normalize it.

chainPdf = hist(chain) / length(chain);

You may need to specify the number of bins or bin centers when calling hist.



来源:https://stackoverflow.com/questions/16717825/matlab-pdf-from-a-markov-chain

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!