ベイジアンニューラルネットワークの事前分布に分析者のドメイン知識を反映させる
ベイジアンモデリングを使用することのメリットの一つとして、分析者の知見をモデルに反映させやすいという点があります。例えば、 $$ y = \alpha + \beta X +\varepsilon$$ という単回帰を考え … 続きを読む
ベイジアンモデリングを使用することのメリットの一つとして、分析者の知見をモデルに反映させやすいという点があります。例えば、 $$ y = \alpha + \beta X +\varepsilon$$ という単回帰を考え … 続きを読む
本記事は、『確率的プログラミング言語 Advent Calendar 2023』の15日目の記事になります。(アドベントカレンダーを主催していただいた松浦さんに感謝です!!) 今回は、論文『Log-Regularly V … 続きを読む
Python用のライブラリであり、確率的プログラミング言語(PPL)のひとつでもあるPyMCには、実験的な機能や十分にテストしきれていない機能を提供するpymc-experimentalという派生ライブラリが存在します。 … 続きを読む
PPLでの状態空間モデルの実装 状態空間モデルをMCMCで実行する機会がちょいちょいあるのですが、そんな時は使い慣れたrstan、もしくはcmdstanrをずっと使用してきました。(たまにGoogleの開発したRのライブ … 続きを読む
時系列データのモデリングとして、以下のような手法がメジャーかなと思います。 今回は、2021年に発表された比較的新しい手法であるGreykiteのご紹介をしていきます。 注意:本記事は2022年11月時点の情報をもとに記 … 続きを読む
前回の記事(『Numpyroで主成分分析を実装してみる』)では、確率的プログラミング言語(PPL)の一種であるNumpyroを使って、MCMCによる確率的主成分分析(PPCA)の実装方法を紹介しました。
今回は、PPCAと同じ次元削減の手法のひとつである非負値行列分解(NMF)を、PPLの一種であり、Numpyroの親戚であるPyroを使って実装してみます。
みなさんは普段、どのようにベイズモデリングを実装されていますか? アカデミックの方や理論・プログラミングに明るい人は「自分でMHアルゴリズムなどMCMCを一から実装している」という選択肢をとられているかもしれません。 が … 続きを読む
業務で時系列データの予測モデルを作る時、私は基本的にProphetを最初に選択します。なかなかの精度のモデルが、手早く簡単に作れるからです。 しかし、時系列データが数百系列あるような場合、いかにProphetといえどもモ … 続きを読む
混合分布モデルでは、離散値の場合は混合ポアソンモデル、連続値の場合は混合ガウスモデルが使われることが多いですが、この2つ以外にも適当な確率分布を使った「混合○○モデル」を定義することはできます。 今回は、データが0 or … 続きを読む