Módulo 4 · Aplicaciones integradoras

13. Aplicaciones con bases estadísticas

¿Cómo convierto estadística básica en alertas de planta?

Mate MathPlay · Flotación Cu · Archivo de trabajo: flotacion_cobre.xlsx

Flotación CuExcelPythonML básico

Aplicaciones con bases estadísticas

Integramos media, desviación, percentiles, correlación y probabilidad para construir un primer tablero de estabilidad en flotación.

1. Pregunta de planta

En esta unidad dejamos de ver la estadística como fórmulas separadas y la usamos como un sistema de monitoreo operativo.

Idea central: con media, desviación estándar, percentiles, correlación y probabilidad podemos construir un primer tablero de estabilidad antes de entrenar modelos complejos.

2. Aplicación estadística al caso

Base estadísticaPregunta operativaUso en flotación
Media y desviación estándar¿La recuperación está estable?Límites normales de operación.
Percentiles¿Estoy en una zona extrema?Nivel alto, espumante alto, riesgo alto.
Correlación¿Qué variables se mueven juntas?Priorizar aire, nivel, pH o espumante.
Probabilidad condicional¿Cuánto sube el riesgo bajo cierta condición?Reglas simples de alerta.

3. Excel: tablero estadístico mínimo

La idea es que un alumno pueda armar una primera lectura sin programar.

Recuperación promedio y dispersión

Media: =PROMEDIO(F:F) Desviación: =DESVEST.M(F:F) Límite bajo: =media - 2*desviación

Bandera de recuperación baja

=SI(F2<limite_bajo,"Revisar","Normal")

Probabilidad de evento cuando espumante está alto

=CONTAR.SI.CONJUNTO(L:L,">"&PERCENTIL.INC(L:L,0.75),N:N,1) / CONTAR.SI(L:L,">"&PERCENTIL.INC(L:L,0.75))
Esta aplicación convierte estadística básica en una herramienta de supervisión de turno.

4. Python: resumen estadístico aplicado

import pandas as pd

archivo = "flotacion_cobre.xlsx"
df = pd.read_excel(archivo)

kpis = [
    "recuperacion_cu", "flujo_aire", "nivel_celda", "ph",
    "dosificacion_espumante", "score_riesgo"
]

resumen = df[kpis].agg(["mean", "std", "min", "median", "max"]).T
resumen["limite_bajo_2sigma"] = resumen["mean"] - 2*resumen["std"]
resumen["limite_alto_2sigma"] = resumen["mean"] + 2*resumen["std"]
resumen

Reglas estadísticas de alerta

p75_esp = df["dosificacion_espumante"].quantile(0.75)
p90_nivel = df["nivel_celda"].quantile(0.90)

prob_evento_esp_alto = df.loc[
    df["dosificacion_espumante"] > p75_esp,
    "evento_sobre_espumacion"
].mean()

prob_evento_nivel_alto = df.loc[
    df["nivel_celda"] > p90_nivel,
    "evento_sobre_espumacion"
].mean()

prob_evento_esp_alto, prob_evento_nivel_alto

5. Puente hacia Machine Learning

Las reglas estadísticas pueden transformarse en variables para un clasificador.

df["espumante_alto"] = (df["dosificacion_espumante"] > p75_esp).astype(int)
df["nivel_muy_alto"] = (df["nivel_celda"] > p90_nivel).astype(int)
df["rec_baja"] = (df["recuperacion_cu"] < df["recuperacion_cu"].mean() - 2*df["recuperacion_cu"].std()).astype(int)

features = [
    "flujo_aire", "nivel_celda", "ph", "dosificacion_espumante",
    "espumante_alto", "nivel_muy_alto", "rec_baja"
]

X = df[features]
y = df["evento_sobre_espumacion"]

Mensaje final: la estadística aplicada no es el final del camino; es la base para crear buenas variables, buenas alertas y mejores preguntas para el modelo.

← Lección anteriorDescargar datosSiguiente lección →