ブックマークの人気度とZipf分布

Stikcy Plus!の人気のページのところで、Zipf分布で人気度が出せるんじゃないかなあ…と頭をひねる。

Wikipediaの数式をまんまrubyにするとこんな感じ。

N = 100
sigma = (1..N).inject(0.0) {|r, i| r + (1.0 / i) }

(1..N).each do |k|
  popularity = (k * sigma) ** -1
  puts popularity 
end

Nが総数で、kが順位。順位が高くなるほど、出現確立が高くなる。
出力結果を折れ線グラフにしてやるとこんな感じ。

Zipf分布になっている…のかな?


で。たとえば99日前までのブックマークを対象とし、ブックマークを付けた日が当日ならk=1、1日前ならk=2…n日前(n <= N)ならk=n+1として、その出現確立をブックマークのポイントとして、urlごとにポイントを合計すれば、そのページ(url)の人気度をポイントであらわせるのかも、などと考えてみた。


…間違ってるかも…