マルコフ連鎖の極限を計算するプログラムをプログラミングしています。
マルコフ行列が発散する場合、dA + (1-d)E の形式に変換する必要があります。ここで、A と E は両方とも n * n 行列であり、E のすべての要素は 1/n です。
しかし、入力が収束したときにその変換を適用すると、間違った値が出てきます。
マルコフ行列が収束するかどうかを確認する簡単な方法はありますか?
マルコフ連鎖の極限を計算するプログラムをプログラミングしています。
マルコフ行列が発散する場合、dA + (1-d)E の形式に変換する必要があります。ここで、A と E は両方とも n * n 行列であり、E のすべての要素は 1/n です。
しかし、入力が収束したときにその変換を適用すると、間違った値が出てきます。
マルコフ行列が収束するかどうかを確認する簡単な方法はありますか?
それ自体が 1 つのフィールドであるため、詳しくは説明しません。一般収束定理は、非周期的で既約である任意の有限マルコフ連鎖は (その定常分布に) 収束すると述べていますが。既約性は簡単に確認でき (グラフの連結性に相当)、周期性も簡単に確認できます (両方の定義は以下の本の第 1 章にあり、収束定理は本の第 4 章で証明されています)。 .
状態空間を「接続されたコンポーネント」に分割し、それぞれを個別に検討することにより、対称的なケースで簡単に解決できる既約がない場合は、注目に値します。あなたが提案していることと同様のことをすることで、周期性にパッチを当てることができます。これは、怠惰なマルコフ連鎖の作成と呼ばれます。トピック全体をもう少しよく理解したい場合 (たとえば、混合時間は収束アルゴリズムで非常に役立ちます)、これは優れた本です (無料で入手できます)。