Giter VIP home page Giter VIP logo

causal_book's People

Contributors

yutaroogawa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

causal_book's Issues

【第5章第2節P.105】上司が「上司向け:部下とのキャリア面談のポイント研修」に参加したかどうか【著者追記:重大なミスです、申し訳ございません】

PyTorchによる発展ディープラーニングと共に、自己学習にとても参考とさせて頂いております。

下記質問です。
表題の確率の記載は下記となっています。
z_prob = expit(-5.0*x+5*e_z)
感覚としては「育成の熱心さ(x)が高ければ高いほど研修にも参加しやすい」と思っているのですが、この場合xの係数はマイナスなので反対となっています。
ここが理解できていないので、詳しく教えて頂きたいです。

【第4章1節p. 79】d分離したあとの因果ダイアグラム について

P.79の下6行がよくわかりませんでした。「入力変数にはd分離したあとで因果ダイアグラムに残っている変数を使用しました」とありますが、d分離して除外された変数がないように思いました。図4.1.1に元々からあるx_1(年齢), x_2(性別), Z(CMを見た)を使って、Y(購入額)を求める線形回帰モデルを、何も考えずに普通に求めているようにしか見えなかったのですが、Regression adjustmentとしての特徴的な処理はどのへんになるのでしょうか(あまり理解できていないのですみません)。また、「これらの変数を回帰モデルの入力にした理由は、d分離したあとでも残っている変数はバックドアパスを生むため、バックドアパスを閉じるために考慮をする必要があります」という文章は日本語として不明瞭で、やはり意味がわかりませんでした。

第6章LiNGAM 6_3_lingamコードについて

LiNGAMは非ガウスを前提とするとありますが、コード上のノイズをガウスN(0, 1)としても、求められるB_estも変わらず、よって構造方程式係数推定にも影響がありません。これはどのように理解したらよいのですか?

【誤植修正:初版】第2章 P54

誤字だと思いますのでご報告致します。

誤:「本書での数式表現を一覧的に説明しあと、」

正:「本書での数式表現を一覧的に説明したあと、」

【第5章 P.108】Z==0を介入無集団、Z==1を介入有と考えることについて

大変興味深く勉強させて頂いています。
題記の件について、「介入」とは「すべての変数に対して仮の状況を無理やり与える操作」と理解しているので、既に与えられたデータに対して、Z==0の集団を介入無、Z==1の集団を介入有と記載されている点に違和感を感じております。
Z==0の集団を介入無、Z==1の集団を介入有と考えることができる理由を知りたいです。
どうぞよろしくお願いします。

p76の式に出てくる数値について

p76下から4行目の、sigmoid[]の中の式に出てくる "10" や "40" の数値はどこから来たのでしょうか?
式の意味するところも分かりません。
教えていただきたく、宜しくお願いいたします。

【第4章2節】p. 84 1行目の誤植(正しい答えである、0.1、-1、-4 にほぼ近い係数が求まっており、)

こちらIssueの後半にてご指摘いただいた通り、私が回答を誤り、間違っておりました。

#25 (comment)

ここに訂正し、お詫び申し上げます。

=========
p.84 最初の行
=========
(修正前)正しい答えである、0.1、-1、-4 にほぼ近い係数が求まっており、

(修正後)正しい答えである、0.1、-1、-3 にほぼ近い係数が求まっており、


4.2 逆確率重み付け法(IPTW)による因果推論
https://github.com/YutaroOgawa/causal_book/blob/master/4_2_iptw.ipynb

において、

# シグモイド関数に入れる部分
z_base = x_1 + (1-x_2)*10 - 40 + 5*e_z

# シグモイド関数を計算
z_prob = expit(0.1*z_base)

であるため、

シグモイドの中身は
1*x_1 - 10*x_2 -30
に0.1をかけ算したものになるので、0.1、-1.0、-3.0 でした

失礼いたしました。

【誤植でしょうか:初版】第2章 P.51 9行目

「【誤植修正:初版】第4章 P. 81 とp. 82の導出 誤植」のissueの内容に基づくと、第2章p.51 9行目は下記の誤植でしょうか。

P(y|z) = Sigma_x P(y | z, x) × P(x|z)
 ↓
