Caso aplicado · Módulo 4 · Unidad 14

Enfoque guía: Aplicaciones con base en álgebra

Soft sensor completo: matriz X, distancia, PCA y regresión en un solo flujo

Mate MathPlay · Flotación Cu · Material complementario

Flotación CuExcelPythonAplicaciones
Ver concepto general MathPlay · Álgebra para IA (MathPlay) →
Módulo 4 — Aplicaciones · Unidad 2 de 3
Caso flotación Cu · Módulo 4 · Unidad 14

Aplicaciones con base en álgebra

Una fila de sensores → geometría + estimación KPI — arquitectura del soft sensor educativo

Idea central

El Módulo 2 construyó el idioma (matrices, distancias, transformaciones). Esta unidad lo convierte en producto: entrada SCADA/CSV → salidas interpretables para operación.

1. Arquitectura del soft sensor (demo)

CSV / SCADA → vector x ∈ R⁼ (1 hora) | +-- Matriz X (120×6) → contexto histórico +-- PCA (PC1, PC2 ~ 60 %) → patrón global +-- Norma ||x - x₀|| → anomalía multivariada | demo: sin evento ~13,8 | con evento ~39,8 +-- Regresión y = Xβ → recuperación estimada R² ~ 0,79 | MAE ~ 1,3 %

x₀ = vector de medianas del histórico estable (misma idea unidad 7).

2. Flujo por hora (aplicación)

PasoOperación algebraicaSalida operativa
1Construir x6 sensores alineados
2d = ‖x − x₀‖¿Lejos del normal?
3z = W·x (scores PCA)¿En qué modo opero?
4ŷ = x·β + β₀Recuperación estimada
5Comparar ŷ vs labValidación / drift
Integración con M4 estadística: si d es alto y P(evento) es alto, la alerta es más confiable que con una sola capa.

3. Excel + API (piloto futuro)

CSV demo

=' Distancia euclídea (6 vars estandarizadas simplificado):
=RAIZ(SUMAPRODUCTO((H2-MEDIANA(H:H))^2; ... ))

=' Predicción recuperación (betas de LINEST unidad 8):
= $B$0 + $B$1*H2 + ... + $B$6*M2

Arquitectura piloto:
Excel → POST /predict → Python (PCA + reg) → JSON → Excel

4. Python — soft sensor integrado

import pandas as pd
import numpy as np
from sklearn.decomposition import PCA
from sklearn.linear_model import LinearRegression

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
x0 = np.median(X, axis=0)

# Distancia
d = np.linalg.norm(X - x0, axis=1)

# PCA
pca = PCA(n_components=2).fit(X)
scores = pca.transform(X)

# Regresión
y = df["recuperacion_cu_pct"].values
reg = LinearRegression().fit(X, y)
x = X[-1:]
out = {
    "distancia": round(float(np.linalg.norm(x - x0)), 1),
    "PC1": round(float(scores[-1,0]), 2),
    "rec_est": round(float(reg.predict(x)[0]), 1),
}
print(out)

5. Investigación sugerida

Para 3 horas con evento=1: reporta d, PC1, recuperación real y estimada. ¿Qué salida activarías primero en sala de control?

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.

← Aplicaciones estadística Siguiente: Aplicación cálculo → Descargar CSV