La Ley de los Grandes Números (LGN) constituye uno de los pilares fundamentales de la teoría de probabilidad y de la inferencia estadística. Esta ley establece que, a medida que el tamaño de una muestra aumenta, la media muestral converge progresivamente hacia el valor esperado poblacional.
En el contexto del análisis deportivo moderno, particularmente en el fútbol profesional, la utilización de modelos probabilísticos permite comprender fenómenos asociados al rendimiento ofensivo, generación de oportunidades y comportamiento táctico de los equipos.
El presente trabajo desarrolla una simulación Monte Carlo aplicada al desempeño ofensivo del Manchester City, equipo reconocido por sus altos niveles de posesión, precisión táctica y volumen ofensivo. Para ello se utilizan dos modelos probabilísticos fundamentales:
La finalidad principal es comprobar empíricamente la Ley de los Grandes Números mediante simulaciones de distintos tamaños muestrales y analizar cómo las medias muestrales convergen hacia los parámetros teóricos conforme aumenta el número de observaciones.
Comprobar empíricamente la Ley de los Grandes Números mediante simulaciones Monte Carlo aplicadas al rendimiento ofensivo del Manchester City.
La Ley de los Grandes Números establece que:
\[ \bar{X}_n \rightarrow \mu \quad \text{cuando} \quad n \rightarrow \infty \]
donde:
Esto implica que, mientras mayor sea el número de observaciones, menor será la influencia del azar sobre la estimación de la media.
La simulación Monte Carlo consiste en generar observaciones aleatorias a partir de distribuciones probabilísticas conocidas para estudiar el comportamiento de sistemas complejos bajo incertidumbre.
En estadística aplicada y analítica deportiva, esta metodología permite:
# Instalar paquetes solo si es necesario
# install.packages("ggplot2")
# install.packages("gridExtra")
# install.packages("dplyr")
library(ggplot2)
library(gridExtra)
library(dplyr)
# Semilla para reproducibilidad
set.seed(5313)
# Tamaños muestrales
n_cortes <- c(10, 50, 100, 1000, 10000)
Para modelar el número de disparos efectivos realizados por el Manchester City durante un partido se emplea una distribución de Poisson.
\[ X \sim Poisson(\lambda) \]
\[ \lambda = 7.5 \]
Este valor representa el promedio aproximado de disparos a puerta por partido en temporadas de alta dominancia ofensiva.
\[ S = \{0,1,2,3,\ldots\} \]
La distribución de Poisson resulta adecuada porque:
Se modela el tiempo de posesión previo a un remate mediante una distribución Gamma.
\[ X \sim Gamma(\alpha,\beta) \]
\[ \alpha = 3 \]
\[ \beta = 0.15 \]
\[ E(X)=\frac{\alpha}{\beta}=20 \]
Por tanto, el tiempo promedio esperado de posesión ofensiva previo al disparo es de 20 segundos.
\[ S = \{x \in \mathbb{R} \mid x>0\} \]
La distribución Gamma permite modelar tiempos positivos asociados a procesos de acumulación y preparación ofensiva, representando de mejor manera la construcción táctica previa al disparo.
# Parámetro poblacional
lambda_p <- 7.5
# Generación de gráficos
plots_poisson <- lapply(n_cortes, function(n) {
# Simulación
datos <- rpois(n, lambda = lambda_p)
# Media muestral
media_muestral <- mean(datos)
# Data frame
df <- data.frame(disparos = datos)
# Histograma
ggplot(df, aes(x = disparos)) +
geom_histogram(
aes(y = after_stat(density)),
binwidth = 1,
fill = "steelblue",
color = "white"
) +
geom_vline(
xintercept = lambda_p,
color = "red",
linetype = "dashed",
linewidth = 1.2
) +
geom_vline(
xintercept = media_muestral,
color = "black",
linewidth = 1
) +
labs(
title = paste("Distribución Poisson | n =", n),
subtitle = paste("Media muestral =", round(media_muestral, 3)),
x = "Número de disparos",
y = "Densidad"
) +
theme_minimal(base_size = 12)
})
# Organización de gráficos
grid.arrange(
grobs = plots_poisson,
ncol = 2,
top = "Simulación Monte Carlo - Disparos a Puerta"
)
Los gráficos correspondientes a la distribución de Poisson permiten observar de manera clara el comportamiento de la convergencia estadística planteada por la Ley de los Grandes Números. En los tamaños muestrales pequeños (\(n=10\) y \(n=50\)), la dispersión de los datos es relativamente alta y la media muestral presenta diferencias visibles respecto al parámetro poblacional \(\lambda = 7.5\).
Este fenómeno evidencia la fuerte influencia del componente aleatorio cuando el número de observaciones es reducido. En términos estadísticos, la variabilidad relativa todavía es elevada y las estimaciones presentan menor estabilidad.
Conforme aumenta el tamaño de la muestra (\(n=1000\) y \(n=10000\)), los histogramas adquieren una forma más regular y consistente. La línea negra, correspondiente a la media muestral, converge progresivamente hacia la línea roja que representa el valor esperado teórico. Esta estabilización confirma empíricamente que el promedio de los datos simulados se aproxima al parámetro poblacional conforme crece el número de observaciones.
Desde una perspectiva de analítica deportiva, esto demuestra que evaluar el rendimiento ofensivo de un equipo utilizando pocos partidos puede conducir a interpretaciones sesgadas o poco representativas. El análisis sustentado en grandes volúmenes de datos permite identificar patrones ofensivos más robustos y confiables.
# Parámetros Gamma
alpha_g <- 3
rate_g <- 0.15
# Esperanza teórica
esperanza_g <- alpha_g / rate_g
# Generación de gráficos
plots_gamma <- lapply(n_cortes, function(n) {
# Simulación
datos <- rgamma(
n,
shape = alpha_g,
rate = rate_g
)
# Media muestral
media_muestral <- mean(datos)
# Data frame
df <- data.frame(tiempo = datos)
# Histograma
ggplot(df, aes(x = tiempo)) +
geom_histogram(
aes(y = after_stat(density)),
bins = 30,
fill = "indianred3",
color = "white",
alpha = 0.75
) +
stat_function(
fun = dgamma,
args = list(
shape = alpha_g,
rate = rate_g
),
color = "blue",
linewidth = 1.2
) +
geom_vline(
xintercept = esperanza_g,
color = "red",
linetype = "dashed",
linewidth = 1.2
) +
geom_vline(
xintercept = media_muestral,
color = "black",
linewidth = 1
) +
labs(
title = paste("Distribución Gamma | n =", n),
subtitle = paste("Media muestral =", round(media_muestral, 3)),
x = "Tiempo de posesión (segundos)",
y = "Densidad"
) +
theme_minimal(base_size = 12)
})
# Organización de gráficos
grid.arrange(
grobs = plots_gamma,
ncol = 2,
top = "Simulación Monte Carlo - Tiempo de Posesión"
)
En los gráficos asociados a la distribución Gamma se observa inicialmente una marcada asimetría positiva, característica típica de variables continuas relacionadas con tiempos de espera y procesos acumulativos. En muestras pequeñas, las medias muestrales fluctúan considerablemente debido a la sensibilidad del modelo frente a valores extremos y a la limitada cantidad de observaciones.
A medida que el tamaño muestral aumenta, la densidad empírica simulada comienza a aproximarse progresivamente a la función teórica Gamma. La media muestral converge hacia la esperanza matemática de 20 segundos, mientras que la forma general de la distribución se vuelve más estable y suave.
Este comportamiento representa de manera adecuada la dinámica ofensiva del Manchester City, caracterizada por secuencias de posesión elaboradas antes de finalizar una jugada. La simulación evidencia que las tendencias tácticas relacionadas con la posesión solo pueden analizarse de forma consistente cuando se dispone de una cantidad suficiente de eventos observados.
De manera global, ambas simulaciones muestran cómo la variabilidad aleatoria disminuye conforme aumenta el tamaño de muestra. Los gráficos permiten visualizar empíricamente el proceso de convergencia estadística hacia los parámetros teóricos, validando así el comportamiento establecido por la Ley de los Grandes Números.
La simulación Monte Carlo demuestra además la importancia del tamaño muestral en estudios estadísticos aplicados al deporte profesional. En contextos de toma de decisiones tácticas, scouting y evaluación de rendimiento, trabajar con muestras amplias reduce el impacto del azar y mejora la confiabilidad de las conclusiones analíticas.
# Función para obtener medias muestrales
tabla_resultados <- data.frame(
n = n_cortes,
Media_Poisson = sapply(n_cortes, function(n) {
mean(rpois(n, lambda_p))
}),
Media_Gamma = sapply(n_cortes, function(n) {
mean(rgamma(n, shape = alpha_g, rate = rate_g))
})
)
# Redondeo
tabla_resultados <- tabla_resultados %>%
mutate(
Media_Poisson = round(Media_Poisson, 3),
Media_Gamma = round(Media_Gamma, 3)
)
tabla_resultados
Los resultados muestran que:
Esto confirma empíricamente la Ley de los Grandes Números para la distribución de Poisson.
En la distribución Gamma se observa un comportamiento similar:
Desde una perspectiva de analítica deportiva:
Albert, J., & Glickman, M. E. (2022). Analyzing Baseball Data with R. Chapman and Hall/CRC.
Anderson, C., & Sally, D. (2013). The Numbers Game: Why Everything You Know About Soccer Is Wrong. Penguin Books.
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.
Lefebvre, M. (2009). Basic Probability Theory with Applications. Springer.
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.
Wackerly, D., Mendenhall, W., & Scheaffer, R. (2010). Estadística matemática con aplicaciones (7.ª ed.). Cengage Learning.