P(y|z) = Sigma_x P(y | z, x) × P(x)

同ページのこれ以降の数式も変わりますでしょうか。

【第四刷 修正提案】p.113のプログラムコードとp.114のグラフについて

本書、大変わかりやすく楽しく勉強させてもらっています。
以下、軽微で誤読するほどの内容ではないのですが、恐らく以下の修正が必要かと思いますので確認の意味も込めて提案させてください。

  • p.113のプログラムコードについて
    5_2_meta_learners_issue18.ipynb

# 推定された治療効果を各人ごとに求めます
tau_0 = reg_1.predict(df_0[["x"]]) - df_0["Y"]
tau_1 = df_1["Y"] - reg_0.predict(df_1[["x"]])

# 推定された治療効果を各人ごとに求めます
tau_0 = M1.predict(df_0[["x"]]) - df_0["Y"]
tau_1 = df_1["Y"] - M0.predict(df_1[["x"]])

  • p.114の図5.2.6 の左図「S-Learner」のグラフについて
    恐らく紙面でみるとT-Learnerの結果のグラフに見えます。

【第3章第2節P.66】合流点での選別におけるプルプル作戦

会社の輪読会で本書活用しています。

合流店での選別におけるプルプル作戦で「変数Cは合流点で選別されているため値が固定されていてプルプルできません」がなぜ固定されているかがわかりません。
固定されているの意をもう少し説明いただけるとありがたいです。

よろしくお願いいたします。

【誤植修正:初版】第4章 P. 81 とp. 82の導出

読者の方より、誤植指摘を頂きました。誠にありがとうございます。

(誤り)
第4章 p.81 傾向スコアとは 下から7行目

この調整化公式の右辺は2つの項、P(Y=y | X=x, Z=z) とP(X=x) のかけ算となって
 ↓
この調整化公式の右辺は2つの項、P(Y=y | Z=z, X=x) とP(X=x) のかけ算となって

ーーー

(誤り)
第4章 p.82 傾向スコアとは 一番最後の式までの導出手順がおかしい

正しくは、

調整化公式
P(Y=y | do(Z=z)) = Sigma_x P(Y=y | Z=z, X=x) P(X=x)

に対して、右辺の分母・分子に P(Z=z | X=x)をかけ算すると、

Sigma_x P(Y=y | Z=z, X=x) P(Z=z | X=x) P(X=x) / P(Z=z | X=x)

となる。ここで 同時確率と条件付き確率の変換から
P(Z=z | X=x) P(X=x) = P(Z=z, X=x) なので、

Sigma_x P(Y=y | Z=z, X=x) P(Z=z | X=x) P(X=x) / P(Z=z | X=x)
=Sigma_x P(Y=y | Z=z, X=x) P(Z=z, X=x) / P(Z=z | X=x)

となる。さらに再度P(Z=z, X=x)について、同時確率と条件付き確率の変換から
P(Y=y | Z=z, X=x) P(Z=z, X=x) = P(Y=y, Z=z, X=x)

以上の式変形を用いて、調整化公式を変形すると、

P(Y=y | do(Z=z)) = Sigma_x P(Y=y | Z=z, X=x) P(X=x) = P(Y=y | do(Z=z)) = Sigma_x P(X,Y,Z)/ P(Z=z | X=x)

となります。

誤植でしょうか?初版第1刷P.52について

こんにちは。私は今更初版第1刷を読んでいる読者です。
P.52の数式4つ目の左辺(この表現で最初の式の右辺を記述すると、の文の後)が
P(Y=y|do(Z=Z))となっていますが、これは
P(Y=y|do(Z=z))
の誤りでしょうか?それともそのままで合っているのでしょうか?
自分なりにissuesを探しても見つからなかったので、質問させて頂きました。
ご返答よろしくお願いします。
Githubに慣れていないので、自分が探しきれていないだけかも知れません。その場合は、申し訳ありません。

【第7章5節】PCアルゴリズムの2次の独立性検定を実施するべき

みなさま

本書において、クリティカルに誤っている部分があるので、訂正いたします。
また本内容については、次回増刷時に書面は修正いたします。

