Я создал цепь Маркова с помощью Matlab. Из созданной Марковской цепи мне нужно вычислить функцию плотности вероятности (PDF).Matlab: PDF from Markov Chain
- Как я должен это делать?
Должен ли я использовать сгенерированную цепь Маркова непосредственно в любой из функций PDF?
или
Должен ли я выполнять предварительную обработку данных перед поиском PDF?
цепи Маркова генерируется, используя следующий код:
% 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;
После генерации цепи Маркова, мне нужно рассчитать плотность вероятности.
- Как найти плотность вероятности с помощью Matlab?
У вас есть взгляд на функцию ['' pdf''] (http://www.mathworks.com/help/stats/pdf.html) Matlab? Однако это часть [инструментария статистики] (http://www.mathworks.com/products/statistics/). – Schorsch
@Schorsch ya, я использовал функцию pdf «ksdensity» следующим образом: [f, xi] = ksdensity (цепочка, бины, «функция», «PDF»); Правильно ли это? –
Не уточняя, с чем вы столкнулись, трудно сказать, правильно ли вы используете '' kdensity'' *. Он определенно выглядит как [пример по математике] (http://www.mathworks.com/help/stats/ksdensity.html). – Schorsch