Wiseacre`s blog

I Belive In Love

Denian Gnu/Linux banner

Формула за определяне на рейтинг в предварително зададен интервал

Има само един коментар. Скучно му е!

В края на миналата година трябваше да решавам една задачка. Ставаше дума за определяне на рейтинг в диапазона от 0 до 10 базиран на числови параметри. Имах списък с няколко хиляди обекта (доколкото си спомням - десетки хиляди) и 6 неотрицателни (нула или по-големи) числа за всеки от тях, от които трябваше да получа едно - колкото по-близо до десет, толкова нещото, което трябваше за бъде оценено се приемаше за по-хубаво. Сега искам да споделя решението. По аналогичен начин могат да се оценяват произволни обекти от даден списък при произволен интервал за оценката, с единственото условие да са дадени техни неотрицателни числови характеристики.

Представете си, че имате например снимки, публикувани в Интернет, профили на потребители на уеб сайтове, сайт с видео клипчета, текстове в блогове и т. н. За всяко тези неща можете да получите един набор от числа - брой посещения, някакъв рейтинг (от онези със звездичките …), можете да засечете брой връзки от други сайтове, брой изпращания по електронна поща, брой изтегляния на файлове, брой коментари … Ако говорим за сайт от типа “социална мрежа” потребителите могат да са включени в списък с приятели, клипчетата и снимките - в “колекции”. Ако оценявате потребители на електронна поща можете да отчетете брой на входящите и изходящите писма, дата на последно влизане, “възраст” (в смисъл - дата на регистрация) на потребителя … И тъй нататък. Изобщо казано нека имате списък от някакви еднотипни обекти, за всеки от които ви е даден списък от числа. Можем да формализираме, като опишем това, което ни е дадено, като множество от вектори от вида:


(objecti,xi1,xi2,xi3xin)
i=1,2, … ,m

Разбира се, във всеки един момент дадените ви за оценка обекти са краен брой и за всеки отделен параметър можете да определите максимална стойност maxj (j=1,2, … ,n) и известното от статистиката стандартно отклонение sj (j=1,2, … ,n). И накрая, всеки параметър може да има различна тежест, да е по-важен от едни, и по-малко важен от други параметри. Затова нека определим теглата wj>0 (j=1,2, … ,n) зависещи само от конкретния параметър. Възможно е w1=w2= … =wn=1. Формулата, даваща оценката evali на обекта objecti (i=1,2, … ,m) в интервала [0,1] има следния вид


evali=(w1pi1 + w2pi2 + … + wnpin)/(w1+w2+ … +wn)
pij=xij/maxj, j=1,2, … ,n

Практически е възможно да се случи за малък брой обекти стойностите на някой от параметрите да се отличават много от стойностите на същия параметър за останалите обекти. В този случай е по-добре да използваме същата формула, но с малко изменение на pij.


evali=(w1pi1 + w2pi2 + … + wnpin)/(w1+w2+ … +wn)
pij = 1, ако xij>3sj и pij=xij/3sj в останалите случаи (j=1,2, … ,n).

Вижда се, че всяко от числата pij е не по-малко от нула и не по-голямо от едно. Тогава сумата в числителя ще най-много равна на сумата от теглата. Знаменателят осигурява стойността на оценката да е по-малка или равна на 1. Ако е необходим резултат в интервала [a,b] може да се използва формулата (която всъщност е и целта на това съчинение)


EVALi=(b-a)evali+a

Точният избор на параметри е трудна работа. В едни случаи е добре да избираме едни, в други - съвсем различни. Ако става дума за интернет първата реакция е “броят посещетия/показвания е най-доброто”. Но това не винаги е така. Много хора попадат напълно случайно на страницата ви и веднага излизат. Особено ако тя съдържа популярни ключови думи. В този случай тя нищо не им е дала, не са имали полза от нея. Броят посещения или показвания е значително по-лоша характеристика и от използвания за оценка на научни публикации импакт-фактор, който пък зависи от цитиранията на статията, без да се отчита характера на цитирането. Така, че трябва да се внимава - всичко зависи от целта на оценката и е до известна степен условно.

Избрах да сложа този текст в категория “Информатика” . Съжалявам, ако формулите и липсата на програмен код са смутили нечии сън. Моля, ако има някакви грешки да ми пишете в коментарите. Също така всякакви забележки и коментари са добре дошли.


Определете блога на 2008-ма година!!!

Написано от Георги Фурнаджиев

на 25 April 2007 в 02:20

Публикувано в Uncategorized

One Response to 'Формула за определяне на рейтинг в предварително зададен интервал'

Subscribe to comments with RSS

  1. РЕДАКЦИЯ на 26 април 2007 - оправена е печатна грешка при определянето на pij във втората формула за evali.

Leave a Reply

You must be logged in to post a comment.