雑記

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

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

💜

f:id:cookie-box:20211229165400p:plain:w70

  • 下図の非巡回的有向独立グラフでいずれかの変数を固定したときにうどんとようかんが独立になるかを判定するには、定理 4.4 を用いてもよいし、定理 4.5 を用いてもよいとのことです。定理 4.4 を用いるなら上段、定理 4.5 を用いるなら下段になります。
  • 定理 4.4 の証明は本にありますが、定理 4.5 の証明は難しいのですか。等価な定理であるのに片方が難しいのですね。しかし、上図の下段をみると、{あんパン}のみを与えた場合は、うどんからたどってもようかんからたどっても与えたものに突き当たったとき「そこに入っていく矢印」になりますよね。しかし、{小麦,あんパン}を与えた場合はうどんからたどったときの突き当たりは「そこから出てくる矢印」になります。突き当たりが「そこから出てくる矢印」であれば、向こう岸と独立なのは明白ではないでしょうか。

雑記

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

💜

f:id:cookie-box:20211229165400p:plain:w70
  • [1] がどんな本なのか把握するためにまえがきにある依存関係に各章のタイトルの和訳を付けてみましょう……このような和訳でよいのでしょうか。6 章の Contiguity は 2 つの測度の列の関係を表す概念のようですが、対応する日本語があるのかわかりませんでした。無理やり和訳すれば「隣接性」でしょうが、87 ページの contiguity の定義のすぐ下に「隣り合っているというイメージは正しくない」とあるのでこう呼ぶのは躊躇してしまいますね。ではなぜ contiguity と名付けたのでしょうか……。
  • イントロダクションを読んでいくと、統計的検定を行うには帰無仮説の下で検定統計量がどう分布するか知る必要があると。それはそうでしょう。そしてその分布はしばしば正確には得られず近似的にしか得られないと……うーん、よく2×2分割表に対して実施するカイ2乗検定は、検定統計量の分布がカイ2乗分布で近似できることに基づいていましたよね。正確な棄却域を得るには、ありうる分割表をすべて計算して得なければならなかったと思います(フィッシャーの正確確率検定)。検定統計量の分布が近似的にしか得られないのは、このように解析的に扱えないからという理由の場合と、そもそもの統計モデルを近似的なものとして考えているという場合があるようですね。
  • そしてこの本において n は常に無限大に近づくインデックスであると。覚えておかねば。そのうち忘れて n って何だろうとか言い出しそうですね……。

雑記

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

💜

f:id:cookie-box:20211229165400p:plain:w70
  • 系列データをトレンド、季節性、残差に分解する statsmodels.tsa.seasonal.STL は以下のように実行できますね。ほぼ [1] の Examples のままですが。なお、なぜ二酸化炭素濃度が季節性をもつのかという点ですが、北半球では春に二酸化炭素濃度が最大値になる、というより、光合成が最も活発な夏に二酸化炭素濃度が減る傾きが最大値になるということらしいです。実際、このデータ(ハワイのマウナロアの二酸化炭素濃度)の季節成分も5月が最大値で10月が最小値になっています。

    import pandas as pd
    pd.set_option('display.max_rows', None)
    %matplotlib inline
    import matplotlib.pyplot as plt
    plt.rcParams["font.size"] = 15
    plt.rcParams["figure.figsize"] = (11, 8)
    from statsmodels.datasets import co2
    from statsmodels.tsa.seasonal import STL
    
    dataset = co2.load()
    # 月次データにする ( DatetimeIndex をもつデータにしておくと STL にその周期を読み取ってもらえる)
    data = dataset.data.resample('M').mean().ffill()
    res = STL(data).fit()
    print(res.seasonal.iloc[:24])  # 季節成分
    # 図示
    res.plot()
    plt.show()
    

    robust=True とすると帰り値に重みが返ってきますね。外れ値がトレンドや季節性に反映されないようにして、残差に押し付けるのでしょうか。こちらの方が絶対値最大の残差の絶対値が大きくなるようです。

    res = STL(data, robust=True).fit()
    print(res.seasonal.iloc[:24])  # 季節成分
    print(res.weights.iloc[:24])  # 外れ値の影響を軽減するための重み
    # 図示
    res.plot()
    plt.show()
    

雑記

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

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

💜

