Β‘Copiado!
Constructor
InferentialStats(data, lang)
data: pd.DataFrame | np.ndarray  Β·  lang: 'es-ES' | 'en-US' = 'es-ES'

Inicializa con un DataFrame de pandas o array numpy. Detecta automΓ‘ticamente columnas numΓ©ricas y categΓ³ricas

ParΓ‘metroTipoDefaultDescripciΓ³n
datapd.DataFrame | np.ndarrayβ€”Dataset de entrada (requerido)
langstr'es-ES'Idioma de salidas: 'es-ES' o 'en-US'
Python
from statslibx import InferentialStats
from statslibx.datasets import load_iris

data = load_iris()
inf = InferentialStats(data)
Intervalos de Confianza
.confidence_interval(column, confidence, statistic)
column: str Β· confidence: float = 0.95 Β· statistic: 'mean'|'median'|'proportion'
β†’ tuple(lower, upper, estimate)

Calcula intervalos de confianza para la media (t-distribution), mediana (bootstrap) o proporciΓ³n (z-test). Retorna una tupla (lower_bound, upper_bound, point_estimate).

ParΓ‘metroTipoDefaultDescripciΓ³n
columnstrβ€”Columna a analizar
confidencefloat0.95Nivel de confianza (ej: 0.95, 0.99)
statisticstr'mean''mean', 'median' o 'proportion'
Python
# IC para la media (95%)
lower, upper, mean = inf.confidence_interval('sepal_length', confidence=0.95)
print(f"IC 95%: [{lower:.3f}, {upper:.3f}], media={mean:.3f}")

# IC para mediana (bootstrap)
lower, upper, med = inf.confidence_interval('petal_length', statistic='median')

# IC para proporciΓ³n (datos binarios 0/1)
lower, upper, p = inf.confidence_interval('survived', statistic='proportion')
Pruebas de Una Muestra
.t_test_1sample(column, popmean, popmedian, alternative, alpha)
column: str Β· popmean/popmedian: float Β· alternative: str Β· alpha: float = 0.05
β†’ TestResult

Prueba t de una muestra (para media) o Wilcoxon signed-rank (para mediana). Especifica popmean o popmedian, no ambos.

ParΓ‘metroTipoDefaultDescripciΓ³n
columnstrβ€”Columna a analizar
popmeanfloat | NoneNoneMedia poblacional hipotΓ©tica (Hβ‚€: ΞΌ = popmean)
popmedianfloat | NoneNoneMediana poblacional hipotΓ©tica β†’ usa Wilcoxon
alternativestr'two-sided''two-sided', 'less' o 'greater'
alphafloat0.05Nivel de significancia
Python
# Hβ‚€: media de sepal_length = 5.0
result = inf.t_test_1sample('sepal_length', popmean=5.0)
print(result)   # EstadΓ­stico, p-value, interpretaciΓ³n

# Prueba unilateral: H₁: media > 5.0
result = inf.t_test_1sample('sepal_length', popmean=5.0, alternative='greater')

# Para mediana (Wilcoxon signed-rank)
result = inf.t_test_1sample('petal_length', popmedian=3.5)
Pruebas de Dos Muestras
.t_test_2sample(column1, column2, equal_var, alternative, alpha)
column1: str Β· column2: str Β· equal_var: bool = True
β†’ TestResult

Prueba t de dos muestras independientes (Student si equal_var=True, Welch si False).

Python
result = inf.t_test_2sample('sepal_length_a', 'sepal_length_b', equal_var=True)
print(result)

# Welch (varianzas desiguales)
result_w = inf.t_test_2sample('grupo1', 'grupo2', equal_var=False)
.t_test_paired(column1, column2, alternative, alpha)
column1: str Β· column2: str Β· alternative: str = 'two-sided'
β†’ TestResult

Prueba t pareada para muestras dependientes (mediciones antes/despuΓ©s sobre los mismos sujetos).

Python
result = inf.t_test_paired('peso_antes', 'peso_despues', alternative='two-sided')
print(result)  # Incluye diferencia de medias, p-value
.mann_whitney_test(column1, column2, alternative, alpha)
column1: str Β· column2: str Β· alternative: str = 'two-sided'
β†’ TestResult

Test de Mann-Whitney U. Alternativa no paramΓ©trica al t-test de dos muestras. Usa medianas en lugar de medias.

Python
result = inf.mann_whitney_test('grupo_a', 'grupo_b')
print(result)  # EstadΓ­stico U, medianas, p-value
Pruebas para MΓΊltiples Grupos
.anova_oneway(column, groups, alpha)
column: str Β· groups: str Β· alpha: float = 0.05
β†’ TestResult

