为了演示针对此优先级问题的解决方案,我在PyMC3中实现了分层的gamma-Dirichlet-多项式模型。Dirichlet的先验伽玛值由Ted Dunning的博客文章指定和采样。
我实现的模型可以在此要点找到,但也将在下面进行描述:
这是用于电影分级的贝叶斯分层(池)模型。每部电影的评分范围为零到五。每部电影都被评级几次。我们希望找到每部电影的收视率分布平滑。
我们将从数据中了解电影分级的高级先验分布(超优先级)。然后,每部电影都有其自己的先验,并可以通过此顶级先验平滑。对此的另一种思考方式是,将每部电影的收视率先于组级别或集中发行。
如果电影的收视率分布不典型,则这种方法会将收视率缩小到与预期更符合的水平。此外,这种先验知识对于引导评级很少的电影可能非常有用,以使它们与评级很多的电影相比有意义。
该模型如下:
γk = 1 ... K〜ģ 一米米一个(α ,β)
θm = 1 ... M〜d 我ř 我Ç ħ 升ë 吨中号(Ç γ1个,。。。,Ç γķ)
žm = 1 ... M,n = 1 ... N米〜ç一个吨ë 克Ø [R 我 Ç 一个升中号(θ米)
哪里:
- ķķ= 6
- 中号
- ñ米米
- α = 1 / K
- β
- C
- γķķ
- θ米K
- zmnnm