Enfoque guia: Operaciones con matrices
¿Como organizo los datos para analizarlos?
Ver concepto general MathPlay →Operaciones con matrices
La planta como matriz — filas = horas, columnas = sensores (flotación Cu)
Conexión con Módulo 1
Módulo 1: medimos inestabilidad (σ), sospechosos (r), frecuencia, riesgo bayesiano.
Módulo 2: organizamos todos esos números en una matriz — la estructura que usa Python y ML.
Objetivo: ver el CSV de flotación como X: cada fila = estado de planta en una hora; cada columna = variable del PPT (aire, P80, espumante, nivel, etc.).
Pregunta operativa: ¿Podemos detectar condiciones que anticipan la sobre-espumación?
1. Matemática simple
X ∈ ℝn × m n filas (horas) · m columnas (variables)
La fila es el vector de estado que ya usaste en σ, correlación y Bayes — ahora lo ubicas dentro de la matriz completa.
Operaciones de hoy
| Operación | Notación | En planta |
|---|---|---|
| Dimensión | n × m | 120 h × 6 sensores |
| Extraer fila | xᵢ | Estado en la hora i |
| Extraer columna | X[:,j] | Historial de un sensor |
| Media por columna | x̄ | Operación “típica” |
| Centrar | X − x̄ | Desviación vs normal |
| Transpuesta | Xᵀ | Variables en filas, tiempo en columnas |
2. Columnas de X (variables del PPT)
| # | Columna CSV | Variable PPT |
|---|---|---|
| 1 | ph | Control químico |
| 2 | p80_um | Granulometría P80 |
| 3 | flujo_aire | Flujo de aire en celda |
| 4 | dosif_espumante_ml_min | Reactivo espumante |
| 5 | nivel_celda_pct | Nivel de celda |
| 6 | ley_cabeza_cu_pct | Ley de cabeza |
Etiquetas (y) — no van dentro de X, van aparte:
sobre_espumacion→ alerta (clasificación)recuperacion_cu_pct→ KPI (regresión)
3. Medias por columna (referencia demo)
| Variable | Media |
|---|---|
| pH | 10,41 |
| P80 (µm) | 175,8 |
| Flujo de aire | 122,3 |
| Espumante (mL/min) | 30,5 |
| Nivel celda (%) | 69,9 |
| Ley cabeza (%) | 0,95 |
Ese vector de medias es el “centro” de operación histórica — lo usaremos en el Paso 6 (distancia).
4. Excel — paso a paso
Abre o descargue CSV demo.
Selecciona las 6 columnas → nombre Matriz_X (ej. H2:M121).
Dimensión
=FILAS(Matriz_X) → 120
=COLUMNAS(Matriz_X) → 6
Media por columna
=PROMEDIO(H2:H121) → pH
=PROMEDIO(J2:J121) → aire
... (una fórmula por columna)
Centrar (ejemplo celda pH hora 1)
=H2 - PROMEDIO($H$2:$H$121)
Copia sobre el bloque → matriz centrada.
Transpuesta (bloque pequeño)
=TRANSPONER(H2:M8)
Score ponderado (opcional)
=SUMAPRODUCTO(H2:M2; pesos)
Combina 6 sensores en un número — idea de soft sensor manual.
5. Python (validar Excel)
Abre o descargue CSV demo.
import pandas as pd
import numpy as np
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 = df["sobre_espumacion"].values
print("Shape:", X.shape) # (120, 6)
print("Fila 0:", np.round(X[0], 2))
print("Medias:", np.round(X.mean(0), 2))
print("Centrada:", np.round(X[0]-X.mean(0), 2))
print("Transpuesta:", X.T.shape) # (6, 120)
6. Proyección a Machine Learning
| Matriz hoy | sklearn |
|---|---|
| X (120×6) | model.fit(X, y) |
| Última fila | model.predict([x_actual]) |
| Medias / σ columnas | StandardScaler |
| X centrada | Base para PCA y regresión |
7. Guión y tarea
Tarea: arma X con 7 columnas (añade ley_relave_cu_pct). Compara medias. ¿Qué columna tiene escala muy distinta? (pista: ML normaliza).
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.
