Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Detrending de datos

Introducción

La función sustrae la media o una línea de mejor ajuste (en el sentido de mínimos cuadrados) de los datos.MATLAB®detrend Si los datos contienen varias columnas de datos, trata cada columna de datos por separado.detrend

La eliminación de una tendencia de los datos le permite centrar su análisis en las fluctuaciones de los datos sobre la tendencia. Normalmente, una tendencia lineal indica un aumento o una disminución sistemática de los datos. Un desplazamiento sistemático puede resultar de la deriva del sensor, por ejemplo. Aunque las tendencias pueden ser significativas, algunos tipos de análisis producen una mejor percepción una vez que se eliminan las tendencias.

Ya sea que tenga sentido eliminar los efectos de tendencia en los datos a menudo depende de los objetivos de su análisis.

Eliminar tendencias lineales de datos

Este ejemplo muestra cómo eliminar una tendencia lineal de los precios de los valores de cierre diarios para enfatizar las fluctuaciones de precios sobre el aumento general. Si los datos tienen una tendencia, restando fuerza su media a cero y reduce la variación general. El ejemplo simula las fluctuaciones de los precios de las acciones utilizando una distribución tomada de la función.gallery

Cree un conjunto de datos simulado y calcule su media. representa los cambios de precio diarios de una acción.sdata

t = 0:300; dailyFluct = gallery('normaldata',size(t),2);  sdata = cumsum(dailyFluct) + 20 + t/100;

Encuentre el promedio de los datos.

mean(sdata)
ans = 39.4851 

Trace y etiquete los datos. Observe el aumento sistemático de los precios de las acciones que muestran los datos.

figure plot(t,sdata); legend('Original Data','Location','northwest'); xlabel('Time (days)'); ylabel('Stock Price (dollars)');

Aplicar, que realiza un ajuste lineal a y, a continuación, elimina la tendencia de la misma.detrendsdata Restar la salida de la entrada produce la línea de tendencia calculada.

detrend_sdata = detrend(sdata); trend = sdata - detrend_sdata;

Encuentre el promedio de los datos de detrended.

mean(detrend_sdata)
ans = 8.9703e-15 

Como era de esperar, los datos de detrended tienen una media muy cercana a 0.

Visualice los resultados añadiendo la línea de tendencia, los datos en detrimento y su media al gráfico.

hold on plot(t,trend,':r') plot(t,detrend_sdata,'m') plot(t,zeros(size(t)),':k') legend('Original Data','Trend','Detrended Data',...        'Mean of Detrended Data','Location','northwest') xlabel('Time (days)');  ylabel('Stock Price (dollars)');

Consulte también

| | |