ARL-TR-8741 ● JULY 2019 Bayesian Reduced-Rank Regression with Stan by Benjamin T Files, Mac Strelioff, and Rasmus Bonnevie Approved for public release; distribution is unlimited. NOTICES Disclaimers The findings in this report are not to be construed as an official Department of the Army position unless so designated by other authorized documents. Citation of manufacturer’s or trade names does not
はじめに この記事は,Stan Advent Calendar 2018の15日目の記事です。 ネットワークメタ分析は,3つ以上の治療の比較が可能なメタ分析です。これまでよく行われていたメタ分析(一対比較のメタ分析)は,2つの治療間の直接比較の結果を統合するものでした(一対比較のベイジアンメタ分析については,こちらを参照ください)。一方,ネットワークメタ分析では,3つ以上の治療について,直接的な比較だけでなく,間接的な比較(別の2つ以上の治療薬の効果から,検討されていない2つの治療薬間の差を推定する)も行って,治療効果の統合をします。ネットワークメタ分析の利点としては,以下の3点があります。 間接比較ができる 間接と直接比較を統合し,より精度を高められる 複数の治療が比較でき,効果のランキングが作れる ネットワークメタ分析を学ぶ場合,『Network Meta-Analysis for D
TL; DR Stanのmap_rect使うchain内並列化は、たぶんデータ点が10万ぐらいはないとご利益ないような…。その10万個を切って並列処理する感じ。— Kentaro Matsuura (@hankagosa) 2018年10月10日 導入 PyStanは2.18.0系からStanに搭載されたThreading機能を使うことができるようになりました。公式のドキュメントはこちらになります*1。 この機能は、今までのMCMC chainごとにスレッドをフォークして並列化するのではなく、MCMCサンプル内での並列化です。先程のリンク先のExampleの欄にも書かれているとおりに、chain数×設定スレッド数分の並列化ができるように成りました。ただし、まだかなり作りかけの機能であるため、運用上は幾つか疑問点があります。 並列化することでどれほど早くなるのか? 単一のMCMC chain
都内の事業会社で分析やWebマーケティングの仕事をしています。大学・大学院では経済学を通じて統計解析を行うなどしておりました。企業に勤めてからは、機械学習やテキストマイニング、クローリング技術などに関心を持っています。 Twitterアカウント Mr_Sakaue( SKUE ) GitHub 読書メーター ほしいものリスト 最近はBayesian Statistics and Marketingという本に関心があって、そこで取り上げられているモデルをStanに落とし込めないか模索しています。 そこで順序プロビット(Ordered Probit)の推定が必要であることがわかったため、Stanでの適用事例を漁っていました。まだマーケティング事例への適用はうまくいってないですが、いったん順序プロビットを簡単にまとめて今後の備忘録としておきます。 順序プロビットとは 被説明変数yが連続潜在変数y
北川本「時系列解析入門」14.4節の例題をやってみましたので途中経過の作業ログとして残します。 時系列解析入門 作者:北川 源四郎発売日: 2005/02/24メディア: 単行本 まずは失敗例から。 data { int N; real Y[N]; } parameters { real mu[N]; real<lower=0> s_y; real<lower=0> s_mu; } model { for (n in 1:N) Y[n] ~ normal(mu[n], s_y); for (n in 2:N) mu[n] ~ cauchy(mu[n-1], s_mu); } 16行目でシステムノイズにCauchy分布を使っていますが、このモデルは全く収束しません。 これを解決するヒントはStanのマニュアルの「19. Optimizing Stan Code」(の「Reparameteri
When properly tuned, Hamiltonian Monte Carlo scales to some of the most challenging high-dimensional problems at the frontiers of applied statistics, but when that tuning is suboptimal the performance leaves much to be desired. In this paper I show how suboptimal choices of one critical degree of freedom, the cotangent disintegration, manifest in readily observed diagnostics that facilitate the ro
都内の事業会社で分析やWebマーケティングの仕事をしています。大学・大学院では経済学を通じて統計解析を行うなどしておりました。企業に勤めてからは、機械学習やテキストマイニング、クローリング技術などに関心を持っています。 Twitterアカウント Mr_Sakaue( SKUE ) GitHub 読書メーター ほしいものリスト 前回の分析では、価格への反応係数の事前分布が正規分布を仮定したモデルを用いていましたが、事後分布から多峰性が観察されました。そこで今回は、各個人の価格への反応係数の事前分布が混合ガウス分布に従うとした場合の事例を扱いたいと思います。 データのおさらい データ自体は前回のブログと同じですが、先日のTokyo.Rで松浦さんがオススメしていたGGallyパッケージのggpairs関数を用いて、今回扱うデータを可視化してみます。 まず、購買したマーガリンのブランド選択(6ブラ
誰が最強のMCなのか。MCバトル好きの間では常に議論になることです。 MCバトルの勝敗は、各MCの実力だけでなく、MCのコンディションやMC同士の相性、バトルの審査方法、会場の空気など様々な要因によって決まります。実力あるMCであっても意外な人物に惨敗したり、成績が振るわない対戦形式があったりして、勝敗の結果からMCの実力を推定するのは案外難しいものです。 勝敗の結果から各プレイヤーの実力を推定する方法として階層ベイズモデリングがあります。例えば将棋の勝敗データに適用したブログ記事→階層ベイズモデルで勝敗データからプロ棋士の強さを推定する - StatModeling Memorandum。今回は、このブログの著者が書いたStan・Rベイズモデリング本(通称アヒル本)を参考にして、階層ベイズモデルを用いてバトルMCの実力を推定してみました。 勝敗データ ネット上に散らばっている勝敗データを
このプレプリントで、カイカムリにサイズの異なる三つのスポンジを与えて、どのサイズを気に入るかテストしています。その解析部分をここで解説してみます。それぞれの選択肢を選ぶ確率が身体の大きさと脚の欠損度合いとどのような関係にあるか、統計モデルをつくって推定してみようと思います。また、この選択行動に個体差があると考えてそれがどれくらいか推定してみます。個性を考慮しないモデルも適用しWAICをつかったモデルの評価もしていますが、ここでは省略します。興味のあるかたは論文とコードを参照してください。 コードはこちら:https://gist.github.com/kagaya/3188dd0a4571b068e501aeef9863e255 松浦氏のStanとRでベイズ統計モデリング、階層ベイズモデルとWAICに多くを負っています。 データ CSV file for Harada and Kagaya
都内の事業会社で分析やWebマーケティングの仕事をしています。大学・大学院では経済学を通じて統計解析を行うなどしておりました。企業に勤めてからは、機械学習やテキストマイニング、クローリング技術などに関心を持っています。 Twitterアカウント Mr_Sakaue( SKUE ) GitHub 読書メーター ほしいものリスト はじめに ゴールデンウィークで実家に持ち込む本としてチョイスしたのが、2005年出版の「Bayesian Statistics and Marketing」です。大学院のときに購入して、ちょっとしか読んでませんでした。 この本は、字面の通りマーケティング関連の分析に関してベイズ統計を使ってアプローチするというもので、この書籍のために作られた、Rのbayesmというパッケージの紹介もあり、理論だけでなくRで実践することもできます。1章から7章までの全ての分析事例に対して
今回は、状態空間モデルの中でも基礎となる、ローカルレベルモデルをPyStan、PyMC3、Edwardで実装してみました。 コードは以下にも置いておきました。 ※Stanのログ出力も入ってしまって、とても長いので注意 GitHub: https://github.com/Gin04gh/datascience/blob/master/compare_state_space_model/notebook.ipynb Statsmodelsで状態空間モデル 適当に時系列データを作成します。 import numpy as np import matplotlib import matplotlib.pylab as plt %matplotlib inline from tqdm import tqdm y = np.cumsum(np.random.normal(size=100)) plt
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く