@sabi2345さまのIssue「PCアルゴリズムの2次の独立性検定を実施しない理由について 」
#8

でしっかりと考えなおし、

[1] PCアルゴリズムの2次の独立性検定を実施するべき
[2] 現在のデータでは、図7.5.6から、2次の独立性検定で[Y]ー[Y3]間の結合が切れてしまう

と判明しました。

ひとまず暫定的な修正を2つ提示させていただきます。

実装プログラムは修正済みです。

【1】p. 175第7章5節:PCアルゴリズムによる因果探索 その3:2次の独立性
文面を全て以下に変更。

==========================
(修正後)
 続いて「2次の独立性検定」を実施します。2次の独立性とは、2つの変数間にとある変数
2個を条件付きにした際の独立性の検定です。条件付きにする変数は対象とする変数と関連
があったものから選びます。
 現在、3変数以上との関連があるのは変数Yのみです。変数Yは変数 x、z、Y3 の3変数と
関連しています。
CI(Y, x | Z, Y3)、CI(Y, Z | x, Y3)、CI(Y, Y3 | x, Z)の3つの独立性を検定を実施すると、

# 2020年7月24日追記
# 2次の独立性の検定 変数Y

print(est.test_conditional_independence(
    'Y', 'x', ['Z', 'Y3'], method="chi_square", tol=0.05))
print(est.test_conditional_independence(
    'Y', 'Z', ['x', 'Y3'], method="chi_square", tol=0.05))
print(est.test_conditional_independence(
    'Y', 'Y3', ['x', 'Z'], method="chi_square", tol=0.05))

(出力)
False
False
False

となります。よって、図7.5.6からさらに切れる辺は存在しないことが分かりました。

では続いて3次の独立性検定を実施するかですが、そのためには、4変数以上とつながっている変数が対象と
なります。
 今回の疑似データではそのような変数は存在しないので独立性の検定はここで終了となります。
ただし、ネットワークの状況によっては、さらに高次の独立性の検定まで実施していきます。
==========================

【質問】p53の確率を期待値表記にする妥当性について

大変興味深く勉強させていただいています。

issueタイトルですが、以下の記載についてです。

ここで、確率P()で表していた調整化公式を期待値E()で書きなおしています(この書きなおし妥当性については、本書のレベルを超えるので詳細は割愛します。条件付き確率を条件付き期待値に置き換える操作が妥当なケースは、確率分布が期待値で表現できる場合に限ります)。

この「本書のレベルを超える」部分の解説または参考文献をいただきたい、というのが質問の主旨になります。
「確率分布が期待値で表現できる場合」とありましたが、ちょっとよくわかりませんでした(すみませんmm)。

実を言いますと、p53で書かれているバックドア基準における調整化公式では、
愚直に期待値の公式を適用し、式展開すれば置き換えができることがわかっています。

しかし、別書でフロントドア基準など勉強するにあたっては確率表記しか出てこないことが多く、期待値表記を得て、結果変数、共変量などが連続量の場合にでも対応したいという目的があります。

なので一般的に確率表記を期待値表記に変更できる定理(?)などが知りたいといったところでございます。

[第5刷]第五章 図5.1.1について(pp.95)

こんにちは.
pp.94で「年齢変数x1と性別変数x2」と書いていましたが,図5.1.1では,「年齢x1<=0(女性)」と書いていました.申し訳ありません,自分は理解不足かもしれません.性別x2<=0(女性)だと思います.また,「年齢x2>=30(30歳以上)」と書いていましたが,この表示とpp.94も違います

どうぞよろしくお願いいたします

【質問】因果推論の際に中間変数を入れるべきではないということについての質問

大変個人的な質問になりますが、ご回答いただけると助かります。

P64で「因果推論の際に中間変数を入れるべきではない」と記述されています。
このことに関しては納得しているのですが、下図のような状況の時にどう考えるべきかアドバイスを頂けると助かります。

本に記載の方法ではなくTree系のアルゴリズムとSHAPで要因分析をしようとしています。
背景としましては
「因果推論の際に中間変数を入れるべきではない」の考えのもと、分析すると材料Aは目的変数の物性値を下げる
効果を示しており、目的変数の物性値を上げるためには材料Aを入れるべきではないということになります。

