雑記

お気付きの点がありましたらご指摘いただけますと幸いです。

  1. 宮川 雅巳. 統計的因果推論―回帰分析の新しい枠組み (シリーズ・予測と発見の科学). 朝倉書店. 2004.

💜

f:id:cookie-box:20211229165400p:plain:w70
  • [1] の 76 ページの図 5.1 (c) のとき、つまり、交絡因子 Z があるときの介入効果は以下ですね。
     \displaystyle \begin{split} f(y| {\rm set}(X=x)) &= \int \frac{f_V(x, y, z)}{f_{X \cdot Z}(x| z)} dz \\ &= \int \frac{ f_Z(z) f_{X \cdot Z}(x| z) f_{Y \cdot XZ}(y|x,z) }{f_{X \cdot Z}(x| z)} dz \\ &= \int f_Z(z) f_{Y \cdot XZ}(y|x,z)dz \end{split} \tag{5.5}
    ピアノと東大生の例でいうと、実家がお金持ちかが交絡因子 Z です。Z という変数がなければこの介入効果は単に「対象データ中でピアノを習っていた人のうち何人が東大生か」ですが、Z があるので実家の収入ごとにこれを考えて重み付き平均します。

雑記

お気付きの点がありましたらご指摘いただけますと幸いです。

  1. 宮川 雅巳. 統計的因果推論―回帰分析の新しい枠組み (シリーズ・予測と発見の科学). 朝倉書店. 2004.
  2. 26. 重回帰分析 9(コントロール変数の選び方:バックドア基準と DAG)

💜

f:id:cookie-box:20211229165400p:plain:w70
  • 因果ダイアグラムとは「このグラフは因果関係を記述しています」という非巡回的有向グラフですが、では逆に因果関係とは何かというと各頂点に対応する確率変数が 74 ページの同時密度関数をもっているということでした。因果のイメージが、頂点と矢印でできた図形になり、ひいてはちゃんと数式になったわけです。
  • これで「介入効果」も数学的に定義できるわけですね(75 ページ)。(5.2) 式がその介入効果であり、X を強制的に x にした下での y の密度関数になっています。X の親たちはいなかったものとされますね。

雑記

お気付きの点がありましたらご指摘いただけますと幸いです。

  1. 宮川 雅巳. 統計的因果推論―回帰分析の新しい枠組み (シリーズ・予測と発見の科学). 朝倉書店. 2004.
  2. 26. 重回帰分析 9(コントロール変数の選び方:バックドア基準と DAG)

💜

f:id:cookie-box:20211229165400p:plain:w70
  • 前回、因果関係を記述している非巡回的有向グラフを眺めて具体的な確率変数を思い浮かべましたが、含めるべき変数と含めるべきでない変数というものがありました。それらは具体例を当てはめてみれば直感的にもわかりますが、いつもいつでもどんな形のグラフでも過不足をシステマティックに検出するにはどうすればいいのでしょうか。
  • 参考文献 [1] の 74 ページにある、「因果ダイアグラムは、それを形式的に非巡回的有効独立グラフとみたとき、そこで規定される独立性・条件付き独立性を満たすことになる」とは?
  • 参考文献 [1] の 74 ページによると、因果ダイアグラムとは、非巡回的有向グラフであって、各頂点に確率変数が対応していて、実際に各確率変数がグラフが規定する因果関係にしたがって生成されているようなもの、ですね。グラフはグラフだがこのグラフは因果関係を記述しているのだぞ、と捉えればいいのでしょうか。
  • 非巡回的有効独立グラフの方の定義は 60 ページです。非巡回的有向グラフであって、各頂点に確率変数が対応していて、各頂点に対応する確率変数の同時分布の密度関数が (4.10) 式になっているもの、ですか。グラフはグラフだが、このグラフは同時密度関数を記述しているのだぞ、でしょうか。
  • ……あ、非巡回的有効独立グラフの定義には「因果的関係」などという文言がないですね。因果などという数学的によくわからないものに依拠していません。

雑記

お気付きの点がありましたらご指摘いただけますと幸いです。

💜

f:id:cookie-box:20211229165400p:plain:w70
  • 参考文献 [1] に A~F の 6 つの DAG がありますね。
  • A は、X が「ピアノを習っていた」で、Y が「東大生」で、Z_1 が「家が金持ち」というやつでしょうか。ピアノを習うと頭がよくなるのではなく教育にお金をかけられるだけとよくいわれるあれです。真偽は知りません。そしてこの Z_1 はまさしく「交絡因子」ですね。交絡因子の要件は以下でした。
  • E は、X が「砂糖の価格」で、Y が「カカオの価格」で、C_1 が「チョコレートの価格」という例はどうでしょうか。現実にはこのような例で因果を取り違えないでしょうが……。
  • では D は……X が「カカオの価格」で、M が「チョコレートの価格」で、Y が「アーモンドチョコレートの価格」とか……食べ物の例ばかりになってしまいました。
  • 面倒なので開き直って全部食べ物で考えましょう。B は、X が「強力粉の価格」で、Y が「カスタードクリームパン」の価格です。一見問題がなさそうにみえますが(?)、カスタードクリームの原料には薄力粉が含まれます。そこで U_1「小麦の価格」を考慮するために Z_1「薄力粉の価格」で調整すると。……これをしなければ因果効果を見誤るケースって、「強力粉は小麦粉の価格に鈍感だが、薄力粉は小麦の価格に敏感であるために、クリームパンの価格の強力粉の価格への敏感度合いを見誤ってしまう」とかでしょうか。
  • C は逆に、X がカスタードクリーム、Y がカスタードクリームパン、U_2 が小麦、Z_3 が薄力粉でいいですね。
  • D は、X が小麦、Y がカスタードクリームパン、であるときに、薄力粉 M で調整してはいけないと。
  • というか本文の「合流点バイアス」という言葉をみて思い出しましたが、E は、X が大学入試での数学の点数、Y が大学入試での英語の点数、C_1 が大学入試に合格したかどうか、という例が有名でしたね……。
  • とすると F の Z_4, Z_5 は、高校での数学のテストの点数と英語のテストの点数になるでしょうか。
  • そもそも参考文献の [1] の下の方までみると具体例がありますね……。

雑記

参考文献

  1. GitHub - pkuzengqi/Skyformer: Skyformer: Remodel Self-Attention with Gaussian Kernel and Nystr\"om Method (NeurIPS 2021)(2022年5月12日参照).



以前に Skyformer が CPU で動くのを確認したGPU で動くか確認したら動いたというだけである。

from models.model_LRA import ModelForSC, ModelForSCDual
from config import Config
import torch

model_config = Config["lra-text"]["model"]
model_config["mixed_precision"] = True
model_config["attn_type"] = "softmax"
model = ModelForSC(model_config).cuda()

x = torch.tensor([[0, 1, 2, 3, 4]]).cuda()
label = torch.tensor([0]).cuda()
y = model(x, None, label)
print(y)
{'loss': tensor([0.6602], device='cuda:0', grad_fn=), 'accu': tensor([1.], device='cuda:0')}