Próbuję stworzyć pakiet do eksploracji danych dla stron StackExchange, a w szczególności utknąłem w próbie ustalenia „najciekawszych” pytań. Chciałbym wykorzystać wynik pytania, ale usuwam stronniczość ze względu na liczbę wyświetleń, ale nie wiem, jak podejść do tego rygorystycznie.
W idealnym świecie mógłbym sortować pytania, obliczając , gdzievjest liczbą głosów, anjest liczbą wyświetleń. W końcu mierzyłby odsetek osób głosujących za pytaniem, minus odsetek osób głosujących za pytaniem.
Niestety sposób głosowania jest znacznie bardziej skomplikowany. Głosy mają tendencję do „plateau” do pewnego poziomu, co skutkuje drastycznym niedocenianiem niezwykle popularnych pytań. W praktyce pytanie z 1 widokiem i 1 głosowaniem z pewnością uzyska wynik i zostanie posortowane wyżej niż jakiekolwiek inne pytanie z 10 000 wyświetleń, ale mniej niż 10 000 głosów.
Obecnie używam jako wzór empiryczny, ale chciałbym być precyzyjny. Jak podejść do tego problemu z matematyczną rygorystycznością?
Aby odpowiedzieć na niektóre komentarze, postaram się lepiej rozwiązać problem:
Powiedzmy mam pytanie z głosów ogółem i n 0 widoki. Chciałbym móc oszacować, jaka liczba głosów v 1 jest najbardziej prawdopodobna, gdy liczba wyświetleń osiągnie n 1 .
W ten sposób mogłem po prostu wybrać wartość nominalną dla i uporządkować wszystkie pytania zgodnie z oczekiwaną sumą v 1 .
Utworzyłem dwa zapytania do bazy danych SO, aby lepiej pokazać efekt, o którym mówię:
Średnia liczba wyświetleń według wyniku
Wynik:
Średnia ocena według wyświetleń (segmenty 100 wyświetleń)
Wynik:
Wyniki, nie jestem pewien, czy prostsze jest lepsze: ( w kolorze niebieskim,v