Come posso stimare la probabilità che un membro casuale di una popolazione sia "migliore" di un membro casuale di una popolazione diversa?


15

Supponiamo che io abbia campionamenti da due popolazioni distinte. Se misuro quanto tempo impiega ciascun membro a svolgere un compito, posso facilmente stimare la media e la varianza di ogni popolazione.

Se ora ipotizzo un accoppiamento casuale con un individuo per ogni popolazione, posso stimare la probabilità che il primo sia più veloce del secondo?

Ho in mente un esempio concreto: le misurazioni sono i tempi per me in bicicletta da A a B e le popolazioni rappresentano percorsi diversi che potrei prendere; Sto cercando di capire quale sia la probabilità che la selezione del percorso A per il mio prossimo ciclo sia più veloce della selezione del percorso B. Quando eseguo effettivamente il ciclo, ho un altro punto dati per il mio set di campioni :).

Sono consapevole che questo è un modo orribilmente semplicistico per provare a risolverlo, anche perché in un dato giorno il vento ha maggiori probabilità di influenzare il mio tempo rispetto a qualsiasi altra cosa, quindi per favore fatemi sapere se pensate che lo stia chiedendo la domanda sbagliata ...


Questo può essere fatto tramite semplici test binomiali e @Macro ha una buona risposta. Tuttavia, un problema riguarda gli stessi campioni: c'è qualcosa che potrebbe influenzare la tua decisione di prendere la strada A o la strada B? In particolare, ti piace percorrere la strada A quando le strade sono asciutte, il vento è alle tue spalle e la cena ti sta aspettando? :) Fai solo attenzione a tutto ciò che potrebbe influenzare i valori anomali in entrambi i set o che potrebbe distorcere i campioni in qualche modo. Ad esempio, prova a impostare il tuo piano di campionamento in anticipo, tenendo in considerazione l'eventuale necessità di variare (ad es. Sicurezza).
Iteratore

Un'altra considerazione: supponi di avere due percorsi con mezzi molto simili e che non domini l'altro in termini di probabilità che sia più veloce. Ad esempio, uno dura sempre 10 o 20 minuti, mentre l'altro è sempre esattamente 15 minuti. Potrebbe essere meglio penalizzare una maggiore incertezza (ad es. Deviazione standard) o favorirne una che ha maggiori probabilità di richiedere meno di una certa soglia di tempo. La tua domanda così com'è va bene; Sto semplicemente suggerendo un perfezionamento futuro.
Iteratore,

La domanda statistica va bene, ma se vuoi capire la probabilità quale percorso sia più veloce, dovrei suggerire di misurare la lunghezza dei percorsi. Se il terreno non è collinare, il percorso più breve sarà sempre più veloce.
mpiktas,

Se il vento è un fattore importante e se le velocità del vento sono correlate per le due rotte, sembrerebbe che una persona avrebbe bisogno di informazioni sulla dipendenza tra A e B per rispondere con precisione alla domanda. Avresti bisogno di dati bivariati per questo, ed è difficile percorrere due percorsi contemporaneamente. Potresti arruolare qualcun altro per aiutarti a raccogliere dati, ma poi dovrai tenere conto della variabilità tra i ciclisti. Nel caso in cui A e B siano indipendenti, le risposte di seguito sono ottime.

Detto in altro modo: se sto cercando di decidere quale percorso prendere, uno attraverso un tunnel, uno attraverso un campo, e il vento soffia come un matto, potrei benissimo scegliere il campo anche se in media è terribilmente peggio.

Risposte:


12

Soluzione

Lascia che i due mezzi siano e μ y e le loro deviazioni standard siano rispettivamente σ x e σ y . La differenza nei tempi tra due corse ( Y - X ) ha quindi media μ y - μ x e deviazione standard μXμyσXσyY-Xμy-μX . La differenza standardizzata ("punteggio z") èσX2+σy2

z=μy-μXσX2+σy2.

A meno che i tempi della corsa non abbiano distribuzioni strane, la probabilità che la corsa impieghi più tempo della corsa X è approssimativamente la distribuzione cumulativa normale, Φ , valutata in z .YXΦz

