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)の人気度をポイントであらわせるのかも、などと考えてみた。
…間違ってるかも…