しかし、材料Aは目的変数の物性値を上げるはずという過去の知見があり、その理由は中間物性を規格内に収める
必要があり、中間物性を規格内にした場合は材料Aを入れたほうが目的変数の物性が上があるということでした。

そこで「因果推論の際に中間変数を入れるべきではない」の考えから外れ、中間物性も説明変数に入れたところ、
中間物性の変数に目的変数へのマイナスの効果がとられたせいか、材料Aは目的変数に対してプラスの効果を示す
という結果になりました。
(材料Aは中間物性の値を上げ、中間物性が上がると目的変数の物性が下がります。)

この場合、小川様なら、目的変数の物性を上げるために材料Aを入れるべきか入れないべきかどう判断されますでしょうか?
また、追加でやるべき分析方法等あればご教授いただけると助かります。

image

【誤植修正:初版】第7章 P. 174 下から2行目

(誤)
現在、3変数以上との関連があるのは変数 のみです。変数Yは変数x、Z、Y2の3変数と関連しています。

(正)
現在、3変数以上との関連があるのは変数 のみです。変数Yは変数x、Z、Y3の3変数と関連しています。

Y3と書くべきところが、Y2となっていました。
混乱を招き、申し訳ございません。

【第5章第2節p115】Meta-Learnersにおけるパラメータチューニング

ある行動(Z)を行うことで、変数Yがどの程度増加するのか、という効果検証を行うべく、本書で勉強させて頂いている者です。
Meta-Learnersのハイパーパラメータ調整に関して、疑問点が2つあります。

まず1点目は
5-2のX-Learnerの実装部分では記述を簡単にするため、ランダムフォレストのmax_depthは決め打ちで3とされていますが、
その後、まとめにおいて、ハイパーパラメータは検証データに分割するか、n-foldクロスバリデーションにより決定する、という記述がありますが、データの分割のタイミングがよくわかりません。

最初に、処置群と対照群に分割して、変数Yを回帰するモデルを作成しますが、その前に学習データと検証データに分割して、モデルM0〜M3とモデルgのパラメータチューニングに全てこの(学習,検証)のセットを用いるのか。
それとも、各モデルに対して、学習させる前にそれぞれ別々に検証データを作成するべきなのか。

続いて2点目は、
X-Learnerにおいて、各人の因果効果ITEを計算する際に、τ0やτ1を算出するためにM2やM3を使います。この際、τ0の学習にはx1は用いていないですが、x0は使われてしまっています。ハイパーパラメータを調整することで、検証データとなった一部のx0に対する評価が不当に高くなってしまうリークのような現象が発生してしまうのではないか、という点です。

一般に機械学習では学習データを学習用と検証データに分けて、パラメータチューニングを行い、その後に一切使っていないテストデータに対して予測性能を測定すると思いますが、因果推論では、目的変数であるτが正解であるとは限らないため、学習に利用したデータに対して予測を行い、評価しても問題がないのでしょうか?

以上に2点について、もう少し具体的にパラメータチューニングの方法についてご説明が頂けると幸いです。
よろしくお願いします。

【オリエンテーションルールによる方向づけその1】および【独立性検定の手順】

先日、マイナビ書籍編集部様経由で質問させていただいたものです。
丁寧なご回答ありがとうございました。
しかしいただいた回答が、
・1点目について、質問がなぜか私が送らせていただいた内容と違う(入力したと思っていた文字が無かったり、2点目の補足が混ざっていたり)
・2点目について、私の誤字があり意図が伝わっていない
という状況であります。

こちらからのご相談を推奨いただきましたので、教えていただければと思います。
以下に質問を再喝させていただきます。よろしくお願いします。
また私、因果分析というものをこちらの書籍から勉強をし始めましたので、
見当違いの点あるかと思いますがご容赦いただければと思います。
(githubの使い方が慣れていないのですが、このように複数の質問は分けた方が良ければおっしゃってください。)

