¿Tenemos un problema de "votos a favor"?

51

Lo sé, esto puede sonar como fuera de tema, pero escúchame.

En Stack Overflow y aquí obtenemos votos en las publicaciones, todo esto se almacena en forma de tabla.

P.ej:

Identificación del poste Identificación del votante Tipo de voto Fecha y hora
------- -------- --------- --------
10 1 2 2000-1-1 10:00:01 
11 3 3 2000-1-1 10:00:01 
10 5 2 2000-1-1 10:00:01 

... y así. El tipo de voto 2 es un voto a favor, el tipo de voto 3 es un voto a favor. Puede consultar una versión anónima de estos datos en http://data.stackexchange.com

Existe la percepción de que si una publicación alcanza el puntaje de -1 o inferior, es más probable que sea votada. Esto puede ser simplemente un sesgo de confirmación o puede estar enraizado de hecho.

¿Cómo analizaríamos estos datos para confirmar o negar esta hipótesis? ¿Cómo mediríamos el efecto de este sesgo?

Sam Azafrán
fuente
1
¿podemos obtener un ejemplo de la consulta? No todo el mundo está bien versado en escribir sentencias SQL. Tener datos de muestra podría alentar a las personas a intentar jugar con ellos. +1 para la pregunta.
mpiktas
@ Jeff votos son anónimos sólo se puede obtener información parcial de la descarga de datos, sí incluye todas las transiciones aunque en este caso es una muestra rápida data.stackexchange.com/stackoverflow/q/101738 completa anónima de datos está disponible en el volcado de datos pública
Sam Azafrán
¿Por qué solo votos a favor? ¿Cómo sería interesante la probabilidad de divisiones de votación positiva o negativa en torno a cada valor en particular?
Bob Durrant
@Bob, seguro de acuerdo en que lo harían
Sam Saffron
1
He visto otros tipos de sitios que ofuscan los votos (es decir, agregan ruido antes de mostrarlos) y, a veces, incluso ocultan por completo los votos hacia arriba y hacia abajo durante un período corto, para evitar diversas formas de fanfarronería, votos de lástima y otros 'sociales'. elementos de votación.
Glen_b

Respuestas:

32

Puede usar un modelo de varios estados o una cadena de Markov (el paquete msm en R es una forma de ajustarlos). Luego puede ver si la probabilidad de transición de -1 a 0 es mayor que de 0 a 1, 1 a 2, etc. También puede ver el tiempo promedio en -1 en comparación con los demás para ver si es más corto .

Greg Snow
fuente
3
+1 gran referencia. Hay un artículo en Journal of Statistical Software sobre el paquete msm. El modelo parece ideal para este tipo de tarea.
mpiktas
3
La idea del modelo de la cadena de Markov parece buena, pero el tiempo promedio en -1 no dará toda la historia. Es posible (y plausible, piense en preguntas malas) que uno tenga más probabilidades de recibir un voto negativo en -1 que en otros lugares también.
Bob Durrant
Supongo que lo que uno puede querer hacer primero es agrupar las trayectorias de votación: aquellas que obtienen (casi) solo votos positivos / negativos (preguntas muy populares / muy malas) y aquellas que son más polémicas. Entonces puedes hacer cadenas de Markov en las tres clases.
Jonas
13

Realizar un experimento. Vota al azar la mitad de las nuevas publicaciones en un momento determinado todos los días.

charles.y.zheng
fuente
55
Genial, deberíamos observar un aumento significativo en las insignias "críticas" y probablemente una disminución en la motivación para los nuevos usuarios :-) Mejor comenzar con usuarios de alta reputación, en este caso (¡riesgo de sesgar el experimento!)
chl
14
En realidad, podríamos hacerlo mejor que esto ... usando pruebas AB podríamos elegir mostrar la mitad de la pregunta votada -1 en el sitio como 0 y la mitad como -1 ... y ver si es más probable que alguno de los grupos sea ¡votado! Ingenioso.
Sam Saffron
44
La idea del experimento controla la calidad de las publicaciones, pero (1) los que están siendo degradados deben acordar de antemano participar en el experimento, y (2) después de un breve tiempo, se deben eliminar las degradaciones.
zbicyclist
2
+1 (y +1 a todos los comentarios aquí también): un experimento reversible controlado , comunicado por adelantado a todos los usuarios que podrían verse afectados y realizado con su aprobación, es una de las formas más sólidas de obtener esta información.
whuber
13

