Monedas trucadas: ilustración del interés de la distribución muestral

Anuncio
Monedas trucadas.
Mathieu Kessler
Departamento de Matemática Aplicada y Estadı́stica
Universidad Politécnica de Cartagena
Monedas trucadas: ilustración del interés de la distribución
muestral
El objetivo de esta práctica es decidir del número de veces que deberı́amos tirar una
moneda que sospechamos está trucada, para llegar con garantı́as a una conclusión en un
sentido o en otro. Está pensada para ilustrar cómo el hecho de conocer la distribución
muestral de un estadı́stico permite de tomar decisiones sobre el valor de un parámetro.
Corresponde de hecho al fundamento básico de los contrastes de hipótesis.
En esta prácticas seguiremos los siguientes pasos:
a) Supondremos que la moneda está trucada y que la probabilidad de que salga cara es
0.65. Aprenderemos a simular de una variable que puede tomar el valor “cara” y el
valor “cruz” A continuación realizaremos 10 tiradas, y calcularemos la proporción
de “caras”.
b) Repetiremos el paso b) anterior 1000 veces.
c) Realizamos un histograma de los 1000 valores de la proporción de “caras” en series
de 10 tiradas que hemos obtenido en el paso anterior
d) A la vista del histograma decidimos si con 10 tiradas es fácil detectar que esta moneda
está trucada.
e) Realizamos todo lo anterior con series con un mayor número de tiradas.
Paso a)
Para simular la elección de un elemento al azar entre varios, podemos utilizar la función
sample.
1
Para obtener una descripción de esta función, y en particular de los argumentos que
admite, podemos recurrir a la ayuda en lı́nea de R. Podemos por ejemplo introducir en
la lı́nea de comando:
help(sample)
Obtenemos el resultados siguiente:
Random Samples and Permutations
Description:
’sample’ takes a sample of the specified size from the elements of ’x’ using
either with or without replacement.
Usage:
sample(x, size, replace = FALSE, prob = NULL)
Arguments:
x: Either a (numeric, complex, character or logical) vector of more than
one element from which to choose, or a positive integer.
size: non-negative integer giving the number of items to choose.
replace: Should sampling be with replacement?
prob: A vector of probability weights for obtaining the elements of the vector
being sampled.
Cuando en la descripción de una función algunos de los argumentos están seguidos del
signo “=” y de un valor, corresponde a su valor por defecto.
Deducimos que podemos introducir en nuestro script el vector de cadenas
x=c(‘‘cara’’,’’cruz’’)
sample(x,size=1,prob=c(0.65,0.35))
para obtener una (porque he indicado size=1) tirada de una moneda trucada con 65%
de posibilidades de que salga “cara” y solo 35% de posibilidades de que salga cruz.
No he indicado el valor del argumento “replace”, puesto que me conviene el argumento
por defecto.
Obtengo
[1] ‘‘cara’’
Puedo repetir la tirada individual un cierto número de veces, o puedo obtener de golpe
10 tiradas por ejemplo cambiando el argumento “size” asi como el argumento “replace”.
u=sample(x,size=10,replace=TRUE,prob=c(0.65,0.35))
¿Cuántas veces ha salido “cara” entre estas diez tiradas? A qué proporción de “cara”
corresponde? ¿Nos da a pensar que la moneda está trucada?
Cómo podrı́amos pedir a R que calcule la proporción de “cara” en el vector u?
2
Paso b)
Queremos ahora repetir un gran número de veces el experimento de realizar 10 tiradas
y calcular la proporción de “cara” obtenidas entre estas 10.
Esta repetición se realiza de manera sencilla si utilizamos un “bucle”. Al igual que en
muchos lenguajes de programación, el comando para realizar un bucle en R es for.
Supongamos que queremos llevar a cabo dos veces el paso a) descrito arriba. Utilizamos
for (i in 1:2) { u=sample(x,size=10,replace=TRUE,prob=c(0.65,0.35))}
Si pedimos ahora el valor de u, nos encontramos con el vector correspondiente a la
última realización del experimento de las 10 tiradas: hemos sobreescrito el resultado de
la primera realización....
Nos interesa guardar la proporción de caras obtenidas en cada uno de las realizaciones
del experimento de las 10 tiradas. Vamos por lo tanto a definir un vector p en el que
iremos guardando las proporciones obtenidas.
p=c(0,0)
for (i in 1:2){u=sample(x,size=10,replace=TRUE,prob=c(0.65,0.35))
p[i]=sum(u=="cara")/length(u)}
Yo he obtenido:
> p
[1] 0.7 0.5
Ejercicio: obtener las proporciones de “caras” para 10000 realizaciones del
experimento de realizar 10 tiradas.
Paso c): realización del histograma o diagrama de
barras.
Hemos visto en la primera sesión cómo obtener un histograma (o un diagrama de barras’)
del vector p.
Paso d): interpretación
¿Os parece fácil detectar, basándose en una serie de 10, tiradas que la moneda está
trucada? ¿Qué modelo parece razonable para la distribución de los valores que puede
tomar la proporción de 1 en series de 10 tiradas de moneda?
3
Paso f ): investigación
Ejercicio: investigar si con series que contienen más tiradas, será más fácil detectar que
la moneda está trucada.
Para ir más lejos...
Ejercicio: puede escribir una función de R que admita como argumentos n el número
de veces que quiero repetir el experimento de realizar size tiradas de una moneda, asi
como prob, el vector de probabilidades de sacar “cara” y “cruz” y que devuelva el vector
p de proporciones de caras obtenidas en las realizaciones del experimento.
La sintáxis básica de la función que decido llamar micalculo, que admite como argumentos n,size,prob y que devuelva p es:
micalculo=function(n,size,prob){
....expresiones de R para calcular p....
return(p)}
Para más información, ya sabeis....help(function)
4
Descargar