( ご質問 )

  1. (P176~P177)オリエンテーションルールによる方向づけその1
    Y->Y3<-Y4は検証する必要があるのではと思いました。本書では取り上げられていませんが、v字構造になっているかと。
    またした場合、Y4->Y3となり因果の方向が逆になってしまうかと思いました。
    このあたりについて補足などいただきたく。

  2. (第7章においての独立性検定の手順について)
    条件付き独立性の検定で、検定する変数の順番が変わればエッジが切れる・切れないが変わらないでしょうか? 例えば、xに対して関連のある変数としてZ、Y、Y4がある場合にx-Zが切れるか・切れないかを考えるとします。CI(x, Z | Y)がFalse、CI(x, Z | Y4)がTrueだとx-Zは切れてしまう。しかし先んじてY4に対しての検定を行い、CI(Y4, x | Y )がTrueなどの結果でY4-xが切れていたとすると、CI(x, Z | Y4)は実施されずにx-Z(※)は切れないということにならないでしょうか? または私が本手法の理解を誤解しているのでしょうか。 (書籍で紹介されている擬似データのpd.cut()をpd.qcut()で5分割に変更した生成データで因果探索を進めていくと確認した現象になります。ですので、書籍内容の範囲を超えた質問となっているかもしれないです。)
    (※)一度目の質問ではここがx-Y4となっておりました。

ファイル:4_3_dr.ipynbにて、冒頭が、4.2 逆確率重み付け法(IPTW)による因果推論となっています

読者の方からコメントをいただきました。

誠にありがとうございます。

ファイル:4_3_dr.ipynbにて、冒頭が、4.2 逆確率重み付け法(IPTW)による因果推論となっています

ファイル:4_3_dr.ipynbの冒頭を修正しました。

以下。

(修正前)
4.2 逆確率重み付け法(IPTW)による因果推論
本ファイルは、4.2節の実装です。

4.1節と同じく、テレビCMの広告効果の推定を例に、回帰分析による因果推論を実装します。

(修正後)
4.3 Doubly Robust法(DR法)による因果推論の実装
本ファイルは、4.3節の実装です。

4.1節、4.2節と同じく、テレビCMの広告効果の推定を例に、回帰分析による因果推論を実装します。

p133のLinGAMの導出部分について質問させてください。

第3版の P 133の3行目で

すなわち対角成分が非ゼロです。よって A-1 icaの対角成分の絶対値はできるだけ大きくしたい です

と書かれていますが、非ゼロだから対角成分の絶対値を大きくしたい という部分の繋がりがよく分かりませんでした。

私の感覚的には
A-1 icaの対角成分を1に近づけるためにはA-1 icaの対角成分の絶対値はできるだけ大きくする必要がある
ということかと思ったのですが、そういう理解で大丈夫でしょうか?

お手数をおかけしますが解説いただけると助かります。

【第7章5節P.175】下から10行目は、Y2ではなく、Y3

読者の方からご質問、ご指摘を頂きました。

p. 176の下から10行目は Y2ではなく、Y3の誤りでした

「PCアルゴリズムによる因果探索 その3:2次の独立性」のページ

====
現在、3変数以上との関連があるのは変数Yのみです。変数Yは変数x、Z、Y2 の3変数と
関連しています。

現在、3変数以上との関連があるのは変数Yのみです。変数Yは変数x、Z、Y3 の3変数と
関連しています。

====

次回修正のタイミングがありましたら、書籍にも修正を反映させていただきます。

貴重なご指摘をありがとうございます。

p144のパラメータ数について質問させてください。

第三版のp144にてパラメータは1+1+4=6
と書かれています。
x1やx2は表としてはそれぞれ2行ありますが、確率の合計は1なので1行となります。
と書かれています。

であるならば4行の表も確率の合計は1なので4-1=3
となり、パラメータ数は1+1+3=5
となりそうな気がするのですが、パラメータ数は6が正解でしょうか?

【第6章第3節P.131】図6.3.1の右下は、Y_3ではなく、x_3

読者の方からご質問、ご指摘を頂きました。

p. 131の図6.3.1の右下は、Y_3ではなく、x_3

です。
記載が誤っております。

次回修正のタイミングがありましたら、書籍にも修正を反映させていただきます。

貴重なご指摘をありがとうございます。

P150,151のBICについて質問させてください。【訂正:BICの良さの大小が逆になっています】

