トップページ | ひとつ上のページ | 目次ページ | このサイトについて | ENGLISH

隠れ変数の探索

因果推論 のために、 相関関係による仮説の探索 を進めるのは、とてもポピュラーですが、期待通りにならないことはよくあります。

例えば、下図の時のように、Yの変数と相関の高い変数として、X1とX2の2つを見たところ、Yはどちらとも相関がなかったりします。
隠れ変数

隠れ変数の探索は、このような時に役に立つことがあります。

隠れ変数は潜在変数の一種

「隠れ変数」というのはこのサイトの造語です。 隠れ変数は、 因子分析 で言うところの「潜在変数」の一種です。

因子分析では、潜在変数がいくつかあって、それがデータとして得られている変数の背後にあると考えます。

ここでいう隠れ変数というのは、 データとして得られている変数を見た時に、例えば、潜在変数がひとつあることは容易に推定できるものの、 実はもうひとつある時に、もうひとつの方は推定できない状況の時の、推定できない方の潜在変数のことです。

隠れ変数が見つかった場合

隠れ変数があれば、上の例の場合は、下図のようになります。 このグラフは、横軸が原因系と考えている変数で縦軸がYです。

この図を見ると、YとPC2という変数はとても相関が高いことがわかります。 PC2が隠れ変数です。
隠れ変数

隠れ変数が見つかるのはどういう時か?

隠れ変数が見つかるのは、X1やX2という変数が、2つの変数が合成されたものになっている場合です。

隠れ変数は、なぜ隠れていたのか?

隠れ変数が見えないのは、X1やX2の変数を見ている時に見えているのは、合成した変数の片方だけです。 例えば、X1の数値が「10」で、
10 = 9 + 1
という計算の結果、この数値ができているのなら、「9」の方の変数の方が見えているもので、「1」の方の変数は見えません。

隠れ変数が隠れていたのは、小さな影響しかないように、合成されていたためになります。

隠れ変数が見つかった後の進め方

隠れ変数が見つかると「見つかった!」となりますが、その後のデータ分析は、なかなか難しいです。

Y、X1、X2と違って、隠れ変数は実際に測定して得られたものではなく、計算上、存在が推測される変数なためです。

「X1とX2に合成されて含まれて来るような要因は、実際には何があるのか?」、といったように、 メタ知識 を駆使する必要があります。

隠れ変数を見つける方法

上記は、隠れ変数が見つかった場合ですが、上記の例は、 主成分分析 を使って、隠れ変数を見つけています。

主成分分析 の主成分は、合成変数です。 そのため、X1を合成変数と考えて、その要素として主成分を計算するのは、変な感じがしますが、 この方法で見つかりました。

独立成分分析因子分析 でも見つけることができます。 どれが適しているかは、データの構造によるようです。

多重測定の威力

隠れ変数の話は、 二重測定による判別能力の向上 と似ているところがあります。

隠れ変数は、X1やX2が片方しかなかったら、見つけることができません。 少なくとも2つ以上の変数が必要です。

同じ現象について、同じようなデータが複数あると無駄な感じがしますが、隠れ変数は、このようなデータがないと見つからないです。

多重共線性を利用する

一般的なデータ分析では、 重回帰分析 がとても面倒になったり、データの解釈がややこしくなるので、 多重共線性 は、嫌われがちなデータの性質です。

しかし、隠れ変数は、多重共線性があるように見えるデータから得られるものです。

隠れ変数があっても抽出できない場合

隠れ変数のような変数があったとしても、いつでも抽出できる訳ではないです。

まず、X1やX2に含まれる割合があまり小さ過ぎると、隠れ過ぎていて見えないです。

また、X1やX2への含まれる割合が同じ場合も、見つかりにくくなります。

隠れ変数を見つけるノウハウ

実施例では、Yの変数はデータから分けてから、主成分分析や独立成分分析をするようになっています。

分けたデータから出てきた主成分とYを比べる方法が、一番見つけやすいです。 こうしないと、隠れ変数の影響が誤差にしか見えず、見落としやすくなるようです。

ソフト

Rによる実施例としては、 Rによる隠れ変数の分析 のページがあります。

Pythonによる実施例としては、 Pythonによる隠れ変数の分析 のページがあります。




順路 次は if-thenルールと因果関係の関係

Tweet データサイエンス教室