Você está na página 1de 8

Practica Nº 10

Prueba de Póker

1) Marco teórico

La prueba de póker examina en forma individual los dígitos del número pseudoaleatorio generado.
La forma como esta prueba se realiza es tomando 5 dígitos a la vez y clasificándolos como: par,
dospares, tercia, póker, quintilla, full y todos diferentes. Lo anterior significa que los
númerospseudoaleatorios generados son de 5 dígitos cada uno, o bien, en caso de que el número
tengamás de 5 dígitos, solamente se consideran los primeros 5. Las probabilidades para cada una
de lasmanos de póker posibles se muestran en seguida:

10𝑥9𝑥8𝑥7𝑥6
Todos diferentes: = 0.3024
105
1 10𝑥1𝑥8𝑥1𝑥9 5
Un par:2 (2) = 0.504
105
1 10𝑥1𝑥8𝑥1𝑥9 5 3
Dos pares: 2 (2)(2) = 0.108
105
10𝑥1𝑥1𝑥9𝑥8 5
Tercia: 105 (3) = 0.072
10𝑥1𝑥1𝑥1𝑥9 5 2
Full: 105 (3)(2) = 0.009
10𝑥1𝑥1𝑥1𝑥9 5
Poker: 105 (4) = 0.0045
10𝑥1𝑥1𝑥1𝑥9 5
Quintilla: 105 (5) = 0.0001

Con las probabilidades anteriores y con el número de números pseudoaleatorios generados,


sepuede calcular la frecuencia esperada de cada posible resultado, la cual al compararse con
lafrecuencia observada produce el estadístico
n
(NOi − NEi)2
𝑿𝟐𝒐 = ∑
NEi
i=1

Si 𝑿𝟐𝒐 < 𝑿𝟐𝒏−𝟏,𝟏−𝜶 entonces no se puede rechazar la hipótesis de que los números provienen de una
distribución uniforme

2) Ejemplo de Prueba de Póker en R

En un listado de 95números entre 0 y 1. Determine mediante la prueba de póker si los


95números son independientes con un nivel de confianza del 95%.

Ho: ri ~ Independiente
Hi: ri ~ Dependiente
Frecuencia Frecuencia 𝑿𝟐𝒐
observada esperada n
(NOi − NEi)2
= ∑
NEi
i=1

Todos diferentes 32 28.72 0.3745


Un par 49 47.88 0.0261
Dos pares 6 10.26 1.7657
Tercia 7 6.84 0.0037
Full 0 0.855 0.855
Póker 1 0.4275 0.7666
Quintilla 0 0.0095 0.0095
Total n=95 3.8044

𝑿𝟐𝒐 = 𝟑. 𝟖𝟎𝟒𝟒 < 𝑿𝟐𝟑,𝟎.𝟗𝟓 = 𝟕. 𝟖𝟏Se acepta Ho, los números son independientes

Código en R software

>nombres=c("diferente","par","2pares","tercia","full","poker","quintilla")

>diferente=0.3024

> #par

>par=0.504

> #2 pares

>dospar=0.108

> #tercia

>te= 0.072

> #full

>full=0.009

> #poker

>poker=0.0045

> #quintilla

>qui=0.0001

>valor=c(nada,par,dospar,te,full,poker,qui)
>tabla=cbind(nombres,valor)

> n=95

>nie=valor*n

>nie

[1] 28.7280 47.8800 10.2600 6.8400 0.8550 0.4275 0.0095

>nio=c(32,49,6,7,0,1,0)

> i=0

>Xc=0

>for(i in 1:6)

+{

+ d=((fio[i]-fie[i])^2)/fie[i]

+ Xc=Xc+d

+}

>Xc

[1] 3.793062

> X2=qchisq(0.95,3)

> X2

[1] 7.814728

>tablas=cbind(nombres,fio,fie)

>View(tablas)
>if(Xc<X2){cat("AHo")} else{cat("RHo")}

AHo>

Practica Nº 10

Prueba de corridas

1) Marco Teórico

Se utiliza para determinar secuencias, patrones sistemáticos, cambios secuenciales, etc.,


que denoten tendencias predicibles.Ejemplos de estas secuencias son los cambios en los
índices de la bolsa de valores, las decisiones de compra de los consumidores en una
presentación, los niveles de consumo después de una campaña de publicidad, los votos
hacia un candidato después de un debate televisado, etc.
Para el tema de estudio, se asigna un signo + para un "éxito", y un signo - para un "fracaso".
De esta forma se tiene una cadena de + y de -. Por ejemplo, para la siguiente secuencia de
+ y de -:

Cada grupo de + y de - se identifica como una corrida. En la secuencia mostrada existen 19


observaciones, 9 corridas, 10 "exitos"(signos +), 9 "fracasos"(signos -)
El número de corridas en una secuencia se usa como un estadístico para determinar si
existe aleatoriedad o no, en una secuencia de observaciones.
El número de corridas en una secuencia no-aleatoria tiende a ser muy diferente al de una
aleatoria de la misma longitud.
Los patrones de + y - no aleatorios muestran movimientos persistentes en la misma
dirección (tendencias que continúan durante muchos períodos. Esta clase de patrones
sistemáticos produce muy pocas corridas. Por ejemplo, en la siguiente secuencia de 13
observaciones hay solamente dos corridas:

Patrones no aleatorios que exhiben una excesiva frecuencia de cambios abruptos en


dirección, resulta en una superabundancia de corridas. Por ejemplo, en la siguiente
frecuencia de 13 observaciones hay 13 corridas:

Para cualquier secuencia, el menor número de secuencias es de 2. La mayor cantidad de


corridas que puede existir es dos veces el número de observaciones en la más pequeña de
las dos categorías.

2) Ejemplo de Prueba de corridas en R

Se tiene los siguientes números pseudoaleatorios entre 0 y 1 probar:

Ho: ri ~ Independiente
Hi: ri ~ Dependiente
(0.234,0.907,0.8,0.456,0.002,0.963,0.678,0.345,0.255,0.789,0.607,0.982,0.897,0.045,0.12
3,0.951,0.783,0.345,0.234,0.405,0.456,0.38,0.899,0.479,0.404,0.277,0.895,0.678,0.341)

h=15

2𝑛−1 2(30)−1
E(h)= = =19.67
3 3

16𝑛−29 16(30)−29
V(h)= 90
= 90
=5.011

ℎ − 𝐸(ℎ)
𝑍=
√𝑉(ℎ)

15−19.67
𝑍= =-2.08468175
√5.011

Si 𝒁 < 𝒁𝟏−∝ se acepta Ho como Z=-2.08468175<1.96 se AHo


𝟐

Código en R software

> ## PRUEBA DE CORRIDAS


> N=30
>
num=c(0.234,0.907,0.8,0.456,0.002,0.963,0.678,0.345,0.255,0.789,0.607,0.982,0.897,0.045,0.123,
0.951,0.783,0.345,0.234,0.405,0.456,0.38,0.899,0.479,0.404,0.277,0.895,0.678,0.341)
>num
[1] 0.234 0.907 0.800 0.456 0.002 0.963 0.678 0.345 0.255 0.789 0.607 0.982
[13] 0.897 0.045 0.123 0.951 0.783 0.345 0.234 0.405 0.456 0.380 0.899 0.479
[25] 0.404 0.277 0.895 0.678 0.341
>token=c(N-1)
>token
[1] 29
> r=0
>for(i in 1:N)
+{
+ if(num[i]>num[i+1])
+{
+ token[i]=-1
+}
+
+ else{
+ token[i]=1
+}
+}
>token
[1] 1 -1 -1 -1 1 -1 -1 -1 1 -1 1 -1 -1 1 1 -1 -1 -1 1 1 -1 1 -1 -1 -1
[26] 1 -1 -1
>bor=c(N)
>bor
[1] 30
>pi=1
> s=0
>ss=1
>repeat{
+ s=pi+1
+ if(token[pi]!=token[s])
+{
+ bor[ss]=1
+ pi=pi+1
+ ss=ss+1
+ }else{
+
+ pi=pi+1
+}
+
+
+}
>bor[ss]=1
>bor
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
> h=sum(bor)
>
>eh=((2*N)-1)/3
>eh
[1] 19.66667
>vh=((16*N)-29)/90
>vh
[1] 5.011111
>zc=(h-eh)/(sqrt(vh))
>zc
[1] -2.08468175
>alfa=0.975
> z=qnorm(alfa)
>z
[1] 1.959964
>if(zc>z){cat(" se rechaza ho")}else{cat("se acepta ho")}
se acepta ho>

Você também pode gostar