Stan

【統計学】stanでロジスティック回帰の実行を割と詳しく解説してみる(w/ Titanic dataset)

StanをつかってTitanicデータをロジスティック回帰してみて、さらに分類の性能評価を少し行ってみるという記事です。 この記事で使う確率的プログラミング言語「Stan」では分布のパラメーターの推定に、ハミルトニアンモンテカルロ法(HMC法)とNUTSという手法が用いられています。厳密には乱数の発生原理が異なるのですが、もう少しシンプルな手法にマルコフ連鎖モンテカルロ法 メトロポリス・ヘイスティングス法(MH法)があります。この動作原 […]

【PyStan】Graphical LassoをStanでやってみる。

こんにちは、久しぶりにブログを書く@kenmatsu4です。 Stan Advent Calendarの23日目の記事を書きました。 今回のブログでは、Graphical Lassoという、L1正則化をかけた精度行列(分散共分散行列の逆行列)を推定する手法をStanを用いてやってみようというものです。コードの全文はGitHubにアップロードしています。 1. テスト用データの生成 まず、多変量正規分布に従う乱数を生成します。 今回は下記 […]

Stan codeでみる確率的最適化

続・確率的変分ベイズ ついにRStanにも変分ベイズが実装されたようです。 RStanにおける変分ベイズはADVI(Automatic Differentiation Variational Inference)と呼ばれるテクニックで実現されています。 変分ベイズは変分下限を導出するのが非常に面倒な訳ですが、ADVIはこの面倒な操作を自動化してくれます。なのでRStanユーザは導出に頭を悩ませることなく、今まで通りモデルを定義するだけで […]

ベイズモデリング 〜2群の差の推定〜

2群の差の推定 はじめに ベイズモデリングの練習第1弾 いろいろあって時間がなかったが、やっとベイズモデリングに関する練習ができた。 第1回はベイズ統計の2群の差について 参考図書は 「初めての統計データ分析」(https://www.asakura.co.jp/books/isbn/978-4-254-12214-5/) です。 使用したデータは有名な「iris」 さらにその中でも「pedal.length」(ガクの長さ?)を用いまし […]

データサイエンティストのためのDockerfileを作ります(とりあえず完成)

とりあえず完成しました。 Nginxは全然触ったことがないので、触る機会があれば追加します。 このDockerfileでchainer GPU、Stan、server Juman++、monary mongo等がpythonから直ぐに使えます。 大変でした。色々やりこのDockerfileに落ち着きました。これでOSが立ち上がらなくなっても、直ぐに分析環境を復元できます。 image を docker hubにputしようと思いましたが […]

AWSにRStudio Serverを構築してみた

RStudio ServerをAWSに立ててみたので手順など残しておこうかと思いました。個人メモですので。。 前提 OSはAmazon Linuxです。 Instance Typeは m4.2xlargeです。(性能のことを後述します。) R, RStudioのインストール まずはRから、と言ってもこれだけですが。 $ sudo yum -y install R 次にRStusion Server $ wget https://down […]

野球選手が本塁打を一番打てるのは何歳のときなのかPythonとStanで求める

概要 世の中いろいろと気になることがありますが、やはりもっとも気になるのは「野球選手が本塁打を一番打てるのは何歳のときなのか」だと思います。今回は、メジャーリーグのデータから、ベイズ推定で打者の年齢ごとに本塁打率を求めたいと思います。本当の定義は違いますが、ここでは簡単のため「本塁打率 = 本塁打数 / 打数」と定義します。すなわち、本塁打率とはある選手が打席に立ったとき、(四球の場合などは除いて)どれくらいの確率で本塁打を打ってくれる […]