Un alt sistem de rating

Deci, subiectul sistemelor de rating continuă să încânteze mințile utilizatorilor habra. Există tot mai multe scheme noi, formule, teste. Și de fiecare dată, totul se reduce la aceeași întrebare: cum să combinăm ratingul mediu al utilizatorilor cu încrederea noastră în această evaluare. De exemplu, dacă un film a primit 80 de voturi pozitive și 20 de voturi negative, iar altul - 9 pozitiv și 1 negativ, care dintre filme este mai bun? Fără a pretinde crearea unui nou sistem universitar de rating, voi oferi totuși una dintre posibilele abordări pentru rezolvarea acestei probleme.







Apropierea prin distribuție normală

În general, chiar formularea - pentru a evalua o anumită valoare și încrederea noastră în ea - împinge ideea utilizării unui model de distribuție a probabilității, de exemplu, a unei distribuții normale.

Ce este distribuția normală?

Pentru cei care au sarit perechi de mate. statistici, vă reamintesc că distribuția normală și, în general, distribuția de probabilități sunt de la sine. Să presupunem că am oprit și am văzut cum a plecat autobuzul chiar în fața noastră. Știm că următorul va ajunge în aproximativ 15 minute (în minutul 15). Poate pe 16. Sau invers, pe 14. În principiu, conducătorul auto se poate grăbi și ajunge deja la minutul 12, dar probabilitatea acestui lucru este mult mai scăzută. Graficul de mai jos arată exact distribuția probabilităților de sosire de autobuz în fiecare moment: cel mai probabil, el va veni în minutul 15, cu doar un pic mai puțin probabil - pe 14 sau 16, și cu destul de o probabilitate mică de 12 sau 18.

Un alt sistem de rating

Trebuie înțeles că valoarea axei Y nu este o probabilitate, ci o funcție de densitate a probabilității (PDF). Probabilitatea însăși este calculată ca suprafața de sub grafic între cele două valori X1 și X2, de exemplu, probabilitatea ca magistrala să ajungă între 15 și 16 minute este 0,248. Dar mai mult despre asta mai târziu.

Distribuția normală se caracterizează prin doi parametri - valoarea medie (medie, aici - 15 minute) și dispersia (varianța, dispersie), care indică gradul de incertitudine al mediei: cu atât mai variate, programul mai larg, și cu atât mai puțin suntem convinși că, atunci când în sfârșit acest autobuz va veni.

Evaluarea, ca regulă, este doar un număr, un fel de rezultat final al evaluării. Și, de fapt, vom estima calitatea așteptată a filmului (măcinatoare de cafea, articole, utilizatori - trebuie accentuată). Graficul de mai jos prezintă graficele de distribuție pentru două filme ipotetice.

Un alt sistem de rating

Primul film (linia albastră) a provocat recenzii conflictuale (valoarea medie a distribuției este de 0,5). În contrast, cel de-al doilea film (linia verde) a primit mai multe evaluări pozitive decât negative, dar oamenii au votat mult mai puțin și, prin urmare, suntem siguri mult mai puțin (dispersia este mult mai mare decât în ​​prima diagramă).

În principiu, o distribuție normală în sine permite deja o evaluare destul de bună a ratingului (justificarea teoretică pentru aceasta este dată de teorema limitei centrale). Totuși, în statistici există și un instrument mai convenabil pentru acest lucru.

Distribuția beta

La fel ca distribuția normală, beta este dată de doi parametri - alpha> 0 și beta> 0 (scris ca X

B (alfa, beta)). Odako, spre deosebire de normal, întotdeauna sub forma unui clopot, distribuția beta are mult mai multă flexibilitate. În special, pentru alfa = 1 și beta = 1, această distribuție se transformă într-o linie uniformă (albastru închis în figura de mai jos), cu alfa <1 и beta <1 функция распределения принимает форму колодца (зелёная линия), а при alpha> 1 și beta> 1 devine similar cu normal (linii roșii și albastru deschis).

Un alt sistem de rating

Pentru toate exemplele, vor fi necesare următoarele importuri:

Graficul precedent a fost generat de următorul cod:

