私はシーケンスx = [12,14,6,15,15,15,15,6,8,8,18,18,14,14]を持っていますので、私は遷移確率行列を作りたいと思います。すなわち、確率=(ペアx(t)に続くx(t + 1))/(ペアx(t)の後に任意の状態が続く)の確率確率行列。行列は、私は行列すなわち遷移確率行列を得るためにMatlabでプログラミングする方法は?
m = max(x);
n = numel(x);
y = zeros(m,1);
p = zeros(m,m);
for k=1:n-1
y(x(k)) = y(x(k)) + 1;
p(x(k),x(k+1)) = p(x(k),x(k+1)) + 1;
end
p = bsxfun(@rdivide,p,y); p(isnan(p)) = 0;
が、配列中に存在するため、最大の状態のこのコード行列の形で行うことができ、コードを以下により
6 8 12 14 15 18
6 0 1/2 0 0 1/2 0
8 0 1/2 0 0 0 1/2
12 0 0 0 1 0 0
14 1/2 0 0 1/2 0 0
15 1/4 0 0 0 3/4 0
18 0 0 0 0 1/2 1/2
以下のようにする必要があり18 * 18のなり、より多くの場所ゼロが発生する。私は上記のような行列が私にそれを行う方法を掲載したい。
Isこれは[あなたの他の未確認の質問についての遷移確率行列]とは異なります(http://stackoverflow.com/questions/37054721/how-to-obtain-transition-probability-matrix-in-matrix)? –
@AndrasDeak彼は今、どんな確率にも関係していない数字を削除したいと思っています。 – xvan
@Ramsこの質問は不適切です。推論確率の生成に関連するすべての情報を関連性のないものとして削除し、18 * 18行列とターゲット行列をポストするだけです。 – xvan