ANOVA de un factor (One-Way ANOVA). Compara medias entre mΓΊltiples grupos. column es la variable numΓ©rica y groups la variable categΓ³rica de agrupaciΓ³n.

Python
result = inf.anova_oneway(column='sepal_length', groups='species')
print(result)  # F-estadΓ­stico, p-value, nΓΊmero de grupos
.kruskal_wallis_test(column, groups, alpha)
column: str Β· groups: str Β· alpha: float = 0.05
β†’ TestResult

Test de Kruskal-Wallis. Alternativa no paramΓ©trica a ANOVA para datos que no cumplen normalidad.

Python
result = inf.kruskal_wallis_test(column='petal_length', groups='species')
print(result)
Variables CategΓ³ricas
.chi_square_test(column1, column2, alpha)
column1: str Β· column2: str Β· alpha: float = 0.05
β†’ TestResult

Prueba Chi-cuadrado de independencia entre dos variables categΓ³ricas. Incluye la tabla de contingencia en los parΓ‘metros del resultado.

Python
result = inf.chi_square_test(column1='sex', column2='survived')
print(result)  # ChiΒ², grados de libertad, p-value, tabla de contingencia
Normalidad, Varianza y Pruebas Generales
.normality_test(column, method, test_statistic, alpha)
column: str Β· method: 'shapiro'|'ks'|'anderson'|'jarque_bera'|'all'
β†’ TestResult | dict

Prueba si los datos siguen una distribuciΓ³n normal. Con method='all' retorna un dict con los cuatro tests. Anderson-Darling retorna valores crΓ­ticos en lugar de p-value.

MΓ©todoDescripciΓ³nn mΓ‘ximo
'shapiro'Shapiro-Wilk. Recomendado para muestras pequeΓ±as-medianas.≀ 5000
'ks'Kolmogorov-Smirnov contra distribuciΓ³n normal parametrizada.cualquier n
'anderson'Anderson-Darling. MΓ‘s potente en las colas.cualquier n
'jarque_bera'Basado en asimetrΓ­a y curtosis. Para muestras grandes.cualquier n
'all'Ejecuta los cuatro tests y retorna un dict.β€”
Python
# Shapiro-Wilk
result = inf.normality_test('sepal_length', method='shapiro')
print(result)

# Todos los tests
results = inf.normality_test('petal_length', method='all', test_statistic='median')
print(results['shapiro'])
print(results['kolmogorov_smirnov'])
print(results['anderson_darling'])
print(results['jarque_bera'])
.variance_test(column1, column2, method, center, alpha)
method: 'levene'|'bartlett'|'var_test' = 'levene' Β· center: 'mean'|'median'|'trimmed'
β†’ TestResult

Prueba de igualdad de varianzas entre dos columnas. Levene es robusto a no-normalidad; Bartlett asume normalidad; var_test es el equivalente al var.test de R.

Python
result = inf.variance_test('grupo_a', 'grupo_b', method='levene', center='median')
print(result)
.hypothesis_test(method, column1, column2, pop_mean, ...)
method: 'mean'|'difference_mean'|'proportion'|'variance'
β†’ TestResult

Interface unificada para pruebas de hipΓ³tesis. Incluye test de homocedasticidad automΓ‘tico para comparaciΓ³n de medias.

Python
# Test de media
result = inf.hypothesis_test(method='mean', column1='sepal_length', pop_mean=5.0)

# Diferencia de medias (incluye Levene automΓ‘tico)
result = inf.hypothesis_test(method='difference_mean', column1='g1', column2='g2')

# ProporciΓ³n
result = inf.hypothesis_test(method='proportion', column1='survived', pop_proportion=0.5)

# Varianza (F-test)
result = inf.hypothesis_test(method='variance', column1='g1', column2='g2')
GuΓ­a de SelecciΓ³n de Pruebas

Una Muestra vs Referencia

Datos normalest_test_1sample(popmean)
No normalest_test_1sample(popmedian)

Dos Grupos Independientes

Normalest_test_2sample()
No normalesmann_whitney_test()

Dos Grupos Pareados

Normalest_test_paired()
No normalesscipy.stats.wilcoxon()

MΓΊltiples Grupos

Normalesanova_oneway()
No normaleskruskal_wallis_test()

Variables CategΓ³ricas

Independenciachi_square_test()

Verificar Normalidad

n ≀ 5000shapiro
n grandejarque_bera / ks