Search

JP-2026077517-A - 情報処理プログラム、情報処理方法、および情報処理装置

JP2026077517AJP 2026077517 AJP2026077517 AJP 2026077517AJP-2026077517-A

Abstract

【課題】因果グラフを精度よく推定すること。 【解決手段】情報処理装置は、確率的局所探索により、表形式データを参照して、グループG 1 ,G 2 ,・・・,G 6 に対する因果的順序を探索する。情報処理装置は、グループG 1 ,G 2 ,G 5 ,G 4 ,G 6 ,G 3 を、適切な因果的順序として特定する。情報処理装置は、特定した因果的順序に基づいて、因果グラフとなるDAG800を取得して出力する。このように、情報処理装置は、同一のグループ内に属する項目間に直接的にも間接的にも因果関係が設定されないよう、適切な因果グラフとなるDAG800を取得して出力することができる。 【選択図】図8

Inventors

  • 鈴木 浩史

Assignees

  • 富士通株式会社

Dates

Publication Date
20260513
Application Date
20241025

Claims (10)

  1. 複数の項目を複数のグループに分類し、 前記複数のグループにおける少なくともいずれかのグループ間に、一方のグループから他方のグループへの順序で因果関係が存在することを表す因果的順序を、因果関係の上流側の項目の値に基づき下流側の項目の値を推定する回帰モデルの推定結果に対する尤度が高くなるように探索し、 探索した前記因果的順序に基づいて生成される、前記複数の項目における少なくともいずれかの項目間に、一方の項目から他方の項目へと因果関係が存在することを表す有向非巡回グラフを出力する、 処理をコンピュータに実行させることを特徴とする情報処理プログラム。
  2. 前記分類する処理は、 指定された直接的にも間接的にも因果関係を有さない2以上の項目を同一のグループに分類するよう、前記複数の項目を前記複数のグループに分類する、ことを特徴とする請求項1に記載の情報処理プログラム。
  3. 前記探索する処理は、 前記因果的順序に基づいて生成される、前記複数の項目における少なくともいずれかの項目間に、一方の項目から他方の項目へと因果関係が存在することを表す有向非巡回グラフに対応する回帰モデルの推定結果に対する尤度が高くなるよう、前記因果的順序を探索する、ことを特徴とする請求項2に記載の情報処理プログラム。
  4. 前記探索する処理は、 前記因果的順序に基づく有向非巡回グラフに対応する回帰モデルの推定結果に対する尤度より、前記因果的順序を加工した新たな候補に基づく有向非巡回グラフに対応する回帰モデルの推定結果に対する尤度の方が高い場合に、前記因果的順序を前記新たな候補で更新する、という更新処理を繰り返すことにより、前記因果的順序を探索する、ことを特徴とする請求項3に記載の情報処理プログラム。
  5. 前記探索する処理は、 前記更新処理を、指定の回数繰り返し実施する、ことを特徴とする請求項4に記載の情報処理プログラム。
  6. 前記探索する処理は、 前記更新処理を、前記因果的順序に基づく有向非巡回グラフに対応する回帰モデルの推定結果に対する尤度が、閾値以上になるまで繰り返し実施する、ことを特徴とする請求項4に記載の情報処理プログラム。
  7. 前記更新処理は、前記因果的順序に基づく有向非巡回グラフと、前記新たな候補に基づく有向非巡回グラフとを生成することを含み、 前記出力する処理は、 前記更新処理において最後に生成した、前記因果的順序に基づく有向非巡回グラフと、前記新たな候補に基づく有向非巡回グラフとのうち、探索した前記因果的順序に対応する有向非巡回グラフを出力する、ことを特徴とする請求項4に記載の情報処理プログラム。
  8. 前記出力する処理は、 探索した前記因果的順序における上流側のグループに属する項目から下流側のグループに属する項目への方向にのみ因果関係を設定可能とする制約条件下で生成される、前記複数の項目における少なくともいずれかの項目間に、一方の項目から他方の項目へと因果関係が存在することを表す有向非巡回グラフを出力する、ことを特徴とする請求項1~6のいずれか一つに記載の情報処理プログラム。
  9. 複数の項目を複数のグループに分類し、 前記複数のグループにおける少なくともいずれかのグループ間に、一方のグループから他方のグループへの順序で因果関係が存在することを表す因果的順序を、因果関係の上流側の項目の値に基づき下流側の項目の値を推定する回帰モデルの推定結果に対する尤度が高くなるように探索し、 探索した前記因果的順序に基づいて生成される、前記複数の項目における少なくともいずれかの項目間に、一方の項目から他方の項目へと因果関係が存在することを表す有向非巡回グラフを出力する、 処理をコンピュータが実行することを特徴とする情報処理方法。
  10. 複数の項目を複数のグループに分類し、 前記複数のグループにおける少なくともいずれかのグループ間に、一方のグループから他方のグループへの順序で因果関係が存在することを表す因果的順序を、因果関係の上流側の項目の値に基づき下流側の項目の値を推定する回帰モデルの推定結果に対する尤度が高くなるように探索し、 探索した前記因果的順序に基づいて生成される、前記複数の項目における少なくともいずれかの項目間に、一方の項目から他方の項目へと因果関係が存在することを表す有向非巡回グラフを出力する、 制御部を有することを特徴とする情報処理装置。

