El preprocesamiento de datos es una etapa crucial en el análisis de datos y la modelización, ya que garantiza que los datos estén en un formato adecuado para el análisis posterior. En MATLAB, existen diversas funciones y técnicas que facilitan esta tarea. En esta sección, aprenderemos a manejar datos faltantes, normalizar y escalar datos, y realizar transformaciones básicas.
Contenido
Manejo de Datos Faltantes
Identificación de Datos Faltantes
En MATLAB, los datos faltantes suelen representarse como NaN
(Not a Number). Para identificar estos valores, podemos usar la función isnan
.
% Ejemplo de un vector con datos faltantes data = [1, 2, NaN, 4, 5, NaN, 7]; % Identificar datos faltantes missingData = isnan(data); disp(missingData);
Eliminación de Datos Faltantes
Podemos eliminar las filas o columnas que contienen datos faltantes utilizando la función rmmissing
.
Imputación de Datos Faltantes
Otra técnica es imputar los datos faltantes con valores como la media, mediana o un valor constante.
% Imputar datos faltantes con la media data = [1, 2, NaN, 4, 5, NaN, 7]; meanValue = mean(data, 'omitnan'); dataFilled = fillmissing(data, 'constant', meanValue); disp(dataFilled);
Normalización y Escalado de Datos
Normalización
La normalización es el proceso de ajustar los valores de los datos para que caigan dentro de un rango específico, como [0, 1].
% Normalización de datos data = [1, 2, 3, 4, 5]; normalizedData = (data - min(data)) / (max(data) - min(data)); disp(normalizedData);
Escalado
El escalado ajusta los datos para que tengan una media de 0 y una desviación estándar de 1.
% Escalado de datos data = [1, 2, 3, 4, 5]; scaledData = (data - mean(data)) / std(data); disp(scaledData);
Transformaciones Básicas
Logaritmo
Aplicar una transformación logarítmica puede ser útil para datos que siguen una distribución exponencial.
Raíz Cuadrada
La transformación de raíz cuadrada puede ayudar a estabilizar la varianza de los datos.
Ejercicios Prácticos
Ejercicio 1: Manejo de Datos Faltantes
Dado el siguiente vector de datos, elimine los valores faltantes y luego impute los valores faltantes con la mediana de los datos.
data = [2, NaN, 4, 6, NaN, 8, 10]; % Solución cleanData = rmmissing(data); medianValue = median(data, 'omitnan'); dataFilled = fillmissing(data, 'constant', medianValue); disp(dataFilled);
Ejercicio 2: Normalización y Escalado
Dado el siguiente vector de datos, normalice los datos al rango [0, 1] y luego escale los datos para que tengan una media de 0 y una desviación estándar de 1.
data = [5, 10, 15, 20, 25]; % Solución normalizedData = (data - min(data)) / (max(data) - min(data)); scaledData = (data - mean(data)) / std(data); disp(normalizedData); disp(scaledData);
Conclusión
En esta sección, hemos aprendido las técnicas básicas de preprocesamiento de datos en MATLAB, incluyendo el manejo de datos faltantes, la normalización y el escalado de datos, y las transformaciones básicas. Estas técnicas son fundamentales para preparar los datos para análisis y modelización más avanzados. En el siguiente módulo, exploraremos el análisis de regresión y cómo aplicar estas técnicas en MATLAB.
Curso de Programación en MATLAB
Módulo 1: Introducción a MATLAB
- Comenzando con MATLAB
- Interfaz y Entorno de MATLAB
- Comandos Básicos y Sintaxis
- Variables y Tipos de Datos
- Operaciones y Funciones Básicas
Módulo 2: Vectores y Matrices
- Creación de Vectores y Matrices
- Operaciones con Matrices
- Indexación y Segmentación
- Funciones de Matrices
- Álgebra Lineal en MATLAB
Módulo 3: Estructuras de Programación
- Flujo de Control: if, else, switch
- Bucles: for, while
- Funciones: Definición y Alcance
- Scripts vs. Funciones
- Depuración y Manejo de Errores
Módulo 4: Visualización de Datos
- Conceptos Básicos de Gráficos
- Gráficos 2D
- Gráficos 3D
- Personalización de Gráficos
- Técnicas Avanzadas de Gráficos
Módulo 5: Análisis de Datos y Estadísticas
- Importación y Exportación de Datos
- Estadísticas Descriptivas
- Preprocesamiento de Datos
- Análisis de Regresión
- Pruebas Estadísticas
Módulo 6: Temas Avanzados
- Entrada/Salida de Archivos
- Manejo de Grandes Conjuntos de Datos
- Técnicas de Optimización
- Conceptos Básicos de Simulink
- Computación Paralela