0. Los datos de la práctica

Esta práctica no necesita de ningún archivo de datos.

1. Números pseudoleatorios

set.seed(seed=123) # establece la semilla 

1.1. Ley de los grandes números

  • Una versión de la ley de los grandes números se puede interpretar de la siguiente forma:
    • Sea \(A\) un suceso posible de un experimento, que tiene probabilidad de ocurrir \(P(A)\).
    • Si se realiza indefinidamente el experimento (o simulaciones del mismo):
      • A veces ocurrirá el suceso \(A\)
      • A veces no ocurrirá el suceso \(A\)
    • Para cada \(n = 1, 2, 3, \ldots\):
      • Sea \(N_n(A) =\) “número de veces que ocurre \(A\) en las \(n\) primeras realizaciones del experimento”
      • Entonces \(\displaystyle{\lim_{n \to \infty} \frac{N_n(A)}{n} = P(A)}\) con probabilidad \(1\).
    • Esto significa que si se realiza un gran número de simulaciones, la frecuencia relativa del suceso \(A\) debe acercarse al valor verdadero de la probabilidad \(P(A)\).
      • \(\displaystyle{\lim_{n \to \infty} ``\text{Frecuencia relativa de } A" = P(A)}\)
    • Conclusión: la simulación numérica de un experimento “un gran número de veces” ayuda a “aproximar” valores de probabilidad. Esto se llama método de MonteCarlo.
      • \(P(A) \approx\) “Frecuencia relativa de \(A\)” con alta probabilidad, si el número de realizaciones del experimento es “muy grande”.
      • Si el número de realizaciones del experimento no es muy grande, la aproximación no es muy probable.

2. Simulación de extracciones con y sin remplazo

# simular 1000 lanzamientos de un dado equilibrado
d = sample(x=1:6, size=1000, replace=TRUE) # prob, por defecto
d # vemos lo que ha salido
table(d) # vemos MEJOR lo que ha salido
table(d)/length(d) # ahora con frec. RELATIVAS
# simular 100 lanzamientos de una modeda trucada
# con probabilidad de cara igual a 0.7
m = sample(x=c('C', 'X'), size=100, replace=TRUE, prob=c(7,3))
m # vemos lo que ha salido
table(m) # vemos MEJOR lo que ha salido
table(m)/length(m) # frec. relativas
# simular elección de delegado y subsedelegado de clase
alumnos = 1:102 # tenemos listado para identificar cada uno
sample(x=alumnos, size=2) # replace y prob, por defecto
sample(x=alumnos, size=2) # ¿por qué son otros?

EJERCICIO 1:

  1. Simula una quiniela de 15 resultados, donde la probabilidad del 1 sea doble que la probabilidad del X y del 2, que serían iguales entre sí. Antes de simular, establece la semilla al valor 2020.
    • Sol.: 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, X, 2, X, 1, 1.
  2. Suponiendo que una población de PCs está compuesta por un 55% gobernados por el sistema operativo Windows, un 35% gobernados por alguna distribución de Linux, y un 10% que trabajan bajo alguna versión de MacOS, simula un muestreo de tamaño 2500, estableciendo de nuevo una semilla con valor 2020, y representa la muestra en una tabla de frecuencias relativas. ¿Qué reflexión puedes hacer al ver las frecuencias relativas?
    • Sol.: Las frecuencias relativas son Windows = \(0.5524\), Linux = \(0.354\) y MacOS = \(0.0936\), que se aproximan bastante a los porcentajes que indica la población (como dice la ley de los grandes números).

FIN DE EJERCICIO 1

3. Simulación y probabilidades en variable aleatoria discreta de rango finito.

\(X\) 0 1 2 3 4 5
\(f(X)\) 0.3 0.2 0.2 0.1 0.1 0.1
# ponemos nombres adecuados
x = 0:5 # valores de X
fx = c(0.3,0.2,0.2,0.1,0.1,0.1) # probabilidades (funcion f)
# media: transcribir fórmula
media = sum(x*fx)
media
# varianza: transcribir fórmula
varianza = sum( (x-media)^2 * fx )
varianza
# moda: es la X con mayor probabilidad
x[ which(fx==max(fx)) ]
# P(X<3): sumar las probabilidades correspondientes
sum( fx[ x < 3 ] )
# muestra de tamaño 50
set.seed(1012) # ponemos una semilla cualquiera
m = sample(x=x, size=50, replace=TRUE, prob=fx)
table(m) # para verla mejor

EJERCICIO 2

Un equipo de fútbol A, independientemente de contra quién juegue, marca una cantidad de goles que puede ser 0, 1, 2 ó 3 con probabilidades respectivas de 0.2, 0.5, 0.2 y 0.1. Otro equipo de fútbol B, independientemente de contra quién juegue, marca una cantidad de goles que puede ser 0, 1, 2 ó 3 con probabilidades respectivas 0.3, 0.2, 0.3 y 0.2.

  1. Calcula media y varianza de la variable “número de goles” de cada equipo.
    • Sol.: A: 1.2 y 0.76, B: 1.4 y 1.24
  2. Simula 100 tanteos de cada equipo. Almacénalos en sendos vectores. Calcula el número de empates.
    • Sol.: -.
  3. Calcula de manera exacta o lo más aproximada posible la probabilidad de que los equipos A y B empaten al enfrentarse.
    • Sol.: 0.24 (exacta) o un valor parecido si es aproximada.

FIN EJERCICIO 2

4. Simulación y probabilidades en modelos de variable aleatoria ya programados

Modelo Nombre R Parámetros Significado
Binomial binom size, prob Número de éxitos en size pruebas de Bernoulli independientes de parámetro prob
Binomial negativo nbinom size, prob Número de no-éxitos hasta encontrar size éxitos en pruebas de Bernoulli independientes de parámetro prob (ojo no es el número de pruebas)
Hipergeométrico hyper m, n, k Número de bolas éxito al extraer (sin remplazo) k bolas de una urna con m bolas éxito y n bolas no-éxito
Poisson pois lambda Número de ocurrencias en un proceso de Poisson de media (o intensidad) lambda.
Exponencial exp rate Exponencial correspondiente a un proceso de Poisson de media rate (o bien exponencial de media 1/rate)
Uniforme unif min, max Uniforme en el intervalo [min, max]
Normal norm mean, sd Normal de media mean y desviación típica sd (¡atención que no es la varianza!)
\(\chi^2\) o Ji-cuadrado chisq df Ji-cuadrado con df grados de libertad
\(t\) de Student t df \(t\) de Student con df grados de libertad
\(F\) de Snedecor f df1, df2 \(F\) de Snedecor con df1 y df2 grados de libertad

4.1. Funciones que calculan probabilidades

  • Cuando \(X\) es una variable DISCRETA (por ejemplo, binomial, binomial negativa, hipergeométrica y Poisson), las probabilidades se pueden calcular con las funciones \(f(x)\) y \(F(x)\) de la siguiente forma:
    • \(P(X=a) = f(a)\)
    • \(P(X \neq a) = 1 - f(a)\)
    • \(P(X \leq a) = F(a)\)
    • \(P(X < a) = F(a-1)\)
    • \(P(X > a) = 1 - F(a)\)
    • \(P(X \geq a) = 1 - F(a-1)\)
    • \(P(a < X \leq b) = F(b) - F(a)\)
    • \(P(a < X < b) = F(b-1) - F(a)\)
    • \(P(a \leq X \leq b) = F(b) - F(a-1)\)
    • \(P(a \leq X < b) = F(b-1) - F(a-1)\)
  • Cuando \(X\) es una variable CONTINUA (por ejemplo, uniforme, exponencial y normal), las probabilidades se pueden calcular con las funciones \(f(x)\) y \(F(x)\) de la siguiente forma:
    • \(P(X=a) = 0\)
    • \(P(X \neq a) = 1\)
    • \(P(X \leq a) = F(a)\)
    • \(P(X < a) = F(a)\)
    • \(P(X > a) = 1 - F(a)\)
    • \(P(X \geq a) = 1 - F(a)\)
    • \(P(a < X \leq b) = F(b) - F(a)\)
    • \(P(a < X < b) = F(b) - F(a)\)
    • \(P(a \leq X \leq b) = F(b) - F(a)\)
    • \(P(a \leq X < b) = F(b) - F(a)\)
  • R tiene programadas las funciones \(f(x)\) y \(F(x)\) de los principales modelos de probabilidad. Su sintaxis es un tanto especial.

4.1.1. Función \(f(x)\) (de probabilidad o densidad de probabilidad)

  • Sintaxis del nombre de la función:
    • Prefijo d
    • Nombre R del modelo (mirar tabla)
  • Sintaxis de los argumentos de la función:
    • x= valor que del se quiere calcular la \(f(x)\)
    • Resto de parámetros del modelo (mirar tabla)
  • Ejemplo: ¿cuánto vale \(P(X=6)\) si \(X\) sigue el modelo de Poisson de media \(\mu=4.5\)?
    • \(P(X=6) = f(6) =\) dpois(x=6, lambda=4.5) \(= 0.1281201\).

4.1.2. Función \(F(x)\) (de distribución o probabilidad acumulada)

  • Sintaxis del nombre de la función:
    • Prefijo p
    • Nombre R del modelo (mirar tabla)
  • Sintaxis de los argumentos de la función:
    • q= valor del que se quiere calcular la \(F(x)\)
    • Resto de parámetros del modelo (mirar tabla)
  • Ejemplo: ¿cuánto vale \(P(X \leq 3.25)\) si \(X\) sigue el modelo normal de media \(\mu=2.97\) y desviación típica \(\sigma = 0.83\)?
    • \(P(X \leq 3.25) = F(3.25) =\) pnorm(q=3.25, mean=2.97, sd=0.83) \(= 0.6320732\).

4.2. Función de cuantiles: calcula cuantiles

  • Sintaxis del nombre de la función:
    • Prefijo q
    • Nombre R del modelo (mirar tabla)
  • Sintaxis de los argumentos de la función:
    • p= orden del cuantil que se quiere calcular
    • Resto de parámetros del modelo (mirar tabla)
  • Ejemplo: ¿cuál es el percentil \(95\) de la distribución exponencial de media \(2.3\)?
    • \(X_{0.95} =\) qexp(p=0.95, rate=1/2.3) \(= 6.8901842\).

4.3. Función de simulaciones: hace muestras

  • Sintaxis del nombre de la función:
    • Prefijo r
    • Acrónimo del modelo
  • Sintaxis de los argumentos de la función:
    • n= tamaño de la muestra (excepción para el modelo hipergeométrico, donde se llama nn)
    • Resto de parámetros del modelo
  • Ejemplo: una muestra aleatoria simple de tamaño 20 del modelo uniforme en el intervalo \([0,10]\).
    • runif(n=20, min=0, max=10) \(= \{\) 1.0281558, 5.7852718, 4.8134085, 6.0087059, 9.7920077, 4.0594272, 7.5241485, 0.00262, 9.9265986, 9.0649069, 4.2949824, 2.3541287, 2.9176321, 9.1812958, 6.7276606, 0.9599888, 4.7810153, 8.1892957, 7.1519285, 6.9596635 \(\}\).

4.4. Más ejemplos:

4.4.1. Ejercicios (soluciones en la siguiente sección)

  1. Si \(X\) sigue el modelo Binomial con parámetros \(n = 10\) y \(p = 0.75\), calcula:

    1. \(P(X \leq 4)\).
    2. \(P(X = 8)\).
    3. El percentil \(33\).
    4. Simula 50 datos de esta variable binomial.
  2. Calcula \(P(X = 0)\) si X sigue el modelo de Poisson de intensidad 2.3 veces/min en un intervalo de 5 min (el modelo el Poisson de media \(2.3 \times 5\)).

  3. En una normal de media 5 y varianza 2, el 95% de los valores es inferior o igual a… (calcula el percentil 95)

  4. Una urna tiene 10 bolas con 4 de ellas blancas. Se van a extraer 2 bolas sin remplazo. Calcula la probabilidad de que salga alguna blanca (es \(P(X>0)\) con el modelo hipergeométrico, mira la tabla a ver si deduces los parámetros).

  5. Algunos emprendedores poco éticos venden más billetes que sitios disponibles (recintos, medios de transporte, telecos, etc., con el beneficio económico que ello comporta), y con la esperanza de que algunos no irán y habrá sitio para todos, (es decir, sin incurrir en la estafa llamada ‘overbooking’). Supongamos que los responsables de un recinto con una cabida de 100 personas, venden 110 entradas. Si hay una probabilidad del 15% de que cada portador de entrada no vaya finalmente al recinto:

    • Realiza 365 simulaciones del número de personas que acude al recinto, y visualiza en cuántas de esas simulaciones se ha incurrido en overbooking (se trata del modelo binomial con \(n=110\) y \(p=0.85\)).

4.4.2. Soluciones (de los ejercicios de la sección anterior)

  1. Primero:
    1. \(P(X \leq 4) = F(4) =\) pbinom(q=4, size=10, prob=0.75) \(= 0.0197277\).
    2. \(P(X = 8) = f(8) =\) dbinom(x=8, size=10, prob=0.75) \(= 0.2815676\).
    3. \(X_{0.33} =\) qbinom(p=0.33, size=10, prob=0.75) \(= 7\).
    4. rbinom(n=50, size=10, prob=0.75) devuelve la muestra.
  2. Segundo: Se trata de \(P(X = 0) = f(0)\). Por tanto: dpois(x=0, lambda=2.3*5) \(= 0.0000101\).
  3. Tercero: Se trata de calcular el cuantil del orden 0.95, por tanto: qnorm(p=0.95, mean=5, sd=sqrt(2)) \(= 7.3261743\).
  4. Cuarto: Es el modelo hipergeométrico de parámetros m=4, n=6 y k=2 (ver tabla) y se pide P(X>0). Entonces \(P(X > 0) = 1 - F(0)\). Por tanto: 1 - phyper(q=0, m=4, n=6, k=2) = \(0.6666667\).
  5. Quinto: El número de asistentes sigue el modelo binomial, pues de 110 posibles, cada uno puede ir (o no ir) con probabilidad 0.85 (0.15 resp.) y la cantidad que se registra es el número de asistentes. Por eso:
    • acuden = rbinom(n=365, size=110, prob=0.85)
    • length( acuden[ acuden > 100] )
    • Moraleja: si las multas no son fuertes, ¡el delito puede compensar!

4.5. Más ejercicios

  1. Calcula la probabilidad \(P(X > 5)\) cuando \(X \sim \text{Bin}(n=10, p=0.7)\), el modelo binomial de parámetros \(10\) y \(0.7\).
    • Sol.: 0.8497317.
  2. Calcula la probabilidad \(P(X \neq 3)\) cuando \(X \sim \text{Po}(\mu=5.5)\), el modelo de Poisson de intensidad \(5.5\).
    • Sol.: 0.8866772.
  3. Calcula la probabilidad \(P(X < 3)\) cuando \(X\) cuenta las observaciones de un proceso de Poisson de intensidad \(\lambda = 2.3\) en un intervalo de longitud \(T=2\). (Ayuda: cuando se da la intensidad o media, y un intervalo, la nueva intensidad o media del proceso de Poisson es \(\lambda \times T\))
    • Sol.: 0.1626387.
  4. Calcula la probabilidad \(P(1.2 \leq X \leq 3.8)\) cuando \(X \sim \text{U}(a=0, b=5)\), el modelo uniforme en el intervalo \([0, 5]\).
    • Sol.: 0.52.
  5. Calcula la probabilidad \(P(1.2 \leq X \leq 3.8)\) cuando \(X \sim \text{Exp}(\lambda=5)\), el modelo exponencial asociado a un proceso de Poisson de intensidad \(5\).
    • Sol.: 0.0024787.
  6. Calcula la probabilidad \(P(X > 8)\) cuando X sigue el modelo exponencial de media \(\beta=6.5\).
    • Sol: 0.2920678.
  7. Calcula la probabilidad \(P(5 < X < 9)\) cuando \(X \sim \text{N}(\mu= 4, \sigma=2)\), el modelo normal.
    • Sol.: 0.3023279.
  8. Calcula la probabilidad \(P(X > 5)\) cuando \(X \sim \text{N}(\mu= 4, \sigma^2=2)\), el modelo normal.
    • Sol.: 0.2397501.
  9. Calcula el cuantil de orden \(0.95\) del modelo Ji-cuadrado con 5 grados de libertad.
    • Sol.: 11.0704977.
  10. Calcula el cuantil de orden \(0.05\) del modelo t de Student con 9 grados de libertad.
    • Sol.: -1.8331129.
  11. Calcula el cuantil de orden \(0.5\) del modelo F de Snedecor con 3 y 5 grados de libertad.
    • Sol.: 0.9071462.