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.

% Eliminar datos faltantes
cleanData = rmmissing(data);
disp(cleanData);

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.

% Transformación logarítmica
data = [1, 10, 100, 1000];
logData = log10(data);
disp(logData);

Raíz Cuadrada

La transformación de raíz cuadrada puede ayudar a estabilizar la varianza de los datos.

% Transformación de raíz cuadrada
data = [1, 4, 9, 16];
sqrtData = sqrt(data);
disp(sqrtData);

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.

© Copyright 2024. Todos los derechos reservados