pgmpyのBIC計算が
BICm=lm(Θm|X)-0.5km(logN)
となっており、手計算したBICに-0.5かけたものになっている
と書かれています。

手計算の式
image
ではいいモデルほど対数尤度が大きくなる(?)ので、小さいほどいいモデルとなりそうな気がします。
(私の対数尤度の理解が間違っているかもしれません。)
↓のサイトでは上記の式で小さいほうがいいモデルとの表記があります。
https://www.jmp.com/support/help/ja/14-2/flm-statistical-details-15.shtml

ですので、上記の式に-0.5をかけた
BICm=lm(Θm|X)-0.5km(logN)
は大きいほどいいモデルとなりそうな気がしますが、
本には小さな値ほどいいモデルなので、
という記載があります。

お手数ですが、解説いただけないでしょうか?

【初版の誤植修正】6か所、Amazonレビューより、いただきました。

Amazonにて、MQG様よりいただいた誤植指摘の訂正となります。
https://www.amazon.co.jp/gp/customer-reviews/R8015ZVEOOH40/ref=cm_cr_dp_d_rvw_ttl?ie=UTF8&ASIN=4839973571

[1] 2.4節:p. 51:下から4行目の式
, X=x・)Pm(X=x)

,X=x)Pm(X=x)

X=xのあとの・の除去をお願いします

[2]3.2節:p. 65:図3.2.6のキャプション
図3.2.6 (図2.3.1再掲)本節で説明に使用するDAG

図3.2.6 (図3.2.1再掲)本節で説明に使用するDAG

[3]5.1節:p.95:I(t)の式
l=0~l=C を l=1~l=Cにする。
Σの下付き部分がl=0をl=1に修正

[4]7.5節:p. 178:図7.5.9の一番右下
A C C
B

↓ DがCになっているので、

A C D
 B

[5] 8.2節:p. 190:図8.1.3
図中、左上部分
生成データ
[2000, 6]]

生成データ
[2000, 6]

]がひとつ余分です。

[6] 8.5節:p. 215:まとめ、最後から2行目

参考にしなが、再度読

参考にしながら、再度読

ら抜け。

MQG様、非常に丁寧にお読みいただき、また誤植指摘まで誠にありがとうございます。
他の読者の皆さまにとって、非常に助かります。

第2増刷ではこれらを反映させます。
誠にありがとうございます。

【第3刷の第4章・第1節】回帰分析について

お世話になります。第4章・第1節の回帰分析について、2点質問があります。

(1) 第4章・第1節の内容は「回帰分析の際、交絡因子も説明変数として使えば、バックドアパスを閉じて因果の大きさを推定できる」という内容と理解しましたが、これは一般的に(線形回帰するのが妥当な場合に)成り立つのでしょうか?

というのは、Pythonコードではサンプルデータを自作するので、Yを計算する式(データ生成過程)がどうなっているか知っているからこれで良いと理解できるのですが、現実のデータでデータ生成過程が自明ではない場合でも、交絡がありそうな変数があっても説明変数に入れておけば、交絡の影響を無くして因果分析できると考えて良いのか、疑問に思った次第です。

(2) P80の「回帰モデルの補足」の項ですが、「結果変数Yにだけ効く変数aを残す必要はない」という文章の次に「変数aも考慮した方が正確な因果推論が可能になる」と書かれており、内容が矛盾するように感じます。これは最初の文が誤植で、「変数aを残す必要がある」が正しい(=変数aも使って回帰分析した方が良い)と思いましたが、いかがでしょうか?

どうぞよろしくお願いいたします。

【第2章1節p. 40】 縦棒を持つカッコ(│)は条件付き確率を示します→(誤植)条件付きを示します

Amazonにてレビューよりご指摘いただいた誤植の修正です。

https://www.amazon.co.jp/gp/customer-reviews/R16SNHTLZ9C2FX/ref=cm_cr_dp_d_rvw_ttl?ie=UTF8&ASIN=4839973571

本書ではP.46で条件付き確率が定義されているが,それは最も一般的なP(X|Y)という記法で与えられている。
なおP.40に「(|)は条件付き確率を意味する」という記載があるがこれは誤りである。
文脈を考えると,P.40では "|" (given)の意味を説明したかったのだと思われるため正しくは「(|)は条件付きを意味する」というところだろう。ただし,同一行にP.46(条件付き確率の定義)へのポインタが記されており致命的な誤植ではないと思える。

