Main Content

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.

Análisis residual con autocorrelación

Este ejemplo muestra cómo utilizar la autocorrelación con un intervalo de confianza para analizar los residuos de un mínimo cuadrado que se ajusta a los datos ruidosos. Los residuos son las diferencias entre el modelo ajustado y los datos. En un modelo de ruido de señal más blanco, si tiene un buen ajuste para la señal, los residuos deben ser ruido blanco.

Cree un conjunto de datos ruidoso que consista en un polinomio de 1o orden (línea recta) en ruido gaussiano blanco aditivo. El ruido aditivo es una secuencia de variables aleatorias no correlacionadas después de una distribución (0,1).N Esto significa que todas las variables aleatorias tienen cero medio y varianza de unidad. Establezca el generador de números aleatorios en la configuración predeterminada para obtener resultados reproducibles.

x = -3:0.01:3; rng default y = 2*x+randn(size(x)); plot(x,y)

Se utiliza para buscar la línea de mínimos cuadrados para los datos ruidosos.polyfit Trazar los datos originales junto con el ajuste de mínimos cuadrados.

coeffs = polyfit(x,y,1); yfit = coeffs(2)+coeffs(1)*x;  plot(x,y) hold on plot(x,yfit,'linewidth',2)

Encuentra los residuos. Obtenga la secuencia de autocorrelación de los residuos al retraso 50.

residuals = y - yfit; [xc,lags] = xcorr(residuals,50,'coeff');

Al inspeccionar la secuencia de autocorrelación, desea determinar si hay o no evidencia de autocorrelación. En otras palabras, desea determinar si la secuencia de autocorrelación de muestra se parece a la secuencia de autocorrelación de ruido blanco. Si la secuencia de autocorrelación de los residuos se parece a la autocorrelación de un proceso de ruido blanco, está seguro de que ninguna de la señal ha escapado a su ajuste y terminó en los residuos. En este ejemplo, utilice un intervalo de confianza del 99%. Para construir el intervalo de confianza, debe conocer la distribución de los valores de autocorrelación de ejemplo. También debe encontrar los valores críticos en la distribución adecuada entre las que se encuentran 0,99 de la probabilidad. Dado que la distribución en este caso es gaussiana, puede utilizar la función de error inverso complementaria, .erfcinv La relación entre esta función y la inversa de la función de distribución acumulativa gaussiana se describe en la página de referencia para .erfcinv

Encuentre el valor crítico para el intervalo de confianza del 99%. Utilice el valor crítico para construir los límites de confianza inferior y superior.

conf99 = sqrt(2)*erfcinv(2*.01/2); lconf = -conf99/sqrt(length(x)); upconf = conf99/sqrt(length(x));

Trazar la secuencia de autocorrelación junto con los intervalos de confianza del 99%.

figure  stem(lags,xc,'filled') ylim([lconf-0.03 1.05]) hold on plot(lags,lconf*ones(size(lags)),'r','linewidth',2) plot(lags,upconf*ones(size(lags)),'r','linewidth',2) title('Sample Autocorrelation with 99% Confidence Intervals')

Excepto en el retardo cero, los valores de autocorrelación de muestra se encuentran dentro de los límites de confianza del 99% para la autocorrelación de una secuencia de ruido blanco. De esto, usted puede concluir que los residuos son ruido blanco. Más específicamente, no puede rechazar que los residuos sean una realización de un proceso de ruido blanco.

Cree una señal que consista en una onda sinusoidal más ruido. Los datos se muestrean a 1 kHz. La frecuencia de la onda sinusoidal es de 100 Hz. Establezca el generador de números aleatorios en la configuración predeterminada para obtener resultados reproducibles.

Fs = 1000; t = 0:1/Fs:1-1/Fs; rng default x = cos(2*pi*100*t)+randn(size(t));

Utilice la transformación discreta de Fourier (DFT) para obtener los mínimos cuadrados que se ajustan a la onda sinusoidal a 100 Hz. La estimación de mínimos cuadrados de la amplitud es 2 / veces el coeficiente DFT correspondiente a 100 Hz, donde está la longitud de la señal.NN La parte real es la amplitud de un coseno a 100 Hz y la parte imaginaria es la amplitud de un seno a 100 Hz. El ajuste de mínimos cuadrados es la suma del coseno y el seno con la amplitud correcta. En este ejemplo, el bin 101 DFT corresponde a 100 Hz.

xdft = fft(x); ampest = 2/length(x)*xdft(101); xfit = real(ampest)*cos(2*pi*100*t)+imag(ampest)*sin(2*pi*100*t);  figure  plot(t,x) hold on plot(t,xfit,'linewidth',2) axis([0 0.30 -4 4]) xlabel('Seconds') ylabel('Amplitude')

Encuentre los residuos y determine la secuencia de autocorrelación de la muestra al retraso 50.

residuals = x-xfit; [xc,lags] = xcorr(residuals,50,'coeff');

Trazar la secuencia de autocorrelación con los intervalos de confianza del 99%.

figure  stem(lags,xc,'filled') ylim([lconf-0.03 1.05]) hold on plot(lags,lconf*ones(size(lags)),'r','linewidth',2) plot(lags,upconf*ones(size(lags)),'r','linewidth',2) title('Sample Autocorrelation with 99% Confidence Intervals')

Una vez más, verá que, excepto en el retardo cero, los valores de autocorrelación de muestra se encuentran dentro de los límites de confianza del 99% para la autocorrelación de una secuencia de ruido blanco. De esto, usted puede concluir que los residuos son ruido blanco. Más específicamente, no puede rechazar que los residuos sean una realización de un proceso de ruido blanco.

Finalmente, añadir otra onda sinusoidal con una frecuencia de 200 Hz y una amplitud de 3/4. Ajuste sólo la onda sinusoidal a 100 Hz y encuentre la autocorrelación de muestra de los residuos.

x = x+3/4*sin(2*pi*200*t); xdft = fft(x); ampest = 2/length(x)*xdft(101); xfit = real(ampest)*cos(2*pi*100*t)+imag(ampest)*sin(2*pi*100*t); residuals = x-xfit; [xc,lags] = xcorr(residuals,50,'coeff');

Trazar la autocorrelación de muestra junto con los intervalos de confianza del 99%.

figure  stem(lags,xc,'filled') ylim([lconf-0.12 1.05]) hold on plot(lags,lconf*ones(size(lags)),'r','linewidth',2) plot(lags,upconf*ones(size(lags)),'r','linewidth',2) title('Sample Autocorrelation with 99% Confidence Intervals')

En este caso, los valores de autocorrelación superan claramente los límites de confianza del 99% para una autocorrelación de ruido blanco en muchos retrasos. Aquí puede rechazar la hipótesis de que los residuos son una secuencia de ruido blanco. La implicación es que el modelo no ha contabilizado toda la señal y por lo tanto los residuos consisten en señal más ruido.