Resumen de mi respuesta. Me gusta el modelado en cadena de Markov, pero pierde el aspecto "temporal". En el otro extremo, enfocarse en el aspecto temporal (por ejemplo, tiempo promedio enes un intermedio del caso cuando solo se estima la probabilidad de transición y el caso cuando solo se mide el tiempo pasado en un estado dado. Espero que esto ayude.1

(VDi)i1(Si)i1

Yt=Yt+Yt

Yt+=i=01VDit,Si=1 and Yt=i=01VDit,Si=1

ϵ

λtϵ=limdt01dtP(Yt+dtϵYtϵ=1|Ft)
ϵ+Ft
Ft=σ(Yt+,Yt,VD1,,VDYt++Yt,S1,,SYt++Yt)

pero en la línea de su pregunta, creo que asume implícitamente que Esto significa que para existe una secuencia determinista tal que .

P(Yt+dtϵYtϵ=1|Ft)=P(Yt+dtϵYtϵ=1|Yt)
ϵ=+,(μiϵ)iZλtϵ=μYtϵ

Dentro de este formalismo, su pregunta puede reformularse como: "es probable que " (o al menos la diferencia sea mayor que un umbral dado).μ1+μ0+>0

Bajo este supuesto, es fácil demostrar que es un [proceso de Markov homogéneo] [3] en con el generador dado porYtZQ

i,jZQi,i+1=μi+Qi,i1=μiQii=1(μi++μi)Qij=0 if |ij|>1

Respondiendo la pregunta (proponiendo una estimación de máxima verosimilitud para el problema estadístico) A partir de esta reformulación, la solución del problema se realiza estimando y construyendo una prueba sobre sus valores. Arreglemos y olvidemos el índice sin pérdida de generalidad. La estimación de (y ) se puede hacer sobre la observación de(μi+)iμ+μ

(T1,η1),,(Tp,ηp) donde son las longitudes de de los períodos pasados ​​en el estado (es decir, tiempos sucesivos con ) y es si la pregunta se votó a favor, si se votó a favor y si fue el último estado de observación.TjjthpiYt=iηj+110

Si olvida el caso con el último estado de observación, las parejas mencionadas son iid de una distribución que depende de y : se distribuye como (donde Exp es una var aleatoria de una distribución exponencial y es + o -1 dependiendo de quién se da cuenta del máximo). Luego, puede usar el siguiente lema simple (la prueba es sencilla):μi+μi(min(Exp(μi+),Exp(μi)),η)η

Lema Si y entonces, y . X+Exp(μ+)XExp(μ)T=min(X+,X)Exp(μ++μ)P(X+1<X)=μ+μ++μ

Esto implica que la densidad de viene dada por: donde para es la función de densidad de una variable aleatoria exponencial con el parámetro . De esta expresión, es fácil derivar el estimador de máxima verosimilitud de y :f(t,ϵ)(T,η)

f(t,ϵ)=gμ++μ(1(ϵ=+1)μ++1(ϵ=1)μμ++μ)
gaa>0aμ+μ

(μ^+,μ^)=argminln(μ+μ+)((μ+μ+)i=1pTi+p)pln(μ)p+ln(μ+)
dondey.p=|i:δi=1|p+=|i:δi=+1|

Comentarios para enfoques más avanzados

Si desea tener en cuenta los casos en que es el último estado observado (ciertamente más inteligente porque cuando pasa por , a menudo es su último puntaje ...), debe modificar un poco el razonamiento. La censura correspondiente es relativamente clásica ...i1

Otro posible acercamiento puede incluir la posibilidad de

  • Tener una intensidad que disminuye con el tiempo.
  • Tener una intensidad que disminuye con el tiempo transcurrido desde la última votación (prefiero este. En este caso, hay una forma clásica de modelar cómo disminuye la densidad ...
  • Es posible que desee asumir que es una función fluida deμi+i
  • .... puedes proponer otras ideas!
robin girard
fuente