Calcolo

Puoi calcolare questa probabilità su una delle tue uscite perché hai già stime di ecc. :-). A tal fine è facile da memorizzare alcuni valori chiave Φ : Φ ( 0 ) = 0,5 = 1 / 2 , Φ ( - 1 ) 0,16 1 / 6 , Φ ( - 2 ) 0,022 1 / 40 , e Φ ( - 3 ) 0,0013μXΦΦ(0)=.5=1/2Φ(-1)0.161/6Φ(2)0.0221/40 . (L'approssimazione può essere scarsa per | z | molto più grande di 2 , ma conoscere Φ ( - 3 ) aiuta con l'interpolazione.) Insieme a Φ ( z ) = 1 - Φ ( - z ) e un po 'di interpolazione, tu può stimare rapidamente la probabilità a una cifra significativa, che è più che abbastanza precisa data la natura del problema e i dati.Φ(-3)0.00131/750|z|2Φ(-3)Φ(z)=1-Φ(-z)

Esempio

Supponiamo che il percorso impieghi 30 minuti con una deviazione standard di 6 minuti e il percorso Y impieghi 36 minuti con una deviazione standard di 8 minuti. Con dati sufficienti che coprono una vasta gamma di condizioni, gli istogrammi dei dati potrebbero eventualmente approssimare questi:XY

Due istogrammi

(Queste sono funzioni di densità di probabilità per le variabili Gamma (25, 30/25) e Gamma (20, 36/20). Osserva che sono decisamente inclinate verso destra, come ci si aspetterebbe per i tempi di guida.)

Poi

μx=30,μy=36,σx=6,σy=8.

da cui

z=363062+82=0.6.

abbiamo

Φ(0)=0.5;Φ(1)=1Φ(1)10.16=0.84.

Stimiamo quindi che la risposta sia 0,6 tra 0,5 e 0,84: 0,5 + 0,6 * (0,84 - 0,5) = circa 0,70. (Il valore corretto ma eccessivamente preciso per la distribuzione normale è 0,73.)

YX

(La probabilità corretta per gli istogrammi visualizzati è del 72%, anche se nessuno dei due è normale: questo illustra l'ambito e l'utilità dell'approssimazione normale per la differenza nei tempi di intervento.)


P(X>Y)

@Macro: se i dati possono essere ridotti a statistiche riassuntive per la Q di interesse, si possono archiviare meno dati ... solo un pensiero.
Iteratore

P(X>Y)YXYX

FWIW: @whuber sta descrivendo il test t di Student per la differenza nelle medie tra due campioni con deviazioni standard diverse.
Iteratore

1
Grazie, @whuber, questa è la risposta alla domanda che stavo cercando di porre :).
Andrew Aylett,

6

Il mio approccio istintivo potrebbe non essere il più statisticamente sofisticato, ma potresti trovarlo più divertente :)

Vorrei ottenere un foglio di carta millimetrata di dimensioni decenti e suddividere le colonne in intervalli di tempo. A seconda di quanto durano le tue uscite - stiamo parlando di un tempo medio di 5 minuti o un'ora - potresti usare blocchi di dimensioni diverse. Supponiamo che ogni colonna sia un blocco di due minuti. Scegli un colore per il percorso A e un colore diverso per il percorso B e, dopo ogni corsa, traccia un punto nella colonna appropriata. Se c'è già un punto di quel colore, spostati in alto di una riga. In altre parole, questo sarebbe un istogramma in numeri assoluti.

Quindi, creeresti un istogramma divertente ad ogni pedalata e vedrai visivamente la differenza tra i due percorsi.

Il mio senso basato sulla mia esperienza come pendolare in bici (non verificato attraverso la quantificazione) è che i tempi non saranno normalmente distribuiti - avrebbero un disallineamento positivo, o in altre parole una lunga coda di tempi di fascia alta. Il mio tempo tipico non è molto più lungo del mio tempo più breve possibile, ma ogni tanto mi sembra di accendere tutte le luci rosse e c'è un limite superiore molto più alto. La tua esperienza potrebbe essere diversa. Ecco perché penso che l'approccio dell'istogramma potrebbe essere migliore, quindi puoi osservare tu stesso la forma della distribuzione.

