Como posso estimar a probabilidade de um membro aleatório de uma população ser "melhor" do que um membro aleatório de uma população diferente?


15

Suponha que eu tenha amostras de duas populações distintas. Se eu medir quanto tempo leva para cada membro executar uma tarefa, posso estimar facilmente a média e a variação de cada população.

Se eu agora supor um pareamento aleatório com um indivíduo de cada população, posso estimar a probabilidade de que o primeiro seja mais rápido que o segundo?

Eu tenho um exemplo concreto em mente: as medidas são horários para eu pedalar de A a B e as populações representam rotas diferentes que eu poderia seguir; Estou tentando descobrir qual é a probabilidade de escolher a rota A para o meu próximo ciclo ser mais rápida que escolher a rota B. Quando realmente faço o ciclo, tenho outro ponto de dados para o meu conjunto de amostras :).

Estou ciente de que essa é uma maneira terrivelmente simplista de tentar resolver isso, principalmente porque em um determinado dia o vento afeta mais o meu tempo do que qualquer outra coisa, por favor, deixe-me saber se você acha que estou perguntando. a pergunta errada ...


Isso pode ser feito através de testes binomiais simples e o @Macro tem uma boa resposta. No entanto, um problema é com as próprias amostras: existe algo que poderia afetar sua decisão de seguir a rota A ou B? Em particular, você gosta de seguir a rota A quando as estradas estão secas, o vento está atrás e o jantar está esperando? :) Apenas tome cuidado com qualquer coisa que possa afetar os valores discrepantes em um conjunto ou que possam influenciar as amostras de alguma forma. Por exemplo, tente configurar seu plano de amostragem com antecedência, levando em consideração qualquer necessidade de variar (por exemplo, segurança).
Iterator

Outra consideração: suponha que você tenha duas rotas com meios muito semelhantes e nenhuma domine a outra em termos de probabilidade de que será mais rápida. Por exemplo, um é sempre 10 ou 20 minutos, enquanto o outro é sempre precisamente 15 minutos. Você pode achar melhor penalizar uma maior incerteza (por exemplo, desvio padrão) ou favorecer uma que tenha maior probabilidade de levar menos do que algum limite de tempo. Sua pergunta como está é boa; Estou apenas sugerindo um refinamento futuro.
Iterator

A questão estatística é boa, mas se você quiser calcular a probabilidade de qual rota é mais rápida, sugiro medir os comprimentos das rotas. Se o terreno não for montanhoso, a rota mais curta será sempre mais rápida.
Mkttas

Se o vento é um fator importante e se as velocidades do vento estão relacionadas para as duas rotas, parece que uma pessoa precisaria de informações sobre a dependência entre A e B para responder à pergunta com precisão. Você precisaria de dados bivariados para isso, e é difícil seguir dois caminhos ao mesmo tempo. Você pode alistar outra pessoa para ajudá-lo a coletar dados, mas precisará explicar a variabilidade entre os usuários. No caso de A e B serem independentes, as respostas abaixo são ótimas.

Em outras palavras: se estou tentando decidir qual caminho seguir, um através de um túnel, outro através de um campo e o vento soprando como um louco, posso muito bem escolher o campo, mesmo que, em média, fique terrivelmente pior.

Respostas:


12

Solução

Seja os dois meios e μ y e seus desvios padrão sejam σ x e σ y , respectivamente. A diferença de tempos entre dois passeios ( Y - X ) tem, portanto, μ y - μ x e desvio padrão μxμyσxσyYXμyμx . A diferença padronizada ("escore z") éσx2+σy2

z=μyμxσx2+σy2.

A menos que seus tempos de viagem têm distribuições estranhos, a chance de que passeio leva mais tempo do passeio X é aproximadamente a distribuição cumulativa normal, Φ , avaliada em z .YXΦz

Computação

