Caso aplicado · Enfoque guía

Enfoque guia: Transformaciones lineales

¿Como combino variables para estimar una salida?

Mate MathPlay · Flotación Cu · Material revisado

Flotación CuExcelPython
Ver concepto general MathPlay →
Módulo 2 — Álgebra lineal · Paso 4 de 4 · CIERRE
Semana 2 · Módulo 2 · Paso 8

Transformaciones lineales

y = Xβ — estimar recuperación y cerrar el soft sensor educativo

Mapa del curso (Pasos 1–8)

PasoConceptoSalida operativa
1σ¿Inestable?
2CorrelaciónSospechosos
3ProbabilidadFrecuencia e impacto
4BayesRiesgo actualizado
5Matriz X120×6 sensores
6Eigen / PCAPatrones PC1–PC2
7NormaDistancia al normal
8Transformación linealRecuperación estimada

Objetivo final: combinar sensores en una ecuación y = Xβ que estime recuperación — mismo núcleo que LinearRegression y un soft sensor de KPI.

1. Matemática simple

y = β₀ + β₁·pH + β₂·P80 + β₃·aire + β₄·espumante + β₅·nivel + β₆·ley_cabeza

y = X · β

Cada βᵢ: cambio estimado en recuperación (%) si sube 1 unidad la variable i (modelo lineal simple).

Coeficientes demo (recuperación Cu)

VariableβLectura
Intercepto+101,8Base
pH+0,99↑ pH → ↑ rec (demo)
P80−0,02Leve efecto molienda
Flujo de aire−0,06Leve efecto
Espumante−0,27Más espumante → ↓ recuperación
Nivel celda−0,10Nivel alto → ↓ rec
Ley cabeza+0,11↑ feed → ↑ rec

R² ≈ 0,79 · MAE ≈ 1,3 puntos % (demo n=120).

2. Clasificación — misma idea, salida probabilidad

P(evento) = σ(X · β)    σ = sigmoide

ObjetivoModeloSalida
Recuperación CuRegresión lineal% continuo
Sobre-espumaciónRegresión logísticaP(evento) 0–1

3. Excel

Abre o descargue CSV demo.

LINEST

=LINEST(G2:G121; H2:M121; VERDADERO; VERDADERO)

G = recuperación · H:M = 6 variables X. Última celda del bloque = R².

Predicción (una hora)

=$B$0 + $B$1*H2 + $B$2*I2 + ... + $B$6*M2

Demo última hora: real ≈ 87,2 % · estimada ≈ 84,2 %.

4. Python — soft sensor completo

Abre o descargue CSV demo.

import pandas as pd
from sklearn.linear_model import LinearRegression, LogisticRegression
from sklearn.metrics import r2_score, mean_absolute_error
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import Pipeline

features = ["ph","p80_um","flujo_aire","dosif_espumante_ml_min",
            "nivel_celda_pct","ley_cabeza_cu_pct"]
df = pd.read_csv("datos_flotacion_demo.csv")
X = df[features].values
y_rec = df["recuperacion_cu_pct"].values
y_evt = df["sobre_espumacion"].values

reg = LinearRegression().fit(X, y_rec)
print("R2:", round(r2_score(y_rec, reg.predict(X)), 3))
print("MAE:", round(mean_absolute_error(y_rec, reg.predict(X)), 2))

clf = Pipeline([("scale", StandardScaler()),
                ("model", LogisticRegression(max_iter=500, class_weight="balanced"))])
clf.fit(X, y_evt)
x = X[-1:]
print("Rec est:", round(reg.predict(x)[0], 1))
print("P(evento):", round(clf.predict_proba(x)[0,1], 2))

Ver funcionando código python

5. Soft sensor educativo integrado

Entrada: 1 fila X (6 sensores) │ ├── Paso 7: distancia ‖x−x₀‖ → anomalía ├── Paso 4/8: P(evento) → alerta espuma └── Paso 8: y = Xβ → recuperación estimada Futuro: Excel → API Python → respuesta JSON → Excel

Cierre Módulos 1 y 2: estadística + álgebra sobre el mismo caso de flotación. No es magia — es razonamiento medible. Con datos reales y permiso de planta, el mismo pipeline escala a un piloto.

6. Investigación Sugerida

Tarea final: elige 1 hora con evento=1. Reporta: distancia (Paso 7), P(evento), recuperación real vs estimada. ¿Qué haría el operador?

Regístrate al boletín MathPlay

Datos, simulación, visualización, IA y tecnología aplicada a problemas reales de industria y minería.

Sin calendario fijo. Sin spam.

Listo. Te escribo cuando haya algo nuevo.

Módulo 3: gradiente →← Volver al caso