În plus, distribuția beta are câteva proprietăți interesante:

  1. Este limitat de un interval finit. Dacă vrem să "blocăm" valorile posibile în intervalul de la 0 la 1, atunci distribuția beta este exact ceea ce avem nevoie.
  2. Este simetric cu privire la parametrii săi. Graficul B (alfa, beta) va fi o imagine în oglindă a graficului B (beta, alfa).
  3. alfa și beta acționează pe diferite părți ale profilului de densitate. Odată cu creșterea alfa, graficul se schimbă și se înclină spre dreapta, cu creșterea beta - invers, spre stânga.
  4. Dispersia scade odată cu creșterea oricăror parametri.

Evaluările utilizatorilor

Și ce dacă vom folosi ca parametri alfa și beta, respectiv, numărul pozitiv și numărul de utilizatori negativi? În acest caz, inițial, distribuția beta poate fi inițializată prin unități pentru ambii parametri (care, în general, vor corespunde cu netezirea Laplace). În acest caz, inițial evaluarea noastră privind calitatea filmului va fi distribuit în mod uniform (nu știm nimic despre ea), iar fiecare vot va crește unul dintre parametrii pentru a reduce programul de dispersie și de deplasare sau de dreapta (parametrul alfa, feedback-ul pozitiv) sau la stânga (opțiunea beta , feedback negativ). În același timp, evaluarea noastră a calității filmului nu merge niciodată în afara intervalului [0..1] și, de fapt, va arăta probabilitatea ca un film ca privitorul mediu.







Să luăm în considerare câteva exemple. Când apare un nou film. despre care nimeni nu și-a exprimat opinia, parametrii alfa și beta vor fi egali cu unul, iar graficul de densitate va fi echivalent cu programul de distribuție uniform:

Un alt sistem de rating

Sa dovedit că informația despre film a fost încărcată chiar de director. El sa încărcat și el a votat el însuși. Firește, este pozitiv. Da, și cinci asistenți au cerut să ajute. Rezultatul: alpha = 1 + 1 + 5 = 7, beta = 1.

Un alt sistem de rating

Fosta soție a regizorului a văzut pagina filmului și a decis să strică ratingul, alături de iubitul ei, a votat negativ. Rezultatul: alfa = 7, beta = 1 + 2 = 3:

Un alt sistem de rating

După 8 voturi, scorul mediu, ținând cont de netezirea Laplace, va fi egal cu alfa / (alfa + beta) = 7/10 = 0,7. Cu toate acestea, din grafic se poate observa că dispersia distribuției rezultate este încă ridicată, ceea ce înseamnă că încrederea noastră în această estimare este scăzută.

Să presupunem că în prima săptămână de închiriere pentru film a votat 90 de persoane, și astfel încât parametrul alfa în cele din urmă sa dovedit a fi egal cu 70, și beta - 30. Scorul mediu este, ca și mai înainte, este 70/100 = 0,7, dar programul este mult se va schimba:

Un alt sistem de rating

Dispersia pe al doilea grafic este mult mai mică. Ie Cu o creștere a numărului de voturi, încrederea noastră în evaluarea calității filmului crește și ea.

Toate acestea sunt bune, dar utilizatorul nu dorește să vadă nicio grafică ciudată. El are nevoie de un rating - o figură prin care el poate determina dacă merită să vizionați un film sau mai bine să citiți o carte. În principiu, având parametrii distribuirii beta, se poate calcula estimarea medie și variația și se încearcă cumva să se combine (de exemplu, împărțiți estimarea medie cu logaritmul varianței). Dar puteți merge într-un mod mai corect din punct de vedere statistic.

Pentru a face conversația mai obiectivă, luați de exemplu 2 filme: una din secțiunea anterioară cu distribuția lui B (70, 30) și cealaltă, mai populară. cu o distribuție de B (650, 350). Graficele de distribuție sunt prezentate în figura de mai jos:

Un alt sistem de rating

Pe de o parte, scorul mediu pentru primul film este mai mare - 0.7 față de 0.65. Totuși, cel de-al doilea film a fost urmărit de mai mulți oameni, deci nu este încă cunoscută ce va fi evaluarea primului film după același număr de recenzii. Deci, cum le comparați?

Una dintre opțiunile de comparare este de a calcula calitatea minimă de încredere a filmului, un număr care arată scorul minim pe care un film îl poate primi după un număr nesfârșit de recenzii. În statistici, nu este obișnuit să aducem totul la absolut, astfel încât un nivel de încredere să nu fie 100%, ci standard 95%. Asta înseamnă că vrem să fim siguri 95% că filmul nu este mai rău. Din punct de vedere grafic, aceasta înseamnă că 95% din suprafața graficului trebuie să fie situată pe dreapta lui X:

