廿TT

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

R

崩壊型ギブスサンプリングによるポアソン混合分布の学習をRで

機械学習スタートアップシリーズ ベイズ推論による機械学習入門 (KS情報科学専門書)作者: 須山敦志,杉山将出版社/メーカー: 講談社発売日: 2017/10/21メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る『ベイズ推論による機械学習入門』の…

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

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

ggplot2とpatchworkでヒートマップの周辺度数をプロット

パッチワークパッケージ(GitHub - thomasp85/patchwork: The Composer of ggplots)は便利ですね。 library(tidyverse) library(patchwork) data("author",package = "ca") author_t <- as_data_frame(author) %>% mutate(title=rownames(author)) %>% gath…

詩のリフレインを可視化するベイズモデル (rstan)

中原中也のサーカスという詩をたぶんあなたはすでにご存知だろう。 幾時代かがありまして 茶色い戦争ありました幾時代かがありまして 冬は疾風(しっぷう)吹きました幾時代かがありまして 今夜此処(ここ)での一(ひ)と殷盛(さか)り 今夜此処での一と殷…

EMアルゴリズム:ランダムな欠測があるデータから多変量正規分布のパラメータ推定

R

http://ebsa.ism.ac.jp/ebooks/sites/default/files/ebook/1881/pdf/vol3_ch9.pdf ↑アルゴリズムはこれに出ています。R のコードだけ貼ります。 library(mvtnorm) EM_mGauss <- function(y,muini,sigmaini) { for(j in 1:1000){ z <- y m <-is.na(y) N<-nrow…

R: 確率的勾配降下法で混合ポアソン分布のパラメータの最尤推定

abrahamcow.hatenablog.comコードだけ貼ります。log_softmax関数の微分が難しかった。 SGDmixPois<-function(y, L, theta, lern_rate, num_iters, batch_size){ ll<-function(y,theta){ phi <- c(0,theta[1:(L-1)]) lam <- theta[-c(1:(L-1))] lp <- numeric…

R: 確率的勾配降下法でポアソン分布のパラメータの最尤推定

これはたぶん確率的勾配降下法のもっとも簡単な例題です。モチベーション:でっかいデータで最尤推定したいときがあって、ふつうに準ニュートン法とか使うと遅すぎていやなので、なんか機械学習の人たちがやってる確率的勾配降下法とかいうやつ使えばいいん…

二項分布を用いたABテストのサンプルサイズ計算

ABテストがらみの話は完全に私怨からはじめたものですが、単純なようでなかなか奥が深いんです。検定いらずの AB テスト:φ 係数を用いたサンプルサイズ設計 - 廿TT で考えた方法はちょっと気に入ってるけど、たいして話題にならず、議論にも発展しなかった…

ガンマ・ポアソン分布回帰による margarine データの分析(特に根拠のない推定法)

R

ディリクレ・多項分布回帰による margarine データの分析 - 廿TT と同じデータを扱います。説明変数の行列を X (N行D列)で表し、家庭 n におけるマーガリン k の購入数を とします。以下のモデルを考えます。 ここでの指数関数は要素ごとの指数関数です。 …

オフセット項のある負の二項分布

モデル パラメータがガンマ分布に従って変化するようなポアソン分布は負の二項分布になることが知られています。オフセット(既知であり推定しない変数) のあるポアソン分布のパラメータがガンマ分布に従って変化する場合、どのような分布になるかを考えま…

ディリクレ・多項分布回帰による margarine データの分析

分析対象 R の bayesm パッケージに入っている margarine データを分析します。このデータは家計ごとのマーガリンの購買が記録されている。たとえば購買されたマーガリンのブランド(1〜10)ごとに家庭の収入の分布をみるとこんな感じ。マーガリンのブランド…

ガンマ・ポアソン分布で推定しても負の二項分布で推定しても結果は一緒になるか

問:ガンマ・ポアソン分布で推定しても負の二項分布で推定しても結果は一緒になるか 答:なりそう 以下のデータ生成過程を考える。 z を積分消去すると、y は負の二項分布に従うことがわかる(証明略)。また、z の事後分布は以下のガンマ分布になる。 (証…

JuliaCallを試す(パーティクルフィルタ)

R

ジュリアで簡単なパーティクルフィルタを書いた。 (R によるすごくかんたんなパーティクルフィルタの実装例 - 廿TT) using Distributions function PF(y,N_particles,Sigma,Tau) tmax = length(y) xx = zeros(tmax+1,N_particles) xx[1,1:N_particles] = y…

非負値行列因子分解をRで(ベイズ推論による機械学習入門)2

abrahamcow.hatenablog.comはい。機械学習スタートアップシリーズ ベイズ推論による機械学習入門 (KS情報科学専門書)作者: 須山敦志,杉山将出版社/メーカー: 講談社発売日: 2017/10/21メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見るp.1…

かんたんなバンディットアルゴリズムのシミュレーション

報酬がベルヌーイ分布に従うときのトンプソンサンプリングをシミュレーションしてみました。 問題設定 スロットマシーンが5台あってそれぞれ「当たり」が出る確率が違うとする。「当たり」の出やすいスロットマシーンをうまく選んで、得られる「当たり」の回…

グループドデータの非負値行列因子分解

モチベーション たとえばこういう表がある。 gist.github.com表の左のほうにユーザー層の情報、右の方にユーザー層ごとのブログへのアクセス経路が書かれている。どのユーザー層がどの経路を好むか知りたいとする。そこでトピックモデルとしてポアソン分布を…

(googleAnalyticsR) 幾何分布回帰

あるセッション n のページ深度(pageDepth) に対して, 適当な説明変数 を用いて幾何分布を当てはめる。 どういうユーザー層がセッションから離脱しやすいかわかります。最尤推定のための関数はこう。 geomreg <- function(formula,weights,data){ mf <-mod…

線形次元削減をRで(ベイズ推論による機械学習入門)

『ベイズ推論による機械学習入門』で解説されていた線形次元削減です。D 行 N 列の観測データを を M 行 N 列の潜在変数 で表現することが目標です。 D 行 M 列のパラメータ W と D 次元のベクトル μ を使ってという形で近似します。機械学習スタートアップ…

打ち切りデータを扱うために前に書いた R の関数群をパッケージ化しました

R の自分用の関数がごちゃごちゃしてきたのでパッケージ化して整理しようとしているのです。tidysurv とかいう恐れ多い名前をつけてしまった……。GitHub - abikoushi/tidysurv: R package for censored data handlingまだ作りかけです。dplyr、ggplot2 と sur…

ggplot2 のためのいくつかの関数をパッケージ化しました

まだ説明とかぜんぜん書いてない。GitHub - abikoushi/ggsomestat: Some stat in ggplot2インストールは devtools::install_github("abikoushi/ggsomestat") で、たぶんいけます。練習用にsearchConsoleというsearchConsoleからとってきたデータが入ってます…

ggplot2 でミニ棒グラフ行列を描画する geom_barmatrix を書きました

library(tidyverse) geom_barmatrix <- function(mapping = NULL, data = NULL, stat = "identity",position ="identity", ..., width = NULL, binwidth = NULL, na.rm = FALSE, show.legend = NA, inherit.aes = TRUE) { layer( data = data, mapping = map…

パーティクルフィルタとMCMCによる離散時間SIRモデルのパラメータ推定

SIR モデルと非定常ポアソン過程 - 廿TT Rcpp で PMMH(パーティクルマージナルメトロポリス・ヘイスティングス) - 廿TT ゼロの多いコンバージョンの状態空間モデル - 廿TT これらのエントリの合わせ技です。考えているモデルは SIRモデルからはじめる微分…

ゼロの多いコンバージョンの状態空間モデル

対象 アマゾンアフィリエイトをやってる。コンバージョンはあまりない。いくつか図を貼ります。去年一年間の日ごとの注文数合計です。なにもない日がけっこう多い。でも後半ちょっと黒いところが増えているような気もする。と思ったけど、以下を見るとやっぱ…

(googleAnalyticsR) コホート比較で再訪率の高い流入経路を探す

Google アナリティクスのコホートレポートの分析例です。高度な使用例 | アナリティクス Reporting API v4 | Google Developers営利目的のサイトだったら、キャンペーン(acquisitionCampaignというディメンション)ごとに再訪率の高さをみるとよさそう。ぼ…

R: madness で自動微分

madness パッケージを使うとベクトルや行列の自動微分ができます。数値微分ではなくて自動微分です。ためしに を で微分してみます。答えは です。 require(madness) x <- array(1:10,dim=c(10,1)) madx <- madness::madness(x) madx2 <- log(madness::colSu…

[searchConsoleR]検索キーワードの階層型クラスタリング

R SEO

本当は 収集したキーワードをグループ化する | 検索連動型広告を成功に導くSEM戦略 | Web担当者Forum の逆問題がやりたいけど攻めあぐねている。 キーワードの距離 どこからどこまでを一つのキーワードとみなすかは難しいですが、ここでは単純に検索クエリ内…

R のエラーメッセージとかを英語にする

R

LANG=en_US.UTF-8と書いて ".Renviron" というファイル名でホームディレクトリに保存する。

目で見る尤度関数(『ベイズ統計の理論と方法』より)

『ベイズ統計の理論と方法』1.4節の例を R でやってみます。ベイズ統計の理論と方法作者: 渡辺澄夫出版社/メーカー: コロナ社発売日: 2012/03/01メディア: 単行本購入: 1人 クリック: 4回この商品を含むブログ (8件) を見る尤度関数が正規分布で近似できると…

多項式回帰モデルの予測分布(『ベイズ推論による機械学習入門』をRで)

『ベイズ推論による機械学習入門』p.109 の図3.8をRで再現してみました。機械学習スタートアップシリーズ ベイズ推論による機械学習入門 (KS情報科学専門書)作者: 須山敦志,杉山将出版社/メーカー: 講談社発売日: 2017/10/21メディア: 単行本(ソフトカバー…

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

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