評点の分布が滑らかでないのは不自然なのか

話題の評点分布についての自分用まとめです。 特に統計的な議論においては各々想定している状況が違っているようなので整理してみました。

筆者は統計というよりは確率の人間なので、ベイズだとかには触らずに確率変数の演算ばかり使います。

大数の法則が使えるような状況

 j の真の評点  \mu(j) が宇宙のどこかに存在していて、レビュワー  i の 店  j に対する評点  r(i,j) は平均  \mu(j) を持つ独立同分布な確率変数と考えます。

 j の評点  m(j) n 件のレビューが付いていたときに

 \displaystyle{
m(j) = \frac{1}{n} \sum_{i=1}^n r(i, j)
}

と書けます*1が、これはレビュワーが増えていくと  \mu(j) に収束することが知られています。

確率変数である  m(j) を仮に  \mu(j) に置き換えて考えれば、もはや評点分布は何ら確率的な性質を持ちません。 宇宙のどこかに存在している  \mu(j) の値は3.6が多いかもしれませんし3.8が多いかもしれませんし、そうでないかもしれません。

レビュワー数は実際には有限なので収束せず幾らかは確率的なところがあるのですが、それは次のより一般的な状況で併せて考えます。

中心極限定理が使えるような状況

レビュワー  i の 店  j に対する評点  r(i,j) は平均  \mu(j) と分散  \sigma(j) を持ち、ある条件を満足する独立な確率変数と考えます。

このとき

 \displaystyle{
m(j) = \frac{1}{n} \sum_{i=1}^n r(i, j)
}

はレビュワーが増えていくと平均  \mu(j) と 分散  \sigma ^2 (j) / n を持つ正規分布に法則収束することが知られています。

今回の状況で自然にモデリングしたとき中心極限定理が教えてくれるのは、店  j に対する評点が正規分布に従うということだけです。 このとき例の評点分布はどういう形状になりそうでしょうか。

法則収束先の正規分布パラメータが店毎に異なっていることが大事です。複数の正規確率変数のどれかから実現値が取られるのと同じなので、評点のヒストグラムは混合正規分布に従うことになります。評点の平均については大数の法則中心極限定理が効きますが、レビューの付与された店が増えたとしてもヒストグラムの従う分布は混合正規分布のままです。

店の数だけパラメータを考えるのは大変なので、人力最尤推定の結果として良い店と悪い店の2種類が存在するとします。 以下のようなパラメータで仮にヒストグラムを描いてみました。

np.random.seed(0)
r_b = pd.Series(np.random.normal(3.6, 0.03, size=2000))
r_g = pd.Series(np.random.normal(3.75, 0.08, size=4000))
r = r_b.append(r_g)
r.hist(bins=50)

f:id:marugari2:20191011225646p:plain

例の分布と比べて尖り方が不足していますが、ガタガタした分布自体は簡単につくれることが分かりました。

まとめ

例の分布について統計的に言えることは何もなさそうです。 私自身もガタガタが目立つなという印象を抱きましたが、我々は評点の(ヒストグラムではなく)分布について知らないことが多く、評点分布を滑らかにするような何らかの数学的原理が存在する訳でもありません。

点数操作の可能性を否定するでもないですが、「評点分布が歪な形をしているのは変だ」という信念だけで一企業を攻撃するのは危なっかしくないでしょうか。

申し開き

上に挙げた2つの山の分布が恣意的であるというご指摘を頂いております。おっしゃる通りです。

この記事で言いたいのは、例のヒストグラムの元となる分布は正規分布ではなく混合正規分布になりそうだということです。 皆さん思い思いのパラメータで混合正規分布の曲線を心の中に描いてみて、それと例のヒストグラムを比較して点数操作の可能性を議論頂けたら幸甚です。

*1:ユーザ毎に重みがあったとしても通常は一般性を失わない