Abbiamo un problema di "voti pietà"?


51

Lo so, potrebbe sembrare fuori tema, ma ascoltami.

Su Stack Overflow e qui otteniamo voti sui post, tutto viene archiviato in forma tabellare.

Per esempio:

post ID di votazione ID di votazione datetime
------- -------- --------- --------
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 

... e così via. Il tipo di voto 2 è un voto positivo, il tipo di voto 3 è un voto negativo. È possibile eseguire una query su una versione anonima di questi dati all'indirizzo http://data.stackexchange.com

C'è la percezione che se un post raggiunge il punteggio di -1 o inferiore è più probabile che venga votato. Questo potrebbe essere semplicemente un errore di conferma o potrebbe essere radicato in effetti.

Come analizzeremmo questi dati per confermare o smentire questa ipotesi? Come misureremmo l'effetto di questo pregiudizio?


1
possiamo avere un esempio della query? Non tutti sono esperti nella scrittura di istruzioni SQL. Avere dati di esempio potrebbe incoraggiare le persone a provare a giocarci. +1 per la domanda.
mpiktas,

@Jeff voti sono anonimi si può ottenere solo informazioni parziali dalla discarica dei dati, include tutte le transizioni anche se qui è un esempio rapido data.stackexchange.com/stackoverflow/q/101738 piena anonima dei dati è disponibile nella discarica dati pubblici
Sam Zafferano,

Perché solo voti? In che modo la probabilità di una votazione positiva o negativa su ciascun valore particolare sarebbe sicuramente interessante?
Bob Durrant,

@Bob, sono certo che lo farebbero
Sam Saffron,

1
Ho visto altri tipi di siti offuscare i voti (ad esempio aggiungere rumore prima di visualizzarli) e talvolta persino nascondere completamente i voti su e giù per un breve periodo, al fine di evitare varie forme di bandwagonning, voti di pietà e altri "social" elementi di voto.
Glen_b

Risposte:


32

È possibile utilizzare un modello a più stadi o una catena di Markov (il pacchetto msm in R è un modo per adattarli). Potresti quindi vedere se la probabilità di transizione da -1 a 0 è maggiore di da 0 a 1, da 1 a 2, ecc. Puoi anche guardare il tempo medio a -1 rispetto agli altri per vedere se è più breve .


3
+1 ottimo riferimento. C'è un articolo nel Journal of Statistical Software sul pacchetto msm. Il modello sembra ideale per questo tipo di attività.
mpiktas,

3
L'idea del modello di catena Markov sembra buona, ma il tempo medio a -1 non darà l'intera storia. È possibile (e plausibile - pensare a domande sbagliate) che è più probabile che si venga ridimensionati a -1 che anche altrove.
Bob Durrant,

Immagino che ciò che si potrebbe desiderare di fare per primo sia raggruppare le traiettorie di voto - quelle che ottengono (quasi) solo aumenti / voti negativi (domande molto popolari / pessime) e quelle che sono più controverse. Quindi puoi eseguire le catene di Markov nelle tre classi.
Jonas,

13

Condurre un esperimento. Riduci in modo casuale la metà dei nuovi post ogni giorno a un'ora specifica.


5
Bene, dovremmo osservare un aumento significativo dei badge "critici" e probabilmente una diminuzione della motivazione per i nuovi utenti :-) Meglio iniziare con utenti ad alta reputazione, in questo caso (a rischio di pregiudicare l'esperimento!)
chl

14
In realtà potremmo fare meglio di così ... usando i test AB potremmo scegliere di visualizzare metà della domanda -1 votata sul sito come 0 e metà come -1 ... e vedere se uno dei gruppi ha maggiori probabilità di essere upvoted! Ingegnoso.
Sam Saffron,

4
L'idea dell'esperimento controlla la qualità dei post, ma (1) coloro che vengono sottoposti a downgrade devono concordare in anticipo di partecipare all'esperimento e (2) dopo un breve periodo, i downgrade devono essere rimossi.
zbicyclist

2
+1 (e +1 anche a tutti i commenti qui): un esperimento reversibile controllato , comunicato in anticipo a tutti gli utenti che potrebbero essere interessati e condotti con la loro approvazione, è uno dei modi più efficaci per ottenere queste informazioni.
whuber

13

Riepilogo della mia risposta. Mi piace la modellazione a catena di Markov ma manca l'aspetto "temporale". Dall'altro lato, concentrandosi sull'aspetto temporale (ad es. Tempo medio aè un intermedio dal caso in cui si stima solo la probabilità di transizione e il caso in cui si misura solo il tempo trascorso in un determinato stato. Spero che questo aiuto.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)

ma secondo le linee della tua domanda, penso che tu presuma implicitamente che Ciò significa che per esiste una sequenza deterministica tale che .

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

All'interno di questo formalismo, la tua domanda può essere riformulata come: "è probabile che " (o almeno la differenza è maggiore di un data soglia).μ1+μ0+>0

Sotto questo presupposto, è facile dimostrare che è un [processo markov omogeneo] [3] su con il generatore dato daYtZQ

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

Rispondere alla domanda (proponendo uno stimatore della massima probabilità per il problema statistico) Da questa riformulazione, la risoluzione del problema viene effettuata stimando e costruendo un test che ne valga i valori. Cerchiamo di risolvere e dimenticare l' indice senza perdita di generalità. La stima di (e ) può essere fatta sopra l'osservazione di(μi+)iμ+μ

(T1,η1),,(Tp,ηp) dove sono le lunghezze del dei periodi di trascorsi nello stato (vale a dire volte successive con ) e è se la domanda è stata votata in votazione, se è stata sottovalutata e se è stato l'ultimo stato di osservazione.TjjthpiYt=iηj+110

Se dimentichi il caso con l'ultimo stato di osservazione, le coppie menzionate sono escluse da una distribuzione che dipende da e : è distribuita come (dove Exp è una var casuale da una distribuzione esponenziale e è + o -1 a seconda di chi realizza il massimo). Quindi, è possibile utilizzare il seguente lemma semplice (la dimostrazione è semplice):μi+μi(min(Exp(μi+),Exp(μi)),η)η

Lemma Se e , allora e . X+Exp(μ+)XExp(μ)T=min(X+,X)Exp(μ++μ)P(X+1<X)=μ+μ++μ

Ciò implica che la densità di è data da: dove per è la funzione di densità di una variabile casuale esponenziale con il parametro . Da questa espressione, è facile derivare lo stimatore della massima verosimiglianza di e :f(t,ϵ)(T,η)

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

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

Commenti per approcci più avanzati

Se si vuole prendere in casi acount quando è l'ultimo stato osservato (certamente più intelligente perché quando si passa attraverso , spesso è il tuo ultimo punteggio ...) è necessario modificare un po 'il reasonning. La censura corrispondente è relativamente classica ...i1

Eventuali altri approaci possono includere la possibilità di

  • Avere un'intensità che diminuisce nel tempo
  • Avere un'intensità che diminuisce con il tempo trascorso dall'ultimo voto (preferisco questo. In questo caso esiste un modo classico di modellare il modo in cui la densità diminuisce ...
  • Potresti voler supporre che sia una funzione regolare diμi+i
  • .... puoi proporre altre idee!
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.