Un alt sistem de rating

Aproape toate biblioteca statistică pentru toate distribuțiile implementate oferă o funcție de probabilitate (funcția de probabilitate cumulativă, CDF), care primește valoarea de intrare și returnează probabilitatea ca o variabilă aleatoare va fi mai mică decât această valoare. Ie în fapt, funcția CDF de la o anumită valoare a lui X returnează zona de sub grafic între zero și X. Aceasta este diferită de ceea ce avem nevoie în două aspecte.

În primul rând, avem nevoie de un pătrat cu mâna cealaltă - de la X la 1. Din fericire, așa cum sa menționat mai sus, funcția beta este simetrică în raport cu parametrii săi, astfel încât în ​​loc de o distribuție beta directă B (alfa, beta), putem lucra cu opusul - B (beta, alfa).

În al doilea rând, avem nevoie de o funcție care, având în vedere nivelul de încredere va returna valoarea dorită a X. (un procent din suprafața totală a graficului) Cele mai frecvente mat. pachet Această funcție se numește inversul CDF, sau ceva de genul, dar în numele PPF SciPy utilizat (funcție punct procentual, constatat, de asemenea, sub numele de funtion quantile în literatura de specialitate).

Total, pentru a obține valoarea minimă a calității de încredere a filmului, puteți folosi următorul cod:

După numărarea sa dovedit că cu o probabilitate de 95% din primul film se va bucura în cele din urmă un minim de 0.6227 de către toți spectatorii, dar al doilea - 0.6250 dintre ele. Diferența este de numai două mii, dar dacă folosești aceste ratinguri în clasament, atunci al doilea film, chiar și cu un scor mediu mai mic, va fi mai mare în listă.

Aceleași calcule pot fi repetate pentru filmele indicate la începutul postului: pentru un film cu un raport de 80/20, nivelul minim de încredere va fi de 0,731, iar pentru un film cu un raport de 9/1 - 0,717, i. E. Numărul de voturi depășește din nou scorul mediu. Cu toate acestea, merită adăugat cel de-al doilea film doar un singur vot "pentru", iar coeficientul nostru pentru acesta devine egal cu 0,741, aducându-l pe primul loc.

Variații, avantaje și dezavantaje

Toți coeficienții indicați aici sunt, în general, luați în considerație. Deși, se pare, ele dau un rezultat destul de sănătos, într-o aplicație reală este logic să încercați diferite valori pentru ele. De exemplu, cu un număr mare de utilizatori care votează pentru filme, este logic să măriți parametrii nu cu 1, ci, de exemplu, cu 0,5 pentru fiecare voce. Sau chiar introduceți un factor de atenuare, atunci când fiecare voce ulterioară are o greutate mai mică decât cea precedentă - în acest fel este posibil să se realizeze o încetinire a creșterii coeficienților.

În plus, este posibilă îmbunătățirea și evaluarea inițială a filmului. În acest articol, am pornit de la faptul că inițial nu știm nimic despre filmul însuși sau despre alte filme în sistemul nostru, de aceea la început filmul este distribuit uniform (alpha = 1, beta = 1). Cu toate acestea, în practică, de regulă, știm deja ceva despre film în avans și putem folosi aceste informații ca o evaluare a priori. De exemplu, putem calcula scorul mediu pentru filmele anterioare ale acestui director și putem inițializa parametrii distribuției beta în consecință. Chiar dacă nu știm nimic despre regizor (producător, scenarist, actori), putem folosi un scor mediu pentru toate filmele din baza noastră de date.

În principiu, metoda poate fi prelungită pentru o evaluare mai gradata, de exemplu, la o scară de la 0 la 10. In acest caz, 5 estimări de mai sus se adaugă la parametrul alfa, sub 5 - la beta, și în evaluarea exact 5 - și alfa, beta, și crește cu 0,5 (Hello Habr!).

În cele din urmă, este posibil să se modifice gradul de încredere necesar în răspuns sau chiar să se modifice abordarea, utilizând, în loc de nivelul minim de încredere, aria de sub grafic într-un anumit interval fix.

Graficul distribuției beta pentru acest articol

Un alt sistem de rating







Trimiteți-le prietenilor: