[隠れマルコフモデル(HMM: hidden Markov model)]


[UnobservedComponents モデル]

UnobservedComponents モデルはstatsmodels.tsa モジュールに含まれる機能の一つで、状態空間形式で時系列データをモデル化するために使用されます。

このモデルは、様々な時系列成分(トレンド、季節性、循環性など)を個別にモデリングし、それらが組み合わさって全体の時系列が形成されると考えます。それぞれの成分は観測されない(unobserved)状態であり、それに対して状態空間モデルを適用することで、これらの潜在的な成分を推定します。


level='local level' は、statsmodelsのUnobservedComponents モデルで使用されるオプションの一つで、時系列データの基本的なレベルまたは平均が時間と共に変化する可能性があることを示しています。この設定は、データの潜在的なレベル成分が観測されていない場合に用いられ、レベルが局所的に(つまり、時点ごとに)異なる可能性があるというモデルの仮定を反映しています。


ローカルレベルモデルの特徴

ローカルレベルモデルは、最も単純な状態空間モデルの一つで、以下のような特性を持ちます:

レベル成分:

データの基本的なレベル(平均値)が、時間とともにランダムなウォークを行うと考えられます。つまり、各時点でのレベルは前の時点のレベルからランダムな変化を受ける可能性があります。

状態方程式:

レベルは状態方程式によって表され、この方程式は時間を通じてレベルがどのように進化するかを記述します。通常、次の形式をとります:

level_𝑡=level_{𝑡−1}+error_𝑡

​ここで、error_𝑡はノイズまたはイノベーションと呼ばれる誤差項で、通常、正規分布に従います。

観測方程式:

実際の観測データは、上記のレベルに基づいて生成されると考えられ、観測方程式によって以下のようにモデル化されます:

observation_𝑡=level_𝑡+measurement error_𝑡

​ここで、measurement error_𝑡は通常、観測に関連するランダムな誤差を表します。


モデルの用途

ローカルレベルモデルは、データに明確なトレンドや季節性が見られない場合や、データの変動が不規則で予測が困難な場合に特に有効です。このモデルは、データの基本的な動的構造を捉えるための強力なツールとして機能し、さまざまな時系列データの分析や予測に利用されます。