PS: Non ho abbastanza rappresentante per commentare in questo forum, ma adoro la risposta di Whuber! Affronta la mia preoccupazione per l'incertezza in modo abbastanza efficace con un'analisi di esempio. E mi piace l'idea di calcolare nella tua testa per distogliere la mente dalla collina successiva :)


1
+1 per la creatività. In realtà, la tua idea è sulla strada dell'utilità pratica. Sarebbe un po 'più interessante utilizzare uno dei siti di tracciamento per ciclisti (adesso dimentico quale, ma aggiungo, se sai) per tenere traccia dei tempi del segmento. Se l'OP dovesse tornare a CV o StackOverflow con una domanda sulla trama del tempo del segmento e ottenere una densità associata, sarebbe un favoloso esercizio statistico - GIS, visualizzazione statistica e funzioni di densità, oh mio! :)
Iteratore

1
Ho utilizzato Google MyTracks sul mio telefono per tenere traccia dei segmenti di ciclismo. Trovo che il telefono non sia eccezionale in quanto tende ad essere un succhiare il potere su un dispositivo non ottimizzato per questo. Garmin (e altri) rendono i dispositivi GPS specificamente rivolti a corridori e motociclisti per tenere traccia del tempo trascorso sui percorsi e fornire grafici accurati in un'interfaccia online. Io stesso non uso un dispositivo GPS dedicato, ma alcuni dei miei amici li usano per condividere percorsi su Facebook.
Jonathan,

1
Ecco un esempio di ciò che produce il dispositivo Garmin. Il problema con i grafici è che sono già pesantemente pre-elaborati, livellati, ecc. Inoltre, non esiste un modo conveniente per importare i dati in R, ad esempio. Ma come dispositivo dedicato fa il suo lavoro magnificamente, non posso immaginare di correre o andare in bicicletta senza di esso.
mpiktas,

+1 Si noti che non è molto inclinata a colpire le luci rosse (a meno che non siano temporizzate): collettivamente, di solito aggiungono solo un po 'di rumore gaussiano alla distribuzione del tempo. (Calcolarne la varianza è un altro esercizio mentale che puoi fare sulla collina successiva.) In pratica, l'inclinazione deriva dalla variazione non gaussiana dei pochi fattori importanti che controllano l'intera corsa: tempo, come ti senti, con chi tu ' in sella e occasionali incidenti / deviazioni / ingorghi, ecc.
whuber

Ora che ci penso ancora, un altro fattore molto importante è l'ora del giorno. I semafori si comportano in modo molto diverso nei periodi di punta del traffico - green molto più lunghi per la strada a traffico più elevato. Nei periodi non di punta, le luci tendono a scorrere rapidamente, passando automaticamente al verde per la strada ad alto traffico, ma cambiando rapidamente quando premo il pulsante di attraversamento o un'auto attiva il sensore.
Jonathan,

5

XYx,yx>yP(Xi>Yj)i,j

#X, Y are the two data sets
ii = rep(0,10000)
for(k in 1:10000)
{
   x1 = sample(X,1)
   y1 = sample(Y,1)
   ii[k] = (x1>y1) 
}

# this is an estimate of P(X>Y)
mean(ii)

Questa è una buona risposta, ma si potrebbe semplificare rimuovendo il forciclo: lasciare x1 = sample(X, 10000, replace = TRUE)e y1 = sample(Y, 10000, replace = TRUE)e quindi calcolare mean(x1 > y1)insieme mean(x1 == y1)- per ottenere un senso del # di volte i valori sono uguali.
Iteratore

Grazie. Sapevo che il ciclo non era necessario ma volevo che la logica alla base dell'approccio fosse abbondantemente chiara. Il tuo codice produrrebbe sicuramente gli stessi risultati.
Macro
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.