概要 『インベンス・ルービン 統計的因果推論(上)』はランダム割り付けの場合の因果効果推定を扱っています。ランダム割り付けの場合だけで約300ページ!この本の特徴として「DAGがいっさい登場しない」「潜在的結果変数の欠測値補完の問題を通して因果効果を推定する」「割り付けメカニズムを確率変数と見なす」などがあります。この記事では、8章「完全無作為化実験に対するモデルベースの推論」の問題をStanで実装します。表記は一部改変しています。 データの説明 具体的なデータの説明をします。ここでは職業訓練プログラム (Natinal Supported Workプログラム, NSWプログラム) によって、どれほど収入が上がったかの効果を推定します。プログラムへの割り付けはランダムです(完全無作為化)。データはRのMatchingパッケージの中に含まれていますし、Web上 (直接リンク注意)から入手する
イントロ 微分方程式をベースにした統計モデルに関して興味深い論文を読んだので紹介します. Naik, Prasad A., Murali K. Mantrala and Alan G. Sawyer, 1998, Planning Media Schedules in the Presence of Dynamic Advertising Quality, Marketing Science, Vol. 17, No. 3, pp. 214-235 https://www.jstor.org/stable/193228 広告のタイミングと売上の関係を時系列データで分析するという内容です. この中で特に私が注目したのは以下の部分です. In Table 2, we briefly describe the extant models we have chosen to compare wit
この記事は Stan Advent Calendar 2016 の17日目の記事です。目下勉強しながらの執筆のため,もし間違いやもっと効率的な方法があれば,ご指摘をいただければ幸いです。 はじめに 媒介分析については,こちらのサイトをご参照ください。このサイトでは,野球選手の体重(weight)が重くなるほど,ホームラン数(HR)が増えた結果,年収(salary)が増えるという,媒介過程を例に説明を行っています。Stanコードも公開されています。 なお本記事では、以下のように変数を略記することにします。 - X:説明変数 - M:媒介変数 - Y:応答変数 上記の野球のデータでは,各変数(体重,ホームラン数,年収)の値は,個人につき一つでした。しかし,これらのデータを複数回測定すれば,ある変数について個人の中に複数の値が存在することになり,階層性が生まれます(例:体重の計測1回目70kg,
目的 通常の回帰では$y \sim \beta_0 + \sum\beta_i x_i$と書くときに、説明変数$\vec{x}$には誤差(測定誤差など)が乗らないという仮定をしているのは周知のとおりです。 一方、現実のデータは説明変数にも何らかの誤差が乗っていると考えたほうが自然な場合も多いため、その場合に何が起こるのかを理解するために実験をしてみました。 先に答えを言うと ちなみにこの現象はRegression Dilution / Attenuationとして知られているらしく、結論から言うと回帰係数が過少推定されるそうです。 https://www.bmj.com/content/340/bmj.c2289 より なので、$\vec{x}$にどれだけの誤差が乗っているかを知っていれば、事後的に補正を掛けることも可能なようです 実験したこと なのですが、本当にそうなるのか疑問に思ったの
KataGo on Colabでエラーが発生して使えない状態になっていました。対応方法を記載しているのでご確認ください。 【無料GPU】囲碁AI KataGoをGoogle Colaboratory上で動かす方法【お知らせ】 2021/8/26 問題なく動かせる手順に修正しました。 2021/8/22 2021年6月ころから、以前紹介していた方法が使えなくなったため、2021年8月以前に本記事の手順でColab-katagoを使っていた方は、乗り換...mildinvestor.com2021.08.26 発生事象 Google ColabにKataGoのインストールし、LizzieやSabakiからColabにつないでKataGoを起動したときに以下のエラーが発生していました。 terminate called after throwing an instance of 'StringE
背景・目的 サイト改善などで一般に用いられるABテストにおいて、2群の反応率(CVRなど)の差の有無をχ2乗検定などの統計的仮説検定で判断する場合、サンプルサイズが十分でないとタイプ2エラーになり、誤った評価をする可能性がある 詳しくは、以前の記事(Power Analysisとサンプルサイズの決め方)に記載している そのため、ABテストを正しく行うにためは差があった場合に正しく検出できるだけのサンプルサイズを確保する必要がある しかし、実際にはサンプルを集めるのにコストがかかる/サービス規模の都合上、サンプルが集まりづらい、などの自乗で十分なサンプルサイズがない場合も多い また、χ2二乗検定では、有意差の有無しかわからず、差異の程度やどれくらいの確率で差があるか等がわからないという欠点もある 上記の2点を克服する方法としては、ベイズ統計学の枠組みで比率の差を扱う「ベイズABテスト」が有効
ドワンゴさんに会場提供していただき、2016/6/4にMichael Betancourt's Stan Lectureを開催しました。実はStanの勉強会というのはこれがはじめてではなく、約2年ほど前に催されていたBUGS/Stan勉強会がもととなっています。 また今回はニコ生で放送したのですが、400人以上の視聴者がいたのは驚きました。この内容で、しかも英語なのに。欲を言うともっと会場にも来てほしかったです。当日の進行は少し前倒しになり、そのために閲覧できなかった方には申し訳ありませんでした。動画を公開しますのでお許しください。 以下では内容を簡単に紹介します。 Hiroki ITO "Dealing with latent discrete parameters in Stan" 一人目は頼み込んで北海道から(自腹で)来てくれました伊東宏樹さんです。動画は次の僕の分と合わせて以下にな
お急ぎな方向け説明 pystanでdivergenceなパラメータだとかmax_tree_depthに陥ってるパラメータってどんなのか気になる事ありますよね。そんなときは以下のようにして、抽出できます。 def get_divert_params(params): #get_sample_params["divertgent__"]にdivertしたかどうかのフラグが入っている #ただしこれはwarmupも含めた結果なので、warmup分をさっ引いて拾ってくる #chain毎に存在するものは後が楽になるように結合しておく divert=np.array([chain["divergent__"][fit.sim["warmup"]:] for chain in fit.get_sampler_params() ]).transpose().reshape(-1) didx=np.nonze
この記事は、stanでモデルを組むことは出来てとりあえず走らせたけれどもRhatが1.0になってくれない。モデルの改良なり、サンプリングパラメータの調整で切り抜けたいが、「stanのマニュアルを読んでも、わかんねー」と思った時にどういう役に立てばと思います。 実際にはHMC(ハミルトンモンテカルロ)一般の話なので、pyMCとかでも事情は一緒ですが、Stanが使っている語彙で説明します。具体的には以下のパラメータや警告の意味が「わかんねーよ」っていうのに対して簡単な事例で説明したいと思います。 なお、この解説の元ネタとなっている論文はこちらです、ただ此方だと直接stanのパラメータ・警告とは直接結びついてないので本文書を書きました。https://arxiv.org/pdf/1701.02434.pdf sampligパラメータstepsizestepsize_jittermetric :
Stan supports a direct encoding of reparameterizations. Stan also supports changes of variables by directly incrementing the log probability accumulator with the log Jacobian of the transform. Theoretical and practical background A Bayesian posterior is technically a probability measure, which is a parameterization-invariant, abstract mathematical object.1 Stan’s modeling language, on the other ha
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く