(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-28
(45)【発行日】2023-12-06
(54)【発明の名称】データ処理方法および電子機器
(51)【国際特許分類】
G06N 7/01 20230101AFI20231129BHJP
G06F 18/2113 20230101ALI20231129BHJP
【FI】
G06N7/01
G06F18/2113
(21)【出願番号】P 2021001314
(22)【出願日】2021-01-07
(62)【分割の表示】P 2019063338の分割
【原出願日】2019-03-28
【審査請求日】2022-03-28
(31)【優先権主張番号】201810269835.5
(32)【優先日】2018-03-29
(33)【優先権主張国・地域又は機関】CN
【前置審査】
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】リュウ チュンチェン
(72)【発明者】
【氏名】ウェイ ウェンジュアン
(72)【発明者】
【氏名】フェン ルー
【審査官】多賀 実
(56)【参考文献】
【文献】特許第6822509(JP,B2)
【文献】特開2015-153133(JP,A)
【文献】特開2014-228991(JP,A)
【文献】特開2005-276225(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 17/10-17/18
G06F 18/00-18/40
G16Z 99/00
(57)【特許請求の範囲】
【請求項1】
複数の変数の観測データのセットを取得することと、
前記複数の変数の観測データのセットに基づいて、前記複数の変数間の因果関係を表す第1のモデルを取得することと、
前記第1のモデルに基づいて、前記複数の変数の中で直接の因果関係を有する第1および第2の変数を決定することと、
第2のモデルを取得することと、
前記第2のモデルに基づいて戦略を出力することと、
を備え、
前記第1および第2の変数が互いに独立していることに応答して、前記第2のモデル内の前記第1および第2の変数との間に前記直接の因果関係は存在しない、
を備えるデータ処理方法。
【請求項2】
前記第1および第2の変数が互いに独立しているかどうかを決定することは、
前記観測データのセットに基づいて、前記第1および第2の変数との間の関連度を決定することと、
前記関連度が閾値の範囲内にあることに応答して、前記第1および第2の変数が互いに独立していると決定すること、
を備える請求項1に記載の方法。
【請求項3】
前記第1および第2の変数が互いに独立しているかどうかを決定することは、
前記複数の変数から、前記第1の変数に関連する第1の関連変数のセットと前記第2の変数に関連する第2の関連変数のセットとを決定することと、
前記観測データのセットに基づいて、前記第1および第2の変数との間の関連度を、前記第1および第2の関連変数のセットの和集合を条件として決定することと、
前記関連度が閾値の範囲内にあることに応答して、前記第1および第2の変数が互いに独立していると決定することと、
を備える請求項1に記載の方法。
【請求項4】
前記第1および第2の関連変数のセットを決定することは、
前記観測データのセットに基づいて、前記第1および第2の関連変数としてマルコフブランケット学習技術を使用して、前記第1の変数についてのマルコフブランケットセットおよび前記第2の変数についてのマルコフブランケットセットを決定すること、
を備える請求項3に記載の方法。
【請求項5】
前記第1および第2のモデルは、ノードが前記複数の変数を表しエッジが直接の因果関係を表す有向非巡回グラフであり、
前記第1および第2の関連変数のセットを決定することは、
前記有向非巡回グラフ内の前記第1の変数を表す第1のノードに対するペアレントノードおよびスパウズノードのセットを、前記第1の関連変数のセットとして決定することと、
前記有向非巡回グラフ内の前記第2の変数を表す第2のノードに対するペアレントノードおよびスパウズノードのセットを、前記第2の関連変数のセットとして決定することと、
を備える請求項3に記載の方法。
【請求項6】
前記第1および第2の変数との間の前記関連度を決定することは、
前記第1の変数のタイプと前記第2の変数のタイプとに基づいて独立性決定方法を選択することと、
前記選択された独立性決定方法を用いて前記第1および第2の変数との間の前記関連度を決定することと、
を備える請求項2に記載の方法。
【請求項7】
前記独立性決定方法を選択することは、
前記第1および第2の変数の両方が離散変数であることに応答して、離散独立性決定方法を選択することと、
前記第1および第2の変数の両方が連続変数であることに応答して、連続独立性決定方法を選択することと、
前記第1および第2の変数の一方が離散変数であり、他方が連続変数であることに応答して、ハイブリッド検出の独立性決定方法を選択することと、
を備える請求項6に記載の方法。
【請求項8】
前記第1および第2の変数との間の前記関連度を、前記第1および第2の関連変数のセットの和集合を条件として決定することは、
前記和集合内の前記第1の変数のタイプ、前記第2の変数のタイプ、および条件付き変数のタイプに基づいて、独立性決定方法を選択することと、
前記和集合を条件として、前記選択された独立性決定方法を用いて、前記第1および第2の変数との間の関連度を決定することと、
を備える請求項3に記載の方法。
【請求項9】
前記独立性決定方法を選択することは、
前記第1の変数、前記第2の変数、および前記条件付き変数がすべて離散変数であることに応答して、離散独立性決定方法を選択することと、
前記第1の変数、前記第2の変数、および前記条件付き変数がすべて連続変数であることに応答して、連続独立性決定方法を選択することと、
離散変数および連続変数の両方が、前記第1の変数、前記第2の変数、および前記条件付き変数の間に存在することに応答して、ハイブリッド検出の独立性決定方法を選択することと、
を備える請求項8に記載の方法。
【請求項10】
前記第1および第2のモデルを取得することは、
スコアベースの因果関係ベイジアンネットワークを使用して前記第1および第2のモデルを取得すること、
を備える請求項1に記載の方法。
【請求項11】
プロセッサと、
前記プロセッサによって実行されると、電子機器に以下の動作を実行させる命令を記憶するメモリと、
を備え、
複数の変数の観測データのセットを取得し、
前記複数の変数の観測データのセットに基づいて、前記複数の変数間の因果関係を表す第1のモデルを取得し、
前記第1のモデルに基づいて、前記複数の変数の中で直接の因果関係を有する第1および第2の変数を決定し、
第2のモデルを取得し、
前記第2のモデルに基づいて戦略を出力し、
前記第1および第2の変数が互いに独立していることに応答して、前記第2のモデル内の前記第1および第2の変数との間に前記直接の因果関係は存在しない、
電子機器。
【請求項12】
前記第1および第2の変数が互いに独立しているかどうかを決定することは、
前記観測データのセットに基づいて、前記第1および第2の変数との間の関連度を決定することと、
前記関連度が閾値の範囲内にあることに応答して、前記第1および第2の変数が互いに独立していると決定すること、
を備える請求項11に記載の電子機器。
【請求項13】
前記第1および第2の変数が互いに独立しているかどうかを決定することは、
前記複数の変数から、前記第1の変数に関連する第1の関連変数のセットと前記第2の変数に関連する第2の関連変数のセットとを決定することと、
前記観測データのセットに基づいて、前記第1および第2の変数との間の関連度を、前記第1および第2の関連変数のセットの和集合を条件として決定することと、
前記関連度が閾値の範囲内にあることに応答して、前記第1および第2の変数が互いに独立していると決定することと、
を備える請求項11に記載の電子機器。
【請求項14】
前記第1および第2の関連変数のセットを決定することは、
前記観測データのセットに基づいて、前記第1および第2の関連変数としてマルコフブランケット学習技術を使用して、前記第1の変数についてのマルコフブランケットセットおよび前記第2の変数についてのマルコフブランケットセットを決定すること、
を備える請求項13に記載の電子機器。
【請求項15】
前記第1および第2のモデルは、ノードが前記複数の変数を表しエッジが直接の因果関係を表す有向非巡回グラフであり、
前記第1および第2の関連変数のセットを決定することは、
前記有向非巡回グラフ内の前記第1の変数を表す第1のノードに対するペアレントノードおよびスパウズノードのセットを、前記第1の関連変数のセットとして決定することと、
前記有向非巡回グラフ内の前記第2の変数を表す第2のノードに対するペアレントノードおよびスパウズノードのセットを、前記第2の関連変数のセットとして決定することと、
を備える請求項13に記載の電子機器。
【請求項16】
前記第1および第2の変数との間の前記関連度を決定することは、
前記第1の変数のタイプと前記第2の変数のタイプとに基づいて独立性決定方法を選択することと、
前記選択された独立性決定方法を用いて前記第1および第2の変数との間の前記関連度を決定することと、
を備える請求項12に記載の電子機器。
【請求項17】
前記独立性決定方法を選択することは、
前記第1および第2の変数の両方が離散変数であることに応答して、離散独立性決定方法を選択することと、
前記第1および第2の変数の両方が連続変数であることに応答して、連続独立性決定方法を選択することと、
前記第1および第2の変数の一方が離散変数であり、他方が連続変数であることに応答して、ハイブリッド検出の独立性決定方法を選択することと、
を備える請求項16に記載の電子機器。
【請求項18】
前記第1および第2の変数との間の前記関連度を、前記第1および第2の関連変数のセットの和集合を条件として決定することは、
前記和集合内の前記第1の変数のタイプ、前記第2の変数のタイプ、および条件付き変数のタイプに基づいて、独立性決定方法を選択することと、
前記和集合を条件として、前記選択された独立性決定方法を用いて、前記第1および第2の変数との間の関連度を決定することと、
を備える請求項13に記載の電子機器。
【請求項19】
前記独立性決定方法を選択することは、
前記第1の変数、前記第2の変数、および前記条件付き変数がすべて離散変数であることに応答して、離散独立性決定方法を選択することと、
前記第1の変数、前記第2の変数、および前記条件付き変数がすべて連続変数であることに応答して、連続独立性決定方法を選択することと、
離散変数および連続変数の両方が、前記第1の変数、前記第2の変数、および前記条件付き変数の間に存在することに応答して、ハイブリッド検出の独立性決定方法を選択することと、
を備える請求項18に記載の電子機器。
【請求項20】
前記第1および第2のモデルを取得することは、
スコアベースの因果関係ベイジアンネットワークを使用して前記第1および第2のモデルを取得すること、
を備える請求項11に記載の電子機器。
【請求項21】
コンピュータ実行可能命令が記憶され、前記コンピュータ実行可能命令が実行されると、請求項1乃至10のいずれかに記載の方法をコンピュータに実行させる、
コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態は、データマイニングおよび機械学習の分野に関し、より詳細には、複数の変数間の因果関係を決定するためのデータ処理方法、電子機器、およびコンピュータ可読記憶媒体に関する。
【背景技術】
【0002】
情報技術の急速な発展に伴い、データは規模が拡大している。ビッグデータの時代には、さまざまなデータ収集アプローチを通じて大量のデータが取得される可能性がある。そのようなデータに対してデータ分析およびマイニングを実行することによって、多くの有用な情報を得ることができる。しかしながら、様々な応用分野では、システムの外観または実行性能しか観察することができず、システムの背後にある複雑なメカニズムおよび動作のプロセスについての洞察を得ることは困難であり、経験的な理解しか得られない。
【0003】
因果関係学習は、システムの背後にある複雑な動作メカニズムを自動的にコンピュータで復元し、システムの観測データに基づいてデータ生成プロセスを再現することを目的とする。現在、因果関係学習は、市場分析、薬局、製造業などのさまざまな分野に適用されており、システムの性質に関する洞察を得て、さらに意思決定を導く。例えば、商品小売の分野では、商品売上が減少した場合、因果関係学習技術は、売上関連データを分析することによって売上減少の原因を突き止めることができ、それによって販売者が売上を改善するのを助ける。別の例として、ヘルスケアの分野では、因果関係学習技術は、彼らの顧客の解約の根本的原因を分析することによってヘルスケアセンターを支援し、彼らの顧客保持スキームの開発を支援することができる。別の例として、ソフトウェア開発の分野では、因果関係学習技術は、開発中のプロジェクトに遅延や低品質などのリスクがあるかどうかのタイムリーな予測を支援し、ソフトウェア開発の自動管理を支援するようにリスクの原因を突き止めることができる。
【0004】
現在、因果関係ベイズネットワークは、因果関係を発見するための主流の方法である。それはさらに統計的独立性ベースの方法(例えば、制約に基づく方法)とスコアベースの方法に分けられる。しかしながら、これら2種類の方法で得られる因果関係の精度は、一般的に満足のいくものではない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示の実施形態は、因果関係を正確に得ることができるデータ処理方法、電子機器、およびコンピュータ可読記憶媒体を提供する。
【課題を解決するための手段】
【0006】
本開示の第1の態様では、データ処理方法が提供される。前記方法は、複数の変数の観測データのセットに基づいて、前記複数の変数間の因果関係を表すモデルを取得することと、前記モデルに基づいて、前記複数の変数の中で直接の因果関係を有する第1および第2の変数を決定することと、前記第1および第2の変数が互いに独立しているかどうかを決定することと、前記第1および第2の変数が互いに独立していることに応答して、前記モデルから前記第1および第2の変数との間の前記直接の因果関係を削除することと、を備える。
【0007】
本開示の第2の態様では、プロセッサと、前記プロセッサによって実行されると、電子機器に以下の動作を実行させる命令を記憶するメモリと、を備える電子機器が提供される。以下の動作は、複数の変数の観測データのセットに基づいて、前記複数の変数間の因果関係を表すモデルを取得し、前記モデルに基づいて、前記複数の変数の中で直接の因果関係を有する第1および第2の変数を決定し、前記第1および第2の変数が互いに独立しているかどうかを決定し、前記第1および第2の変数が互いに独立していることに応答して、前記モデルから前記第1および第2の変数との間の前記直接の因果関係を削除する。
【0008】
第3の態様では、コンピュータ実行可能命令が記憶され、前記コンピュータ実行可能命令が実行されると、本開示の第1の態様による方法をコンピュータに実行させるコンピュータ可読記憶媒体が提供される。
【0009】
この概要は、詳細な説明において以下でさらに説明される概念の選択を単純化された形で紹介するために提供される。この概要は、請求される主題の主要な特徴または本質的な特徴を識別することを意図されておらず、特許請求される主題の範囲を限定するために使用されることも意図されていない。
【図面の簡単な説明】
【0010】
添付の図面を参照した以下の詳細な説明を通して、本開示の例示的な実施形態の上記および他の目的、特徴、および利点がより明らかになるであろう。本開示の実施形態例において、同じ参照符号は通常同じ構成要素を表す。
【0011】
【
図1】
図1は、本開示の実施形態を実施することができる例示的なランタイム環境を示す概略図である。
【0012】
【
図2】
図2は、
図1のモデルトレーニングシステムを用いて取得された初期因果関係モデルを示す図である。
【0013】
【
図3】
図3は、
図1のモデルオプティマイゼーションシステムによって出力された最適化因果関係モデルを示す図である。
【0014】
【
図4】
図4は、本開示の実施形態によるデータ処理方法のフローチャートを示す。
【0015】
【
図5】
図5は、本開示の実施形態による、2つの変数が独立しているかどうかを決定する方法のフローチャートを示す。
【0016】
【
図6】
図6は、本開示の実施形態を実施するために使用することができる例示的な機器の概略ブロック図である。
【発明を実施するための形態】
【0017】
本開示の原理は、図面に示されるいくつかの例示的な実施形態を参照して以下に説明され得る。本開示の好ましい実施形態が図面に示されているが、これらの実施形態は、本開示の範囲を限定するのではなく、当業者が本開示をよりよく理解し、どんな方法においても、さらに実施することを可能にするためにのみ記載される。
【0018】
「第1」および「第2」という用語は、1つの要素を他の要素と区別するためにのみ使用されていることを理解されたい。実際のところ、第1の要素は第2の要素とも呼ばれ得、逆もまた同様である。本開示の実施形態では、「モデル」という用語は一般に、システムの特徴を参照して数学的言語で一般的にまたは近似的に表現される特定のシステムの関係構造を指す。「因果関係モデル」という用語は、一般に、システムの因果関係構造を記述するモデルを指す。
【0019】
上述したように、実生活では、ビッグデータに存在する内部関係、例えば複数の要因間の因果関係(本願では「変数」とも呼ぶ)が決定されることをコンピュータが理解できることが望まれることが多い。特定の分野に適切な決定を提供するために、ビッグデータに対する分析に基づく。従来の方式では、複数の変数間の因果関係は、通常、統計的独立性ベースの方法およびスコアベースの方法で発見される。統計的独立性ベースの方法は、独立性検出を用いて、変数間に因果関係があるかどうか、および因果関係の方向があるかどうかを判断する。代表的なアルゴリズムは、PC(Perter-Clark)アルゴリズム、安定型PC、PCI(Fast Causal Inference)などを含む。しかし、因果関係発見プロセス中の独立性テストの精度および決定誤差の伝達性の制約のため、発見される因果関係の正確さは理想的ではない。
【0020】
スコアベースの方法は、分解可能なスコアリング基準を設計することによって観測データと因果関係ネットワークとの間の適合度を測定し、スコアリング基準を用いて最適な因果関係ネットワーク、例えばGES(Greedy Equivalence Search)の検索を導き得る。しかし、既存のスコアリング基準の大部分は、観測変数の目標変数への適合度を主に考慮しているため、大量の誤った因果関係が保持され、したがって得られた因果関係の精度も理想的ではない。
【0021】
データ分析では、精度の低い因果関係では適切な決定をユーザに提供できず、ユーザを誤解させることさえあるので悪影響が生じる。商品小売分野を例にとると、元々因果関係を持たない2つの変数が因果関係を持つと考えられる場合、例えば、間違いによって、風が傘の販売台数の増加の原因であると見なすと、傘の小売業者をミスリードして風が強いが雨が降っていないときに傘の供給を増やし、実際には何の利益ももたらさないでしょう。
【0022】
この目的のために、本開示の実施形態によれば、コンピュータが複数の変数間の自然因果関係をより正確に発見することを可能にするためのデータ処理方法、電子機器、およびコンピュータ可読記憶媒体が提供される。本開示の実施形態では、まず、例えばスコアベースの因果関係学習法を用いて、複数の変数の観測データの集合に基づいて予備的な因果関係を取得する。それから、予備的な因果関係は、予備的な因果関係における疑似原因を除去するために独立性検出および/または条件付き独立性検出を使用して最適化され、それによって最適化された因果関係が得られる。スコアベース学習法と独立性検出ベース学習法は合理的に合成され、スコアベース方法によって引き起こされる大量の疑似原因は、従来の方法で決定された因果関係と比較して、独立性検出を使用して排除される。本開示において最終的に得られた最適化された因果関係はより高いので、システムの背後にある複雑なメカニズムおよび作用過程のより正確な理解が得られ、変数間の潜在的な関係が発見され、より効果的な決定がユーザに提供され得る。
【0023】
上述のように、本開示の実施形態は、製品小売分野、ヘルスケア分野、およびソフトウェア開発分野に適用され得る。しかし、本開示の実施形態は、上記の分野に限定されず、データに含まれる因果関係をコンピュータが理解することを可能にする任意のデータ処理および分析の分野に適用することができる。
【0024】
以下では、
図1から
図6を参照して、複数の変数間の因果関係を決定するための本開示の解決策を説明する。しかしながら、この説明は例示の目的のためだけのものであり、本開示はこれらの実施形態および図面中の詳細に限定されないことに留意されたい。
【0025】
図1は、本開示の実施形態を実施することができるランタイム環境100を示す概略図である。
図1に示す環境100は、本開示のアプリケーション環境およびシナリオを限定することのない、本開示の実施形態が実施され得る一例にすぎないことを理解されたい。本開示の実施形態はまた、他の環境またはアーキテクチャにも適用可能である。
【0026】
図1に示すように、環境100はデータストレージシステム120を含む。データストレージシステム120は、N*D行列として表すことができる複数の変数の観測データX(X∈R
N×D)のセットを記憶するために使用される。ここで、Nは観測されたサンプル数であり、Dは観測変数の次元数または観測変数の数である。製品小売分野を例にとると、観測変数が、季節、気温、湿度、天気(たとえば、雨が降っているかどうか)、傘の販売量、アイスクリームの販売量、および日焼け止めクリームの販売量であると、観測変数の数Dは7ですある。これらの変数が30日間観測されると仮定すると、観測されるサンプルの数Nは30で、i番目の観測サンプル(1≦i≦30)はその日の季節、その日の気温、その日が雨かどうか、その日の傘の販売量、その日のアイスクリームの販売量、その日の日焼け止めクリームの販売量で構成される。
【0027】
観測データのセットX内のデータは、第三者(例えば、販売ウェブサイト、天気予報プロバイダなど)からのデータであり得るか、またはデータは他の方法で収集され得る。その他に、データは事前に処理されていてもよく、例えば、統合、仕様化、およびノイズ低減などのような前処理が生データに行われる。これらの前処理操作自体は当技術分野において既知であり、本明細書では繰り返さない。
【0028】
環境100は、データストレージシステム120から複数の観測変数の観測データのセットXを受け取るモデルトレーニングシステム110をさらに含み得る。モデルトレーニングシステム110は、既存の技術、例えばスコアベースのベイジアン因果関係ネットワーク、または他の因果関係発見技術を使用して、観測データのセットに基づいて複数の変数間の因果関係を表す予備モデル(以下では予備的因果関係モデルとも呼ぶ)を得る。例えば、予備的因果関係モデルは、観測データのセットに基づくトレーニングを通じて生成されてもよい。
【0029】
図2は、モデルトレーニングシステム110を用いて得られた予備的因果関係モデル200を示す。
図2に示すように、予備的因果関係モデル200は、ノードが複数の変数を表し、2つのノード間の有向エッジが2つのノード間の直接の因果関係の存在および因果関係の方向、たとえば、ソースノードはターゲットノードの直接の原因である、を表す有向非巡回グラフとして表される。有向非巡回グラフは因果関係の単なる例示であり、本開示の実施形態はこれに関して限定されないことを理解されたい。当業者は、実際の用途に従って他の方法で因果関係を表すことができる。
図2に示す因果関係モデル200は、37変数間の因果関係を表す。37は例示的な数の変数にすぎず、変数の数は実際の用途に基づいて1より大きい任意の整数であり得ることを理解されたい。
図2に示すように、ノード5とノード6との間に有向エッジがあり、ノード5によって表される変数がノード6によって表される変数の直接の原因であり、ノード6によって表される変数がノード5によって表される変数の直接の結果であり、すなわち、2つの変数の間には直接の因果関係がある。
【0030】
上述したように、スコアベースの方法で採用されるスコア基準の大部分は、主に、目標変数の原因を選択するために観測変数の目標変数への適合度を考慮するので、大量の誤った因果関係が保持される。結果として、モデルトレーニングシステム110を用いて得られた予備的因果関係モデル200は、一般に十分に正確ではない。したがって、本開示の実施形態によれば、環境100は、モデルトレーニングシステム110から予備的因果関係モデル200を受け取り、その因果関係モデル200に基づいて直接の因果関係を有する変数を決定するモデルオプティマイゼーションシステム140をさらに有する。例えば、
図2に示すように、変数5と6、変数6と27、変数13と9などである。
【0031】
さらに、モデルオプティマイゼーションシステム140は、直接の因果関係を有する2つの変数が独立しているかまたは条件付きで独立であるかを統計的方法に基づいて決定してもよい(本開示の実施形態において、独立性および条件付き独立性はまとめて独立性と称される)。2つの変数が独立していると判定された場合、モデルオプティマイゼーションシステム140は、予備的因果関係モデルから2つの変数間の直接の因果関係を削除することができる。モデルオプティマイゼーションシステム140は、最適な因果関係モデルを得てそれを出力するために、予備的因果関係モデル内の直接の因果関係ごとに上記のプロセスを繰り返すことができ、例えば、後で使用するためにモデルストレージシステム130に記憶する。例えば、自動意思決定がコンピュータで実行されるとき、最適化モデルはモデルストレージシステム130から取得されてもよく、データ分析は適切な決定を提供するためにこのモデルに基づいて実行されてもよい。例えば、上記の製品小売分野では、最適化災害モデルは、ユーザに対して自動的に戦略を策定することができ、あるいは傘またはアイスクリームまたは日焼け止めクリームの販売量を改善するための戦略を策定する際にユーザを支援することができる。
【0032】
モデルトレーニングシステム110、モデルオプティマイゼーションシステム140、データストレージシステム120、およびモデルストレージシステム130は、
図1では互いに分離して示されているが、本開示の実施形態はこれに関して限定されないことを理解されたい。実際の用途に基づいて、モデルトレーニングシステム110とモデルオプティマイゼーションシステム140とを統合してもよく、データストレージシステム120とモデルストレージシステム130とを統合してもよい。
【0033】
図3は、モデルオプティマイゼーションシステム140によって出力された最適化因果関係モデル300を示す。
図2に示した予備的因果関係モデル200と比較すると、
図3に示した最適化因果関係モデル300では、変数6と27が独立しているので、変数6と27の間のエッジが削除される。確率と統計では、確率変数XとYが独立しているということは、変数Yの発生が変数Xに影響を与えない、つまり変数Yが変数Xの原因にならない、または変数Xが変数Yの効果にならないことを意味し、そしてその逆を意味する。したがって、予備的因果関係モデル200において直接の因果関係を有する2つの変数が互いに独立している場合、モデル200における2つの変数間の直接の因果関係は実際には統計的に誤っており(すなわち、疑似原因)、削除されるべきである。モデルオプティマイゼーションシステム140は、この原理に正確に基づいて疑似原因を実際に削除するので、モデルオプティマイゼーションシステム140によって出力された最適化因果関係モデル300によって表される因果関係はより正確になる。
【0034】
一方、モデルオプティマイゼーションシステム140は、モデルトレーニングシステム110が出力した予備的因果関係モデル200に基づいて、直接の因果関係を有する変数について、複数の変数のうちの任意の2つについて独立性検出を行うのではなく、独立性検出を行うので、精度を向上させながら、計算リソースを節約し、計算速度を向上させることができる。
【0035】
図4は、本開示の実施形態による、複数の変数間の因果関係を決定するための処理方法400を示すフローチャートである。方法400は、
図1に示されるモデルトレーニングシステム110およびモデルオプティマイゼーションシステム140によって実行され得る。
【0036】
ブロック402で、モデルトレーニングシステム110は、複数の変数の観測データのセットに基づいて、複数の変数間の因果関係を表すモデル、すなわち予備的因果関係モデルを取得する。上述のように、複数の変数の観測データのセットは様々なソースからのものであり得る。上述の製品小売分野では、一連の観測データは、小売ウェブサイト、天気予報プロバイダなどからのものでもよく、または他の手段によって取得されてもよい。
【0037】
本開示の実施形態では、モデルトレーニングシステム110は、様々な技術を使用して予備的因果関係モデルを取得することができる。描写を容易にするために、スコアベースのベイジアンネットワークが、予備的因果関係モデルを得るためのモデルトレーニングシステム110のための特定のプロセスを説明するための例として使用される。しかしながら、当業者は、本開示の実施形態が本明細書に記載されるスコアベースのベイジアンネットワークに限定されず、モデルトレーニングシステム110が他の既存のまたは今後の因果関係発見学習技術を用いて予備因果関係モデルを得ることもできることを理解する。
【0038】
p個の変数があると仮定し、p個の変数間の因果関係を示すために以下の行列Bを使用することができる。
ここで、行列Bはpxp個の要素を含むp次の行列で、各要素は要素の位置に対応する2つの変数間に直接の因果関係があるかどうかを表す。具体的には、行列B中の変数β
jiは、p個の変数のうちのj番目の変数とi番目の変数との間の直接の因果関係を表す。たとえば、行列B中の変数β
jiは、変数iが変数jの直接の原因であるかどうかを表す。具体的に言えば|β
ji|>0の場合、変数iは変数jの直接の原因です。2つの変数の異なる順序は異なる因果関係を表すことに留意されたい。したがって、β
jiとβ
ijは異なる因果関係を表す。言い換えれば、行列Bで表される有向グラフにおけるエッジの方向が異なる。また、行列Bの対角部分は、各要素とそれ自体との因果関係を表す。特定の要素同士の間に因果関係はないので、対角部分の要素の値は0に設定する必要がある。
【0039】
このように、ベイジアンネットワークでは、観測データの1セットに基づいてp個の変数間の因果関係を決定する問題は、複数の要素間の因果関係を記述する行列Bに対する解法プロセスに変換することができる。
【0040】
因果関係に関連する採点基準は、観測データの1セットと上記の行列Bに基づいて定義することができる。例えば、観測データの1セットの因果関係ネットワークへの適合度は、以下の式に基づいて採点基準として決定され得る。
ここで、β
jは行列Bのj行目の列、x
jはj番目の変数の観測データ、x
-jはj番目の変数以外の変数の観測データ、
はL2-Norm演算、
はL1-Norm演算を表す。
【0041】
次に、因果関係を記述する問題方程式が採点基準に基づいて構築される。
ここで、制約は、グラフ構造Gが有向巡回グラフを含まないようにすることである。言い換えれば、グラフ構造Gは有向非巡回グラフであるべきである。
【0042】
次に、因果関係を表す行列Bは、問題式を解くことによって得られる。例えば、行列Bは、予備的因果関係モデルを得るために、Jing Xiang、Seyoung Kimらによる、連続変数のためのスパースベイジアンネットワーク構造を学習するための論文A * Lasso(NIPS、2013)に記載されている検索アルゴリズムを用いて解くことができる。
【0043】
本明細書に記載された採点基準、問題方程式、および問題方程式の解は例示的なものにすぎず、本開示の実施形態はこの点に関して限定されないことを理解されたい。当業者は、他の採点基準および問題式を定義し、他の検索アルゴリズムを利用して実際の必要性に基づいて問題式を解くことができる。
【0044】
ブロック404において、モデルオプティマイゼーションシステム140は、ブロック402において得られた予備的因果関係モデルに基づいて、複数の変数の中で直接の因果関係を有する第1および第2の変数を決定する。本開示の一実施形態では、因果関係モデルは、
図2に示す有向非巡回グラフ200として表され、モデルオプティマイゼーションシステム140は、有向エッジに関連する2つの変数、すなわち直接的な因果関係を有する2つの変数を決定するために、グラフトラバースアルゴリズムを用いて有向非巡回グラフ200をトラバースし、有向非巡回グラフ200内の有向エッジを決定することができる。より具体的には、因果関係モデルが上述の行列Bとして表される場合、モデルオプティマイゼーションシステム140は、行列B内の非ゼロ要素を調べることによって直接の因果関係を有する2つの変数を決定することができる。例えば、β
jiが非ゼロの場合、変数jおよびiは直接的な因果関係を有する2つの変数であると決定することができる。
【0045】
ブロック406において、モデルオプティマイゼーションシステム140は、観測データの1セットに基づいて第1および第2の変数が独立しているかどうかを決定する。統計的には、2つの確率変数間の独立性とは、2つの変数の出現確率が互いに影響しないことを意味する。すなわち、第1および第2の変数が同時に発生する確率がそれらのそれぞれの発生確率の積に等しい場合、第1および第2の変数は互いに独立している。ほとんどの場合、変数は互いに多かれ少なかれ影響を及ぼすが、通常、この種の影響は直接生成されるのではなく他の変数に依存する。この目的のために、本開示の実施形態では、モデルオプティマイゼーションシステム140はさらに、第1および第2の変数がある条件下で、条件付きで独立しているかどうかを決定することができる。統計的には、2つの確率変数間の条件付き独立は、2つの変数の出現確率が他の変数の出現下で互いに影響を及ぼさないことを意味する。第1変数と第2変数とが互いに独立しているか否かを決定する方法については、後に
図5を参照して詳細に説明する。
【0046】
ブロック408において、第1および第2の変数が互いに独立していることに応答して、モデルオプティマイゼーションシステム140は、予備的因果関係モデルから第1および第2の変数間の直接の因果関係を削除する。因果関係モデルが
図2に示す有向非巡回グラフ200として表された場合、モデルオプティマイゼーションシステム140は、有向非巡回グラフ200から、第1の変数を表すノードと第2の変数を表すノードとの間のエッジを削除してもよい。より具体的には、因果関係モデルが上述の行列Bとして表される場合、モデルオプティマイゼーションシステム140は、第1および第2の変数に関連付けられた行列B内の要素を0として設定することができる。
図2および
図3に示すように、ノード6とノード27の間のエッジ、ノード8とノード32の間のエッジ、ノード31とノード30の間のエッジ、およびノード16とノード20の間のエッジなどが、ノード間の独立性または条件付きで削除され、それによって、疑似原因が削除された
図3に示すような最適化因果関係モデルを得る。2つの確率変数の独立性および条件付き独立性の定義から分かるように、2つの変数が独立または条件付きで独立であるとは、2つの変数の出現確率が互いに影響しないこと、すなわち1つの変数の出現が他の出現に影響しないことを意味する。言い換えれば、2つの変数が独立しているか、条件付きで独立している場合、2つの変数のうちの一方が他方の原因または効果になることはできないことを示す。したがって、ブロック402で得られた予備的因果関係モデルにおいて、直接の因果関係を有する第1および第2の変数が独立または条件付きで独立である場合、それはこれら2つの変数間の直接の因果関係が真ではない、すなわち疑似原因であることを意味する。したがって、予備的因果関係モデルから疑似原因を削除することは、モデルをより正確にすることになる。
【0047】
予備的因果関係モデルから疑似原因として決定されたすべての直接の因果関係を削除するようにブロック404、406および408に記載された動作が繰り返され、それによって、例えば自動または半自動の意思決定のその後のデータ分析のために出力されるより正確な最適因果関係モデルが得られる。
【0048】
図5は、本開示の実施形態による、2つの変数が独立しているかどうかを判定する方法500を示すフローチャートである。方法500は、
図1に示されるモデルオプティマイゼーションシステム140によって実行され得る。ブロック502で、モデルオプティマイゼーションシステム140は、観測データの1セットに基づいて、第1の変数と第2の変数との間の関連度を決定することができる。本開示の実施形態では、関連度は、第1および第2の変数の共起確率と、2つの変数が別々に生じる確率との間の関係の尺度として用いることができる。
【0049】
本開示の一実施形態において、関連度を決定するために、モデルオプティマイゼーションシステム140は、第1および第2の変数のタイプを決定し、決定されたタイプに基づいて独立性決定方法を選択してもよい。例えば、上述の製品小売分野の例では、変数「季節」および「天気」は離散変数であり、変数「気温」、「天気」、「傘の販売量」、「アイスクリームの販売量」および「日焼け止めクリームの販売量」は連続的な変数です。第1および第2の変数のタイプに基づいて、計算の実行可能性を保証し、計算の精度を向上させるために、関連度の対応する計算方法を採用することができる。
【0050】
本開示の一実施形態では、第1および第2の変数の両方が連続変数であることに応答して、モデルオプティマイゼーションシステム140は、ピアソン相関検出などの連続独立性決定方法を用いて第1および第2の変数間の関連度を決定することができる。例えば、第1変数に関連付けられた観測データと第2変数に関連付けられた観測データとに基づいて、2つの変数間のピアソン相関係数が関連度として算出される。
【0051】
本開示の一実施形態では、第1変数と第2変数の両方が離散変数であることに応答して、モデルオプティマイゼーションシステム140は、カイ二乗検出などの離散独立性決定方法を採用することによって第1の変数と第2の変数間の関連度を決定する。例えば、第1および第2の変数が独立しているという仮定から推論された値と、観測データの1セットの実際の値との間の乖離度が、第1および第2の変数間の関連度として使用されてもよい。
【0052】
本開示の一実施形態では、第1および第2の変数の一方が離散変数であり他方が連続変数であることに応答して、モデルオプティマイゼーションシステム140は、ガウス過程-ヒルベルト-シュミット独立基準(GP-HSIC:Gaussian process-Hilbert-Schmidt independence criterion)などのハイブリッド独立性検出方法を採用して、第1および第2の変数間の関連度を決定する。
【0053】
ブロック504で、モデルオプティマイゼーションシステム140は、第1の変数と第2の変数との間の関連度が第1の閾値範囲内にあるかどうかを決定することができる。第1の閾値範囲の選択は、特定の用途および使用中の独立性決定方法に依存する。本開示の一実施形態では、それは事前に定義されてもよい。関連度が第1の閾値範囲内にある場合、例えば、2つの連続変数間のピアソン相関係数が第1の閾値より小さい場合、それは第1および第2の変数が無条件に独立していることを意味する。この観点から、関連度が第1の閾値範囲内にあることに応答して、ブロック512において、モデルオプティマイゼーションシステム140は、第1および第2の変数が独立であると決定することができる。
【0054】
本開示の実施形態では、実際の適用において有用ではないより多くの疑似原因を排除するために、第1および第2の変数が無条件に独立していないとき、モデルオプティマイゼーションシステム140は、さらに第1および第2の変数が条件付きで独立しているかどうかを決定し得る。このために、関連度が第1の閾値範囲を超えることに応答して、ブロック506において、モデルオプティマイゼーションシステム140は、第1の変数に関連する第1の関連変数のセットおよび第2の変数に関連する第2の関連変数のセットを決定し得る。
【0055】
本開示の一実施形態では、因果関係モデルが
図2に示されている有向非巡回グラフ200として表される場合、モデルオプティマイゼーションシステム140は、第2の変数のペアレントノードとスパウズノードのセットを第1の関連変数のセットとして決定し、モデルオプティマイゼーションシステム140は、第2の変数のペアレントノードとスパウズノードのセットを第2の関連変数のセットとして決定する。
図2に示すように、ノード8のペアレントノードはノード7とノード9であり、ノード8のスパウズノード(すなわち、ノード8と同じチャイルドノードを有するノード)はノード28とノード31であり、ノード8に関連する変数のセットは、{ノード7、ノード9、ノード28、およびノード31}である。
【0056】
本開示の一実施形態では、第1および第2の変数のマルコフブランケットセット(マルコフブランケット集合)は、それぞれ観測データのセット(集合)に基づいて決定され、それぞれ第1および第2の関連変数のセットとして使用されてもよい。変数Xのマルコフブランケットセットは、次のように定義される。確率変数の完全なセットUが3つの相互に排他的な部分-変数XとセットAとセットBに分割され、それらは交差せず、そのユニオンセット(和集合)はUである。集合Aが与えられた場合、変数Xと集合Bは無関係であり、そして集合Aは、変数Xのマルコフブランケット集合である。本開示の実施形態では、当技術分野で既に知られているマルコフブランケット学習技術を使用して、第1および第2の変数に対するマルコフブランケットセットを決定することができ、これはここでは繰り返さない。
【0057】
ブロック508において、モデルオプティマイゼーションシステム140は、第1および第2の関連変数のセットの和集合を条件として、第1および第2の変数間の関連度を決定することができ、以下、条件付き関連度と略記する。
【0058】
ブロック502と同様に、条件付き関連度の決定および精度の向上を実現するために、モデルオプティマイゼーションシステム140は、和集合内の第1の変数、第2の変数および条件付き変数のタイプに基づいて条件付き独立性判定方法を選択し得る。例えば、第1の変数、第2の変数、および条件付き変数がすべて連続変数である場合、モデルオプティマイゼーションシステム140は、連続条件独立性決定方法、例えば、部分相関検出を選択し、第1および第2の関連変数のセットの和集合の条件下で、第1および第2の変数の偏相関測定を条件付き関連度として計算することができる。
【0059】
第1の変数、第2の変数および条件付き変数が全て離散変数である場合、モデルオプティマイゼーションシステム140は、条件付き関連度を決定するために離散決定方法(例えば、カイ二乗検出)を選択してもよい。例えば、第1および第2の変数が条件付きで独立しているという条件(第1および第2の関連変数の和集合を条件とする)のもとで推定された仮定値と実際の値との乖離度を、条件付き関連度として用いてもよい。
【0060】
第1の変数、第2の変数、および条件付き変数の中に離散変数と連続変数の両方がある場合、モデルオプティマイゼーションシステム140は、条件付き関連度を決定するために、ハイブリッド検出方法(例えば、GP-HSICまたはPCI-Permute(Permutation-based Kernel)を選択し得る。
【0061】
ブロック510で、モデルオプティマイゼーションシステム140は、条件付き関連度が第2の閾値範囲内にあるかどうかを決定することができる。第2の閾値範囲は、第1の閾値と同じでも異なっていてもよく、実際の用途および使用中の独立性決定方法にも依存し、事前に定義されてもよい。ブロック512で、条件付き関連度が第2の閾値範囲内にあることに応答して、モデルオプティマイゼーションシステム140は、第1および第2の変数が互いに独立であると決定することができる。ブロック514で、条件付き関連度が第2の閾値範囲を超えることに応答して、モデルオプティマイゼーションシステム140は、第1および第2の変数が独立でないと決定することができる。
【0062】
図5に示される方法500において、まず、ブロック502および504で、第1および第2の変数が統計的に無条件に独立しているかどうかが決定される。第1および第2の変数が無条件に独立していないことに応答して、ブロック506、508および510で、2つの変数が統計的に条件付きで独立しているかどうかが決定される。このようにして、より多くの疑似原因を因果関係モデルから削除することができる。
【0063】
一方、2つの変数が無条件に独立していない場合にのみ、それらが条件付きで独立しているかどうかがさらに判断され、関連する変数のセットを決定するために必要な計算リソースおよび時間を節約する。予備的因果関係モデル内の各直接の因果関係(例えば、
図2に示される有向非巡回グラフ内の各エッジ)について、方法500が繰り返されて予備的因果関係モデル内のすべての疑似原因が見つけられて削除され、これにより、
図3に示すような最適化因果関係モデルが得られる。この最適化因果関係モデルは、フォローアップデータ分析にさらに使用され得る。
【0064】
従来のスコアベースの因果関係発見方法および統計的独立性ベースの因果関係発見方法と比較して、本開示の実施形態は、複雑な作業メカニズムおよびシステムの背後にある作業プロセスに対する洞察を得るためにより正確な因果関係モデルを提供でき、そして、ユーザにさらに効果的な決定を提供する。
【0065】
図6は、本開示の実施形態を実施するために使用することができる例示的な装置600を示す概略ブロック図である。装置600は、
図1に示されるモデルトレーニングシステム110とモデルオプティマイゼーションシステム140の両方を実装するために使用され得る。
図6に示すように、装置600は、保存部608から、読み出し専用メモリ(ROM)602に格納されたコンピュータプログラム命令またはランダムアクセスメモリ(RAM)603にロードされたコンピュータプログラム命令に基づいて様々な適切な動作および処理を実行できる中央処理部(CPU)601を含む。RAM603は、記憶装置600を動作させるために必要な各種プログラムやデータを格納する。CPU601、ROM602、およびRAM603は、バス604を介して相互に接続される。このバス604にはまた、入出力(I/O)インタフェース605も接続される。
【0066】
装置600内の複数の構成要素が、例えばキーボード、マウス等の入力部606、例えば各種ディスプレイ、スピーカ等の出力部607、例えば磁気ディスク、光ディスク等の保存部608、および、例えばネットワークカード、モデム、無線通信トランシーバ等の通信部609を含むI/Oインタフェース605に接続される。通信部609は、装置600がインターネットおよび/または様々な電気通信ネットワークなどのコンピュータネットワークを介して他の装置と情報/データを交換することを可能にする。
【0067】
処理部601は、上述の様々な方法および処理、例えば方法400および/または方法500を実行する。たとえば、いくつかの実施形態では、方法400および/または方法500は、機械可読媒体、たとえば保存部608に有形に含まれるコンピュータソフトウェアプログラムとして実装することができる。いくつかの実施形態では、コンピュータプログラムは、ROM602および/または通信部609を介して装置600に部分的にまたは完全にロードおよび/またはインストールすることができる。コンピュータプログラムがRAM603にロードされ、CPU601によって実行される場合、上述の方法400および/または方法500の1つまたは複数のステップが実施される。あるいは、他の実施形態では、CPU601は、方法400および/または方法500を任意の他の適切な方法で(たとえばファームウェアによって)実施するように構成される。
【0068】
本明細書で機能的に説明されることは、少なくとも部分的に、1つまたは複数のハードウェア論理構成要素によって実行され得る。例えば、限定されないが、使用され得る例示的な種類のハードウェア論理構成要素は、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップシステム(SOC)、複合プログラマブルロジックデバイス(CPLD)などを含む。
【0069】
本明細書に記載の主題の方法を実行するためのプログラムコードは、1つまたは複数のプログラミング言語の任意の組合せで書くことができる。これらのプログラムコードは、プログラムコードがプロセッサまたはコントローラによって実行されると、実施されるべきフローチャートおよび/またはブロック図において、指定された機能/動作を引き起こすように、汎用コンピュータ、特殊用途コンピュータ、または他のプログラム可能データ処理装置のプロセッサまたはコントローラに提供され得る。プログラムコードは、完全にマシン上、部分的にマシン上、スタンドアロンソフトウェアパッケージとして、部分的にマシン上および部分的にリモートマシン上で、あるいは全体的にリモートマシンまたはサーバ上で実行することができる。
【0070】
本明細書に記載の主題の文脈では、機械可読媒体は、命令実行システム、装置、または機器によって使用されるまたはそれらに関連して使用するためのプログラムを含むまたは格納することができる任意の有形の媒体とすることができる。機械可読媒体は、機械可読信号媒体または機械可読記憶媒体とすることができる。機械可読媒体は、電子、磁気、光学、電磁気、赤外線、または半導体のシステム、装置、または機器、あるいは前述の任意の適切な組み合わせを含むことができるが、それらに限定されない。機械可読記憶媒体のより具体的な例には、1つまたは複数のワイヤを有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブルリードオンリーメモリ(EPROMまたはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、光記憶装置、磁気記憶装置、またはこれらの任意の適切な組み合わせなどがある。
【0071】
さらに、動作は特定の順序で描かれているが、望ましい結果を達成するために、そのような動作が示された特定の順序で、または順次に実行されること、または示されたすべての動作が実行されることを要求するものとして理解されるべきではない。特定の状況では、マルチタスキングおよび並列処理が有利な場合がある。同様に、いくつかの具体的な実装の詳細が上記の説明に含まれているが、これらは、本明細書に記載の主題の範囲に対する制限としてではなく、むしろ特定の実装に特有の特徴の説明として解釈されるべきである。別々の実施の文脈で説明されている特定の特徴は、単一の実施において組み合わせて実施することもできる。逆に、単一の実施形態の文脈で説明されている様々な特徴は、別々にまたは任意の適切なサブコンビネーションで複数の実施形態で実施することもできる。
【0072】
主題は構造的特徴および/または方法論的行為に特有の言語で説明されてきたが、添付の特許請求の範囲に明記された主題は必ずしも上記の特定の特徴または行為に限定されない。そうではなく、上記の特定の特徴および動作は、特許請求の範囲を実施する例示的形態として開示されている。