10. Formulario Estadístico Extendido#
Este documento contiene una recopilación exhaustiva de funciones estadísticas implementadas en Python, organizadas por categorías. Cada sección incluye la función, su fórmula (cuando aplica) y la implementación en Python usando bibliotecas como numpy
, scipy
, statsmodels
, pingouin
y bambi
.
10.1. Estadísticos Descriptivos#
Función |
Fórmula |
Python |
---|---|---|
Media |
\(\bar{x} = \frac{1}{n} \sum_{i=1}^n x_i\) |
|
Mediana |
valor que divide el conjunto en dos partes |
|
Moda |
valor más frecuente |
|
Varianza muestral |
\(s^2 = \frac{1}{n-1} \sum (x_i - \bar{x})^2\) |
|
Varianza poblacional |
\(\sigma^2 = \frac{1}{n} \sum (x_i - \bar{x})^2\) |
|
Desviación estándar |
\(s = \sqrt{s^2}\) |
|
Coef. de variación |
\(CV = \frac{s}{\bar{x}}\) |
|
Rango intercuartílico |
\(IQR = Q_3 - Q_1\) |
|
Asimetría (skew) |
\(g_1 = \frac{1}{n} \sum \left(\frac{x_i - \bar{x}}{s}\right)^3\) |
|
Curtosis |
\(g_2 = \frac{1}{n} \sum \left(\frac{x_i - \bar{x}}{s}\right)^4 - 3\) |
|
Suma de cuadrados total |
\(\sum (x_i - \bar{x})^2\) |
|
Covarianza |
\(Cov(X, Y) = \frac{1}{n-1} \sum (x_i - \bar{x})(y_i - \bar{y})\) |
|
10.2. Inferencia Clásica#
10.2.1. Pruebas t y ANOVA#
Función |
Fórmula |
Python |
---|---|---|
t una muestra |
\(t = \frac{\bar{x} - \mu_0}{s / \sqrt{n}}\) |
|
t muestras independientes |
\(t = \frac{\bar{x}_1 - \bar{x}_2}{\sqrt{\frac{s_1^2}{n_1} + \frac{s_2^2}{n_2}}}\) |
|
t pareada |
\(t = \frac{\bar{d}}{s_d / \sqrt{n}}\) |
|
ANOVA una vía |
- |
|
ANOVA dos vías |
- |
|
10.2.2. Otros#
Función |
Fórmula |
Python |
---|---|---|
Chi² de independencia |
\(\chi^2 = \sum \frac{(O - E)^2}{E}\) |
|
Intervalo confianza (media) |
\(\bar{x} \pm t^* \frac{s}{\sqrt{n}}\) |
|
Intervalo confianza (proporción) |
\(\hat{p} \pm z^* \sqrt{\frac{\hat{p}(1 - \hat{p})}{n}}\) |
|
Test de normalidad de Shapiro |
- |
|
10.3. Pruebas No Paramétricas#
Función |
Descripción |
Python |
---|---|---|
Mann-Whitney U |
Alternativa a t para muestras independientes |
|
Wilcoxon pareado |
Alternativa a t pareada |
|
Kruskal-Wallis |
ANOVA no paramétrico |
|
Friedman |
ANOVA de medidas repetidas no paramétrico |
|
10.4. Correlaciones#
Función |
Fórmula o descripción |
Python |
---|---|---|
Pearson |
\(r = \frac{Cov(X,Y)}{s_X s_Y}\) |
|
Spearman |
basado en rangos |
|
Kendall tau |
pares concordantes y discordantes |
|
Punto-biserial |
correlación continua vs binaria |
|
Rango-biserial |
tamaño de efecto de Mann-Whitney |
|
10.5. Modelos#
Modelo |
Fórmula o tipo |
Python |
---|---|---|
Regresión lineal simple |
\(y = \beta_0 + \beta_1 x\) |
|
Regresión lineal múltiple |
\(y = \beta_0 + \beta_1 x_1 + \dots + \beta_p x_p\) |
|
Regresión logística |
\(log\left(\frac{p}{1 - p}\right) = \beta_0 + \beta_1 x\) |
|
Función expit |
\(\frac{1}{1 + e^{-x}}\) |
|
10.6. Tamaño de Muestra#
Objetivo |
Fórmula aproximada |
Python |
---|---|---|
Proporción (conocida) |
\(n = \frac{Z^2 p(1-p)}{E^2}\) |
|
Media (desv. conocida) |
\(n = \left(\frac{Z \sigma}{E}\right)^2\) |
|
10.7. Inferencia Bayesiana#
10.7.1. Conceptos clave#
Teorema de Bayes:
\(P(H \mid D) = \frac{P(D \mid H) \cdot P(H)}{P(D)}\)Distribución posterior:
Resultado de combinar la verosimilitud con la distribución a priori.
En modelos simples puede calcularse de forma analítica, en modelos complejos se estima con métodos numéricos como MCMC.Posterior predictiva:
\(p(\tilde{y} \mid D) = \int p(\tilde{y} \mid \theta) \cdot p(\theta \mid D) \, d\theta\)Intervalos de credibilidad:
Rango de valores del parámetro que contiene una probabilidad dada (por ejemplo 95%) según la distribución posterior.
arviz.hdi(idata, hdi_prob=0.95)
Factor de Bayes (BF10):
Relación de verosimilitudes entre el modelo alternativo y el nulo.
\(BF_{10} = \frac{P(D \mid H_1)}{P(D \mid H_0)}\)
pingouin.bayesfactor_ttest(...)
Estimación de parámetros con MCMC:
import bambi as bmb
model = bmb.Model("y ~ x", data)
idata = model.fit()
Diagnóstico de convergencia:
arviz.plot_trace(idata)
arviz.summary(idata)
arviz.rhat(idata)
arviz.ess(idata)
Visualización de resultados:
arviz.plot_posterior(idata)
arviz.plot_forest(idata)
arviz.plot_ppc(idata)
Comparación de modelos bayesianos:
arviz.compare({ "modelo1": idata1, "modelo2": idata2 })
Este formulario puede expandirse con medidas específicas según tus necesidades (series de tiempo, clustering, modelos mixtos, etc.).