Question

J'ai un 1 à 5 système de vote et je suis en train de trouver la meilleure façon de trouver l'élément le plus populaire a voté, en prenant en considération le nombre total possible des suffrages exprimés. Pour obtenir un total de vote, je compte "1" comme votes -3 "2" comme votes -2, "3" voix comme une "4" comme votes 2 "5" comme votes 3, si un vote "1" annulerait un "5" vote et vice versa.

Pour cet exemple, disons que nous avons 3 films jouant dans 3 salles de différentes tailles.

Film 1: 800 pl / Film 2: 400 places / film 3: 180 places

D'une certaine manière, nous limitons le montant total des voix en fonction des sièges, donc je voudrais un moyen pour le film dans le théâtre plus petit pour ne pas se laisser submerger automatiquement par le film dans le plus grand théâtre. Il est probable qu'il y aura plus de voix dans le plus grand théâtre, ce qui entraîne un score total supérieur.


Modifier 10/18:

D'accord, je espère pouvoir expliquer mieux. Je travaille pour un festival de cinéma, et nous Scrutin la première projection de chaque film dans le fest. Par conséquent, chaque film aura de 0 à un nombre maximum de voix en fonction de la taille de chaque théâtre. Je cherche à trouver le film le plus populaire dans 3 catégories: narrative, documentaire, court-métrage. Par populaire Je veux dire une combinaison de la plus haute voix moyenne et le nombre de votes.

Il semble comme une moyenne pondérée est ce que je cherche, ce qui donne moins de poids aux votes d'un plus grand théâtre et plus de poids aux votes d'un petit théâtre pour équilibrer les choses.

Était-ce utile?

La solution

Vous travaillez avec moyennes pondérées .

Au lieu de simplement additionner et en divisant par le nombre total d'éléments (moyenne arithmétique):

 a + b + c
 ---------
     3

Vous ajoutez des poids à chaque élément, car ils ne sont pas tous uniformément répartis:

 w1*a + w2*b + w3*c
 ------------------
         3

Dans votre cas, les poids pourrait être ceci:

# of people in current theater
--------------------------------
# of people in all the theaters

Essayons un test:

Theater 1: 100 people       (rating: 1)
Theater 2: 1,000,000 people (rating: 5)

Average = (100 / (100 + 1000000)) * 1 + (1000000/(100 + 1000000)) * 5
          -----------------------------------------------------------
                                      2
        = 2.49980002

Autres conseils

Eh bien, en fonction de vos objectifs, il semble que vous êtes intéressé à une sorte de moyenne pondérée.

En continuant votre exemple de film, il me semble que vous essayez de noter comment les « bons » les films sont. Pour ce faire, vous ne voulez pas tenir compte du nombre de vues d'un film particulier trop fortement dans la décision finale. Cependant, vous devez prendre en compte un peu depuis un film qui ne se est vu 5 fois et a une note moyenne de +2,7 a beaucoup moins de crédibilité qu'un film avec 10.000 vues obtenir la même valeur.

Vous pourriez envisager tout simplement pas comprenant un film dans les résultats à moins qu'il ait un nombre minimum de voix.

Étant donné un uniforme (même) la répartition des voix entre {1,2,3,4,5}, la notation attendue de votre film est de 0,2. En effet, les votes {1} et 5 annuler eachother out, tout comme {2 et 4}. Mais le vote 3 a une valeur attendue de 1/5 = 0,2. Donc, si les gens donnent une cote de {1,2,3,4,5} avec une probabilité égale, alors vous attendre à un film (peu importe combien de personnes voient) d'avoir une note moyenne de près de 0,2.

Je pense que la meilleure option pour vous serait d'additionner tous les scores reçus et simplement diviser par le nombre de personnes qui ont vu chaque film. Cela devrait être une bonne estimation au sentiment des gens envers le film que la moyenne de la distribution ne devrait pas obtenir plus simplement parce que plus de gens voient le film.

Si je vous, je suggère aussi d'ajouter un petit terme de pénalité à votre résultat final, pour tenir compte du fait que certaines personnes ne voulaient même pas aller voir le film. Si beaucoup de gens ne veulent pas voir le film en premier lieu, mais le 5 ou si les gens qu'il a vu lui a donné un 5 note *, qui ne fait pas un bon film, est-il?

Alors une solution finale, je recommande: additionnez tous les points que vous avez décrits, et diviser par le nombre total de personnes qui sont allés au cinéma. Bien qu'imparfaite (quelque moyen que ce parfait), il devrait vous donner une indication de ce que les gens aiment et ne pas comme. Cela signifie essentiellement les personnes qui choisissent de ne pas voir un film ajoutez zéro au total des points, mais affectent encore la moyenne, car le résultat final est divisé par un plus grand nombre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top