LoginSignup
0
3

More than 5 years have passed since last update.

数学のお勉強-マルコフ連鎖

Last updated at Posted at 2018-09-30

この記事は..

マルコフ連鎖を勉強したのでまとめてみた.
簡単な行列計算はpythonでやりました.

行列

大学では線形代数で学ぶ.高校では数Cで学ぶ.
最近数Cがなくなった,なくなっていたらしい..
こんな感じで数字を管理するもの.

3×3行列

A = 
\begin{bmatrix}
a_{11} & a_{12} & a_{13}\\\ 
a_{21} & a_{22} & a_{23}\\\
a_{31} & a_{32} & a_{33}\end{bmatrix},
a_{ij} (i,j ={1,2,3} )

npと行列の対応表

numpy関数 行列
np.zeros() 零行列
np.eye() 単位行列
arr.T arr.transpose() 転置行列
np.dot() 内積
np.outer() 外積
おまけ ---
np.ones() 全部1の行列
np.empty() 空の行列
np.arange() 例にしやすい行列
arr.reshape() 行列の変換

slice,copy

少しハマった..今後遠回りしないために..
初級者はいろいろなことを勉強しないといけないから大変..

  • slice:参照
  • copy:コピー
array = np.array([1,2,3,4])
array_slice = array[:]
array_slice[:] = 0
print (array)
#=>[0,0,0,0]

マルコフ連鎖

厳密な定義は知らない..けど,
ある地点における事象(j)の起こる確率は,その前の結果(i)にのみ依存する.
その推移する確率を

p_{ij} = P(X_{n+1} = j | P(X_{n} = i )

と定義する.
先のA行列に以下の条件を加えると推移行列になります.

\sum_{j=1}^{n=3} a_{ij} = a_{i1} + a_{i2} + a_{i3} = 1\\(i={1,2,3} )

つまり,その前の結果(i:行)を固定して,次の起こりうる事象の総和は1になる行列.
確率行列はPの方が一般的だけどただの表記の問題なのでAで続けます.

なるほど,確かに世の中の現象に当てはめて考えることができそうだ.

感想

マルコフ連鎖を調べて見て,推移行列は量子力学などでなんとなくやったけど,具体的に数字を当てはめると面白いと思った.

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3