以下の本を読みます。キャラクターは架空のものです。解釈の誤りは筆者に帰属します。お気付きの点がありましたらご指摘いただけますと幸いです。
- 作者:清水 昌平
- 発売日: 2017/05/25
- メディア: 単行本(ソフトカバー)
まとめ
- 4章: 実際に LiNGAM で変数間の因果関係を推定する方法は(この本で主に取り上げられているのは)2つあって、
- 観測変数間の関係を全体的に求めてそれと整合的な因果グラフを特定する派:
まず の を求める(ICA の手法でスケーリングと行の順序を除いて特定できる)
→ 「対角成分が1」「下三角」を満たすようにスケーリングと行の順序を特定する
→ ここまでで観測変数ベクトルの成分が因果的順序になっているので後は自分より親で回帰 - 2観測変数間の関係からどの観測変数が祖先が順に特定していく派:
因果が正しい向きに回帰すれば誤差と説明変数が独立になることを利用し親のない観測変数を特定する
→ 全体からその変数の寄与を除いて繰り返す
- 観測変数間の関係を全体的に求めてそれと整合的な因果グラフを特定する派:
3章までで構造的因果モデルに線形関数・非ガウスノイズを仮定すれば観測変数の分布から因果グラフを識別できることはわかりましたが、その具体的な手法はまだ示されていませんね。これでは、ありうるすべての因果グラフにありうるすべての誤差分布を試さなければならないのではないでしょうか。早速4章を読んで LiNGAM なる手法の詳細を学びましょ…独立成分分析(ICA)? 最初から LiNGAM を教えてくれるのではないのですか? 仕方ないので読んでいくよりないですね…以下のようなモデルを考えるとのことです。
- : マイク1が集音した波形(のあるフレームの値)
- : マイク2が集音した波形(のあるフレームの値)
- : 人物1の声の波形(のあるフレームの値)
- : 人物2の声の波形(のあるフレームの値)
違うんじゃないかな。88ページに ICA の仮定として が独立であるとあるよ。同じ曲を歌う2人の歌声は独立にならないでしょ。その曲の楽譜という共通原因が存在するよ。もしかしたらそれを独立になるようにプレ処理するフレームワークとかがあって歌声にも適用できるのかもしれないけど知らない。…本題に戻ると、ICA の目的は統計的因果探索の目的ととても似ているね。 から構造方程式の係数行列を推定するところまでは。でもそこから先が、ICA は「未観測変数を復元すること」、統計的因果探索は「因果グラフを復元し平均因果効果を推定すること」とちょっとずれるね。あと、ICA では観測変数が他の観測変数の原因になることがないのかな。マイク1の波形がマイク2の波形に因果効果をもたらすことはない。
は独立なのですか。2つのマイクの側で2人の人間が互いを気にせずにしゃべっているとはどういう状況なんです。まあいいです。 へのもう1つの仮定は、これらが非ガウス分布にしたがうということですね。それで、 の は正則と仮定するんですね。もし上の例の 2×2 行列 のランクが 2 ではなくて 1 だったら、例えば だったら、マイク1もマイク2もどちらも人物1より人物2の声の方を2倍強く集音する全く同じ役割のマイクになっており、マイクを2つ用意した意味がありません。予算の無駄すぎます。こんなミスが起きていないと信じられる状況であれば 「 はわからないけど正則ではあるはずだ」というのは無理な仮定ではないのでしょうかね。まあ認めましょう。この仮定をすれば、「 を一意に推定することはできませんが、それと列の順序と尺度だけが異なる可能性のある行列なら推定できるということです(89ページ)」ということです。はい? 尺度とは??
その後を読めばわかる。 と列の順序と尺度だけが異なる可能性のある行列 は、対角成分がゼロでない対角行列 と 置換行列 を用いて とかけるということだ。これは の 列を 倍( )してから列をシャッフルする操作だね。ICA で特定できる は本当にほしい に右から と がかかってしまっているということだ。 の各列のベクトルの向きだけが特定できると言い換えてもいいだろう( が負かもしれないからベクトルの向きを特定できるというのもちょっと語弊があって、ベクトルがのる直線を特定できるといった方がいいのかな)。なぜそんな中途半端にしか特定できないのかは理解しやすい。まず、人物1の声を第1成分にして人物2の声を第2成分にする必然性がない。逆にしても構造方程式はかける。そして、人物1の声を2倍にして人物1の声にかかる係数をすべて 1/2 倍しても構造方程式はかける。ここも必然性がない。…この状況で推定できる可能性があるのは、1人目(人物1か人物2かはわからない)の声を定数倍したものと、2人目の声を定数倍したものだね。なるほど「独立成分分析」だ。
各成分から自由にちょっとずつ絞り出せちゃったら困っちゃうんだよね。そんな変換をしたベクトルはもう、人物1の声も人物2の声も混ざり合っていて分離できてない。
正則な係数行列 各成分が独立な確率分布にしたがうベクトル という形に分解してくださいといわれたとき、 と を区別できないということですね、確率分布がガウス分布であると仮定すると。…まあそれで、 を推定するには の成分どうしが独立になるような を見つけて逆行列をとるんですね。具体的には、 の相互情報量を最小にする…相互情報量は、その多変量確率分布と、各成分どうしが独立であると考えた場合の確率分布のカルバック・ライブラー情報量ですよね。相互情報量=0 を達成できたらそのときはもう各成分どうしは独立です。…各成分どうしが独立の分布とのカルバック・ライブラー情報量とはどうも既視感がありますね…平均場近似です。しかし、あのときはカルバック・ライブラー情報量の向きが逆でしたね…。
平均場近似の文脈では「各成分どうしが独立の分布」は「手段」だったけど、今回は「目的」だしね…。
- 平均場近似 ― データの生成分布を近似的に推定するために、独立な成分(のブロック)が2つ以上あるモデルを仮定し、交互に更新する。
- 独立成分分析 ― データの独立成分を復元する。
ともかく LiNGAM に進みましょう。構造方程式は ですね。行列表現すれば です。96ページには非巡回性の話がありますね。 というのは「 が の原因になるならば必ず となるような各成分への番号の振り方」ですよね。添え字 の成分が添え字 になるような並べ替えを行えば が狭義下三角になると。 が定義できれば が狭義下三角になるのはわかりますが、 が常に定義できるんでしょうか…98ページの下から5行目に「必ずあります」とありました。
証明の仕方はわからないけど、閉路がないグラフなら、「上流」から値を流していったときに2回以上値が更新されるノードはないわけで、すべてのノードが「移項」をしなくてもすんなり値が求まるわけで、それってガウスの掃き出し法でいう「前進消去」が既にできている状態だと思う。だから並べ替えさえちゃんとすれば が狭義下三角( が対角成分が1の下三角)になるって気はするかな…。
ともあれ、 は狭義下三角としてよいのですね。それで、 と変形して…結局独立成分分析じゃないですか! いやでも待ってください、 って必ず正則になりますか?
必ず正則になるよ。 だからね。
う、確かに。いやだとしても、ICA では を までしか特定できませんでしたよね。となると も までしか特定できず、結局 は までしか特定できず、因果グラフが定まらないじゃないですか。
違うかな。101~105ページを読めばわかる。つまり、ICA では は正則であるという情報しかなかったけど、いま LiNGAM では は「対角成分が1の下三角行列である」までわかっている。であれば、求まった に、下三角にするような行の入れ替え と、対角成分を1にするようなスケーリング を順に左からかけてやればいい。 は特定できる。理論的にはね。
なんと、ぴったり復元できますね。人生で一番感動しました…。
人生で!? それで、4章の続きは具体的な推定アルゴリズムだね。1つ目は ICA の解法を活用する方法で、手順は以下かな。
- ICA の何らかの推定アルゴリズムで を求める。
- 次に、対角成分をゼロでなくすため、対角成分の絶対値を大きくする置換 を求めて、対角成分が1になるようにスケーリングして を得る。
- 次に、狭義下三角にするため、 より、 が下三角行列に近くなる置換 を求める( が大きくなると全探索は困難になるので、 の絶対値が小さい方から 個の成分をゼロにしたら狭義下三角にできるかを調べるなどで回避する)。
- ここまでで変数間の因果的順序が求まるので、各変数を親変数候補(因果的順序が自分より先である変数の集合)で回帰し、 を推定する。ただし、普通に回帰したのでは冗長な有向辺が出るので、一致推定量 を求めた後適応型 Lasso する。
まず対角成分を確定させるんですね。しかし、対角成分たちとして絶対値の逆数の和が最小な組み合わせを選べば大丈夫なんでしょうか。
どうなんだろ。詳しくかいてないからわかんないな。もう1つの推定アルゴリズムは LiNGAM 専用アプローチだね。
正しい因果的順序で回帰すれば説明変数と残差が独立になるが正しくない順序だと従属になる? なぜこのような差が…慢心、環境の違い…。ときに副部長、説明変数と被説明変数を誤ってしまうと本当に従属になるのですか?
なんで?
以下の(1)(2)が成り立っているかどうかを確認してみますよ。
(1) を で回帰した残差 が と独立である。
(2) を で回帰した残差 が と独立である。
だから(1)については以下のようになって独立になっています。
他方、(2)については以下のようになって、やはり独立になっています。
より一般に、因果関係のわからない を で回帰するとき、
ですから、説明変数と残差は常に独立なのではないでしょうか?
は独立じゃなくて無相関の定義だよ…独立は だから、しいてかくなら以下で、説明変数と残差は常に無相関ではあっても因果の向きを誤ると独立じゃないよ。
だって(1)の を で説明しようとするなら説明できない分は で と独立だけど、(2)の を で説明しようとするなら説明できない分は と従属だよ、雑だけど。定理4.1をつかうと従属であると示せるのか…。
(1)
(2)
なんと…騙されました…。それで、114ページの定理4.1は、なんだかモデルが独立成分分析のようですが…どういうことですか?
どちらのマイクにも声が拾われている人がいるのに独立になるんですか?? 理解しがたいですね…。