69. Aplicaciones en ciencia de datos

La ciencia de datos usa expresiones algebraicas para limpiar, resumir, comparar y modelar información.

69.1 Introducción

En ciencia de datos, el álgebra aparece al calcular promedios, diferencias, porcentajes, escalas, tendencias y predicciones simples.

Datos → cálculo → interpretación
El álgebra conecta los valores crudos con conclusiones útiles.

Programar estos cálculos permite analizar grandes listas de datos de forma repetible.

69.2 Datos como listas

Una variable puede guardar una lista de valores observados.

const ventas = [1200, 1500, 1800, 900, 2100];

console.log(ventas.length);
console.log(ventas[0]);
console.log(ventas[ventas.length - 1]);

Una lista permite recorrer datos y aplicar la misma expresión a cada elemento.

69.3 Suma de valores

La suma es una operación básica para obtener totales y preparar otros cálculos.

function sumar(valores) {
  let total = 0;

  for (let i = 0; i < valores.length; i++) {
    total += valores[i];
  }

  return total;
}

console.log(sumar([1200, 1500, 1800]));

El acumulador total guarda la suma parcial.

69.4 Promedio

El promedio resume una lista de valores con un valor representativo.

promedio = suma de valores / cantidad de valores

Es una de las medidas más comunes en reportes y análisis.

69.5 Promedio en JavaScript

El promedio debe validar que la lista no esté vacía.

function promedio(valores) {
  if (valores.length === 0) {
    return "No hay datos";
  }

  let total = 0;

  for (let i = 0; i < valores.length; i++) {
    total += valores[i];
  }

  return total / valores.length;
}

console.log(promedio([8, 7, 10, 9]));
console.log(promedio([]));

Sin datos, dividir por la cantidad produciría una operación inválida para el análisis.

69.6 Diferencia respecto del promedio

Comparar cada valor con el promedio muestra cuánto se aleja del comportamiento central.

diferencia = valor - promedio

Una diferencia positiva indica un valor por encima del promedio; una negativa indica un valor por debajo.

69.7 Desviaciones en JavaScript

Podemos calcular una lista de diferencias usando el promedio como referencia.

function promedio(valores) {
  let total = 0;

  for (let i = 0; i < valores.length; i++) {
    total += valores[i];
  }

  return total / valores.length;
}

function desviaciones(valores) {
  const media = promedio(valores);
  const resultado = [];

  for (let i = 0; i < valores.length; i++) {
    resultado.push(valores[i] - media);
  }

  return resultado;
}

console.log(desviaciones([10, 12, 18, 20]));

Este cálculo es base para medidas de dispersión más avanzadas.

69.8 Normalización

Normalizar significa transformar valores para compararlos en una escala común.

valorNormalizado = (valor - mínimo) / (máximo - mínimo)

El resultado queda entre 0 y 1 cuando el valor está dentro del rango original.

69.9 Normalización en JavaScript

La fórmula debe controlar que el máximo y el mínimo no sean iguales.

function normalizar(valor, minimo, maximo) {
  if (maximo === minimo) {
    return "Rango inválido";
  }

  return (valor - minimo) / (maximo - minimo);
}

console.log(normalizar(75, 50, 100));
console.log(normalizar(10, 10, 10));

Si el rango es cero, no hay escala válida para dividir.

69.10 Datos en matriz

Los conjuntos de datos suelen organizarse como matrices: filas para registros y columnas para variables.

const datos = [
  [25, 180, 80],
  [30, 175, 76],
  [22, 168, 62]
];

console.log(datos[0][0]); // edad del primer registro
console.log(datos[1][2]); // tercera variable del segundo registro

Esta representación permite recorrer registros y variables con ciclos.

69.11 Promedio de una columna

Calcular el promedio de una columna permite resumir una variable específica.

function promedioColumna(matriz, columna) {
  let total = 0;

  for (let fila = 0; fila < matriz.length; fila++) {
    total += matriz[fila][columna];
  }

  return total / matriz.length;
}

const datos = [
  [25, 180, 80],
  [30, 175, 76],
  [22, 168, 62]
];

console.log(promedioColumna(datos, 0));
console.log(promedioColumna(datos, 1));

La columna elegida define qué variable se analiza.

69.12 Tendencia lineal simple

Una tendencia lineal puede aproximarse observando el cambio entre el primer y el último dato.

pendiente aproximada = (último - primero) / (cantidad - 1)

Esta idea permite describir si una serie sube, baja o se mantiene estable.

69.13 Calcular tendencia

Una pendiente positiva indica crecimiento; una negativa indica disminución.

function tendenciaSimple(valores) {
  if (valores.length < 2) {
    return 0;
  }

  const primero = valores[0];
  const ultimo = valores[valores.length - 1];
  return (ultimo - primero) / (valores.length - 1);
}

console.log(tendenciaSimple([10, 12, 14, 18]));
console.log(tendenciaSimple([20, 18, 15, 12]));

Este cálculo no reemplaza modelos estadísticos completos, pero ayuda a interpretar una serie simple.

69.14 Errores comunes

Los errores frecuentes incluyen dividir por cero, comparar datos en escalas distintas, olvidar valores faltantes o interpretar un promedio como si explicara todo.

Antes de analizar:
¿Hay datos suficientes?
¿Las unidades son coherentes?
¿Hay valores extremos?
¿La escala permite comparar?

El álgebra ayuda a calcular, pero la interpretación requiere revisar el contexto de los datos.

69.15 Conclusión

La ciencia de datos usa álgebra para resumir, transformar y comparar información. Promedios, diferencias, normalización y tendencias son herramientas básicas para analizar datos.

Un análisis confiable combina fórmulas correctas, datos coherentes y validaciones explícitas.

En el próximo tema se estudiarán aplicaciones del álgebra en inteligencia artificial.