移動履歴のみを使用してネットワーク上の次の移動を予測する統計モデル


8

過去の動きとグラフの構造のみに基づいて、グラフの次の動きを予測する統計モデルを構築することは可能ですか?

私は問題を説明するために例を作りました:

  1. 時間は離散的です。すべてのラウンドで、現在のノード/頂点に留まるか、接続されたノードの1つに移動します。時間は離散的であり、せいぜい1つのノードをラウンドごとに進めることができるため、速度はありません。
  2. 過去のルート/移動履歴:{A、B、C} -現在の位置:C
  3. 有効な次の手:C、B、X、Y、Z

    1. Cを選択した場合、固定されます。
    2. 場合Bあなたが後方に移動し、
    3. そしてもしX、Y、またはZが前進を意味します。
  4. リンクにもノードにも重みはありません。

  5. 最終的な宛先ノードはありません。観察された動きの動作の一部はランダムであり、一部には一定の規則性があります。

グラフ

移動履歴を考慮しない非常に単純なモデルは、C、B、X、Y、およびZがそれぞれ次の移動になる確率が1/5 であると予測するだけです。

しかし、構造と運動履歴に基づいて、より良い統計モデルを作成することは可能だと思います。たとえば、前のラウンドでノードBから直接そこに移動した可能性があるため、インスタンスXの確率は低くなるはずです。同様に、Bも前のラウンドで固定されていた可能性があるため、確率が低くなります。


ユーザーがBに戻った場合、移動履歴は{A、B、C、B}のようになり、有効な移動はA、B、C、D、E、Xになります。Cへの移行は、固定されたままであった可能性があるため、確率が低くなるはずです。前のラウンドでCからXに移動できた可能性があるため、Xに移動する可能性も低くなります。以前の履歴も予測に影響を与える可能性がありますが、最近の履歴よりも重みを小さくする必要があります。2ラウンド前にBに滞在したか、A、D、E、Xに移動し可能性があります-3ラウンド前にAに滞在し可能性があります。


周りを見回すと、同様の問題が直面していることがわかりました。

  • 移動体通信。オペレーターは、ユーザーが次に移動するセルタワーを予測して、通話/データ伝送をスムーズに引き継ぐことができるようにします。
  • ブラウザ/検索エンジンが次に進むページを予測しようとするWebナビゲーション。これにより、ページがプリロードおよびキャッシュされ、待機時間が短縮されます。同様に、マップアプリケーションは次に要求するマップタイルを予測し、これらをプリロードしようとします。
  • そしてもちろん運輸業界。

4
確率が時変でない場合は、マルコフ連鎖があります。遷移確率のかなり明白な推定方法があります。
Glen_b-2015

回答:


2

本当に統計モデルが必要ですか、それとも、前のノードがすべて与えられたとしても、次のノードを推測するためのアルゴリズムだけですか?後者の場合は、次の手順を検討してください。

ABCXYZ

  1. 一次マルコフ。歴史的に、としましょうnC(X)CXnC(Y)YnC(Z)ZnC=nC(X)+nC(Y)+nC(Z)κpC(X)=κ+nC(X)3κ+nC

  2. BCnBC(X)κpBC(X)=κ+nBC(X)3κ+nBC

  3. pC(),pBC(),pABC(),phistory(W)p()W

κκ=1


1
CHCBCABCwpH(w)logpH(w)pH(w)

1

非時変バージョンのヒント:これは、いくつかのデータが与えられた場合に更新(ベイズの定理を使用)確率推定値として扱うことができます。多項尤度とディリクレ事前分布が標準的なアプローチになります。https://en.wikipedia.org/wiki/Dirichlet-multinomial_distribution

事前確率については、事前確率で各可能なノードに遷移する確率を等しく割り当てる必要があるように思えます。

時間の影響を追加すること(古いトランジションは新しいトランジションよりも重要ではない)はより複雑です。減衰関数を追加して、部分的な遷移を取得できます。

一般に、ダイアグラムの構造だけでは、遷移確率について何もわかりません。


1

いくつかの回答といくつかの質問。

簡単にするために、動きの長いチェーンが1つだけ表示されていると想定することから始めましょう。最も単純なモデルには、各ノードの多項分布が含まれます(基本的に、各ノードには、次に進む先を決定するために転がる特定のサイコロがあります)。私たちの目標は、これらのサイコロのパラメータを推定することです。Ashが述べたように、ベイジアンアプローチは、各ダイにディリクレ事前分布を配置し、これを新しいデータで更新して、ディリクレ事後分布を取得することです。ディリクレ分布は、ダイスファクトリーと考えることができます。事後分布もディリクレであるという事実は、ディリクレ分布が共役事前分布であるためです。多項分布に。これはかなり混乱するように聞こえるかもしれませんが、実際には非常に簡単です。事前分布は疑似カウントとして解釈でき、基本的には、既に見たことがないものの、すでにデータを見ているように見せかけています。

たとえば、Zにいる場合は、C、D、Zに行くことができます(私たちのサイはここでは3面です)。Zからこれらの各状態への1つの遷移が既に見られたかのように機能するディリクレ事前分布を使用できます。したがって、各確率は1/3になります。プレーヤーがCに移行する場合、分布をもう1つのカウントで更新するため、ZからCへの移行の確率は2/4で、もう一方の確率は1/4になります。Zから他の各状態への10の遷移を見たように、より多くの疑似カウントで事前分布を使用する場合、更新された確率(11 / 31、10 / 31、10 / 31)は元の確率に非常に近くなります。もの、これはより強い事前です。事前強度は通常、相互検証によって決定されます。

ある状態から別の状態に遷移する確率は現在の状態にのみ依存するため、上記で説明したモデルはメモリレスと呼ばれます。より複雑なことをしたい場合は、現在の場所だけでなく、最後のステップの場所も組み込むことができます。ただし、この時点で推定する必要があるパラメーターの数は劇的に増加するため、推定の分散は次のようになります。上手。

質問:

「B-> Xから移動できるのに、なぜB-> C-> Xから移動するのですか?」これらのアイデアは、あなたが取り組んでいる問題に固有のもののようですので、直接お話しさせていただきます。それが問題である場合は、おそらく、メモリレスでない(memoryfull?)モデルを使用するか、この情報を以前のバージョンに組み込んでください。このグラフの実際の意味が何であるか、したがってこの直感がどこから来ているのかを説明したい場合は、さらに役立つでしょう。

注意:

マルコフモデルを検索する必要があります。おそらく、隠れマルコフモデルはそれほど多くありません。それらは観測されたデータを制御している隠された状態を持ち、それらを使用することを学ぶことを試みることはこのプロジェクトの邪魔になるかもしれません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.