1. Instrucciones

Este documento contiene las instrucciones y enunciados asociados a la Prueba Especial Programada 1 (PEP1) del curso de Estadística Computacional. Al respecto:

  • La prueba tiene un total de 60 puntos, lo que sumado al puntaje base permitirá calcular directamente su nota final sumando un máximo de 70 puntos.
  • Se dispone de todo el bloque de clases para realizar la evaluación. Esta deberá ser desarrollada en R.
  • Las respuestas escritas empleando RMarkdown deberán ser enviadas al profesor al finalizar el tiempo de evaluación.
  • Puede usar apuntes y material disponible en Moodle como apoyo.
  • Cualquier sospecha de falta ética será castigada directamente con nota 1.0 en la evaluación.
  • En cada caso, no responda sólo numéricamente, sino que contextualice su respuesta para el problema. Esto puede ser al final de cada pregunta.

2. Preguntas

Pregunta 1 - (20 puntos)

Se tiene registro de que en la temporada 2022/2023 el futbolista argentino Lionel Messi ha marcado 30 goles en 50 partidos jugados. Después de ganar el último mundial de Qatar 2022 con su selección nacional, el deportista a dejado entrever que debido a su edad es improbable que juegue el próximo mundial, por lo que su retiro podría estar cerca.

Figura 1. Lionel Messi.
Un grupo de amigos fanáticos de Messi está intentando usar la estadística para descifrar cuántos goles más de Messi podrían llegar a ver antes de su retiro. Si sabemos que un partido de fútbol dura 90 minutos y asumimos un rendimiento constante de Lionel Messi para los siguientes encuentros, sin considerar el nivel de los rivales a enfrentar, determine:

Preguntas

  1. ¿Cuál es la probabilidad de que Messi juegue un partido completo sin convertir un gol?, ¿Y cuál es probabilidad de que sí convierta un gol durante su próximo partido? (4 puntos)
  2. ¿Cuál es la probabilidad de que Messi convierta hasta cinco goles en los próximos 300 minutos de juego?, ¿Y cuál es la probabilidad de que convierta más de siete goles en el mismo tiempo? (4 puntos)
  3. En un escenario de rendimiento constante, si Messi jugase 55 partidos más antes de su retiro y su tasa promedio de goles por partido se mantiene, ¿Cuántos goles se podría esperar que convierta?, ¿Y si jugara 100 partidos más? (4 puntos)
  4. Grafique la distribución de probabilidad asociada. (8 puntos)

Respuestas

Este ejercicio es posible resolverlo mediante una distribución de Poisson. Para calcular las probabilidades debemos primeramente determinar la media (\(\lambda\)) para la cantidad de goles por partido o cada 90 minutos.

# Primer lambda
golesPorPartido = 30/50
print(golesPorPartido)
## [1] 0.6

Esto nos permitirá calcular los goles por 300 minutos jugado:

# Segundo lambda
golesPorMinuto <- golesPorPartido * (300 / 90)
golesPorMinuto
## [1] 2

De manera que si queremos calcular probabilidad de goles por partido (Pregunta A), nuestro (\(\lambda\)) será la variable golesPorPartido y si queremos calcular la probabilidad de goles dada una cantidad de minutos jugados (Pregunta B), entonces (\(\lambda\)) será igual a golesPorMinuto.

Respuesta a)

# Probabilidad de 1 Partido sin convertir
prob_partido_sin_gol = dpois(0,golesPorPartido)
print(prob_partido_sin_gol)
## [1] 0.5488116
# Probabilidad de 1 Partido = 1 Gol
prob_partido_un_gol = dpois(1,golesPorPartido)
print(prob_partido_un_gol)
## [1] 0.329287

Respuesta b)

# Probabilidad de hasta 5 Goles en 300 minutos jugados
p_cinco_goles = ppois(5, golesPorMinuto)
print(p_cinco_goles)
## [1] 0.9834364
# Probabilidad de más de siete goles en 300 minutos jugados
p_tenplus_goles = 1 - ppois(7, golesPorMinuto, lower.tail = TRUE)
print(p_tenplus_goles)
## [1] 0.001096719

Respuesta c)

# Goles esperados en 55 partidos
goles_esperados = golesPorPartido * 55
print(goles_esperados)
## [1] 33
# Goles esperados en 100 partidos
goles_esperados_cien = golesPorPartido * 100
print(goles_esperados_cien)
## [1] 60

Respuesta d)

library("ggplot2")
library("plotly")
goles=seq(0,10)
distribucion = dpois(goles,golesPorPartido)
datos=data.frame(goles,distribucion)

