Document

Propaganda
“Testando” a lei dos grandes
probabilidades através do Stata
números:
simulando
cálculo
de
53) A lança uma moeda n+1 vezes e B lança a mesma moeda n vezes. Qual é
a probabilidade de A obter mais caras que B?
Solução:
Seja XA o número de caras obtido por A em n+1 lançamentos da moeda e seja
seja XB o número de caras obtido por B em n lançamentos da mesma moeda.
Pergunta-se: P(XA > XB).
P( X A )
n 1
XA
P( X B )
n
XB
XA
1
2
1
2
XB
n 1 XA
1
2
(n 1)!
1
(n 1 X A )! X A ! 2
n XB
1
2
(n
n!
1
X B )! X B ! 2
n 1
n
Temos uma matriz constituída por (n+1) linhas correspondentes aos
lançamentos de A e n colunas correspondentes aos n lançamentos de B.
x1,1
x2,1
x1,2 ... ...
x2,2 ... ...
x1,n
x2,n
...
...
...
...
... ...
... ...
...
...
xn ,1
xn 1,1
...
...
... ... xn ,n
... ... xn 1,n
O valor do primeiro subscrito dos elementos desta matriz corresponde ao
número de caras de A e o valor do segundo subscrito dos elementos desta
matriz corresponde ao número de caras de B. As combinações em que A faz
maior número de caras do que B correspondem a região da matriz que está
abaixo da diagonal que vai de x1,1 a xn,n.
n 1 i 1
i 2 j
( n 1)!
1
1 ( n 1 i )!i ! 2
n 1
n 1 i 1
i 2 j
1
2
n!
1
( n j )! j ! 2
( n 1)! n !
1
j )! j ! 2
1 ( n 1 i )!i !( n
2n 1
n
2n 1
n 1 i 1
( n 1)! n !
i 2 j
1
1 ( n 1 i )!i !( n
j )! j !
1
( n 1)!2!( n 1)!1!
1
(0)!( n 1)!( n 1)!1!
1
( n 2)!3!( n 1)!1!
1
...
( n 2)!3!( n 2)!2!
1
1
...
(0)!( n 1)!( n 2)!2!
(0)!( n 1)!0! n!
Fiz uma simulação deste somatório para n = 2 até 30 através de uma rotina no
Stata conforme abaixo e cheguei aos resultados listados depois do programa.
Os resultados do cálculo da probabilidade convergem rapidamente para 0,5.
Mas esta é uma solução por “simulação”. Se alguém conseguir uma solução
analítica para o desenvolvimento do somatória acima, favor enviar.
forvalues n = 2(1)30 {
scalar soma = 0
forvalues i=2(1)`n' {
local k = `i' - 1
forvalues j=1(1)`k' {
scalar fator = (exp(lnfactorial(`n'+1-`i'))*exp(lnfactorial(`i'))*exp(lnfactorial(`n'`j'))*exp(lnfactorial(`j')))^(-1)
scalar soma = soma + fator
}
}
disp "n = ", `n', " probabilidade = ", soma*.5^(2*`n' +
1)*exp(lnfactorial(`n'+1))*exp(lnfactorial(`n'))
}
n=
n=
n=
n=
n=
n=
n=
n=
n=
n=
n=
n=
n=
n=
n=
n=
n=
n=
n=
n=
n=
2 probabilidade = .1875
3 probabilidade = .328125
4 probabilidade = .41015625
5 probabilidade = .45410156
6 probabilidade = .47680664
7 probabilidade = .48834229
8 probabilidade = .49415588
9 probabilidade = .49707413
10 probabilidade = .49853611
11 probabilidade = .49926782
12 probabilidade = .49963385
13 probabilidade = .49981691
14 probabilidade = .49990845
15 probabilidade = .49995422
16 probabilidade = .49997711
17 probabilidade = .49998856
18 probabilidade = .49999428
19 probabilidade = .49999714
20 probabilidade = .49999857
21 probabilidade = .49999928
22 probabilidade = .49999964
n=
n=
n=
n=
n=
n=
n=
n=
23
24
25
26
27
28
29
30
probabilidade =
probabilidade =
probabilidade =
probabilidade =
probabilidade =
probabilidade =
probabilidade =
probabilidade =
.49999982
.49999991
.49999996
.49999998
.49999999
.49999999
.5
.5
70) Motores de avião funcionam independentemente e cada motor tem uma
probabilidade p de falhar durante o vôo. Um avião voa com segurança se a
maioria de seus motores funciona. Para que valores de p um avião com 3
motores é preferível a um avião com 5 motores?
Solução: para um avião de três motores a probabilidade de voar é:
P3
3
2
p 2 (1 p )3
3 p 2 (1 p)
p3
2
3
3
p 3 (1 p )3
3
p 5 (1 p )5
5
3! 2
3! 3
p (1 p )
p
2!1!
3!0!
3 p2 2 p3
Para o avião de 5 motores:
P5
5
4
p 4 (1 p )5
4
5
5
5 p 4 (1 p )
p5
5 p4
4 p5
Então o avião de 3 motores é preferível ao avião de cinco motores quando é
satisfeita a seguinte inequação:
3 p 2 2 p3 5 p 4 4 p5
4 p5 5 p 4 2 p 3 3 p 2 0
p 2 (4 p 3 5 p 2 2 p 3) 0
Desenvolvi a seguinte rotina no Stata para estudar o sinal deste polinômio.
Esta rotina resulta na construção do gráfico a seguir. Pelo gráfico verifica-se
que o valor do polinômio é sempre positivo para 0 < p < 1. Portanto o trimotor
é sempre preferível ao avião de 5 motores.
clear
set more off
set matsize 2000
matrix A = J(1000,2,0)
local j = 0
forvalues i = 0(.001)1 {
local j = `j' + 1
scalar t = 4*`i'^5 - 5*`i'^4 - 2*`i'^3 + 3*`i'^2
0
.1
f(p)
.2
.3
matrix A[`j',1] = `i'
matrix A[`j',2] = t
disp t
}
svmat A, names(A)
rename A2 y
rename A1 p
twoway (line y p), ytitle(f(p))
0
.2
.4
.6
.8
1
p
58) Quantas vezes, no mínimo, se deve lançar um dado não tendencioso para
que a probabilidade de obter algum 6 seja superior a 0,9?
Solução:
Seja n o número de lançamentos do dado. A probabilidade de se obter no
mínimo um 6 em n lançamentos é dado por:
n
P(no minimo um 6) = 1 - P(nenhum 6) = 1 0
n!
5
1
( n 0)!0! 6
5
6
n
0.1
n
1
5
6
n
0.9
1
6
0
1
1
6
n 0
5
log 0.1
6
log0.1
n>
5
log
6
n> 12.63
nlog
5
Para n = 12 16
5
Para n = 13 16
12
0.888
13
0.906
7) Uma loteria tem N números e só um prêmio. Um jogador compra n bilhetes
em uma extração. Outro compra só um bilhete em n extrações diferentes. (
ambos os jogadores apostam portanto a mesma importância). Qual deles tem
maior probabilidade de ganhar o prêmio?
Solução: O primeiro jogador tem probabilidade de ganhar o premio igual:
1 P( X
n
N
1 1
N 1 N 2
N n
N n
...
1
N
N 1
N n 1
N
0) 1
n
N
O segundo jogador tem probabilidade igual a:
1 P( X
n
0
0) 1
1
N
0
1
1
N
n 0
1
1
1
N
n
Para demonstrar que o segundo jogador tem maior probabilidade de ganhar o
n
premio, temos que demonstrar que
N
< N.
n
1
N
1
1
N
N
1
1
N
n
N
n
n
1
1
1
N
n
para qualquer n e N, n
N
n
N 1
N
N
n
N 1
Esta expressão é falsa, pois quando N é grande
N
n
1e
N
n
N
1
Portanto o primeiro jogador terá maior probabilidade de ganhar o premio.
39) Uma moeda é jogada 6 vezes. Sabendo-se que no primeiro lançamento
deu coroa,calcular a probabilidade condicional de que o número de caras nos 6
lançamentos supere o número de coroas.
Solução: Em cinco lançamentos restantes, como já temos uma coroa, o
número de caras deve superar o numero de coroas + 1. Temos então de
calcular P(X>= 3) onde X é o número de caras em 5 lançamentos.
5
3
10
32
1
2
5
32
3
1
2
1
32
2
5 1 4 1
4 2
2
16
0,5
32
1
5
5
1
2
5
1
2
0
Simulei 100000 vezes 5 lançamentos de uma mesma moeda através do
seguinte programa Stata e a proporção de resultados com 3 ou mais caras foi
igual a 0,49648.
* Simulando 5 lançamentos de uma moeda
cap prog drop moeda
prog def moeda
local contador = 0
forvalues i = 1(1)5 {
scalar z = runiform()
if z <= .5 {
scalar moeda = 0
}
else {
scalar moeda = 1
local contador = `contador' + 1
}
}
if `contador' >= 3 {
scalar x = 1
}
else {
scalar x = 0
}
end
simulate y=x , reps(100000) nodots: moeda
summa y
30) João e Pedro lançam, cada um, um dado não-tendencioso. Qual é a
probabilidade do resultado de João ser maior ou igual ao resultado de Pedro?
Solução: Supoe-se que os resultados de João e Pedro são independentes. A
probabilidade dp resultado de João ser maior do que o resultado de Pedro
corresponde a um subconjunto do espaço amostral, que se constitui de 36
eventos subtraindo-se os eventos em que Pedro ganha e teremos (36-6)/2 = 15
eventos em que João ganha, cada um com probabilidade 1/36 e portanto a
probabilidade de João ganhar é igual a 15/36.
27) Colocam-se ao acaso n botões em um tabuleiro n x n, não sendo permitido
haver dois botões em uma mesma casa. Qual é a probabilidade de não haver
dois botões nem na mesma linha nem na mesma coluna?
Solução: Existem n2 possibilidades de se colocar o primeiro dos n botões no
tabuleiro. Para cada uma destas n2 possibilidades temos (n2-1) possibilidades
de colocarmos o segundo dos n botões e assim por diante – quando chegamos
ao penúltimo botão só nos resta uma possibilidade restante de colocarmos o
nosso n-esimo botão. Então o numero de eventos distintos em que não
ocorrem dois botões na mesma casa é:
n
2
(n
2
1) ( n
2
2) ...( n
n2 !
n 2) 1
( n 2 n 1)!
2
Este é o tamanho de nosso espaço amostral. O número de eventos favoráveis
é igual a n!. Por exemplo, se n = 3 temos os seguintes eventos favoráveis:
b
x
x
x b
x
x
ou
x b
b
x
x
x b
x b
x
x
ou
x b
x
b
x
x
x
x b
ou
x
x b
b
x
x
x b
x
x b
x
x
x b
ou x x b ou x b x
b
x
x
b
x
x
O número de resultados (eventos) distintos do espaço amostral é igual a
Portanto a probabilidade será igual a:
n!
n2 !
( n 2 n 1)!
n !( n 2
n 1)!
n2 !
Por exemplo, para n = 3 temos:
n!
n2 !
(n 2 n 1)!
n !(n 2 n 1)!
n2 !
3!(9 3 1)!
9!
3!7!
9!
3
4
Vamos simular este experimento através da seguinte rotina Stata:
nn .
* Simulando o preenchimento com botões em um tabuleiro
* com n x n posições
cap prog drop tabuleiro
prog def tabuleiro
local n = 5
matrix X = J(`n',`n',0)
local i = 1
while `i' <= `n' {
local k = int(1+(`n')*runiform())
local l = int(1+(`n')*runiform())
scalar x = X[`k',`l']
if x == 1 {
}
else
{
matrix X[`k',`l'] = 1
local i = `i' + 1
}
}
matrix list X
matrix lin = J(1,`n'+1,0)
matrix col = J(`n',1,0)
matrix X = X,col
matrix X = X\lin
forvalues i = 1(1)`n' {
forvalues j = 1(1)`n' {
matrix X[`i',`n'+1] = X[`i',`n'+1] + X[`i',`j']
matrix X[`n'+1,`j'] = X[`n'+1,`j'] + X[`i',`j']
}
}
scalar x = 0
forvalues i = 1(1)`n' {
forvalues j = 1(1)`n' {
if X[`n'+1,`j'] > 1
{
scalar x = 1
continue, break
}
}
if X[`i',`n'+1] > 1
{
scalar x = 1
continue, break
}
}
scalar x = 1 - x
end
simulate y=x , reps(10000) nodots: tabuleiro
summa y
qui local n = 5
disp exp(lnfactorial(`n'))*exp(lnfactorial(`n'^2-`n'+1))/exp(lnfactorial(`n'^2))
Download