7

私はいくつかの地理データを分析し、時間とその地理的位置に関してイベントの次の発生を予測/予測しようとしていました。データは次の順序でした(サンプルデータを含む)

タイムスタンプ緯度経度イベント
13307266102.8640097270.64039541「イベントA」
13311695102.808291270.47394645「イベントA」
13314940102.8224052270.6308513「イベントA」
13318949102.8340212870.64103035「イベントA」
13334397102.8472624270.66790352「イベントA」

最初のステップは、それを100のゾーンに分類することでした。これにより、ディメンションと複雑さが軽減されます。

 
タイムスタンプゾーン
13307266 47
13311695 65
13314940 51
13318949 46
13334397 26

次のステップは時系列分析を行うことでした。それから私はここで2か月間立ち往生し、たくさんの文献を読んで、これらが私の選択肢であると考えました* ARIMA(自己回帰法)*機械学習

機械学習を利用してPythonを使用して予測したかったのですが、実際にその方法を理解できませんでした。具体的には、ユースケースに固有のPythonライブラリ/オープンソースコードがあります。

編集1:明確にするために、データは過去のデータに大まかに依存していますが、一定期間にわたって均一に分散されています。データを視覚化する最良の方法は、グリッドからリソースを選択するタスクを割り当てるアルゴリズムによって制御されるN個のエージェントを想像することです。資源は社会の社会経済構造の機能であり、地理にも強く依存しています。需要ゾーンと時間を賢く予測できるようにするための「アルゴリズム」に関心があります。

ps:ARIMAのような自己回帰モデルの場合、Pythonにはすでにライブラリhttp://pypi.python.org/pypi/statsmodelsがあります。

4

1 に答える 1

18

サンプルデータまたは既存のコードがなければ、具体的なことは何も提供できません。

ただし、多くの場合、調査したい分野の命名法で問題を言い換えると便利です。ML用語で:

  • 問題の特徴:入力の指定方法。タイムスタンプは連続的であり、地理的ゾーンは離散的です。
  • 問題のターゲットラベル:イベント、正確には特定のイベントが発生したかどうか。
  • 問題は監視されています。以前のデータのターゲットラベルが利用可能です。(タイムスタンプ、地理的ゾーン)からイベントへのマッピングの以前のインスタンスがあります。
  • ターゲットラベルは離散的であるため、これは分類の問題です(出力が連続的である回帰問題とは対照的です)。

したがって、教師あり分類の問題があると思います。余談ですが、最初にある種の時間の正則化を行うことをお勧めします。時刻、曜日、月によってイベントのパターンが発生するのではないかと思いますが、これを追加機能として表現したい場合があります。

利用可能な人気のあるPythonMLライブラリの1つであるscikit-learnを見てみましょう。

http://scikit-learn.org/stable/supervised_learning.html

scikit-learnのチートシートへの最近の投稿を寄稿者の1人が参照します。

http://peekaboo-vision.blogspot.de/2013/01/machine-learning-cheat-sheet-for-scikit.html

最初の良い賭けは、サポートベクターマシン(SVM)を試すことです。それが失敗した場合は、k最近傍法(kNN)も試してみてください。通常、アンサンブル分類器を使用する方が、特定のSVM/kNNのインスタンスを1つだけ使用するよりも優れていることに注意してください。

AFAIK(および他の人はおそらく私を修正するでしょう)SVM / kNNは平均がゼロの(または平均がゼロになるように正規化された)有界入力を必要とするため、機能として時間とともにSVM/kNNを適用するにはさらに調査が必要になる場合があります。ランダムなグーグルを実行するだけで、時系列機能を変換できる特定のSVMカーネル(フーリエカーネルなど)を見つけることができる場合があります。

時系列分析用のSVMカーネル
http://www.stefan-rueping.de/publications/rueping-2001-a.pdf

scikit-learnを使用すると、SVMのカスタムカーネルを簡単に指定できます。参照:
http ://scikit-learn.org/stable/auto_examples/svm/plot_custom_kernel.html#example-svm-plot-custom-kernel-py

MLの命名法とサンプルデータについての知識があれば、統計StackExchangeであるCrossValidatedに質問を投稿することを検討してください。

編集1:この問題についてもっと考えると、機能と対応するラベルが独立していて、同じように分布している(IID)かどうかを本当に理解する必要があります。たとえば、山火事が時間の経過とともにどのように広がるかをモデル化した場合はどうでしょうか。特定のゾーンが発火する可能性は、隣接するゾーンが発火しているかどうかに左右されることは明らかです。AFAIK SVMおよびkNNは、データがIIDであると想定しています。この時点で、私は自分の深みから抜け出し始めていますが、少なくともいくつかのMLメソッドを試して、何が起こるかを確認する必要があると思います。相互検証することを忘れないでください!(scikit-learnはあなたのためにこれを行います)。

于 2013-01-28T13:27:59.573 に答える