grafico = ggplot(data=datos,aes(x=goles,y=distribucion))
grafico = grafico + geom_bar(stat="identity",fill="navajowhite",color="orange3", size = 0.1)
grafico = grafico + theme_bw() + ggtitle("Distribución de probabilidades - Poisson")
grafico = grafico + xlab("Número de goles por partido") + ylab("Probabilidad")
ggplotly(grafico)

Pregunta 2 - (20 puntos)

En Chile un estudio realizado por IPSOS en marzo de 2023 revela que un 56% de las personas encuestadas cree que la delincuencia debe ser la prioridad para el gobierno, por otra parte, una encuesta realizada por CADEM publicada en abril del mismo año entrega una cifra aún mayor; el 71% cree que el combate a la delincuencia debe ser la prioridad del gobierno.

Por su parte, el Centro de Estudios y Análisis del Delito (CEAD) proporciona las siguientes estadísticas respecto de delitos de mayor connotación social para los últimos cinco años:

Figura 2. Estadísticas de delitos a nivel país (CEAD)
Figura 2. Estadísticas de delitos a nivel país (CEAD)


En la comuna de Estación Central específicamente, donde está ubicada una reconocida Universidad nacional, la cantidad de delitos registrados en la misma categoría corresponde a:
· 9115 en 2018
· 9735 en 2019
· 6508 en 2020
· 5297 en 2021
· 7999 en 2022

Se proyecta que en 2021 la misma comuna tendría una población de alrededor de 214.470 personas. Suponga que la universidad tiene además un total de 25.000 estudiantes. (Asuma que ningún estudiante vive en la comuna).

De acuerdo a estas cifras, responda:

Preguntas

  1. ¿Cuál es la probabilidad de que un habitante de Estación Central sea víctima de un delito mañana?, ¿Y cuál es la probabilidad de que un estudiante de la universidad sea víctima de un delito en los alrededores de la misma en cualquier día del año? (4 puntos)
  2. En un curso de la universidad conformado por 30 estudiantes, 21 aseguran estar preocupados por la seguridad y temer ser asaltados. Si se selecciona un grupo aleatorio de 5 estudiantes, ¿Cuál es la probabilidad de que 3 de ellos estén preocupados por la seguridad y teman ser asaltados? (6 puntos)
  3. Si en 2018 la población de Chile era de 18.751.000 habitantes, asumiendo que cada víctima es única e independiente y está contabilizada solo una vez en el registro, ¿Cuál es el porcentaje de población que fue víctima de un delito aquel año? Si se entrevista a 10 personas al azar, ¿Cuál es la probabilidad de que se encuentre a alguien que fue víctima de delito en 2018?

Respuestas

Respuesta a)

En esta pregunta, cada respuesta debe ser abordada mediante una distribución diferente. Para el caso de la pregunta a), al igual que en la pregunta anterior, se puede determinar la probabilidad mediante Poisson:

# Probabilidad de que un habitante de Estación Central sea víctima de un delito mañana
delitos_por_dia = (9115+9735+6508+5297+7999)/5
habitantes <- 214470
delito_por_habitante = delitos_por_dia/habitantes
prob_1delito_habitantes <- dpois(1, delito_por_habitante)
print(prob_1delito_habitantes)
## [1] 0.03476989
# Probabilidad de que un estudiante sea víctima de un delito cualquier día del año
estudiantes <- 25000
delito_por_estudiante <- delitos_por_dia/estudiantes
prob_1delito_estudiantes <- dpois(1, delito_por_estudiante)
print(prob_1delito_estudiantes)
## [1] 0.2269795

Respuesta b)

Para la respuesta b) es necesario utilizar una distribución hipergeométrica:

N = 30 # Tamaño de población            
K = 21 # Casos favorables en N
n = 5  # Muestra
x = 3  # Casos favorables en n

binomio = function(n,k)
{resultado=factorial(n)/(factorial(n-k)*factorial(k))
  return(resultado)}

probabilidad = (binomio(K,x)*binomio(N-K,n-x))/binomio(N,n)
print(probabilidad)
## [1] 0.3359859

También puede utilizarse la función dhyper

#Respuesta alternativa mediante función dhyper
print(dhyper(x=x, m=K, n=(N-K), k=n))
## [1] 0.3359859

Respuesta c)

Para la respuesta c, podemos utilizar distribución binomial.

# Valores dados
delitos <- 549837
poblacion <- 18751000
muestra <- 10

# Probabilidad de haber sido víctima de un delito en 2018
prob_delito <- delitos / poblacion

# Probabilidad de encontrar al menos una víctima en 10 entrevistados
probabilidad_victima <- 1 - dbinom(0, size = muestra, prob = prob_delito)
probabilidad_victima
## [1] 0.2574135

Pregunta 3 - (20 puntos)