f:id:cookie-box:20211229165400p:plain:w70

  • 下図のような食べ物の価格の因果ダイアグラムを考えます。この図であんパンはうどん~赤飯の道上の合流点です。小麦と小豆は同じ道上の非合流点です。赤飯にはもち米などからも矢線があろうとは思いますが以下の議論には関わらないので無視します。
  • このとき以下の頂点集合たちのうち{あんパン}以外はうどんと赤飯を有向分離します。つまり、{あんパン}以外はそれらを与えるとうどんと赤飯が独立になります。
    • {}
    • {小麦}
    • {あんパン}
    • {小豆}
    • {小麦、あんパン}
    • {小麦、小豆}
    • {あんパン、小豆}
    • {小麦、あんパン、小豆}
  • そもそもうどんと赤飯は(このシンプルな世界では)共通の原料をもたないので独立なのですが、あんパンを与えると合流点バイアスが発生しますね。あんパンの価格が一定ならば、小麦が高くなるほど小豆が安くなるでしょう。

雑記

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

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

💜

f:id:cookie-box:20211229165400p:plain:w70

  • 適当に考えた以下の例だとピアノを習っていることの東大合格への効果 \alpha_{yx} はゼロでした(追記: Z \perp \! \! \! \perp Y \, | \, X なので当然である)。ピアノを習っているかと東大に合格したかは正の相関(\rho_{xy} \approx 0.3563)をもつのですが、それはピアノを習っているかとご家庭の年収との相関係数にご家庭の年収からの東大合格への効果をかけたものと等しく、疑似相関で説明し切れてしまうからという理屈だと思うのですが、そもそもなぜご家庭の年収を観測できなくてもピアノの月謝さえあればそれが推測できるのでしょうか。

    x = standardization([0, 0, 0, 0, 0, 0, 1, 1, 1, 1])  # ピアノを習っているか
    y = standardization([0, 0, 0, 1, 0, 0, 1, 0, 0, 1])  # 東大に合格したか
    u = standardization([1, 2, 3, 4, 5, 5, 4, 4, 5, 5])  # ご家庭の年収 (観測不可)
    z = standardization([0, 0, 0, 0, 0, 0, 1, 2, 1, 2])  # ピアノの月謝
    

  • 以下であれば \alpha_{yx} \approx 1.6036 が正になりますね。ピアノを習っているならば月謝が 2 の子に限って東大に合格しているという状況です。月謝が 2 のピアノ教室ではきっと頭がよくなる音楽でも教えているのでしょう。それであればご家庭の年収を差し引いてもピアノを習うと東大に合格しやすくなるというのも頷けます。しかし、これはもはやピアノを習うとよいのではなく月謝 2 のピアノ教室に行くのがよいという話になっているような……。

    x = standardization([0, 0, 0, 0, 0, 0, 1, 1, 1, 1])  # ピアノを習っているか
    y = standardization([0, 0, 0, 1, 0, 0, 0, 1, 0, 1])  # 東大に合格したか
    u = standardization([1, 2, 3, 4, 5, 5, 4, 4, 5, 5])  # ご家庭の年収 (観測不可)
    z = standardization([0, 0, 0, 0, 0, 0, 1, 2, 1, 2])  # ピアノの月謝
    

    話をまとめると以下でしょうか。
    • ご家庭の年収が観測できないとき、ピアノを習っていることの東大合格への効果は知り得ない。ご家庭の年収のために生じる疑似相関を識別できないからである。
    • しかし、ピアノの月謝(ご家庭の年収から矢線がなく、かつ、東大合格に矢線がある)を観測できれば以下の手続きをとれる。
      • ピアノの月謝から東大に合格したかの効果 \alpha_{yz} は求められる (5.22)。
      • ピアノを習っているかからピアノの月謝への効果 \alpha_{zx} も求められる(相関係数に等しい) (5.23)。
      • 上2つの積が知りたい効果である。
    この例では媒介変数をピアノの月謝として話がおかしくなったのでもっとそれは Y に効くだろうという媒介変数がよかったですね。しかし、ご家庭の年収から矢線をもってはいけないという制約もありますから、現実によい媒介変数をみつけるのはなかなか難しそうです。
  • ところで、逆に月謝 2 の子がみんな東大合格しておらず月謝 1 の子がみんな東大合格していたら符号が逆転し \alpha_{yx} \approx -1.6036 になります。月謝をつぎ込むほど東大に合格しないことになり、ピアノを習うほど月謝をつぎ込むわけですから、ピアノを習うことは東大合格に負の効果があるということになるという理解です。これももはやへんてこな話ですね。