ピアソン相関

2017/10/29

 

サンプルを比較するために使えます

f:id:monowasure78:20130208223526p:plainからなる数値列に対して、ピアソン相関係数は

frac{sum_{i=1}^n (x_i - overline{x})(y_i - overline{y} ) }{sqrt{sum_{i=1}^n (x_i - overline{x})^2}sqrt{sum_{i=1}^n (y_i - overline{y})^2}}

で与えられます。

「集合知プログラミング」という本によると、

frac{sum_{i=1}^n x_i y_i -frac{sum_{i=1}^n x_i sum_{i=1}^n y_i}{n}}{sqrt{(sum_{i=1}^nx_i^2 - frac{(sum_{i=1}^n x_i)^2}{n})(sum_{i=1}^n y_i^2 - frac{(sum_{i=1}^n y_i)^2}{n})}}

で与えられる。

こちらの利点は1回のループで相関係数を求められることです。

この本のMovieLensというサイトのデータを用いた演習でそれぞれの時間を計測したところ、

上:14808ms

下:13709ms

と差がでました。

より大きなデータでは、影響があるかもしれません。

 

(メモ)

協調フィルタリングで類似度を求めるときはある程度共通するアイテムの数があるときのみ求め、少ない時は0とすべき。

 

 

集合知プログラミング

集合知プログラミング

  • 作者: Toby Segaran,當山仁健,鴨澤眞夫
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2008/07/25
  • メディア: 大型本
  • 購入: 91人 クリック: 2,220回
  • この商品を含むブログ (277件) を見る