廿TT

譬如水怙牛過窓櫺 頭角四蹄都過了 因甚麼尾巴過不得

Rcpp

正規累積項目反応曲線のギブスサンプリングによる推定. Rcpp による実装例 (2)

Albert (1992): 正規累積項目反応曲線のギブスサンプリングによる推定. Rcpp による実装例. - 廿TT のつづきです. Albert, J. H. (1992). Bayesian estimation of normal ogive item response curves using Gibbs sampling. Journal of educational statisti…

崩壊型ギブスサンプリングによるトピックモデル(Dirichlet-Multinomial)のパラメータ推定

[math/0604410] Discrete Component Analysis を元に実装しています。論文では Dirichlet-Multinomial Model と呼ばれていますがやってることはLDAと変わりません。 Rao-Balckwellised Gibbs Sampling と呼ばれていますがやってることは崩壊型ギブスサンプリ…

Rcpp を使った最適化ができるパッケージ roptim の簡単な例題

roptim (GitHub - ypan1988/roptim: General Purpose Optimization in R using C++) の使い方をメモ。インストールはCRANからいけます。 install.packages("roptim") 線形回帰をやります。二乗誤差を最小化。reg.cpp というファイルを作る。 // [[Rcpp::plug…

ポアソン・ガンマモデルによる渋滞のシミュレーションと予測

モチベーション https://www.jcca.or.jp/kaishi/268/268_toku1.pdf に渋滞の伝播を表した図が乗っています。 https://www.jcca.or.jp/kaishi/268/268_toku1.pdf よりLWRモデルを線形にしたやつ dlm による LWR モデルのパラメータ推定(渋滞の予測) - 廿TT …

ガンマ分布の近似的な最尤推定量を用いた PELT アルゴリズムで変化点の検出

Closed-Form Estimators for the Gamma Distribution Derived From Likelihood Equationsという論文があります。 https://minerva.it.manchester.ac.uk/~saralees/gammapaper.pdfガンマ分布のパラメータの新しい推定量を提案しています。その推定量は閉じた…

ニューラルネット風ポアソン回帰でクリック数の多そうな検索クエリを見つける

ニューラルネット風ポアソン回帰でしつこく遊んでいる。 ニューラルネット風ポアソン回帰 - 廿TT ニューラルネット風ポアソン回帰でセッション数の推定 - 廿TT 検索クエリのスペースで区切られたひとかたまりの文字列をキーワードとよぶことにする。検索クエ…

共起関係とCTRに基づく検索キーワードのクラスタリング

去年の大晦日に公開された論文で提案されたモデルについて書きます。 A latent allocation model for the analysis of microbial composition and disease | BMC Bioinformatics | Full Textもともとは各個人が持っている腸内細菌の組み合わせによって病気に…

WBICで混合多項分布のクラスタ数を決めてみる(ギブスサンプリング)

Stan を使って WBIC を計算する例は、 WAICとWBICを事後分布から計算する - StatModeling MemorandumStan を使えばWBICの計算は簡単なのですが、場合によってはギブスサンプリングなどのアルゴリズムを自分で導出したいこともあると思います。WBIC の計算に…

RcppNumerical の optim_lbfgsで最尤推定がしたい(ポアソン回帰)

RcppNumerical パッケージには例題的にロジスティック回帰(RcppNumerical/fastLR.cpp at master · yixuan/RcppNumerical · GitHub)が実装されているので、ちょっとだけかえてポアソン回帰のコードを書いてみました。 C++ のコード: // [[Rcpp::depends(Rc…

Rcpp: カーネル密度推定のバンド幅を一個抜き交差検証法で決める

バンド幅 h をいろいろ変えて一個抜き交差検証法で評価した対数尤度が結構なめらかな形になったのでブレント法で最適なバンド幅を選んでみた。対象としたデータはこれ。h をいろいろ変えて一個抜き交差検証法で評価した対数尤度のプロットはこちら。選ばれた…

Rcpp で PMMH(パーティクルマージナルメトロポリス・ヘイスティングス)

R によるすごくかんたんなパーティクルフィルタの実装例 - 廿TT では分散パラメータを既知としていますが、分散パラメータも推定したい。パーティクルフィルタの重みから周辺尤度を出してランダム・ウォーク・メトロポリス・ヘイスティングスでサンプリング…

[Rcpp]PELT アルゴリズムで変化点の検出

PELT アルゴリズム は R の changepoint パッケージですでに実装されているけど、勉強のためあらためて書いてみる。観測値を とします。複数の変化点があり得る場合、なんらかの情報量規準を用いて変化点検知をするにはを最小化する変化点 を見つける必要が…

Albert (1992): 正規累積項目反応曲線のギブスサンプリングによる推定. Rcpp による実装例.

Albert, J. H. (1992). Bayesian estimation of normal ogive item response curves using Gibbs sampling. Journal of educational statistics, 17(3), 251-269. https://www.jstor.org/stable/1165149 のアルゴリズムがおもしろかったので紹介します. モデ…

Rcpp を用いたギブスサンプリングのかんたんな例題

参考文献 Rによるモンテカルロ法入門作者: C.P.ロバート,G.カセーラ,石田基広,石田和枝出版社/メーカー: 丸善出版発売日: 2012/08/23メディア: ムック購入: 1人 クリック: 23回この商品を含むブログ (2件) を見る計算統計学の方法―ブートストラップ・EMアル…

RcppNumerical でワイブル分布のパラメータの最尤推定

GitHub - yixuan/RcppNumerical: Rcpp Integration for Numerical Computing Libraries を参考に、optim_lbfgs を使ってワイブル分布のパラメータの最尤推定を試した.変数 f に対数尤度, g1, g2 に対数対数の一回微分, を与えています. // [[Rcpp::depends(R…

Rcpp の rexp の引数はレートじゃなくて平均だった。

こうやってやると R の rexp と結果が一致する. #include <Rcpp.h> using namespace Rcpp; // [[Rcpp::export]] NumericVector rexp2(int N, double lambda) { NumericVector out(N); for(int i=0; i</rcpp.h>

Rcpp で独立メトロポリスヘイスティングス

独立メトロポリス・ヘイスティングス法を用いたベイズ推測の簡単な例題 - 廿TT でやったのと同じことを Rcpp で書いてみた。 ハローワールド。C++ のコードはこう。 #include <Rcpp.h> using namespace Rcpp; double lik(double lambda, NumericVector dat) { double</rcpp.h>…