(57)【特許請求の範囲】
【請求項１】
座標推定手段を含む推定装置における推定方法であって、
前記座標推定手段が、イベントの発生源を表す複数のノードの各々において前記イベントが発生した時間情報を表すイベント履歴情報に基づいて、前記複数のノードの各々について、予め定められた潜在空間における、前記ノードとは異なるノードへ前記イベントの伝搬を引き起こすときの前記ノードの座標を表す第１の座標と、前記ノードとは異なるノードからの前記イベントの伝搬を受けるときの前記ノードの座標を表す第２の座標とのペアを、前記イベントの伝搬を引き起こすときの前記ノードの第１の座標と、前記イベントの伝搬を受けるときの、前記ノードとは異なるノードの第２の座標との距離、及び、前記イベントの伝搬を受けるときの前記ノードの第２の座標と、前記イベントの伝搬を引き起こすときの、前記ノードとは異なるノードの第１の座標との距離が、前記イベントの伝搬を引き起こすノードから、前記イベントの伝搬を受けるノードへの伝搬のしやすさを表すように推定するステップ
を含む推定方法。
【請求項２】
前記座標推定手段が推定するステップは、前記イベント履歴情報に基づいて、前記イベントの伝搬を引き起こすノードと、前記イベントの伝搬を受けるノードとの組み合わせの各々における、前記イベントの伝搬を引き起こすノードで前記イベントが発生した時間情報、及び前記イベントの伝搬を受けるノードで前記イベントが発生した時間情報の差と、前記イベントの伝搬を引き起こすノードの前記第１の座標及び前記イベントの伝搬を受けるノードの前記第２の座標の間の距離とを用いて表される目的関数を最適化するように、前記複数のノードの各々について、前記第１の座標と前記第２の座標とのペアを推定する
請求項１記載の推定方法。
【請求項３】
前記座標推定手段が推定するステップは、複数の種類のイベントの各々についての、前記複数のノードの各々において前記種類のイベントが発生した時間情報を表すイベント履歴情報に基づいて、前記複数のノードの各々について、前記第１の座標と前記第２の座標とのペアを推定する
請求項１又は請求項２に記載の推定方法。
【請求項４】
入力手段及び伝搬確率算出手段を更に含み、
前記入力手段が、仮想イベントが発生したノードと、前記仮想イベントが発生してからの経過時間とを受け付けるステップと、
前記伝搬確率算出手段が、前記入力手段によって受け付けた前記仮想イベントが発生したノード及び前記経過時間と、前記座標推定手段によって推定された前記複数のノードの各々についての前記第１の座標と前記第２の座標との前記ペアとに基づいて、前記複数のノードの各々について、前記経過時間までの間に前記イベントが前記ノードに発生する確率を算出するステップと、
を含む請求項１〜請求項３の何れか１項に記載の推定方法。
【請求項５】
前記伝搬確率算出手段が算出するステップは、２つのノードの組み合わせの各々について、前記組み合わせの一方のノードの前記第１の座標と他方のノードの前記第２の座標との間の距離に基づいて、前記組み合わせのノード間のエッジの重みを推定し、前記２つのノードの組み合わせの各々について推定された前記組み合わせのノード間のエッジの重みに基づいて、前記複数のノードの各々について、前記経過時間までの間に前記イベントが前記ノードに発生する確率を算出する
請求項４に記載の推定方法。
【請求項６】
イベントの発生源を表す複数のノードの各々において前記イベントが発生した時間情報を表すイベント履歴情報に基づいて、前記複数のノードの各々について、予め定められた潜在空間における、前記ノードとは異なるノードへ前記イベントの伝搬を引き起こすときの前記ノードの座標を表す第１の座標と、前記ノードとは異なるノードからの前記イベントの伝搬を受けるときの前記ノードの座標を表す第２の座標とのペアを、前記イベントの伝搬を引き起こすときの前記ノードの第１の座標と、前記イベントの伝搬を受けるときの、前記ノードとは異なるノードの第２の座標との距離、及び、前記イベントの伝搬を受けるときの前記ノードの第２の座標と、前記イベントの伝搬を引き起こすときの、前記ノードとは異なるノードの第１の座標との距離が、前記イベントの伝搬を引き起こすノードから、前記イベントの伝搬を受けるノードへの伝搬のしやすさを表すように推定する座標推定手段
を含む推定装置。
【請求項７】
請求項１〜請求項５の何れか１項に記載の推定方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、推定方法、装置、及びプログラムに関する。
【背景技術】
【０００２】
グラフ構造を推定する従来の技術として、Rodriguezらが提案したＮＥＴＲＡＴＥが知られている（例えば、非特許文献１）。非特許文献１に記載されている技術は、どのノードでどのイベントがいつ発生したかの観測データをもとに、それらを引き起こした重み付き有向グラフにおける各エッジの重みを推定する技術である。例えば、あるノードＡから別のノードＢへの重み付きエッジは、ノードＡとノードＢが同時に関与したイベントが多いほど、また、同時に関与したイベントにおいて同じような時間に関与しているほど、また、ノードＡが関与した後にノードＢが関与するほど、大きな値をとるものとして推定される。
【０００３】
また、ＰＬＮＶ（ＰＬＮＶ：Probabilistic latent network visualization）が知られている（例えば、非特許文献２）。非特許文献２には、推定するグラフにおける各ノードが低次元の潜在空間においてある座標を持ち、あるノードから別のノードへの伝搬のしやすさ（を示すエッジの重み）は、座標の近さによって決まるとしたモデルが記載されている。非特許文献２の技術の直接的な出力は、各ノードの潜在座標系における座標値であり、ノード間をつなぐエッジの重みは、ノード間のユークリッド距離によって計算される。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Manuel Gomez-Rodriguez, David Balduzzi, Bernhard Scholkopf，“Uncovering the Temporal Dynamics of Diffusion Networks.”，ICML 2011:561-568
【非特許文献２】Takeshi Kurashima, Tomoharu Iwata, Noriko Takaya, Hiroshi Sawada“Probabilistic latent network visualization: inferring and embedding diffusion networks.”，KDD2014: 1236-1245
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記非特許文献１の技術は、分析対象とする全体ノード数をＮとすると、全ノードの全ての組み合わせに関するＮの二乗（ノード数Ｎ×ノード数Ｎ）個のパラメータを推定する必要がある。そのため、パラメータの推定に伴う計算量が多く、かつ、すべてのパラメータを推定するためには、大量の観測データが必要であった。
【０００６】
また、上記非特許文献２の技術は、低次元空間の次元数をＤとすると、Ｄ×Ｎ個のパラメータを推定する。一般には、Ｄ＜＜Ｎであるため上記非特許文献１の技術と比較して、推定にかかる計算コストが低く、観測データの量が少ない場合でも、頑健にグラフ推定可能な特徴がある。
【０００７】
しかし、ノードからノードへの伝搬のしやすさは、座標間の距離から計算するため、ノードＡからノードＢへのエッジの重みは、その逆方向であるノードＢからノードＡと等しいものとして推定されてしまう。
【０００８】
例えば、ノードＡからノードＢへはイベントが伝搬しやすいが、その逆は伝搬しないといった、非対称なノード間の関係性をうまく表現できない。その結果、特に大量の観測データが存在する場合に、推定精度が低下する問題があった。
【０００９】
本発明は、上記の点に鑑みてなされたものであり、グラフ上のノード間の非対称な関係を表現することができる推定方法、推定装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明に係る推定方法は、座標推定手段を含む推定装置における推定方法であって、前記座標推定手段が、イベントの発生源を表す複数のノードの各々において前記イベントが発生した時間情報を表すイベント履歴情報に基づいて、前記複数のノードの各々について、予め定められた潜在空間における、前記ノードとは異なるノードへ前記イベントの伝搬を引き起こすときの前記ノードの座標を表す第１の座標と、前記ノードとは異なるノードからの前記イベントの伝搬を受けるときの前記ノードの座標を表す第２の座標とのペアを、前記イベントの伝搬を引き起こすときの前記ノードの第１の座標と、前記イベントの伝搬を受けるときの、前記ノードとは異なるノードの第２の座標との距離、及び、前記イベントの伝搬を受けるときの前記ノードの第２の座標と、前記イベントの伝搬を引き起こすときの、前記ノードとは異なるノードの第１の座標との距離が、前記イベントの伝搬を引き起こすノードから、前記イベントの伝搬を受けるノードへの伝搬のしやすさを表すように推定するステップを含む。
【００１１】
本発明に係る推定装置は、イベントの発生源を表す複数のノードの各々において前記イベントが発生した時間情報を表すイベント履歴情報に基づいて、前記複数のノードの各々について、予め定められた潜在空間における、前記ノードとは異なるノードへ前記イベントの伝搬を引き起こすときの前記ノードの座標を表す第１の座標と、前記ノードとは異なるノードからの前記イベントの伝搬を受けるときの前記ノードの座標を表す第２の座標とのペアを、前記イベントの伝搬を引き起こすときの前記ノードの第１の座標と、前記イベントの伝搬を受けるときの、前記ノードとは異なるノードの第２の座標との距離、及び、前記イベントの伝搬を受けるときの前記ノードの第２の座標と、前記イベントの伝搬を引き起こすときの、前記ノードとは異なるノードの第１の座標との距離が、前記イベントの伝搬を引き起こすノードから、前記イベントの伝搬を受けるノードへの伝搬のしやすさを表すように推定する座標推定手段を含んで構成されている。
【００１２】
また、本発明に係る推定方法は、前記座標推定手段が推定するステップは、前記イベント履歴情報に基づいて、前記イベントの伝搬を引き起こすノードと、前記イベントの伝搬を受けるノードとの組み合わせの各々における、前記イベントの伝搬を引き起こすノードで前記イベントが発生した時間情報、及び前記イベントの伝搬を受けるノードで前記イベントが発生した時間情報の差と、前記イベントの伝搬を引き起こすノードの前記第１の座標及び前記イベントの伝搬を受けるノードの前記第２の座標の間の距離とを用いて表される目的関数を最適化するように、前記複数のノードの各々について、前記第１の座標と前記第２の座標とのペアを推定するようにすることができる。
【００１３】
また、本発明に係る推定方法は、前記座標推定手段が推定するステップは、複数の種類のイベントの各々についての、前記複数のノードの各々において前記種類のイベントが発生した時間情報を表すイベント履歴情報に基づいて、前記複数のノードの各々について、前記第１の座標と前記第２の座標とのペアを推定することができる。
【００１４】
また、本発明に係る推定方法は、入力手段及び伝搬確率算出手段を更に含み、前記入力手段が、仮想イベントが発生したノードと、前記仮想イベントが発生してからの経過時間とを受け付けるステップと、前記伝搬確率算出手段が、前記入力手段によって受け付けた前記仮想イベントが発生したノード及び前記経過時間と、前記座標推定手段によって推定された前記複数のノードの各々についての前記第１の座標と前記第２の座標との前記ペアとに基づいて、前記複数のノードの各々について、前記経過時間までの間に前記イベントが前記ノードに発生する確率を算出するステップと、を含むようにすることができる。
【００１５】
また、本発明のプログラムは、上記推定方法の各ステップをコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１６】
以上説明したように、本発明の推定方法、装置、及びプログラムによれば、イベントの発生源を表す複数のノードの各々において、イベントが発生した時間情報を表すイベント履歴情報に基づいて、複数のノードの各々について、予め定められた潜在空間における、当該ノードとは異なるノードへイベントの伝搬を引き起こすときの当該ノードの座標を表す第１の座標と、当該ノードとは異なるノードからのイベントの伝搬を受けるときの当該ノードの座標を表す第２の座標とのペアを、イベントの伝搬を引き起こすときの当該ノードの第１の座標と、イベントの伝搬を受けるときの、当該ノードとは異なるノードの第２の座標との距離、及び、イベントの伝搬を受けるときの当該ノードの第２の座標と、イベントの伝搬を引き起こすときの、当該ノードとは異なるノードの第１の座標との距離が、イベントの伝搬を引き起こすノードから、イベントの伝搬を受けるノードへの伝搬のしやすさを表すように推定することにより、グラフ上のノード間の非対称な関係を表現することができる、という効果が得られる。
【図面の簡単な説明】
【００１７】
【図１】有向グラフ上でのイベント伝搬プロセスを説明するための概念図である。
【図２】グラフ構造推定の概念図である。
【図３】従来技術におけるグラフ構造推定を説明するための説明図である。
【図４】従来技術におけるグラフ構造推定の問題点を説明するための説明図である。
【図５】本発明の実施の形態におけるグラフ構造推定を説明するための説明図である。
【図６】本発明の実施の形態における推定装置のブロック図である。
【図７】本発明の実施の形態におけるイベント履歴情報記憶部に格納されている情報の一例である。
【図８】本発明の実施の形態における入力部の構成例である。
【図９】本発明の実施の形態における座標推定部によって推定された座標の一例である。
【図１０】仮想イベントの伝搬シミュレーション結果の一例である。
【図１１】本発明の実施の形態における推定装置のグラフ構造推定処理ルーチンを示すフローチャートである。
【図１２】本発明の実施の形態における推定装置の座標推定処理ルーチンを示すフローチャートである。
【図１３】本発明の実施の形態における推定装置の予測処理ルーチンを示すフローチャートである。
【図１４】本発明の実施の形態における推定装置と従来技術との比較を表す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００１９】
＜概要＞
ＷｅｂサイトからＷｅｂサイトへの情報の伝搬、人から人への病気の感染、場所から場所への物体の移動などのプロセスは、図１に示すように、それぞれ、Ｗｅｂサイト、ヒト、場所などをノードとした有向グラフ上でのエッジを介したノードからノードへのイベント伝搬プロセスとみなせる。
【００２０】
本発明の実施の形態では、重み付き有向グラフの構造によって引き起こされたと考えられるイベント集合を分析し、重み付き有向グラフの構造そのものを推定する。具体的には、どのノードでどのイベントがいつ発生したかの観測データをもとに、それらを引き起こした重み付き有向グラフにおける各エッジの重みを求めるための各ノードの座標を推定する。
【００２１】
図２にグラフ構造推定の概念図を示す。図２に示すように、本実施の形態では、実際の観測情報である「いつ、どのノードで、どのイベントが発生したか」を手掛かりにしてグラフ構造（エッジの重み）を推定する。本発明の実施の形態では、イベントが発生するメカニズム（有向グラフの構造）を推定可能なため、将来のイベント発生、イベント伝搬の予測が可能となる。
【００２２】
図３に、従来技術におけるグラフ構造推定方法の概念図を示す。上記非特許文献２に記載の技術（ＰＬＮＶ：Probabilistic latent network visualization）では、図３に示すように、各ノードｎのＤ次元座標ｘｎを推定し、推定された座標間の距離によってノードからノードへの伝搬しやすさ（エッジの重み）を決定する。
【００２３】
しかし、ＰＬＮＶでは、非対称な関係が表現できないため、例えば図４に示すように、ノードＡからノードＢへ、ノードＢからノードＣへは伝搬しやすいが、その逆はあまりないという関係を表現することができない。
【００２４】
そこで、本発明の実施の形態では、図５に示すように、グラフの各ノードが２種類の座標を持つことを許し、他に影響を及ぼす立場での座標（丸印）と他から影響を受ける立場での座標（四角印）とを設定する。
【００２５】
本発明の実施の形態は、イベント伝搬を説明する重み付き有向グラフの構造の推定に関するものであり、推定するグラフにおける各ノードが低次元の潜在空間において、伝搬を引き起こす立場における第１の座標と、伝搬を受ける側の立場における第２の座標という、２種類の座標を持ち、あるノードＡからノードＢへの伝搬の起きやすさは、ノードＡの第１の座標とノードＢの第２の座標との間の距離（近さ）によって決まり、逆に、ノードＢからノードＡへの伝搬の起きやすさは、ノードＢの第１の座標とノードＡの第２の座標との間の距離（近さ）によって決まるとするモデルを推定することにより、ノード間の非対称な関係を表現可能な潜在空間を学習する。
【００２６】
なお、本発明の実施の形態に係る推定装置は、様々なデータを対象としたものであり、観測データに応じて柔軟に適用することができる。
【００２７】
＜本発明の実施の形態に係る推定装置の構成＞
次に、本発明の実施の形態に係る推定装置の構成について説明する。図６に示すように、本発明の実施の形態に係る推定装置１００は、ＣＰＵと、ＲＡＭと、後述する各処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この推定装置１００は、機能的には図６に示すように、操作部１０と、イベント履歴情報記憶部１２と、入力部１４と、演算部２０と、出力部３０とを備えている。操作部１０及び演算部２０は、イベント履歴情報記憶部１２と接続されている。
【００２８】
操作部１０は、後述するイベント履歴情報記憶部１２に格納されているデータに対する操作者からの各種操作を受け付ける。各種操作とは、イベント履歴情報記憶部１２に格納された情報を登録、修正、削除する操作等である。また、操作部１０は、イベント履歴情報記憶部１２に記憶されたイベント履歴情報を操作者に提示することも可能である。操作部１０の入力手段は、キーボードやマウスやメニュー画面やタッチパネルによるもの等、何でもよい。操作部１０は、マウス等の入力手段のデバイスドライバや、メニュー画面の制御ソフトウェアで実現され得る。
【００２９】
イベント履歴情報記憶部１２には、複数の種類のイベントの各々についての、イベントの発生源を表す複数のノードにおいて当該種類のイベントが発生した時間情報を表すイベント履歴情報が格納されている。
【００３０】
イベント履歴情報記憶部１２には、後述する演算部２０が解析するイベント履歴情報が格納されており、演算部２０からの要求に従って、イベント履歴情報を読み出し、当該情報を演算部２０に送信する。
【００３１】
イベント履歴情報記憶部１２に記憶される典型的なイベント履歴情報は、ノードを一意に識別するためのノードＩＤと、該ノードにおいて発生したイベントの種類を一意に識別するためのイベントＩＤと、当該種類のイベントが発生した時間情報とを含んで構成される。例えば、人から人への病気感染に関するイベントを分析する場合、「Ａ型インフルエンザ」のような、各病名に対してイベントＩＤが付与され、各人に対してノードＩＤが付与される。ある人がある病気にある時間で感染したという情報は、ノードＩＤ（人名）、イベントＩＤ（病名）、時間情報の組み合わせである一つのイベント履歴情報として記憶されることになる。
【００３２】
また、例えば、場所から場所への人の移動データを扱う場合、「東京駅」のような、各場所に対してノードＩＤが付与され、あるユーザに対して、イベントＩＤを付与しても良い。ある場所である人をある時間に観測したという情報は、ノードＩＤ（場所）、イベントＩＤ（人名）、時間情報の組み合わせである一つのイベント履歴情報として記憶されることになる。結果として推定されるのは、場所から場所への人の移動しやすさがグラフ上のエッジの重みに反映された都市行動グラフである。
【００３３】
この他、人から人へのトレンドキーワードの伝搬など、グラフ上での伝搬プロセスとみなせる情報であれば何でも良く、イベント履歴情報記憶部１２に格納することができる。また、時間情報は、ユーザがイベントに関与した時刻情報でも良いし、各イベントが最初に発生してからの経過時間でも良い。イベント履歴情報記憶部１２はＷｅｂページを保持するＷｅｂサーバや、データベースを具備するデータベースサーバ等である。
【００３４】
図７に本発明の実施の形態におけるイベント履歴情報記憶部１２に格納されている情報の一例を示す。本発明の実施の形態では、前記の通り、ノードを一意に識別するためのノード情報、各ノードにおいて発生したイベントを一意に識別するためのイベント情報、そして、イベントが発生した時間情報との組み合わせが格納されている。また、イベント情報だけをまとめて記憶しても良い。イベントの発生時間には、イベント履歴情報において、該当イベントが最初に発生した時間が記憶され、イベントの観測終了時間には、イベント履歴情報において、該当イベントが最後に発生した時間が、記憶される。もし、実際にイベントが発生した時間、観測終了時間が他の情報源によって与えられた場合、そちらを用いても良い。なお、各ユーザにおいて、観測終了時間の時点でイベントが発生していない場合は、無限大を値として記憶する。
【００３５】
本実施の形態では、イベント履歴情報が、ノードＩＤ（人名）、イベントＩＤ（病名）及び時間情報の組み合わせである場合を例に説明する。
【００３６】
入力部１４は、推定装置１００の出力に対する条件の指定を受け付ける。推定装置１００の操作者は、後述する演算部２０の座標推定部２２の各種パラメータ（潜在空間の次元数及び推定の終了条件）を推定装置１００に入力し、推定装置１００で推定した潜在空間における各ユーザの座標を出力するように要求することができる。
【００３７】
また、入力部１４は、操作者によって入力された、仮想イベントが発生したノードと当該仮想イベントが発生してからの経過時間とを受け付ける。本実施の形態では、操作者が仮想イベントを発生させ、伝搬シミュレーションの結果を推定装置１００に要求する。伝搬シミュレーションの結果を操作者が要求する場合、仮想イベントが発生するノード及び、仮想イベントが発生してからの経過時間を操作者は入力する。伝搬シミュレーションに関する条件は、後述する演算部２０の伝搬確率算出部２６へと送信される。
【００３８】
入力部１４の入力手段は、キーボードやマウスやメニュー画面やタッチパネルによるもの等、何でもよい。入力部１４は、マウス等の入力手段のデバイスドライバや、メニュー画面の制御ソフトウェアで実現され得る。
【００３９】
図８に本実施の形態における入力部１４の構成例を示す。図８の構成例では、座標推定実行に関する入力手段と伝搬シミュレーションに関する入力手段とを別のボタンで示したが、座標推定に関する入力手段から、伝搬シミュレーションに関する入力手段をワンストップで構成しても良い。また、後述する出力部３０と連動し、出力部３０が提示した情報に対する選択操作によって、イベント発生ノードや経過時間を指定するように構成しても良い。
【００４０】
次に、説明の簡略化のため、演算部２０の座標推定部２２及び伝搬確率算出部２６の説明の前に、本実施の形態におけるモデルについて説明する。
【００４１】
本発明の実施の形態は、生存時間分析の考え方に基づく。あるイベントがノードｊで時間ｔｊで発生した条件のもとで、同じイベントがノードｉで時間ｔｉにどの程度発生しやすいかを示す伝搬関数をｆ（ｔｉ｜ｔｊ）とする。もし、ｆ（ｔｉ｜ｔｊ）が確率密度関数ならば、時間ｔｊから時間ｔｉの間にノードｉでイベントが発生する確率を示すＦ（ｔｉ｜ｔｊ）は累積分布関数として以下の式（１）に示すように計算できる。
【００４２】
【数１】
0006368684.tif 000002
【００４３】
また、あるイベントがノードｊで時間ｔｊに発生した条件のもとで、ノードｉで時間ｔｉまでにイベントが起きていない確率（生存関数）は以下の式（２）に示す通りである。
【００４４】
【数２】
0006368684.tif 000003
【００４５】
ここで、Δｊｉ＝ｔｉ−ｔｊとすると、Ｓ（Δｊｉ＝０）＝１であり、Ｓ（Δｊｉ＝∞）＝０である。さらに、ノードｉで時間ｔｉまでイベントが発生していなかった条件のもとで、その直後におけるイベントの起きやすさを示す瞬間率（ハザード関数）は以下の式（３）に示す通りである。
【００４６】
【数３】
0006368684.tif 000004
【００４７】
上記式（１）〜（３）は生存時間分析の基本的事項である。例えば、伝搬関数ｆ（ｔｉ｜ｔｊ）の確率分布として、指数関数を選択すると、伝搬（確率密度）関数、ハザード関数、生存関数は以下の式（４）〜（６）に示す通りになる。
【００４８】
【数４】
0006368684.tif 000005
【００４９】
ここで、αｊｉはノードｊからノードｉへの伝搬のしやすさを示す重みである。本実施の形態では、αｊｉは、Ｄ次元の潜在空間において、ノードｊの伝搬を引き起こす立場における第１の座標ｘｊとノードｉの伝搬を受ける立場における第２の座標ｙｉのユークリッド距離で決まると仮定する。
【００５０】
【数５】
0006368684.tif 000006
【００５１】
上記式（７）のβは座標間の距離の影響範囲を決定するパラメータである。ノードｊの伝搬を引き起こす立場における第１の座標ｘｊとノードｉの伝搬を受ける立場における第２の座標ｙｉとの間の距離が近いほど、αｊｉの値は大きくなる。つまり、グラフのエッジの重みが大きくなり、伝搬が起こりやすくなる。逆に、ノードｉからノードｊへの伝搬のしやすさαｉｊは、Ｄ次元の潜在空間において、ノードｉの伝搬を引き起こす立場における第１の座標ｘｉとノードｊの伝搬を受ける立場における第２の座標ｙｊのユークリッド距離で決まる。
【００５２】
【数６】
0006368684.tif 000007
【００５３】
重要なことは、ノードｊ（ノードｉ）が２種類の座標、第１の座標ｘｊと第２の座標ｙｊ（第１の座標ｘｉと第２の座標ｙｉ）を持つことである。例えば、ノードｊからノードｉへは伝搬しやすいが、ノードｉからノードｊへは伝搬しにくいという関係を表現したい場合を考える。説明の簡略化のため、ノードｉに関する２種類の座標ｘｉとｙｉがｘｉ＝ｙｉだったとする。この場合、ノードｊの伝搬を引き起こす立場における座標ｘｊは、ｙｉ（＝ｘｉ）の近くに配置し、ノードｊの伝搬を受ける立場における座標ｙｊは、ｘｉ（＝ｙｉ）から遠くに配置すれば良い。本発明の実施の形態で用いるモデルは、上記のように、二つのノードの非対称な関係性を表現可能なモデルである。
【００５４】
演算部２０は、座標推定部２２と、座標格納部２４と、伝搬確率算出部２６とを備えている。
【００５５】
座標推定部２２は、イベント履歴情報記憶部１２に格納されたイベント履歴情報に基づいて、複数のノードの各々について、予め定められたＤ次元潜在空間上における、当該ノードｉとは異なるノードへイベントの伝搬を引き起こすときの当該ノードの座標を表す第１の座標ｘｉと、当該ノードｉとは異なるノードからのイベントの伝搬を受けるときの当該ノードｉの座標を表す第２の座標ｙｉとのペアを、ある種類のイベントの伝搬を引き起こすときの当該ノードｉの第１の座標ｘｉと、当該種類のイベントの伝搬を受けるときの、当該ノードｉとは異なるノードｊの第２の座標ｙｊとの距離が、当該種類のイベントの伝搬を引き起こすノードから、当該種類のイベントの伝搬を受けるノードへの伝搬のしやすさを表すように推定する。
【００５６】
具体的には、座標推定部２２は、イベント履歴情報記憶部１２に格納されたイベント履歴情報に基づいて、イベントの伝搬を引き起こすノードと、イベントの伝搬を受けるノードとの組み合わせの各々における、イベントの伝搬を引き起こすノードでイベントが発生した時間情報、及びイベントの伝搬を受けるノードでイベントが発生した時間情報の差と、イベントの伝搬を引き起こすノードの第１の座標及びイベントの伝搬を受けるノードの第２の座標の間の距離とを用いて表される目的関数を最適化するように、複数のノードの各々について、第１の座標ｘｉと第２の座標ｙｉとのペアを推定する。
【００５７】
本実施の形態では、イベント履歴情報記憶部１２に記憶された全観測データ（イベント履歴集合）に関する対数尤度関数を最大化（負の対数尤度関数を最小化）することより、複数のノードの各々について、第１の座標と第２の座標とのペアを自動的に推定する。全観測データの負の対数尤度関数は以下の式（９）に示すようになる。なお、以下の式におけるＳｊｉ（Δｊｉｃ）はＳ（ｔｉ｜ｔｊ）と等しく、ｈｊｉ（Δｊｉｃ）はｈ（ｔｉ｜ｔｊ）と等しい。
【００５８】
【数７】
0006368684.tif 000008
【００５９】
なお、イベントをｃ、複数種類のイベントからなるイベント集合をＣ、ｔｊｃはユーザｊにおいてイベントｃが起きた時間を表し、Δｊｉｃ＝ｔｉｃ−ｔｊｃである。また、Ｔｃは、イベントｃの観測窓の終点を表し、予め設定される。なお、Ｔｃはイベントｃ毎に設定されてもよいし、全てのイベントｃに対して共通して設定されていてもよい。実際は、座標推定部２２は、上記式（９）に式（４）〜（６）を代入した負の対数尤度関数を最小化するパラメータを推定する。推定するパラメータは、各ノードｋの座標ｘｋと座標ｙｋである。これは準ニュートン法などの最適化手法を用いて求めることができる。準ニュートン法で用いる、ノードｋの座標ｘｋで偏微分した式（１０）、ノードｋの座標ｙｋで偏微分した式（１１）は以下の通りである。
【００６０】
【数８】
0006368684.tif 000009
【００６１】
座標推定部２２が推定した各ノードに関する２種類のＤ次元座標は、座標格納部２４へ格納される。なお、関数の確率分布として、指数分布ではなく、べき乗分布や、レイリー分布などの他の分布を用いても良い。関数の確率分布として他の分布を用いる場合も同様の処理ステップで推定することが可能である。
【００６２】
座標格納部２４には、座標推定部２２によって推定された、複数のノード各々についての第１の座標ｘｉと第２の座標ｙｉとのペア（各ノードに関する２種類のＤ次元座標）が格納される。図９に本発明の実施の形態における座標格納部２４に格納されている座標情報の一例を示す。図９は、潜在空間の次元数Ｄとして２が指定された場合であり、左の図は、伝搬を引き起こす立場における各ノードの座標が記録されており、右の図は、伝搬を受ける立場における各ノードの座標が記録されている。なお、３以上の自然数を次元数として指定しても良い。
【００６３】
伝搬確率算出部２６は、入力部１４によって受け付けた仮想イベントが発生したノード及び経過時間と、座標格納部２４に格納された複数のノードの各々についての第１の座標ｘｉと第２の座標ｙｉとのペアとに基づいて、２つのノードの組み合わせの各々について、当該組み合わせの一方のノードの第１の座標と他方のノードの第２の座標との間の距離に基づいて、当該組み合わせのノード間のエッジの重みを推定し、２つのノードの組み合わせの各々について推定された組み合わせのノード間のエッジの重みに基づいて、複数のノードの各々について、経過時間までの間にイベントが当該ノードに発生する確率を算出する。
【００６４】
具体的には、伝搬確率算出部２６は、入力部１４によって指定された、仮想イベントが発生したノードｊと、仮想イベントが発生してからの経過時間Δｔを入力として受け取り、Δｔが経過した時点での、他のノードｉが仮想イベントに関与している確率を算出する。確率値は上記式（１）で計算可能であり、座標格納部２４に格納された各ノードに関する２種類のＤ次元座標を用いて計算する。各ノードに関して計算した確率値は出力部３０へと送られる。
【００６５】
出力部３０は、伝搬確率算出部２６によって算出された確率値を出力する。また、出力部３０は、座標格納部２４に格納された座標の情報を出力する。具体的には、出力部３０は、入力部１４と伝搬確率算出部２６とからの要求に応じて、座標格納部２４に格納された座標の情報や、操作者が仮想的に発生させたイベントの伝搬シミュレーションの結果を装置の操作者に提示する。
【００６６】
ここで、出力部３０における出力とは、ディスプレイへの表示、プリンタへの印字、音出力、外部装置への送信等を含む概念である。出力部３０は、ディスプレイやスピーカ等の出力デバイスを含むと考えても含まないと考えてもよい。出力部３０は、出力デバイスのドライバソフトまたは、出力デバイスのドライバソフトと出力デバイス等で実現され得る。
【００６７】
図１０に伝搬シミュレーションの出力例を示す。図１０に示す伝搬シミュレーションの結果は、潜在空間の次元数として２を選択し、ノード数が８の場合の出力である。白抜き円が、イベントが起きていないノード、色つき円が、イベントが起きたノードである。指定された経過時間までにどのノードでイベントが起きるかの予測結果を確認することができる。なお、実際は、各ノードで、ある時間にイベントが起きる確率が計算される。この確率値が、ある閾値を越えた場合、イベントが起きたとみなす。また、確率値を表現するものとして、各ノードの色の濃さを用いたり、各ノードの隣接する座標に確率値を表示させたりしても良い。つまり、各ノードで、どの程度、イベントが起きやすいかを表現する方法であれば何でも良い。なお、イベントが発生したノードｊの座標は、伝搬を引き起こす立場における座標値であるｘｊに基づいて潜在空間上に配置されており、それ以外のノードｉは伝搬を受ける立場における座標値であるｙｉに基づいて潜在空間上に配置されている。
【００６８】
＜本発明の実施の形態に係る推定装置の作用＞
次に、本発明の実施の形態に係る推定装置１００の作用について説明する。図１１に、本発明の実施の形態におけるグラフ構造推定処理のフローチャートを示す。推定装置１００で推定したいのは、グラフ上の全ノードに関する第１の座標ｘ１，．．．，ｘ｜Ｋ｜と、第２のｙ１，．．．，ｙ｜Ｋ｜である。なお、全ノード集合をＫとしている。
【００６９】
推定装置１００は、イベント履歴情報が入力されると、イベント履歴情報記憶部１２に格納する。そして、推定装置１００は、グラフ構造推定のための各パラメータが入力されると、図１１に示すグラフ構造推定処理ルーチンを実行する。
【００７０】
まず、ステップＳ１００において、入力部１４は、座標の次元数Ｄと終了条件Ｍｉｎ＿Ｄｉｆｆとをパラメータとして受け付ける。
【００７１】
次に、ステップＳ１０２において、座標推定部２２は、イベント履歴情報記憶部１２に格納されたイベント履歴情報と上記ステップＳ１００で受け付けたパラメータとに基づいて、複数のノードの各々について、予め定められたＤ次元潜在空間上における、当該ノードｉとは異なるノードへイベントの伝搬を引き起こすときの当該ノードの座標を表す第１の座標ｘｉと、当該ノードｉとは異なるノードからのイベントの伝搬を受けるときの当該ノードｉの座標を表す第２の座標ｙｉとのペアを、ある種類のイベントの伝搬を引き起こすときの当該ノードｉの第１の座標ｘｉと、当該種類のイベントの伝搬を受けるときの、当該ノードｉとは異なるノードｊの第２の座標ｙｊとの距離が、当該種類のイベントの伝搬を引き起こすノードから、当該種類のイベントの伝搬を受けるノードへの伝搬のしやすさを表すように推定する。ステップＳ１０２は、図１２に示す座標推定処理ルーチンによって実現される。ステップＳ１０２の座標推定処理では、尤度関数の最適化を繰り返し、尤度の変化が、指定した終了条件以下になったら最適化処理を終了する。
【００７２】
＜座標推定処理ルーチン＞
ステップＳ２００において、上記ステップＳ１００で受け付けた座標の次元数Ｄと終了条件Ｍｉｎ＿Ｄｉｆｆとを取得する。
【００７３】
ステップＳ２０２において、複数のノードの各々について、予め定められたＤ次元潜在空間上における、第１の座標ｘｉと第２の座標ｙｉとを初期化する。
【００７４】
ステップＳ２０４において、繰り返しのための一時変数ｉｔｒに０を代入し、初期化する。
【００７５】
ステップＳ２０６において、イベント履歴情報記憶部１２に格納されたイベント履歴情報と、上記ステップＳ２０４で初期化された複数のノードの各々についての第１の座標ｘｉと第２の座標ｙｉ又は後述するステップＳ２１８で前回更新された複数のノードの各々についての第１の座標ｘｉと第２の座標ｙｉとに基づいて、上記式（９）に従って、負の対数尤度関数Ｌｉｔｒを計算する。
【００７６】
ステップＳ２０８において、上記ステップＳ２０６で計算された負の対数尤度関数Ｌｉｔｒと、前回のステップＳ２０６で計算された負の対数尤度関数Ｌｉｔｒ−１との差分を変数Ｄｉｆｆに代入する。
【００７７】
ステップＳ２１０において、上記ステップＳ２０８で得られたＤｉｆｆが上記ステップＳ２００で取得したＭｉｎ＿Ｄｉｆｆ以下であるか否かを判定する。上記ステップＳ２０８で得られたＤｉｆｆが上記ステップＳ２００で取得したＭｉｎ＿Ｄｉｆｆ以下である場合には、ステップＳ２２２へ進む。一方、上記ステップＳ２０８で得られたＤｉｆｆが上記ステップＳ２００で取得したＭｉｎ＿Ｄｉｆｆより大きい場合には、ステップＳ２１１へ進む。
【００７８】
ステップＳ２１１において、イベント履歴情報記憶部１２に格納されているイベント履歴情報のノードｋを１つ設定する。
【００７９】
ステップＳ２１２において、上記ステップＳ２１１で設定されたノードｋについて、イベント履歴情報記憶部１２に格納されているイベント履歴情報に基づいて、上記式（１０）に従って、負の対数尤度関数を第１の座標ｘｋで偏微分した値を計算する。
【００８０】
ステップＳ２１４において、上記ステップＳ２１１で設定されたノードｋについて、イベント履歴情報記憶部１２に格納されているイベント履歴情報に基づいて、上記式（１１）に従って、負の対数尤度関数を第２の座標ｙｋで偏微分した値を計算する。
【００８１】
ステップＳ２１６において、イベント履歴情報記憶部１２に格納されている全てのノードｋについて、上記ステップＳ２１１〜Ｓ２１４の処理を実行したか否かを判定する。全てのノードｋについて、上記ステップＳ２１１〜Ｓ２１４の処理を実行した場合には、ステップＳ２１８へ進む。一方、上記ステップＳ２１１〜Ｓ２１４の処理を実行していないノードｋが存在する場合には、ステップＳ２１１へ戻る。
【００８２】
ステップＳ２１８において、上記ステップＳ２１２で得られた値と上記ステップＳ２１４で得られた値とに基づいて、準ニュートン法に従って、全てのノードｋについて、第１の座標ｘｋと第２の座標ｙｋとを更新する。
【００８３】
ステップＳ２２０において、変数ｉｔｒを１インクリメントしてステップＳ２０６へ戻る。
【００８４】
ステップＳ２２２において、上記ステップＳ２１８で得られた座標を結果として出力して、座標推定処理ルーチンを終了する。
【００８５】
次にグラフ構造推定処理ルーチンに戻り、ステップＳ１０４において、上記ステップＳ１０２で得られた全てのノードｋについての第１の座標ｘｋと第２の座標ｙｋとのペアを座標格納部２４に格納して、グラフ構造推定処理ルーチンを終了する。
【００８６】
そして、推定装置１００に、仮想イベントが発生したノード及び経過時間が操作者によって入力されると、推定装置１００は、図１３に示す予測処理ルーチンを実行する。
【００８７】
＜予測処理ルーチン＞
まず、ステップＳ３００では、入力部１４は、操作者によって入力された、仮想イベントが発生したノードと当該仮想イベントが発生してからの経過時間とを受け付ける。
【００８８】
ステップＳ３０２において、伝搬確率算出部２６は、座標格納部２４に格納された複数のノードの各々についての第１の座標ｘｉと第２の座標ｙｉとのペアを読み込む。
【００８９】
ステップＳ３０４において、伝搬確率算出部２６は、上記ステップＳ３０２で読み込んだ複数のノードの各々についての第１の座標ｘｉと第２の座標ｙｉとのペアに基づいて、上記式（７）又は式（８）に従って、２つのノードの組み合わせの各々について、当該組み合わせの一方のノードの第１の座標と他方のノードの第２の座標との間の距離に基づいて、当該組み合わせのノード間のエッジの重みを推定する。
【００９０】
ステップＳ３０６において、２つのノードの組み合わせの各々について推定された組み合わせのノード間のエッジの重みに基づいて、上記式（４）〜式（６）に従って、複数のノードの各々について、経過時間までの間にイベントが当該ノードに発生する確率を算出する。
【００９１】
ステップＳ３０８において、上記ステップＳ３０６で算出された、複数のノードの各々について経過時間までの間にイベントが当該ノードに発生する確率を結果として出力して、予測処理ルーチンを終了する。
【００９２】
以上説明したように、本発明の実施の形態に係る推定装置によれば、イベントの発生源を表す複数のノードの各々において、イベントが発生した時間情報を表すイベント履歴情報に基づいて、複数のノードの各々について、予め定められた潜在空間における、当該ノードとは異なるノードへイベントの伝搬を引き起こすときの当該ノードの座標を表す第１の座標と、当該ノードとは異なるノードからのイベントの伝搬を受けるときの当該ノードの座標を表す第２の座標とのペアを、イベントの伝搬を引き起こすときの当該ノードの第１の座標と、イベントの伝搬を受けるときの、当該ノードとは異なるノードの第２の座標との距離、及び、イベントの伝搬を受けるときの当該ノードの第２の座標と、イベントの伝搬を引き起こすときの、当該ノードとは異なるノードの第１の座標との距離が、イベントの伝搬を引き起こすノードから、イベントの伝搬を受けるノードへの伝搬のしやすさを表すように推定することにより、グラフ上のノード間の非対称な関係を表現することができる。
【００９３】
図１４に本実施の形態と従来技術との比較結果を示す。図１４に示すように低次元空間の次元数をＤとし、ノード数をＮとすると、本実施の形態は２×Ｄ×Ｎ個のパラメータを推定するだけで良いため、上記非特許文献２と同様、上記非特許文献１と比較して小規模な観測データでも頑健にグラフ構造を推定できる。また、本実施の形態は、ノード間の非対称な関係を表現可能なため、上記非特許文献１と同様、上記非特許文献２と比較して大規模な観測データが得られた場合でも高精度にグラフ構造を推定することができる。
【００９４】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００９５】
例えば、上記の実施の形態では、イベント履歴情報がノードＩＤ（人名）、イベントＩＤ（病名）及び時間情報の組み合わせである場合を例に説明したが、他の様々なデータを観測データとして本発明を適用することができる。
【００９６】
また、本実施の形態においては、推定装置１００によって、各ノードの座標を推定し、伝搬シミュレーションを実行する場合を例に説明したが、これに限定されるものではなく、推定装置１００とは別の装置（例えば、予測装置）によって、伝搬シミュレーションを実行し、複数のノードの各々について、経過時間までの間にイベントが当該ノードに発生する確率を算出するようにしてもよい。この場合には、予測装置は、入力部１４、座標格納部２４、伝搬確率算出部２６、及び出力部３０を備えるようにすればよい。
【００９７】
また、上述の推定装置１００は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【００９８】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能であるし、ネットワークを介して提供することも可能である。
【符号の説明】
【００９９】
１０   操作部
１２   イベント履歴情報記憶部
１４   入力部
２０   演算部
２２   座標推定部
２４   座標格納部
２６   伝搬確率算出部
３０   出力部
１００ 推定装置
【図１】
0006368684.tif 000010
【図２】
0006368684.tif 000011
【図３】
0006368684.tif 000012
【図４】
0006368684.tif 000013
【図５】
0006368684.tif 000014
【図６】
0006368684.tif 000015
【図７】
0006368684.tif 000016
【図８】
0006368684.tif 000017
【図９】
0006368684.tif 000018
【図１０】
0006368684.tif 000019
【図１１】
0006368684.tif 000020
【図１２】
0006368684.tif 000021
【図１３】
0006368684.tif 000022
【図１４】
0006368684.tif 000023