[Python]レビューソート問題をベイズ推論で解いてみる

最終更新日:

Table of Contents
1  概要
2  誰のための記事?
3  課題内容
3.1  実現したいこと
3.2  前提
3.3  普通にソートすることによる問題
3.4  解決方法
3.5  この課題で扱わないこと
4  ダミーデータの準備
5  PyMCでモデルを組む
5.1  ステップ概要5.1.1  確率変数や事前分布などをどうするのか決める。
5.2  モデルを組む
5.3  モデルの確認
5.3.1  レビューが少ないケース
5.3.2  レビューが多いケース
6  全商品の95%信用下限値の算出
7  ソート
8  Appendix
9  環境
9.1  ノート環境
9.2  Python 環境
9.3  ライブラリ環境
概要
Pythonで体験するベイズ推論 PyMCによるMCMC入門の書籍を結構前に読了しましたが、しばらくPyMCを触っていないので、復習用に自習課題として動かします。
どんな書籍なのか、というのはここでは触れないので、『Pythonで体験するベイズ推論 ―PyMCによるMCMC入門―』の書評などをご確認ください。(書籍自体はとても分かりやすかった・・)
ちなみに統計・確率・数学・ベイズ周りは初心者(理系出身でもない)なため、理解が浅い点はご了承ください。
誰のための記事?
書籍の原書が元々for Hackers とあるように、書籍もエンジニア・もしくは最近PyMCを触り始めた方など向けで、この記事でもほとんど数式などは扱いません。
がっつりデータサイエンスを仕事にしている方達からすると、大分物足りない記事だとは思います。
機械学習(特にディープラーニング)を先に学んでから、それを踏まえて比較などしつつ記事を書いています。「ゼロから作る Deep Learning」など消化済みの方だと、より読みやすいかもしれません。
課題内容
書籍で例題として、upvote / downvote(いいね的な、親指マークなど)のソート問題がありました。
また、そちらの例題での内容は、レビュー(Amazon的な)のソートとしても使えると書かれており、数式などが軽く触れられていましたが、実際にPyMCを動かして、といったところまでは書かれていなかったので、課題としてこのレビューのソート問題を扱います。
実現したいこと
レビューが

サイト名: Qiita

無料メールマガジン登録

週1回、注目のAIニュースやイベント情報を
編集部がピックアップしてお届けしています。

こちらの規約にご同意のうえチェックしてください。

規約に同意する