Si tengo un sistema de clasificación por estrellas donde los usuarios pueden expresar su preferencia por un producto o artículo, ¿cómo puedo detectar estadísticamente si los votos están altamente "divididos"? Es decir, incluso si el promedio es 3 de 5, para un producto dado, ¿cómo puedo detectar si se trata de una división de 1 a 5 versus un consenso 3, utilizando solo los datos (sin métodos gráficos)
variance
average
dispersion
David Williams
fuente
fuente
Respuestas:
Se podría construir un índice de polarización; exactamente cómo se define depende de lo que constituye estar más polarizado (es decir, ¿qué quiere decir exactamente, en casos extremos, con más o menos polarizado?):
Por ejemplo, si la media es '4', ¿se divide 50-50 entre '3' y '5' más o menos polarizado que 25% '1' y 75% '5'?
De todos modos, en ausencia de ese tipo de definición específica de lo que quiere decir, sugeriré una medida basada en la varianza:
Dada una media particular, defina la división más polarizada posible como la que maximiza la varianza *.
* (NB que diría que el 25% '1' y el 75% '5' está sustancialmente más polarizado que la división 50-50 de '3 y' 5; si eso no coincide con su intuición, no use la varianza)
Entonces, este índice de polarización es la proporción de la mayor varianza posible ( con la media observada ) en la varianza observada.
Llame a la calificación promedio ( m = ˉ xm m=x¯ ).
La varianza máxima ocurre cuando una proporción está en5y1-pestá en1; esto tiene una varianza de (m-1)(5-m)⋅np=m−14 5 1−p 1 (m−1)(5−m)⋅nn−1 .
Entonces, simplemente tome la varianza de la muestra y divida por ; esto le da un número entre(m−1)(5−m)⋅nn−1 (acuerdo perfecto) y 1 (completamente polarizado).0 1
Para varios casos donde la calificación media es 4, esto daría lo siguiente:
En su lugar, puede preferir no calcularlos en relación con la mayor varianza posible con la misma media, sino como un porcentaje de la mayor varianza posible para cualquier calificación promedio . Eso implicaría dividir en su lugar por , y nuevamente produce un valor entre 0 (acuerdo perfecto) y1(polarizado en los extremos en una relación de 50-50). Esto produciría las mismas relatividades que el diagrama anterior, pero todos los valores serían 3/4 tan grandes (es decir, de izquierda a derecha, de arriba a abajo serían 0, 16.5%, 25%, 25%, 50 % y 75%).4 ⋅ nn - 1 1
Cualquiera de las dos es una opción perfectamente válida, como lo es cualquier otro número de formas alternativas de construir dicho índice.
fuente
m = 1
consigues1 - 1 = 0
y0 / 0
. ¿Cómo corriges eso?"Sin métodos gráficos" es una gran desventaja, pero ... aquí hay un par de ideas extrañas. Ambos tratan las calificaciones como continuas, lo cual es una especie de debilidad conceptual, y probablemente no sea la única ...
Curtosis
Regresión binomial negativa.
Con un marco de datos como este:
FWIW, aquí está el código r con el que he estado jugando:
No puedo resistir lanzar una trama ...
losR a t i n g------√ El término determina la curvatura (concavidad en este caso) de la línea de regresión. Como ya estoy haciendo trampa usando gráficos, califico esto con la regresión de Poisson en lugar del binomio negativo porque es más fácil de codificar que hacerlo de la manera correcta .
Editar: acabo de ver esta pregunta anunciada en la barra lateral: y cuando hice clic, la vi en las Preguntas de la red activa que se vincula a sí misma, como a veces sucede ,
Así que pensé que esto podría merecer una nueva visita de una manera más útil en general. Decidí probar mis métodos en las reseñas de clientes de Amazon para la camiseta de manga corta The Mountain Three Wolf Moon :
La curtosis de esta distribución es bastante alta (7.1), por lo que ese método no es tan simple como parece.
¡El modelo de regresión binomial negativa todavía funciona!
Por cierto, @ Duncan'sσ2F r e qu e n c yThe Mountain Three Wolf Moon camiseta de manga corta= 1,31 ...
y con
x=rep(5:1,c(2273,198,89,54,208))
el índice de polarización de @ Glen_bvar(x)/(4*length(x)/(length(x)-1))
= .33 ... solo digo.fuente
Creo que una manera fácil es calcular la varianza. En un sistema simple como ese, una varianza más alta significaría más 1s / 5s. EDITAR Ejemplo rápido: si sus valores son 1,3,3,5 su varianza será:
fuente
Dudo que pueda agregar algo valioso a las respuestas inteligentes ya dadas. En particular, a la buena idea de @ Glen_b de evaluar cómo la varianza observada es relativamente cercana a la varianza máxima posible bajo la media observada. Mi propia propuesta contundente y directa desde el hombro es, en cambio, una medida robusta de dispersión basada no en desviaciones de algún centro sino directamente en distancias entre puntos de datos.
Calcule distancias por pares (diferencias absolutas) entre todos los puntos de datos. Abandonarreyo i distancias cero Calcule una tendencia central en la distribución de las distancias (la elección es suya; puede ser, por ejemplo, media, mediana o centro de Hodges-Lehmann ).
Como puede ver, las 3 estadísticas pueden ser muy diferentes como medidas de "polarización" (si tuviera que medir el "desacuerdo" en lugar de la confrontación bipolar, probablemente elegiría HL). La decisión es tuya. Una noción: si calcula distancias cuadradas , su media estará directamente relacionada con la varianza habitual en los datos (y así llegará a la sugerencia de @ Duncan para calcular la varianza). El cálculo de distancias no será demasiado difícil incluso con grandesnorte aquí porque la escala de calificación es discreta y con relativamente pocos grados, por lo que el algoritmo de ponderación de frecuencia para calcular distancias se ofrece naturalmente.
fuente
¿Qué tal si la calificación de 3 estrellas es menor que el promedio de 5 y 4, y también menor que el promedio de 1 y 2:
No puedo pensar en ninguna situación en la que eso no funcione. Usando el ejemplo anterior: Comentarios de clientes de Amazon para la camiseta de manga corta The Mountain Three Wolf Moon :
En este caso:
Esto pasaría la prueba y se consideraría una opinión dividida.
fuente
Creo que lo que estás buscando es una desviación estándar:
No sé qué lenguaje de programación es este, pero aquí hay un método de Java que le dará la desviación estándar:
fuente