07/05/2026DISTRIBUCIONES DE VARIABLES ALEATORIAS DISCRETASinstall.packages(“ggplot2”) install.packages(“gripextra”) # Fase 1: Definición de Variables
#para analizar el despliegue ofensivo del Manchester City (caracterizado por su alto volumen de posesión y precisión), utilizaremos dos modelos probabilísticos fundamentales que cuentan con respaldo en la literatura de la analítica deportiva moderna.
Para modelar el número de disparos efectivos que el equipo realiza en un partido de 90 minutos, la distribución estándar es la de Poisson.
Distribución: \(X \sim \text{Poisson}(\lambda)\)
Parámetros: \(\lambda = 7.5\) (Promedio histórico aproximado de disparos a puerta del Manchester City por partido en temporadas de alta dominancia).
Espacio Muestral: \(S = \{k \in \mathbb{Z} \mid k \ge 0\}\) (Valores enteros: 0, 1, 2, …).
Justificación: Los disparos son eventos discretos y raros que ocurren de forma independiente en un intervalo de tiempo continuo.
Modelaremos el tiempo (en segundos) que el City mantiene el balón en una secuencia de pases antes de culminar en un remate.
Distribución: \(X \sim \text{Gamma}(\alpha, \beta)\)
Parámetros:
\(\alpha = 3\) (Forma): Indica que el City raramente dispara tras una posesión instantánea; requiere una fase de elaboración.
\(\beta = 0.15\) (Tasa): Genera un promedio de 20 segundos por secuencia ofensiva (\(\alpha/\beta\)).
Espacio Muestral: \(S = \{x \in \mathbb{R} \mid x > 0\}\).
Justificación: A diferencia de la Exponencial, la Gamma permite modelar el tiempo de “preparación” necesario antes de que la probabilidad de disparo alcance su punto máximo.
Codificación # Semilla para reproducibilidad (según tu requerimiento previo) set.seed(5313)
lambda_p <- 7.5 # Esperanza teórica Discreta alpha_g <- 3 # Parámetro de forma (Gamma) rate_g <- 0.15 # Parámetro de tasa (Gamma) esperanza_g <- alpha_g / rate_g # E[X] = 20 segundos
cortes_n <- c(10, 50, 100, 1000, 10000) #Bloque 2: Simulación Variable Discreta (Poisson) plots_discretos <- lapply(cortes_n, function(n) { datos <- rpois(n, lambda_p) df <- data.frame(x = datos) mu_m <- mean(datos) ggplot(df, aes(x = x)) + geom_histogram(aes(y = after_stat(density)), binwidth = 1, fill = “skyblue3”, color = “white”) + geom_vline(xintercept = lambda_p, color = “red”, linetype = “dashed”, linewidth = 1) + geom_vline(xintercept = mu_m, color = “black”, linewidth = 1) + labs(title = paste(“Discreta n =”, n), subtitle = paste(“Promedio:”, round(mu_m, 3))) + theme_minimal() })
do.call(grid.arrange, c(plots_discretos, ncol = 3))
#Bloque 3: Simulación Variable Continua (Gamma) mu_m <- mean(datos)
ggplot(df, aes(x = x)) + geom_histogram(aes(y = after_stat(density)), bins = 30, fill = “indianred3”, color = “white”, alpha = 0.7) + stat_function(fun = dgamma, args = list(shape = alpha_g, rate = rate_g), color = “blue”, linewidth = 1) + geom_vline(xintercept = esperanza_g, color = “red”, linetype = “dashed”, linewidth = 1) + geom_vline(xintercept = mu_m, color = “black”, linewidth = 1) + labs(title = paste(“Continua n =”, n), subtitle = paste(“Promedio:”, round(mu_m, 3))) + theme_minimal() })
do.call(grid.arrange, c(plots_continuos, ncol = 3))
#Interpretación: Para el analista del City, esto significa que las estadísticas de una temporada corta (38 partidos) pueden ser engañosas debido al azar; se requiere un historial más amplio para confirmar tendencias de ataque.
library(ggplot2) library(gridExtra)
set.seed(5313)
n_cortes <- c(10, 50, 100, 1000, 10000)
En este bloque definimos la distribución de Poisson para el Manchester City (\(\lambda = 7.5\)) y generamos la simulación para los distintos tamaños de muestra.
```r
```{r variable_discreta, fig.height=8, fig.width=12} # Parámetro: Promedio de disparos lambda_p <- 7.5
plots_p <- lapply(n_cortes, function(n) { datos <- rpois(n, lambda_p) mu_m <- mean(datos) df <- data.frame(disparos = datos)
ggplot(df, aes(x = disparos)) + geom_histogram(aes(y = after_stat(density)), binwidth = 1, fill = “skyblue3”, color = “white”) + geom_vline(xintercept = lambda_p, color = “red”, linetype = “dashed”, linewidth = 1) + geom_vline(xintercept = mu_m, color = “black”, linewidth = 1) + labs(title = paste(“Muestra n =”, n), subtitle = paste(“Media Muestral:”, round(mu_m, 3)), x = “N° de Disparos”, y = “Probabilidad (FMP)”) + theme_minimal() })
grid.arrange(grobs = plots_p, ncol = 3, top = “Simulación Discreta: Disparos del Manchester City”)
Aquí modelamos el tiempo previo al disparo usando la distribución Gamma (\(\alpha=3, \beta=0.15\)), cuya esperanza es \(E[X] = 20\) segundos.
```r
```{r variable_continua, fig.height=8, fig.width=12} # Parámetros: Forma (alpha) y Tasa (rate/beta) alpha_g <- 3 rate_g <- 0.15 esperanza_g <- alpha_g / rate_g
plots_g <- lapply(n_cortes, function(n) { datos <- rgamma(n, shape = alpha_g, rate = rate_g) mu_m <- mean(datos) df <- data.frame(segundos = datos)
ggplot(df, aes(x = segundos)) + geom_histogram(aes(y = after_stat(density)), bins = 30, fill = “indianred3”, color = “white”, alpha = 0.7) + stat_function(fun = dgamma, args = list(shape = alpha_g, rate = rate_g), color = “blue”, linewidth = 1) + geom_vline(xintercept = esperanza_g, color = “red”, linetype = “dashed”, linewidth = 1) + geom_vline(xintercept = mu_m, color = “black”, linewidth = 1) + labs(title = paste(“Muestra n =”, n), subtitle = paste(“Media Muestral:”, round(mu_m, 3)), x = “Segundos de Posesión”, y = “Densidad (FDP)”) + theme_minimal() })
grid.arrange(grobs = plots_g, ncol = 3, top = “Simulación Continua: Tiempo de Posesión Previo”)
Necesidad de Simulación: El Manchester City juega un número limitado de partidos reales (aprox. 60 por año). Para un experto en estadística, esta muestra es pequeña y está sujeta a la “suerte” del calendario. Simular \(n=10,000\) eventos nos permite conocer el comportamiento límite del equipo y entender los riesgos tácticos sin esperar décadas de datos reales.
Restricciones de Muestreo: En la práctica, obtener una muestra aleatoria de disparos tiene la restricción del sesgo de contexto (no es lo mismo disparar contra un bloque bajo que en un contraataque). La simulación asume independencia para observar la pureza del modelo.
Punto de Estabilización: Visualmente, la estabilización ocurre en \(n = 1000\).
Albert, J., & Glickman, M. E. (2022). Analyzing Baseball Data with R. Chapman and Hall/CRC. (Aunque se centra en béisbol, establece las bases de la simulación y el uso de la Ley de los Grandes Números en el deporte).
Dixon, M. J., & Coles, S. G. (1997). Modelling Association Football Scores and Efficiencies for Competing in the Football Betting Market. Journal of the Royal Statistical Society: Series C (Applied Statistics), 46(2), 265-280.
Lames, M. (2018). Performance Analysis of Football: A Critical Review and Future Directions. Springer.
Mechtel, M., Bäker, A., Brändle, T., & Vetter, K. (2011). Red cards: A natural experiment on the determinants of individual misconduct. Journal of Sports Economics, 12(2), 202-222. (Referencia para el modelado de tasas de eventos en intervalos de tiempo).