Estadistica Practica Para Ciencia De Datos Y Python High Quality Info
En el mundo de la Ciencia de Datos, a menudo nos obsesionamos con los algoritmos más complejos: Random Forests, Gradient Boosting o redes neuronales profundas. Sin embargo, el verdadero poder de un científico de datos no reside en cuántos modelos conoce, sino en su capacidad para entender los datos antes de modelarlos.
La estadística es la brújula que guía ese entendimiento. Sin ella, un modelo es simplemente una caja negra.
En este post, no nos centraremos en demostraciones matemáticas abstractas. Nos enfocaremos en estadística práctica con Python: cómo aplicar los conceptos fundamentales para limpiar, explorar y extraer información valiosa de tus datasets. En el mundo de la Ciencia de Datos,
# Generate & test normality
sample = np.random.normal(loc=0, scale=1, size=1000)
stats.normaltest(sample) # p > 0.05 → normal
X = df[['total_bill']].values y = df['tip'].values model = LinearRegression() model.fit(X, y)print(f"Slope: model.coef_[0]:.3f, Intercept: model.intercept_:.3f") print(f"R²: model.score(X, y):.3f")
plt.figure(figsize=(10, 6)) sns.heatmap(corr_matrix, annot=True, cmap='coolwarm', center=0) plt.title("Correlaciones en el dataset - ¿Alguna te sorprende?") plt.show() X = df[['total_bill']]
ic_ingresos = bootstrap_ci(df['ingresos'].values[:10_000], estadistico=np.median) print(f"IC 95% para la mediana de ingresos: ic_ingresos")
Este código es más fiable que usar fórmulas paramétricas en datos reales.
stat, p_valor = stats.shapiro(datos_normales) print(f"p-valor: p_valor:.4f") # Si p > 0.05, aceptamos normalidad. Este código es más fiable que usar fórmulas
sklearn es para predicción. statsmodels es para inferencia estadística: intervalos de confianza de coeficientes, p-valores, R² ajustado, y diagnóstico de residuos.
import statsmodels.api as sm