Los servicios de geolocalización en tiempo real son ampliamente utilizados hoy en día por personas e instituciones para moderse a través de las ciudades. De acuerdo a Google, cada día se conduce más de 1 billón de kilómetros en 220 países utilizando Google Maps.
Una compañía chilena de repartos de encomiendas y productos tiene 3 vehículos disponibles para repartir 120 paquetes el día de hoy. Esta compañía utiliza a diario los servicios de Google Maps para ordenar sus entregas y definir las rutas, sin embargo, debido a una falla satelital mundial, los servicios de mapas y geolocalización en tiempo real están caídos. La empresa debe cumplir con sus pedidos de manera urgente, por lo que deciden preparar las rutas de entrega a mano para aquel día.

Durante la planificación de la jornada se genera un debate. Un conductor plantea que cada vehículo debe repartir una cantidad igual de paquetes y que debe existir una ruta óptima de reparto que sea la más eficiente, en donde no se pase más de una vez por el mismo sector. Propone entonces armar listas de rutas posibles e ir evaluando una a una su duración total con el fin de escoger la que resulte más corta para cada conductor. Un segundo conductor dice que esa evaluación tomaría mucho tiempo, por lo que propone es mejor que carguen los vehículos y salgan a repartir lo antes posible confiando en su experiencia e intuición, sin planificación previa.

  1. ¿Cuál es la probabilidad de que repartiendo sin planificación, al terminar la jornada la ruta escogida por un conductor haya sido la ruta óptima de mayor eficiencia posible? (5 puntos)
  2. ¿De cuántas maneras puede la compañía repartir 120 paquetes utilizando cada vehículo disponibles en su máxima capacidad de carga? En este caso el orden de salida de los vehículos no es relevante. (5 puntos)
  3. Si armar una ruta de destinos y evaluar su duración toma 5 minutos, ¿Cuánto tiempo total llevará evaluar todas las opciones de rutas posibles? (5 puntos)
  4. El tercer conductor plantea que podría ser mejor trabajar de acuerdo al tiempo por entrega, ¿Cuánto tiempo debiese tardar una entrega para que los tres conductores puedan entregar todos paquetes durante la jornada laboral?. Basándose en las propuestas de los tres conductores, ¿Qué recomendación desde el punto de vista informático, lógico-matemático e incluso económico podría usted entregar a esta empresa para que logre sobrellevar la jornada cumpliendo con sus compromisos comerciales? (5 puntos)

Preguntas

Respuesta a)

1/factorial(40)
## [1] 1.225617e-48

Respuesta b)

Si se interpreta por el estudiante que la evaluación de rutas posibles debe realizarse mediante combinaciones:

# Fórmula Cn = n! / (x! * (n-x)!)
x=40
n=120
combinaciones <- factorial(n) / (factorial(x) * factorial(n-x))
combinaciones
## [1] 1.145568e+32

Si se interpreta por el estudiante que la evaluación de rutas posibles debe realizarse mediante permutaciones:

# Fórmula Pn = n!
# Si se calcula el total de entregas de la compañía
n <- 120
permutations <- factorial(n)
permutations
## [1] 6.689503e+198
# Si se calcula el total de entregas utilizando los 3 vehículos, 
# cada vehículo reparte 40 paquetes, por lo tanto, cada vehículo tendrá 40!
# combinaciones de orden
v <- 40
permutations_v <- factorial(v)
permutations_v
## [1] 8.159153e+47

Respuesta c)

segundos = 5*60
tiempo_segundos = combinaciones*60
print(tiempo_segundos)
## [1] 6.873411e+33
tiempo_minutos = tiempo_segundos/60
print(tiempo_minutos)
## [1] 1.145568e+32
tiempo_horas = tiempo_minutos/60
print(tiempo_horas)
## [1] 1.909281e+30
tiempo_dias = tiempo_horas/24
print(tiempo_dias)
## [1] 7.955337e+28
tiempo_años = tiempo_dias/365
print(tiempo_años)
## [1] 2.179544e+26

Respuesta d)

# Si son 120 paquetes y 3 vehículos, cada conductor debe repartir:
entregas_por_conductor = 120/3
print(entregas_por_conductor)
## [1] 40
# Si la jornada laboral es de 8 horas, máximo de minutos por entrega:
minutos_totales = 8*60
minutos_por_entrega = minutos_totales/entregas_por_conductor
print(minutos_por_entrega)
## [1] 12

Última parte de la respuesta d) es de argumentación libre. Puede recomendar algoritmos de orden basados en distancias entre puntos. También es válido recomendar desde el punto de vista empresarial la contratación incidental de conductores adicionales o renegociar algunas entregas, dada la situación particular. Avisar oportunamente un retraso en el servicio a los clientes también sería recomendable. Adicionalmente, desde lo organizacional e incluso ético, se podría revisar si tienen algún reparto de mayor urgencia (como medicamentos o entregas a algún hospital) para priorizar aquellos.

Referencias