Anda di halaman 1dari 15

Residual Analysis with

Autocorrelation using Matlab


Annisa Yasmin Sumardi
21060117130055
Auotocorrelation
Autokorelasi, juga dikenal sebagai korelasi serial, adalah korelasi sinyal
dengan salinan dirinya yang tertunda sebagai fungsi dari penundaan.
Secara informal, itu adalah kesamaan antara pengamatan sebagai
fungsi dari jeda waktu di antara mereka.
Residual Analysis with Autocorrelation
Contoh ini menunjukkan bagaimana menggunakan autokorelasi dengan
confidence interval untuk menganalisis residu kuadrat-terkecil yang
cocok dengan noise data. Sisa adalah perbedaan antara model yang
dipasang dan data. Dalam model noise-plus-white, jika kita memiliki
sinyal yang sesuai, residualnya harus white noise.
Coding
x = -3:0.01:3;
rng default
y = 2*x+randn(size(x));
plot(x,y)
Memplot least square line

coeffs = polyfit(x,y,1);
yfit = coeffs(2)+coeffs(1)*x;
plot(x,y)
hold on
plot(x,yfit,'linewidth’,2)
• Find the residuals. Obtain the autocorrelation sequence of the residuals to lag 50

residuals = y - yfit;
[xc,lags] = xcorr(residuals,50,'coeff’);
• Urutan Autokorelasi pada residu terlihat seperti urutan autokorelasi white noise
• Jika urutan autokorelasi residu terlihat seperti autokorelasi dari proses white
noise, Anda yakin bahwa tidak ada sinyal yang lolos dari kesesuaian Anda dan
berakhir di residu.
• Untuk membangun confidence interval, perlu diketahui distribusi nilai
autokorelasi sampel. Kita perlu menemukan nilai-nilai kritis pada distribusi yang
tepat di mana terletak 0,99 dari probabilitas. Karena distribusi dalam kasus ini
adalah Gaussian, kita dapat menggunakan fungsi kesalahan inversi
komplementer, erfcinv.

Temukan nilai kritis untuk interval kepercayaan-99%. Gunakan nilai kritis untuk membangun batas
kepercayaan bawah dan atas
conf99 = sqrt(2)*erfcinv(2*.01/2);
lconf = -conf99/sqrt(length(x));
upconf = conf99/sqrt(length(x));
• Plot urutan autokorelasi bersama dengan interval
kepercayaan-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')
Buat sinyal yang terdiri dari gelombang sinus plus noise. Data
sampelnya pada 1 kHz. Frekuensi gelombang sinus adalah 100 Hz. Atur
generator angka acak ke pengaturan default untuk hasil yang dapat
direproduksi.

Fs = 1000;
t = 0:1/Fs:1-1/Fs;
rng default
x = cos(2*pi*100*t)+randn(size(t));
Gunakan diskrit Fourier transform (DFT) untuk mendapatkan paling-kuadrat cocok dengan
gelombang sinus pada 100 Hz. Perkiraan kuadrat-terkecil dari amplitudo adalah 2 / N kali
koefisien DFT yang sesuai dengan 100 Hz, di mana N adalah panjang sinyal.

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')
• Find the residuals. Obtain the autocorrelation sequence of the residuals to lag 50

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

• Plot the autocorrelation sequence with the 99%-confidence intervals.


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')
Sekali lagi, dapat dilihat bahwa nilai autokorelasi sampel berada dalam
batas kepercayaan 99% kecuali pada zero lag, untuk autokorelasi
urutan white noise. Dari sini, dapat disimpulkanpulkan bahwa
residualnya adalah white noise. Lebih khusus lagi, kita tidak dapat
menolak bahwa residu merupakan realisasi dari proses white noise.
tambahkan gelombang sinus lain dengan frekuensi 200 Hz dan
amplitudo 3/4. Paskan gelombang sinus pada 100 Hz dan temukan
autokorelasi sampel residu.

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');
Plot the sample autocorrelation along with the 99%-confidence
intervals.
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)
• Dalam hal ini, nilai autokorelasi jelas melebihi batas kepercayaan 99%
untuk autokorelasi white noise .Di sini kita dapat menolak hipotesis
bahwa residu adalah urutan white noise. Implikasinya adalah bahwa
model belum memperhitungkan semua sinyal dan oleh karena itu
residu terdiri dari sinyal plus noise.

Anda mungkin juga menyukai