因果分析
因果分析とは?
因果分析とはお互いの因果関係を分析すること 因果分析はデータ分析やデータサイエンスにおいて重要な手法です。
RATHの因果分析モジュール
- 因果関係発見アルゴリズムを拡張し、結果を改善しました。
- 因果推論と因果仮説検証に関するアルゴリズムと機能を追加しました。
- 解釈可能性の向上と、個々の特定データの背後にある原因と影響の重みを分析する機能。
- 因果モジュール内にネストされた機械学習モジュールを追加しました。 機械学習モデルの特徴選択戦略は、因果モデルと組み合わせてテストできます。
ケーススタディ: Kaggle 糖尿病研究データセット
ここでは、kaggle の糖尿病研究に関するデータ セット (opens in a new tab) を例として取り上げます。糖尿病かどうかについて。 データセットをインポートすると、データのおおよその分布を確認できます。 ここで、データにいくつかの汚れたデータが含まれている可能性があることがわかりました。BMI、血圧、皮膚の厚さなどの指標は 0 であるため、RATH のクリーニング機能とフィルター機能を使用してそれらをすばやく削除します。
データの準備が完了したら、分析の開始で「因果分析」オプションをクリックして、因果分析インターフェイスに入ります。
ステップ 1: 因果データセットの構成
因果分析モジュールに入った後、最初のステップは因果分析を構成することです. よりターゲットを絞った分析のために、関心のある変数またはデータサブセットを選択できます. 構成が完了したら、[続行] をクリックして次の手順に進みます。 (通常、RATH はデフォルトの構成を支援します。ほとんどの場合、クリックするだけで続行できます)
ステップ 2: 関数の依存関係を編集する (省略可能)
関数の依存関係の編集とは、既知の変数間の計算上の関係を事前に定義することを指します。 通常、このステップ RATH は、自動構成後にスキップするのに役立ちます。 ただし、ここに入力して、必要に応じてさらに変更を加えることもできます。 たとえば、時間変数 Date に基づいて Year の情報を抽出すると、これら 2 つの変数間の計算関係は人為的に定義および決定されます。 この情報を事前に RATH に通知することで、その後の因果分析の精度が大幅に向上します。 通常、RATH で自動展開/変換を使用して新しい変数を生成するか、カスタム式を使用して新しい変数を定義します。 下の図に示すように、RATH はデフォルトでこれらの関係を宣言します。 同時に、RATH は変数間の数値パフォーマンスに基づいていくつかの迅速な推論を行い、表示されていない定義済みの関係を見つけます。 独自の指標ライブラリまたは指標プラットフォームをお持ちの場合は、維持している計算関係を RATH にインポートして、RATH の分析効果をさらに向上させることができます。
すべての変数間の関係を知る必要はなく、因果計算自体がそれを発見するのに役立つことに注意してください。 一般に、システム内で人為的に生成された計算依存関係 (特定のフィールドから式、SQL などによって計算された新しいフィールドなど) については、事前に依存関係宣言を行うことをお勧めします。 式などの関数を使用して RATH で新しいフィールドを生成する場合、RATH はデフォルトでこれらの依存関係を自動的に宣言します。
ステップ 3: 因果分析
このステップは、モジュール全体の中核であり、ここから実際の因果分析に入ります。 このページで、「原因と結果の発見」ボタンをクリックします。 RATHは、データの観測に基づいて、変数間の影響関係を含む因果グラフを計算してレコメンドします。
下図のように、糖尿病データセットに対してRATHが自動発見した因果関係図です。
内部にいくつかの重要な影響関係を確認できます。
- 体内のインスリンの量が最初に血糖値に影響し、次に血糖値が最終的に糖尿病を発症するかどうかに影響します。
- インスリンは体の BMI にも影響し、血圧や皮膚の厚さなどの指標にも影響します。
このグラフを操作して、「糖尿病かどうか」などの特定のノードをクリックできます。 現在のノードに直接関連するノードが強調表示されると同時に、変数間の関係の強さである 2 つの間のエッジが表示されることがわかります。 以下に示すように
ノードをクリックすると、右側にもさまざまな機能モジュールが表示され、さらに詳細なデータ マイニングが可能になります。左側の因果関係図を操作すると、インタラクティブな変数情報が右側の分析列に表示されます。 .
解釈可能な探索 (コントロール分析)
このモジュールは主に、因果関係の特定の状況を調査して理解するのに役立つか、いくつかの因果関係の仮説を検証して調査するのに役立ちます。 ここで、左図の糖尿病の有無をクリックすると、糖尿病患者と糖尿病でない人の分布が右側に表示されます。 グループの 1 つをクリックするか、糖尿病のグループなど、すべてのグループを選択できます。 その後、比較分析を開始できます。 比較分析とは、2 つのグループの違いを比較し、因果モデルに従って 2 つのグループの違いの理由を説明することです。 ここにある 2 つのグループは、現在提供されているコントロールの選択で切り替えることができます。
- 選択された部分は、コーパス全体と比較されます。 (例: 1 月と 1 年全体の比較)
- 選択したパーツをその補数と比較します。 (1月と1月以外の時期を比較するなど)
- 選択されたパーツは、指定された別のセットと比較されます。 (例: 1 月と 6 月の比較) 実際のシナリオでは、比較分析は、異常なグループと全体の違いを比較して異常の原因を分析するなど、多くの詳細な洞察分析を実現するのに役立ちます。
関心のあるデータ サブセットとコントロール グループを特定した後、「発見」ボタンをクリックして、根本的な理由の分析を取得します。 RATH は、原因と結果の図を組み合わせて、考えられる潜在的な原因をいくつか示します。
下の図に示すように、ここでは糖尿病患者と非糖尿病患者を比較します。 RATHは、2つのグループの違いは、血糖、年齢、インスリン、およびその他の理由によって引き起こされる可能性があることを発見しました. 潜在因子「血糖」をクリックすると、血糖値の分布が2つのグループで大きく異なることがわかります。 オレンジ色は糖尿病集団の状態を表しており、その血糖分布は非糖尿病患者よりも有意に高くなっています。
セルフサービス分析モジュール
因果関係を調査する過程で、柔軟な視覚的セルフサービス分析ツールを使用して、因果関係に関するいくつかの仮定を検証することもできます。 糖尿病データセットでは、RATH は、体内のインスリン レベルが糖尿病の直接の原因ではないことを示しています。 自律的な分析ツールの助けを借りて、右側の「糖尿病」と「インスリン」の関係を示すことができます。 直観的に、病気のグループのインスリン含有量は健康なグループのそれよりも高いことがわかります。
この時点で、従来の変数相関分析または機能重要度分析に基づいて、2 つの間に明らかな関係があるという結論を直接導き出すことができます。 しかし、RATHによる因果分析結果と合わせることで、具体的な影響メカニズムを深く理解することができます。 RATH が教えてくれる 2 つの中間変数血糖値を紹介します.異なる血糖値間隔 (または血糖値を変化させずに制御していると理解される) の下では、病気のグループと健康なグループの間でインスリンに絶対的な違いはないことがわかります.違います。 つまり、血糖値のコントロールが変わらない場合、本来関係する変数の病気の有無と体内のインスリンとの関係は弱くなり、測定変数同士の関係にさえ近づいていきます。
病気のグループと健康なグループの間で、全体的なインスリン分布に大きな違いがあります
制御変数の血糖値が一定の場合、病気のグループと健康なグループの間の全体的なインスリン分布の差は非常に小さい
因果関係の検証
因果検証モジュールとセルフサービス分析モジュールはどちらも、因果関係の理解を深めたり、因果関係の仮定を検証したりするのに役立ちます。 因果検証モジュールでは、インタラクティブな連携を通じて、変数が互いにどのように影響するかをより動的に理解できます。
因果関係図のノード(変数)をクリックすると、対応する変数の分布図が右側の検証モジュールに追加されます。 たとえば、対応する研究では、尿糖含有量と血糖値の間に関係はありません
下のアニメーションで示されているように、血糖値の範囲を選択します.この範囲が大きいものから小さいものに変化しても、尿糖量の分布は大きく変化しません. これは、両者の間に正の相関関係があるはずだという一部の人々の直観と矛盾しています。
また、「Clue Discovery」ボタンをクリックして、RATH の半自動探索機能を使用して、変数間の関係をさらに調査することもできます。 半自動で推奨される散布図では、両者の間に明らかな関係がないこともわかります。 さらに、半自動は便利なデータ探索機能も提供するため、変数間の関係をより自由に探索できます。
モデル予測
RATH は、機械学習モデルを迅速にデバッグおよび展開するためのツールも提供します。これにより、因果推論を組み合わせて、機械学習アルゴリズムおよび特徴の選択と構築をさらに微調整することができます。 以下のように、「糖尿病かどうか」というターゲット変数をクリックすると、RATH は、分類または回帰タスクの因果関係に基づいた単純な機械学習モデルを自動的に構築するのに役立ちます。
「分類予測ボタン」をクリックすると、RATH はすぐにトレーニングを行い、モデルの精度を示します。
因果図を組み合わせて特徴選択戦略を調整し、因果関係に従ってより効率的な影響因子を選択して、モデルの調整を実現できます。 ここで簡単な検証を行うことができます.モデル化には RATH が推奨する影響機能を使用したため、ここでは因果関係に基づいて RATH が選択した機能を意図的に回避し、比較のためにモデルをトレーニングします.
下の図に示すように、モデルの精度が大幅に低下していることがわかります。
大規模な多変量データセットをモデル化および調整する場合、RATH を使用すると、より優れた機能をより効率的に見つけて、モデルの精度を向上させることができます。
因果関係編集
因果関係の発見と推論では、データのノイズ、サンプル サイズの不足、影響要因の収集の失敗などにより、RATH によって自動的に与えられる因果関係と実際の関係との間にずれが生じる場合があります。 RATH を使用すると、単純なグラフ編集によって因果モデルの構築に介入できます。 下の図に示すように、左側のツールバーで編集関係を開き、既存の関係を編集します。
ここで、血糖値から尿糖値への影響関係を強制的に追加したいとします。これは、下の図に示すように実行できます。
編集後、RATH は提供された情報に基づいて推論ロジックと因果モデルを再調整します。 下図は弊社介入後のモデルです。
次の歩
参照: What If 分析,文字パターン発見 の章。
- 後続の RATH は、既知の因果モデルと障害データに基づく障害診断の実行、テキストの説明と意思決定の提案の生成など、最前線の専門家ではないアナリスト向けの低しきい値機能の補足にも焦点を当てます。