Você pode calcular essa probabilidade em uma de suas viagens porque já possui estimativas de etc. :-). Para este efeito, é fácil de memorizar alguns valores-chave de Φ : Φ ( 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 . (A aproximação pode ser ruim para | z | muito maior que 2 , mas saber Φ ( - 3 ) ajuda na interpolação.) Em conjunto com Φ ( z ) = 1 - Φ ( - z ) e um pouco de interpolação, você pode estimar rapidamente a probabilidade para um número significativo, que é mais do que preciso o suficiente, dada a natureza do problema e os dados.Φ(3)0.00131/750|z|2Φ(3)Φ(z)=1Φ(z)

Exemplo

Suponha que a rota leva 30 minutos com um desvio padrão de 6 minutos e a rota Y leva 36 minutos com um desvio padrão de 8 minutos. Com dados suficientes cobrindo uma ampla variedade de condições, os histogramas dos seus dados podem eventualmente aproximar-se deles:XY

Two histograms

(Essas são funções de densidade de probabilidade para as variáveis ​​Gamma (25, 30/25) e Gamma (20, 36/20). Observe que elas estão decididamente inclinadas para a direita, como seria de esperar para os tempos de viagem.)

Então

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

De onde

z=363062+82=0.6.

Nós temos

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

Portanto, estimamos que a resposta é 0,6 no caminho entre 0,5 e 0,84: 0,5 + 0,6 * (0,84 - 0,5) = aproximadamente 0,70. (O valor correto, mas excessivamente preciso, para a distribuição Normal é 0,73.)

YX

(A probabilidade correta para os histogramas mostrados é de 72%, mesmo que Normal não: isso ilustra o escopo e a utilidade da aproximação Normal para a diferença nos tempos de viagem.)


if you have iid realizations from each distribution then what is the advantage of using the normal approximation rather than a monte carlo re-sampling approach (my answer) to estimating P(X>Y)?
Macro

@Macro: if the data can be reduced to summary statistics for the Q of interest, one can store less data... just a thought.
Iterator

Sorry, my brain was fried by heat & I missed the obvious answer. You are each answering different questions. The bootstrap method you gave estimates P(X>Y), while @whuber is considering the difference in the mean times, which isn't the same. It isn't too hard to construct a case where option Y is shorter than option X 60% of the time, but the mean for Y is greater than the mean for X.
Iterator

FWIW: @whuber is describing Student's t-test for the difference in means between two samples with different standard deviations.
Iterator

1
Thanks, @whuber, this is the answer to the question I'd been trying to ask :).
Andrew Aylett

6

My instinctive approach may not be the most statistically sophisticated, but you may find it to be more fun :)

I would get a decent-sized sheet of graph paper, and divide up the columns into time blocks. Depending on how long your rides are - are we talking about a mean time of 5 minutes or an hour - you might use different sized blocks. Let's say each column is a block of two minutes. Pick a color for route A and a different color for route B, and after each ride, make a dot in the appropriate column. If there's already a dot of that color, move up one row. In other words, this would be a histogram in absolute numbers.

Then, you would be building a fun histogram with each ride you take, and can visually see the difference between the two routes.

My sense based on my own experience as a bike commuter (not verified through quantification) is that the times will not be normally distributed - they would have a positive skew, or in other words a long tail of upper-end times. My typical time is not that much longer than my shortest possible time, but every now and then I seem to hit all the red lights, and there's a much higher upper-end. Your experience may be different. That's why I think the histogram approach might be better, so you can observe the shape of the distribution yourself.

PS: I don't have enough rep to comment in this forum, but I love whuber's answer! He addresses my concern about skewness pretty effectively with a sample analysis. And I like the idea of calculating in your head to keep your mind off the next hill :)


1
+1 For creativity. Actually, your idea is on the path toward practical utility. It would be quite a bit more interesting to use one of the biking tracking sites (I forget which one now, but do add, if you know) to track segment times. If the OP were to come back to CV or StackOverflow with a question about plotting segment time and get a density associated with it, it would be a fabulous statistical exercise - GIS, statistical visualization, and density functions, oh my! :)
Iterator

1
Eu usei o Google MyTracks no meu telefone para rastrear segmentos de bicicleta. Acho que o telefone não é bom nisso, pois tende a ser uma droga em um dispositivo não otimizado para ele. A Garmin (e outros) fabrica dispositivos GPS especificamente direcionados a corredores e motociclistas para rastrear o tempo gasto nas rotas e fornecer gráficos organizados em uma interface online. Eu não uso um dispositivo GPS dedicado, mas alguns de meus amigos o usam para compartilhar rotas no facebook.
23411 Jonathan

1
Here is an example of what Garmin device produces. The problem with the charts is that they are already heavily pre-processed, smoothing, etc. Also there is no convenient way to import the data to R for example. But as dedicated device it does its job splendidly, I cannot imagine running or biking without it.
mpiktas

+1 Note that not much skew comes from hitting the red lights (unless they are timed): collectively, they usually only add some Gaussian noise to the time distribution. (Computing its variance is another mental exercise you can do on the next hill.) In practice the skew comes from non-Gaussian variation in the few important factors that control the entire ride: weather, how you're feeling, with whom you're riding, and the occasional accident/detour/traffic jam etc.
whuber

Now that I think about it some more, another very important factor is the time of day. The traffic lights act very differently at peak traffic times - much longer greens for the higher-traffic road. In off-peak times, the lights tend to cycle quickly, defaulting to green for the high-traffic road, but quickly changing when I press the crossing button or a car activates the sensor.
24511 Jonathan

5

Suppose the two data sets are X and Y. Randomly sample one person from each population, giving you x,y. Record a '1' if x>y and 0 otherwise. Repeat this many times (say, 10000) and the mean of these indicators will give you an estimate of P(Xi>Yj) where i,j are randomly selected subjects from the two populations, respectively. In R, the code would go something like:

#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)

This is a good answer, but you could simplify it by removing the for loop: let x1 = sample(X, 10000, replace = TRUE) and y1 = sample(Y, 10000, replace = TRUE) and then calculate mean(x1 > y1) along with mean(x1 == y1) - to get a sense of the # of times the values are equal.
Iterator

Thanks. I knew the loop was unnecessary but I wanted the logic underlying the approach to be abundantly clear. Your code would certainly produce the same results.
Macro
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.