Преобразование формулы в PHP - PullRequest
3 голосов
/ 22 октября 2010

Я пытаюсь преобразовать эту адаптивную формулу байесовского рейтинга в код PHP: см. Здесь .

Вот детали различных частей формулы ..

  • голосов: общее количество голосов на данный момент
  • nlinks: общее количество ссылок
  • nvotes (k): количество голосов, поданных за r-ю ссылку.
  • deltarank (k, m): увеличение ранга, вызванное k-м голосованием, которое передается по m-й ссылке.
  • nsaves (i): количество пользователей, которые сохранили i-ю ссылку на свой linkibol.
  • a: показатель сохранения (специальное значение, близкое к 1)
  • age (i): разница (в днях) между добавленной ссылкой на дату и текущей датой.
  • b: показатель затухания (специальное значение, близкое к 0)

(полную информацию о формуле можно найти в http://blog.linkibol.com/2010/05/07/how-to-build-a-popularity-algorithm-you-can-be-proud-of/ - прокрутите вниз до раздела «Как реализовать популярность в linkibol?»)

Я могу легко преобразовать большую часть этой функции в код PHP, но бит, который я не понимаю, это бит сигма и дельтаранк. Я не уверен, что этот бит должен делать или какие значения передавать k и m.

Если у кого-нибудь есть какие-либо советы или можно было бы разбить сложный бит формулы, что было бы замечательно, тогда я могу посмотреть, как лучше всего реализовать ее в PHP - могут быть функции, которые я мог бы использовать и т.д ..

Ответы [ 2 ]

1 голос
/ 22 октября 2010

Сигма часть является суммированием.Используйте значения, указанные в качестве счетчика цикла.(поэтому k = 1–10, используйте эти значения в функциях, которые принимают k).

Дельта - это просто разница, но эта конкретная функция наверняка имеет более точное определение.

1 голос
/ 22 октября 2010

Они определяют дельта-ранг как изменение в ранге, когда k-й голос отдан за m-ую ссылку ... кажется, что это произвольно, так как их изменение ранга основано на карме пользователей, голосующих.

Что касается сигмы, это просто сумма содержимого от (k = 1) до (k = что угодно), так что вы реализуете это с помощью цикла.

...