Description

本発明は、情報処理プログラム、情報処理方法、および情報処理装置に関する。 従来、複数の項目における項目間の因果関係を表す因果グラフを推定する因果探索の技術がある。因果グラフは、例えば、有向非巡回グラフ(Directed Acyclic Graph)である。 先行技術としては、例えば、変数間の可能な因果関係を決定する因果モデルを利用して、観測データである変数セットにおける変数のタイプに基づいて、変数セットにおける変数間の因果関係を決定するものがある。 特開2022-013844号公報 図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。図2は、情報処理システム200の一例を示す説明図である。図3は、情報処理装置100のハードウェア構成例を示すブロック図である。図4は、情報処理装置100の機能的構成例を示すブロック図である。図5は、情報処理装置100の動作の一例を示す説明図である。図6は、情報処理装置100の動作の具体例を示す説明図(その1)である。図7は、情報処理装置100の動作の具体例を示す説明図(その2)である。図8は、情報処理装置100の動作の具体例を示す説明図(その3)である。図9は、情報処理装置100の動作の具体例を示す説明図(その4)である。図10は、全体処理手順の一例を示すフローチャートである。図11は、インサート処理手順の一例を示すフローチャートである。図12は、スワップ処理手順の一例を示すフローチャートである。図13は、リバース処理手順の一例を示すフローチャートである。 以下に、図面を参照して、本発明にかかる情報処理プログラム、情報処理方法、および情報処理装置の実施の形態を詳細に説明する。 (実施の形態にかかる情報処理方法の一実施例) 図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。情報処理装置100は、因果グラフを推定し易くするためのコンピュータである。情報処理装置100は、例えば、サーバまたはPC(Personal Computer)などである。 因果グラフは、複数の項目における項目間の因果関係を表す。因果グラフは、例えば、有向非巡回グラフである。以下の説明では、有向非巡回グラフを「DAG」と表記する場合がある。因果グラフは、具体的には、複数の項目のそれぞれの項目に対応するノードを含む。因果グラフは、具体的には、ノード間を接続する有向エッジを含む。有向エッジは、接続する2つのノードのうち、一方のノードに対応する項目から他方のノードに対応する項目へと因果関係が存在することを表す。 従来、因果グラフを自動で推定する因果探索の技術がある。例えば、複数の項目のそれぞれの項目の値の複数の組み合わせに基づいて、因果グラフを推定することが考えられる。それぞれの項目の値の複数の組み合わせは、例えば、表形式データで規定される。 しかしながら、因果グラフを精度よく推定することが難しい。例えば、正しくは因果関係を有さない項目間を、誤って因果関係を有する項目間であると表した因果グラフを推定してしまうことがある。また、例えば、項目間の因果関係の向きを誤って表した因果グラフを推定してしまうことがある。このため、既知であるいずれかの項目間の因果関係の有無に関するユーザの事前知識に沿わない因果グラフを推定してしまうことがある。 従って、既知であるいずれかの項目間の因果関係の有無に関するユーザの事前知識を反映した因果グラフを推定することが望まれる。これに対し、例えば、既知であるいずれかの項目間の直接的な因果関係の有無に関するユーザの事前知識を反映した因果グラフを推定する手法が考えられる。具体的には、いずれかの項目間が直接的な因果関係を有さないというユーザの事前知識が存在する場合には、当該項目間に対応するノード間には有向エッジを接続しないという制約条件下で、因果グラフを推定することが考えられる。 この手法でも、既知であるいずれかの項目間の因果関係の有無に関するユーザの事前知識に沿わない因果グラフを推定してしまうことがあり、因果グラフを精度よく推定することが難しい。例えば、いずれかの項目間が直接的のみならず間接的にも因果関係を有さないというユーザの事前知識が存在する場合が考えられる。この手法では、いずれかの項目間の間接的な因果関係の有無に関するユーザの事前知識を反映した因果グラフを推定することが難しいという問題がある。 具体的には、この手法では、いずれかの項目間が間接的にも因果関係を有さないというユーザの事前知識が存在する場合には、当該項目間の間接的な因果関係を網羅的に禁止する制約条件下で、因果グラフを推定することになる。従って、この手法では、指数的な数の制約条件を設定しなければならない場合があり、ユーザの作業負担の増大化を招くことがあり、因果グラフを推定する際にかかる処理時間の増大化を招くことがある。 このため、いずれかの項目間の直接的のみならず間接的な因果関係の有無に関するユーザの事前知識を反映した因果グラフを推定することが望まれる。 そこで、本実施の形態では、因果グラフを精度よく推定することができる情報処理方法について説明する。この情報処理方法によれば、具体的には、いずれかの項目間の直接的のみならず間接的な因果関係の有無に関するユーザの事前知識を反映した因果グラフを推定し易くすることができる。 情報処理装置100は、複数の項目を記憶する。図1の例では、複数の項目は、具体的には、項目aと、項目bと、項目cと、項目dと、項目eと、項目fと、項目gとの7個の項目である。情報処理装置100は、複数の項目のそれぞれの項目の値の複数の組み合わせを表す表形式データを記憶する。 情報処理装置100は、既知である少なくともいずれかの項目間の因果関係の有無を表す事前知識を記憶する。情報処理装置100は、例えば、不図示の入力装置を介したユーザの操作入力に基づき、事前知識の入力を受け付けることにより、事前知識を取得して記憶する。 事前知識は、例えば、ユーザによって指定された、少なくともいずれかの項目間の直接的または間接的な因果関係の有無を表す。事前知識は、具体的には、ユーザによって指定された直接的にも間接的にも因果関係を有さない2以上の項目を特定可能に表す。事前知識は、具体的には、ユーザによって指定された直接的または間接的に因果関係を有する2以上の項目を特定可能に表す。 図1の例では、事前知識は、具体的には、グラフ101に示すように、項目dと、項目eとの項目間が、直接的のみならず間接的にも因果関係を有さないことを表す。また、事前知識は、具体的には、グラフ101に示すように、項目aと、項目bとの項目間が、直接的に因果関係を有することを表す。また、事前知識は、具体的には、グラフ101に示すように、項目cと、項目fとの項目間が、直接的に因果関係を有することを表す。 (1-1)情報処理装置100は、事前知識に基づいて、複数の項目を複数のグループ110に分類する。情報処理装置100は、例えば、直接的にも間接的にも因果関係を有さない2以上の項目を同一のグループ110に分類するよう、複数の項目を複数のグループ110に分類する。情報処理装置100は、例えば、直接的に因果関係を有する2以上の項目を異なるグループ110に分類し、直接的にも間接的にも因果関係を有さない2以上の項目を同一のグループ110に分類するよう、複数の項目を複数のグループ110に分類してもよい。 図1の例では、情報処理装置100は、具体的には、項目aと、項目bと、項目cと、項目dと、項目eと、項目fと、項目gとの7個の項目を、グループ111と、グループ112と、グループ113と、グループ114との4個のグループ110に分類する。例えば、項目aと、項目bは、グループ111に属する。例えば、項目cは、グループ112に属する。例えば、項目dと、項目eとは、グループ113に属する。例えば、項目fと、項目gとは、グループ114に属する。これにより、情報処理装置100は、事前知識をグループ分けに反映することにより、事前知識を因果グラフに反映可能にする因果的順序を特定するための準備を行うことができる。 (1-2)情報処理装置100は、複数のグループ110における少なくともいずれかのグループ110間に、一方のグループ110から他方のグループ110への順序で因果関係が存在することを表す因果的順序を探索する。情報処理装置100は、例えば、因果関係の上流側の項目の値に基づき下流側の項目の値を推定する回帰モデルの推定結果に対する尤度が高くなるように、因果的順序を探索する。回帰モデルは、例えば、因果的順序に基づいて生成される、複数の項目における少なくともいずれかの項目間に、一方の項目から他方の項目へと因果関係が存在することを表すDAGに対応する。DAGは、例えば、表形式データを利用して生成される。 図1の例では、情報処理装置100は、具体的には、探索の結果、グループ111と、グループ112と、グループ113と、グループ114との並びである因果的順序を特定する。これにより、情報処理装置100は、事前知識を反映した因果グラフを特定可能なように、事前知識に対応する適切な因果的順序を特定し、どのような因果的順序に対応する因果グラフが好ましいのかを特定することができる。 (1-3)情報処理装置100は、探索した因果的順序に基づいて生成されたDAGを出力する。DAGは、因果グラフに対応する。DAGは、例えば、表形式データを利用して生成される。情報処理装置100は、例えば、探索した因果的順序に対応する、探索の過程で生成済みのDAGを出力する。情報処理装置100は、探索した因果的順序に基づいて、DAGを生成して出力してもよい。 図1の例では、情報処理装置100は、具体的には、因果グラフとして、探索した因果的順序に対応するDAG120を出力する。これにより、情報処理装置100は、事前知識に基づいて、因果グラフを精度よく推定することができる。情報処理装置100は、事前知識を反映したDAGを利用可能にすることができる。 情報処理装置100は、例えば、事前知識に基づいて、正しくは因果関係を有さない項目間を、誤って因果関係を有する項目間であると表した因果グラフを推定してしまうことを抑制することができる。また、情報処理装置100は、例えば、事前知識に基づいて、項目間の因果関係の向きを誤って表した因果グラフを推定してしまうことを抑制することができる。 また、情報処理装置100は、例えば、事前知識に沿った因果グラフを推定することができる。また、情報処理装置100は、例えば、いずれかの項目間が直接的にも間接的にも因果関係を有さないという事前知識に対して、当該項目間の間接的な因果関係を網羅的に禁止する制約条件を設定しなくても、因果グラフを推定することができる。従って、情報処理装置100は、ユーザの作業負担の低減化を図ることができ、因果グラフを推定する際にかかる処理時間の低減化を図ることができる。 図1の例では、正解の因果グラフは、DAG130であるとする。正解の因果グラフは、例えば、ユーザにとって未知である。ここで、項目間の直接的な因果関係の有無のみを制約する従来手法では、事前知識が示すような、項目dと項目eとの項目間の間接的な因果関係を制約することが難しいため、因果グラフとして、誤ったDAG140を推定してしまうことが考えられる。 ここで、DAG140上で、いずれかのノード間が、1つの有向エッジで直接的に接続される場合、当該ノード間に対応する項目間が、直接的な因果関係を有すると設定されたことになる。また、DAG140上で、いずれかのノード間が、他のノードを経由して2以上の有向エッジで間接的に接続される場合、当該ノード間に対応する項目間が、間接的な因果関係を有すると設定されたことになる。図1の例では、DAG14