1

私は HMM を初めて使用しますが、十分な文献を読みました。私は、大気パラメータを使用して降水量を予測するプロジェクトに取り組んでいます。

10 年間、観測可能な大気の 4 つの特徴 (湿度、温度、風、海面の高さ) があります。降水量のデータも持っています。

私が理解できるように、毎日の気象状態は、空間降雨量に基づいて指定されます。では、ここで質問です。100 日間のデータがあるとします。

降雨量 = { 1,2,3,4... 100}. では、気象状態を生成したい場合はどうすればよいでしょうか?

仮定しましょう

temperature = { 30 to 45, some kind of distribution }
humidity = { 25 to 80 }
wind = { 60 to 100 }
sea level height = { 35 to 90 }

見つけ方

  • P(X_0) 初期パラメータ、
  • P(X_t|X_t-1) 状態遷移行列、
  • P(Y_t|X_t) 状態に対する観測の依存性

状態を生成するために何らかのクラスタリングが必要ですか?

MATLABでコーディングしています。

あなたの例またはプログラムに実装する手順を説明できる任意のソースを用意できます。

4

1 に答える 1

0

HMM には個別の数の状態があるため、最初のステップは状態を定義することです。州を明確に定義したら、州の番号付けスキームを考え出し、特定の期間のデータを受け入れることができる関数を作成し、その州に対応する州番号を出力します。

データを状態番号にマップする関数 ( と呼びましょうget_state) を作成したら、次のように状態遷移マトリックスを作成できます。

T = zeros(num_states);
for day = 2:num_days
    s1 = get_state(data(day-1));
    s2 = get_state(data(day));
    T(s1,s2) = T(s1,s2) + 1;
end

i,j行列の番目の要素は、状態からTへの遷移回数を示します。これを次のように遷移確率に変換できます。ij

M = bsxfun(@rdivide,T+1,sum(T+1,2));

状態への観測の依存はより困難です。観測データを確率密度関数または確率質量関数に変換する方法を理解する必要があります。温度、湿度などを 1 つの観測値に組み合わせるのではなく、1 つの状態から複数の分布を観測することができます。

これは明らかに完全な実装ではありませんが、出発点としては十分であることを願っています。

于 2013-10-30T00:09:13.190 に答える