(修正前 p.40 処置群における平均処置効果(ATT)、対照群における平均処置効果(ATU))
となります。数式にある、縦棒を持つカッコ(│)は条件付き確率を示します。条件付き確率については後ほど説明します。

(修正後)
となります。数式にある、縦棒を持つカッコ(│)は条件付きを示します。条件付きの確率表記については後ほど説明します。

もしくは、

(修正後)
となります。数式にある、縦棒を持つ表記 "E (・│Z=1)"は条件付き確率(正確には条件付き期待値)を示します。条件付き確率などについては後ほど説明します。

と修正いたします(数学的に正確な書き方へと修正)。

※本書の範囲では、数学的に条件付き確率が条件付き期待値に変換できる領域を扱っているので、
私の説明でときおり、確率と期待値が混ざっている点があります。
これは宜しくないので、気付き次第誤植として直していき、より皆さまの理解しやすい書籍へと目指します。
また、すでに購入された方は本リポジトリのIssueをご覧くださいませ。

※前作の発展PyTorch本も、1年で79個のIssueをいただき、皆さまのご意見で、初版時よりさらに良くなっていきました。
https://github.com/YutaroOgawa/pytorch_advanced/issues

※だからといって、初版に間違えが許されるわけではないのですが、
前作同様に、皆さまからのご意見・アドバイスを増刷時に反映するなどし、日本社会により良い書籍を提供できるように頑張ります♪

Amazonカスタマーレビュー「ほ」さま、誠にありがとうございます。

【誤植修正:初版】第2章 p. 47の最後の行

読者の方よりご指摘いただきました。
ありがとうございます!

(該当箇所)
第2章 2-3 本書で使用する数学記法の整理
同時確率と条件付き確率の変換 p. 47 の最後の行

これをかけ算すると0.001の値となり、条件付き確率P(男性, 90) = 0.001 と一致します。

これをかけ算すると0.001の値となり、同時確率P(男性, 90) = 0.001 と一致します。

PCアルゴリズムの2次の独立性検定を実施しない理由について

第1版p175の「2次の独立性検定を実施するには、条件付き部分の組み合わせが2つ以上必要であり、N次の独立性検定を実施する際には条件付き部分の組合わせがN個以上必要です。」の記載は
2次の場合、一つの検定する変数の組み合わせについて例えばもう一つWという変数が存在し、
CI(Y,x|Z,Y3), CI(Y,x|Z,W), CI(Y,x |Y3,W)として2個以上条件部分が必要との意味であっているでしょうか。

ただ、それでもなぜそのように判断するのか、理由が不明だったため、7章の参考図書[8]Causation_Prediction_and_SearchのPCアルゴリズム部分を参照しました。正しく理解できている自信はないのですが、「ある変数と隣接する変数数 - 1」がn未満になるまで繰り返すように意味しているように思え、2次の場合も独立性検定が必要ではないかと考えました。

上述より、内容補足いただけるとありがたいと思い、登録させていただきました。

B.)
n = 0.
repeat
  repeat
    select an ordered pair of variables X and Y that are adjacent in C such that
    Adjacencies(C,X)\{Y} has cardinality greater than or equal to n, and a subset S
   of Adjacencies(C,X)\{Y} of cardinality n, and if X and Y are d-separated given S
   delete edge X - Y from C and record S in Sepset(X,Y) and Sepset(Y,X);
   Let Adjacencies(C, A) be the set of vertices adjacent to A in directed acyclic graph C.
    (In the algorithm, the graph C is continually updated, so Adjacencies(C, A) is constantly
    changing as the algorithm progresses.) 

  until all ordered pairs of adjacent variables X and Y such that
  Adjacencies(C,X)\{Y} has cardinality greater than or equal to n and all subsets S of
  Adjacencies(C,X)\{Y} of cardinality n have been tested for d-separation;
  n = n + 1;
until for each ordered pair of adjacent vertices X, Y, Adjacencies(C,X)\{Y} is of
cardinality less than n.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.