半可通なりに果敢にも統計マンダラを描いてみた(20110218改訂)
今回は果敢にも半可通なりの統計マンダラを描いてみました。私は紛れもない半可通なので間違っているところが多々あると思いますが、ぜひ専門家の皆様に適宜御ツッコミいただければ幸いです(ぜひコメント欄もご利用/ご照会ください)。
【20110218追記:マンダラ図を差し替えました(画像をクリック後「オリジナルサイズを表示」で大きな画像が見れます)】
意図としては、「殆んどの統計モデルは有向*1グラフの形で描けて、そのグラフ構造を数式として実装するときに幾つかの流儀がある」という視点からまとめてみました*2。この試みが成功しているかどうかは良く分かりません。
以下に補足として、それぞれの解析法をモデル式およびグラフで描くとどうなるかも簡単に示していきます。(ここも色々と間違いがあるかもしれませんのでご注意ください!)
仮想の例:「モテる」要因を分析する
説明のための仮想例として「モテる」要因を分析するケースを考えてみましょう。以下ようなデータがあるとします
- 【目的変数】モテ度*3
- 【説明変数】年収、学歴、容姿、職の有無、友人の数
全ての変数のデータが観測されて(何らかの方法で)数値化されており、また全ての変数のデータの値は「平均ゼロ・分散1」に標準化されているものとします。
余り細かい部分は気にせず、おおらかに見ていただければ幸いです。
単回帰モデルの例
ではまず単回帰していきます。例えばとにかく「金さえあればモテる」と考えると以下のような単回帰モデルになります。
モテ度 = a×年収 + 残差
と書けます。aが回帰係数で、データは標準化されているので、切片はゼロになります(以下においても同様)。
重回帰モデルの例
「年収」以外の要因も考えてみましょう。とりあえず観測した説明変数を全部いれると以下のような重回帰モデルになります。
モテ度 = a×年収 + b×学歴 + c×容姿 + d×職の有無 + e×友人の数 + 残差
a, b, c, d, eはそれぞれの変数の偏回帰係数になります。
重回帰モデルの特殊な場合として、説明変数が一つの場合は単回帰モデル、説明変数がない場合は単なる正規分布の当てはめ、と捉えることもできるかと思います。
パス解析モデルの例
ではパス解析に入ります。パス解析は説明要因間の因果関係を考えることが特徴です。例えばパス図でこのようなモデルを描けるかもしれません。
このモデルでは「職の有無」は「学歴」に直接的に左右され、「年収」は「職の有無」に直接的に左右されることを示しています。このような他の説明変数の関数となる(因果の矢が刺さっている)説明変数を「内生変数」と呼びます(図中ではピンクの枠線で示しています)。図中のオレンジの線は因果のパスを、緑の線は外生変数(他の説明変数の関数でない変数)間の相関(因果関係を意味しない)を表します。簡単のため図中の残差は省略しています(以下においても同様)。
数式で書くと以下の1群の式の形になります:
学歴 = 学歴 容姿 = 容姿 友人の数 = 友人の数 職の有無 = a×学歴 + 残差1 年収 = b×職の有無 + 残差2 モテ度 = c×年収 + d×容姿 + e×職の有無 + f×友人の数 + 残差3
パス解析ではこれらの式を行列として線形代数的に取り扱い、最尤法などを用いてパラメータの推定が行なわれます。
ここで重要なのは、パス解析(因果モデル)では「これらの式の左右を入れ替えると意味が変わってしまう」ということを理解することです(これらの式は"代入式"である、という言い方もされます)。例えば、「年収 = b×職の有無 + 残差」という式は「職の有無により年収が左右される」という因果の向きを意味しています。この式の左右を逆にすると「年収により職の有無が左右される」という(ちょっと変な)違う因果の向きを意味することになります。
ここで、右辺はデータの生成過程のモデルになっているという言い方もできます。「式の左右の入れ替えが不可」「右辺が(必ず)データ生成過程のモデルである」という点がパス解析(因果モデル)と回帰分析を質的に隔てるキーポイントになります。
ちなみに前項の重回帰モデルをパス解析で無理やり描くと以下のようになります:
重回帰では「内生変数」というものが無く、内生変数を用いてデータ生成過程のモデルを構築して解析していくのが「パス解析」と捉えることができそうです。
構造方程式モデル(SEM)の例
構造方程式とパス解析の違いは、構造方程式は「潜在変数」を含みうることにあるようです*4。では、例として上記の例に潜在変数(非観測変数)として「甲斐性」と「リア充度」を導入してみましょう(図中では緑色の円で潜在変数を示しています)。
【20110218追記:あまり以下の図はSEMの例としては好ましくないことに気づきました。通常は(因子分析的に)常に潜在変数を観測変数の原因としてモデリングするのが普通らしいです。つまり以下の例では「地頭の良さ」みたいな潜在変数を考慮して、そこを原因として「学歴」「職の有無」「年収」などにパスが出るようなモデリングをするのがSEMのふつうの使い道らしいです。大変申し訳ない。この例だと主成分分析っぽい感じになるのかしら(参考)。】
構造方程式では、このような潜在変数を使っていくつかの関連変数の効果をまとめることができます。このような方法は、観測可能なもの(部分的にしか観測され得ないもの)の背後にある「潜在的要因」に本命の興味がある場合には有効でしょう。
ちなみに式で書くと以下の1群の式の形になります:
学歴 = 学歴 容姿 = 容姿 友人の数 = 友人の数 職の有無 = a×学歴 + 残差1 年収 = b×職の有無 + 残差2 甲斐性 = c×年収 + d×職の有無 + 残差3 リア充度 = e×容姿 + f×友人の数 + 残差4 モテ度 = g×甲斐性 + h×リア充度 + 残差5
構造方程式モデルではこれらの式を行列として線形代数的に取り扱い、最尤法などを用いてパラメータの推定が行なわれます。
【20110218追記:上の例が良くないので以下を追加しました。上の良くない例も参考のため残しておきます。】
上記の例はあまり良くなかったので、「原因」となる潜在変数として「地頭の良さ」と「人柄」を加えた例を追加してみました。こっちのほうが例としてはずっと適切と思われます。
「モテ度」の構成における「頭の良さ」と「人柄」の重要度や関係性、みたいなことを知りたいときにはこんなモデリングになるのかな。
SEMは社会科学系で良く用いられているようですが、生態学系でも最近のNatureの論文などでも使われていましたね。
線形の限定を外してみる
上記の例では線形代数で扱える世界の話に限定されていました。
上記の構造方程式モデルで、線形の縛りを外した一般的なモデルの表現は:
学歴 = f1(残差1) 容姿 = f2(残差2) 友人の数 = f3(残差3) 職の有無 = f4(学歴,残差4) 年収 = f5(職の有無,残差5) 甲斐性 = f6(年収,職の有無,残差6) リア充度 = f7(容姿,友人の数,残差7) モテ度 = f8(甲斐性,リア充度,残差8)
という感じになるでしょうか。ここでお互いの残差は独立と仮定しています。f1〜f8は任意の関数形です。これらの関数形が全て線形という特殊な場合が構造方程式モデルに対応します。
また、条件付き確率分布の積の形で上式に対応する非循環有向グラフを因数分解して記述するとこんな感じになるでしょうか?(ここの部分ものすごく自信ないです)
p(モテ度|甲斐性,リア充度)×p(甲斐性|年収,職の有無)×p(リア充度|容姿,友人の数) ×p(年収|職の有無)×p(職の有無|学歴)×p(友人の数)×p(容姿)×p(学歴)
線形代数の形式に持ち込めない系において、こういう複雑な同時確率分布における多数のパラメータ推定をしようとするとMCMCが必要、という感じになってくるのでしょうか??この辺りから私には全く分からなくなってきます。
この辺りのDAG(非巡回有向グラフ)とSEMと階層ベイズモデルの関係はまだ私には全く分かりません*5。
何とかこの辺りを分かりたいものですが、分かったとして果たして実務者としてご利益があるのかどうかもよく分かりません。でも何か気になります。
参考図書
- 作者: 小島隆矢
- 出版社/メーカー: オーム社
- 発売日: 2003/12
- メディア: 単行本
- 購入: 13人 クリック: 152回
- この商品を含むブログ (9件) を見る
統計的因果推論―回帰分析の新しい枠組み (シリーズ・予測と発見の科学)
- 作者: 宮川雅巳
- 出版社/メーカー: 朝倉書店
- 発売日: 2004/04
- メディア: 単行本
- 購入: 6人 クリック: 67回
- この商品を含むブログ (22件) を見る
多変量解析の展開―隠れた構造と因果を推理する (統計科学のフロンティア 5)
- 作者: 甘利俊一,佐藤俊哉,竹内啓,狩野裕,松山裕,石黒真木夫
- 出版社/メーカー: 岩波書店
- 発売日: 2002/12/10
- メディア: 単行本
- 購入: 1人 クリック: 16回
- この商品を含むブログ (14件) を見る
*1:この部分について、「有向グラフ」「非循環グラフ」「グラフ」のどれに限定するのが良いのかがよくわからない/説明されてない偏相関には単に仮想上の「親」をつければDAGの枠内で描けそうな気もするのだけれどそれじゃだめなのかな
*2:この視点が正当なものかどうかもちょっと自信はないのですが
*3:異性にモテる度合いを何らかの方法で数値化したもの
*4:SEMはパス解析も含む
*5:メモ:狩野先生のスライド資料(http://www.sigmath.es.osaka-u.ac.jp/~kano/research/application/2006/07DMSM.pdf)に「DAGで線形構造方程式モデルを考えるときにはSEMと同等と思って良い(思想的には異なる)」との記述あり