ボートが次に訪れる時間を確率として予測したいとします。ボートサイクルの任意の位置から観察を開始します。観察を行うときは、ボートが表示されているかどうかのみを記録できます(サイクルの正しいポイントである場合、ボートは常に表示されていると想定します)。この世界では、ボートのサイクルの長さも不明ですが周期的であり、ボートの訪問時間は不明ですが、常にサイクルの長さよりも短くなっています。また、サイクルはおそらく変化しない固定された自然現象であると仮定します。
ケース1.観察の最初の1時間は、ボートが見えません。したがって、次の1時間にボートが存在する確率は任意です。ボートを観察する2時間目は、3時間目に高い確率を予測します。4時間目にはボートを観察しません。これで、ボートが通常2時間(2時間目と3時間目)観察可能であることがわかります。私たちは観察を続けています。7時間目にボートが再び見えます。この時点でのみ、サイクルの長さ(5時間)とボートが観測可能な期間(2時間)の両方がわかります。
ケース2。観察の最初の1時間は、ボートが見えます。次の1時間は、予測される確率が高くなります。4時間目には、ボートは観察されません。この時点で、ボートの視界は少なくとも3時間です。5、6、7、8時間目に再びボートを観察し、9時間目にはボートがないことを確認します。9時間後にのみ、サイクルは5時間、視程は4時間であると安全に言えます。
ケース3。最初の1時間はボートが見えます。あなたは3時間眠りにつく。5時間目には、ボートは見えません。あなたは3時間眠りにつく。9時間目にボートが見えます。10、11、12時間にボートを見る確率はどれくらいですか?
これを解決するためにどのアルゴリズムを使用できますか?隠れマルコフモデルは根本的な現象があるのでうまくいくのではないかと思いますが、直接観測することはできません。しかし、この場合、現象は完全にはわかっていません。私の特定のケースでは、平均サイクル長でアルゴリズムを初期化できます。このアルゴリズムを作成する本当の動機は、観測が遠く、その間にほとんどないことです。このプログラムは、サイクルの長さとサイクル内の位置がわかっていれば些細なことなので、トレーニングフェーズで最も価値があります。
以下は、平均履歴サイクル長8時間、ボート持続時間2時間を使用して、 0、1、2、および3回の連続観測(Xはボートを見た観測、Oはボートなしを意味する)で出力できるものです。チャートをよく見ると、ボートが戻る可能性のある場所の周りに確率が高くなっていることがわかります。