WMBA 2008
       BITS: Serie Storiche in Matlab II

                      Emmanuele Somma
               emmanuele.somma@b...
Piano della presentazione

1   Preprocessing
      Lettura dei dati
      Missing e outliers
      Aggiustare e filtrare

2...
Preprocessing

1   Preprocessing
      Lettura dei dati
      Missing e outliers
      Aggiustare e filtrare

2   Misurazio...
Lettura dei dati

1   Preprocessing
      Lettura dei dati
      Missing e outliers
      Aggiustare e filtrare

2   Misura...
Vettore e time-series di dati
load count.dat
c3 = count(:,3)                    # VETTORE
t3 = tsmat(2007,1,4,c3)         ...
plot(c3);                            plot(t3)




        E. Somma (SIA-BdI)   WMBA 2008          21/01/2008   6/43
Missing e outliers

1   Preprocessing
      Lettura dei dati
      Missing e outliers
      Aggiustare e filtrare

2   Misu...
Outliers
bin_counts = hist(c3)           bin_counts = hist(t3.matdata)

# Massimo elemento
N = max(bin_counts);

# Media
m...
hold on; X = repmat(mu3+(1:2)*sigma3,2,1);
Y = repmat([0;N],1,2);
plot([mu3 mu3],[0 N],’r’,’LineWidth’,2);
plot(X,Y,’g’,’L...
outliers = (c3 - mu3) > 2*sigma3;
c3m = c3;
c3m(outliers) = NaN;

outliers = (t3 - mu3) > 2*sigma3;
t3m = t3;
t3m.matdata(...
bin_counts = hist(t3m.matdata); N = max(bin_counts);
hist(t3m.matdata); mu3 = nanmean(t3m); sigma3 = nanstd(t3m)
hold on; ...
Aggiustare e filtrare

1   Preprocessing
      Lettura dei dati
      Missing e outliers
      Aggiustare e filtrare

2   Mi...
Smoothing
plot(t3m,’o-’)
hold on




        E. Somma (SIA-BdI)   WMBA 2008   21/01/2008   13/43
Smoothing
span = 3; % Ampiezza della finestra
window = ones(span,1)/span; smoothed_t3m = t3m
smoothed_t3m.matdata = convn(...
Filtraggio
smoothed2_t3m = t3m;
smoothed2_t3m.matdata = filter(window,1,t3m.matdata);
plot(smoothed2_t3m,’go-’);
legend(’D...
Misurazione

1   Preprocessing
      Lettura dei dati
      Missing e outliers
      Aggiustare e filtrare

2   Misurazione...
Misurazione dei dati
% Posizione                          % Scala
x1 = mean(t) ;                      dx1 = max(t)-min(t)
...
Forma dei dati/1
    I modelli parametrici danno una rappresentazione analitica della forma
della distribuzione

t1 = tsma...
E. Somma (SIA-BdI)   WMBA 2008   21/01/2008   19/43
Rappresentazione

1   Preprocessing
      Lettura dei dati
      Missing e outliers
      Aggiustare e filtrare

2   Misura...
Grafici 2D

1   Preprocessing
      Lettura dei dati
      Missing e outliers
      Aggiustare e filtrare

2   Misurazione

...
Forma dei dati/2
t1 = tsmat(2007,1,4,count(:,1)); % Serie 1
t2 = tsmat(2007,1,4,count(:,2)); % Serie 2
figure
scatter(t1.m...
E. Somma (SIA-BdI)   WMBA 2008   21/01/2008   23/43
Forma dei dati/2
C12 =   cov([t1 t2])      % Covarianza
R12 =   corrcoef([t1 t2])
r12 =   R12(1,2)          % Coefficiente...
Grafici 3D

1   Preprocessing
      Lettura dei dati
      Missing e outliers
      Aggiustare e filtrare

2   Misurazione

...
Forma dei dati/2
figure
scatter3(t1.matdata,t2.matdata,t3.matdata,’filled’)
xlabel(’Intersection 1’)
ylabel(’Intersection ...
E. Somma (SIA-BdI)   WMBA 2008   21/01/2008   27/43
La forza della relazione lineare tra le variabili ` misurata calcolando gli
                                              ...
Matrice di Grafici Scatter

1   Preprocessing
      Lettura dei dati
      Missing e outliers
      Aggiustare e filtrare

2...
E. Somma (SIA-BdI)   WMBA 2008   21/01/2008   30/43
t = tsmat(2007,1,4,count)
figure
plotmatrix(t.matdata)




        E. Somma (SIA-BdI)   WMBA 2008   21/01/2008   31/43
Modellazione

1   Preprocessing
      Lettura dei dati
      Missing e outliers
      Aggiustare e filtrare

2   Misurazion...
Regressione Polinomiale

1   Preprocessing
      Lettura dei dati
      Missing e outliers
      Aggiustare e filtrare

2  ...
t3 = tsmat(2007,1,4,count(:,3));        % Serie 3
tdata = [1:size(t3.dates,1)]’;
p_coeffs = polyfit(tdata,t3.matdata,6);
f...
E. Somma (SIA-BdI)   WMBA 2008   21/01/2008   35/43
Regressione Lineare Generalizzata

1   Preprocessing
      Lettura dei dati
      Missing e outliers
      Aggiustare e fil...
y = a + b cos((2π/12)(t − 7))

t3 = tsmat(2007,1,4,count(:,3)); % Serie 3
tdata = [1:size(t3.dates,1)]’;
X = [ones(size(td...
E. Somma (SIA-BdI)   WMBA 2008   21/01/2008   38/43
>> [s_coeffs,stdx,mse] = lscov(X,c3)
s_coeffs =
   65.5833
   73.2819

stdx =
    8.9185
   12.6127

mse =
  1.9090e+003

...
Fs = 1;             % Frequenza di campionamento
n = length(t3.matdata); % Lunghezza della finestra
Y = fft(t3.matdata);% ...
E. Somma (SIA-BdI)   WMBA 2008   21/01/2008   41/43
Grazie dell’attenzione




E. Somma (SIA-BdI)   WMBA 2008   21/01/2008   42/43
Upcoming SlideShare
Loading in …5
×

Workshop Matlab BITS Avanzato

1,441 views

Published on

Matlab Bank of Italy Time Series Toolbox
Workshop c/o Area Ricerca - Banca d'Italia
Villa Huffer
21 Gennaio 2008

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,441
On SlideShare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Workshop Matlab BITS Avanzato

  1. 1. WMBA 2008 BITS: Serie Storiche in Matlab II Emmanuele Somma emmanuele.somma@bancaditalia.it Supporto Informatico per l’Area Ricerche Banca d’Italia 21 Gennaio 2008 E. Somma (SIA-BdI) WMBA 2008 21/01/2008 1/43
  2. 2. Piano della presentazione 1 Preprocessing Lettura dei dati Missing e outliers Aggiustare e filtrare 2 Misurazione 3 Rappresentazione Grafici 2D Grafici 3D Matrice di Grafici Scatter 4 Modellazione Regressione Polinomiale Regressione Lineare Generalizzata E. Somma (SIA-BdI) WMBA 2008 21/01/2008 2/43
  3. 3. Preprocessing 1 Preprocessing Lettura dei dati Missing e outliers Aggiustare e filtrare 2 Misurazione 3 Rappresentazione Grafici 2D Grafici 3D Matrice di Grafici Scatter 4 Modellazione Regressione Polinomiale Regressione Lineare Generalizzata E. Somma (SIA-BdI) WMBA 2008 21/01/2008 3/43
  4. 4. Lettura dei dati 1 Preprocessing Lettura dei dati Missing e outliers Aggiustare e filtrare 2 Misurazione 3 Rappresentazione Grafici 2D Grafici 3D Matrice di Grafici Scatter 4 Modellazione Regressione Polinomiale Regressione Lineare Generalizzata E. Somma (SIA-BdI) WMBA 2008 21/01/2008 4/43
  5. 5. Vettore e time-series di dati load count.dat c3 = count(:,3) # VETTORE t3 = tsmat(2007,1,4,c3) # TIME SERIES c3NaNCount = sum(isnan(c3)) ans = 0 t3NanCount = sum(isnan(t3)) ans = 0 E. Somma (SIA-BdI) WMBA 2008 21/01/2008 5/43
  6. 6. plot(c3); plot(t3) E. Somma (SIA-BdI) WMBA 2008 21/01/2008 6/43
  7. 7. Missing e outliers 1 Preprocessing Lettura dei dati Missing e outliers Aggiustare e filtrare 2 Misurazione 3 Rappresentazione Grafici 2D Grafici 3D Matrice di Grafici Scatter 4 Modellazione Regressione Polinomiale Regressione Lineare Generalizzata E. Somma (SIA-BdI) WMBA 2008 21/01/2008 7/43
  8. 8. Outliers bin_counts = hist(c3) bin_counts = hist(t3.matdata) # Massimo elemento N = max(bin_counts); # Media mu3 = mean(c3); mu3 = mean(t3); # Deviazione Std sigma3 = std(c3); sigma3 = std(c3); hist(c3); hist(t3.matdata) E. Somma (SIA-BdI) WMBA 2008 21/01/2008 8/43
  9. 9. hold on; X = repmat(mu3+(1:2)*sigma3,2,1); Y = repmat([0;N],1,2); plot([mu3 mu3],[0 N],’r’,’LineWidth’,2); plot(X,Y,’g’,’LineWidth’,2) legend(’Data’,’Mean’,’Stds’); hold off E. Somma (SIA-BdI) WMBA 2008 21/01/2008 9/43
  10. 10. outliers = (c3 - mu3) > 2*sigma3; c3m = c3; c3m(outliers) = NaN; outliers = (t3 - mu3) > 2*sigma3; t3m = t3; t3m.matdata(outliers.matdata) = NaN; E. Somma (SIA-BdI) WMBA 2008 21/01/2008 10/43
  11. 11. bin_counts = hist(t3m.matdata); N = max(bin_counts); hist(t3m.matdata); mu3 = nanmean(t3m); sigma3 = nanstd(t3m) hold on; X = repmat(mu3+(1:2)*sigma3,2,1); Y = repmat([0;N],1,2); plot([mu3 mu3],[0 N],’r’,’LineWidth’,2); plot(X,Y,’g’,’LineWidth’,2) legend(’Data’,’Mean’,’Stds’); hold off E. Somma (SIA-BdI) WMBA 2008 21/01/2008 11/43
  12. 12. Aggiustare e filtrare 1 Preprocessing Lettura dei dati Missing e outliers Aggiustare e filtrare 2 Misurazione 3 Rappresentazione Grafici 2D Grafici 3D Matrice di Grafici Scatter 4 Modellazione Regressione Polinomiale Regressione Lineare Generalizzata E. Somma (SIA-BdI) WMBA 2008 21/01/2008 12/43
  13. 13. Smoothing plot(t3m,’o-’) hold on E. Somma (SIA-BdI) WMBA 2008 21/01/2008 13/43
  14. 14. Smoothing span = 3; % Ampiezza della finestra window = ones(span,1)/span; smoothed_t3m = t3m smoothed_t3m.matdata = convn(t3m.matdata,window,’same’); h = plot(smoothed_t3m,’ro-’); E. Somma (SIA-BdI) WMBA 2008 21/01/2008 14/43
  15. 15. Filtraggio smoothed2_t3m = t3m; smoothed2_t3m.matdata = filter(window,1,t3m.matdata); plot(smoothed2_t3m,’go-’); legend(’Data’,’Smoothed Data’,’Filtered Data’) E. Somma (SIA-BdI) WMBA 2008 21/01/2008 15/43
  16. 16. Misurazione 1 Preprocessing Lettura dei dati Missing e outliers Aggiustare e filtrare 2 Misurazione 3 Rappresentazione Grafici 2D Grafici 3D Matrice di Grafici Scatter 4 Modellazione Regressione Polinomiale Regressione Lineare Generalizzata E. Somma (SIA-BdI) WMBA 2008 21/01/2008 16/43
  17. 17. Misurazione dei dati % Posizione % Scala x1 = mean(t) ; dx1 = max(t)-min(t) x2 = median(t) ; dx2 = std(t) x3 = mode(t) ; dx3 = var(t) % Forma figure ; hist(t.matdata) E. Somma (SIA-BdI) WMBA 2008 21/01/2008 17/43
  18. 18. Forma dei dati/1 I modelli parametrici danno una rappresentazione analitica della forma della distribuzione t1 = tsmat(2007,1,4,count(:,1)); [bin_counts,bin_locations] = hist(t1.matdata); bin_width = bin_locations(2) - bin_locations(1); hist_area = (bin_width)*(sum(bin_counts)); figure hist(t1.matdata) hold on mu1 = mean(t1); exp_pdf = @(t)(1/mu1)*exp(-t/mu1); t = 0:150; y = exp_pdf(t); plot(t,(hist_area)*y,’r’,’LineWidth’,2) legend(’Distribution’,’Exponential Fit’) E. Somma (SIA-BdI) WMBA 2008 21/01/2008 18/43
  19. 19. E. Somma (SIA-BdI) WMBA 2008 21/01/2008 19/43
  20. 20. Rappresentazione 1 Preprocessing Lettura dei dati Missing e outliers Aggiustare e filtrare 2 Misurazione 3 Rappresentazione Grafici 2D Grafici 3D Matrice di Grafici Scatter 4 Modellazione Regressione Polinomiale Regressione Lineare Generalizzata E. Somma (SIA-BdI) WMBA 2008 21/01/2008 20/43
  21. 21. Grafici 2D 1 Preprocessing Lettura dei dati Missing e outliers Aggiustare e filtrare 2 Misurazione 3 Rappresentazione Grafici 2D Grafici 3D Matrice di Grafici Scatter 4 Modellazione Regressione Polinomiale Regressione Lineare Generalizzata E. Somma (SIA-BdI) WMBA 2008 21/01/2008 21/43
  22. 22. Forma dei dati/2 t1 = tsmat(2007,1,4,count(:,1)); % Serie 1 t2 = tsmat(2007,1,4,count(:,2)); % Serie 2 figure scatter(t1.matdata,t2.matdata,’filled’) xlabel(’Intersection 1’) ylabel(’Intersection 2’) E. Somma (SIA-BdI) WMBA 2008 21/01/2008 22/43
  23. 23. E. Somma (SIA-BdI) WMBA 2008 21/01/2008 23/43
  24. 24. Forma dei dati/2 C12 = cov([t1 t2]) % Covarianza R12 = corrcoef([t1 t2]) r12 = R12(1,2) % Coefficiente di correlazione r12sq = r12^2 % Coefficiente di determinazione E. Somma (SIA-BdI) WMBA 2008 21/01/2008 24/43
  25. 25. Grafici 3D 1 Preprocessing Lettura dei dati Missing e outliers Aggiustare e filtrare 2 Misurazione 3 Rappresentazione Grafici 2D Grafici 3D Matrice di Grafici Scatter 4 Modellazione Regressione Polinomiale Regressione Lineare Generalizzata E. Somma (SIA-BdI) WMBA 2008 21/01/2008 25/43
  26. 26. Forma dei dati/2 figure scatter3(t1.matdata,t2.matdata,t3.matdata,’filled’) xlabel(’Intersection 1’) ylabel(’Intersection 2’) zlabel(’Intersection 3’) E. Somma (SIA-BdI) WMBA 2008 21/01/2008 26/43
  27. 27. E. Somma (SIA-BdI) WMBA 2008 21/01/2008 27/43
  28. 28. La forza della relazione lineare tra le variabili ` misurata calcolando gli e autovalori della matrice di covarianza: >> vars = eig(cov([t1 t2 t3])) vars = 1.0e+003 * 0.0442 0.1118 6.8300 >> explained = max(vars)/sum(vars) explained = 0.9777 Gli autovalori sono le varianze lungo le componenti principali dei dati. La variabile explained misura la proporzione della variazione spiegata dalla prima componente principale lungo l’asse dei dati. E. Somma (SIA-BdI) WMBA 2008 21/01/2008 28/43
  29. 29. Matrice di Grafici Scatter 1 Preprocessing Lettura dei dati Missing e outliers Aggiustare e filtrare 2 Misurazione 3 Rappresentazione Grafici 2D Grafici 3D Matrice di Grafici Scatter 4 Modellazione Regressione Polinomiale Regressione Lineare Generalizzata E. Somma (SIA-BdI) WMBA 2008 21/01/2008 29/43
  30. 30. E. Somma (SIA-BdI) WMBA 2008 21/01/2008 30/43
  31. 31. t = tsmat(2007,1,4,count) figure plotmatrix(t.matdata) E. Somma (SIA-BdI) WMBA 2008 21/01/2008 31/43
  32. 32. Modellazione 1 Preprocessing Lettura dei dati Missing e outliers Aggiustare e filtrare 2 Misurazione 3 Rappresentazione Grafici 2D Grafici 3D Matrice di Grafici Scatter 4 Modellazione Regressione Polinomiale Regressione Lineare Generalizzata E. Somma (SIA-BdI) WMBA 2008 21/01/2008 32/43
  33. 33. Regressione Polinomiale 1 Preprocessing Lettura dei dati Missing e outliers Aggiustare e filtrare 2 Misurazione 3 Rappresentazione Grafici 2D Grafici 3D Matrice di Grafici Scatter 4 Modellazione Regressione Polinomiale Regressione Lineare Generalizzata E. Somma (SIA-BdI) WMBA 2008 21/01/2008 33/43
  34. 34. t3 = tsmat(2007,1,4,count(:,3)); % Serie 3 tdata = [1:size(t3.dates,1)]’; p_coeffs = polyfit(tdata,t3.matdata,6); figure plot(t3,’o-’) hold on n = ( max(tdata) / 6 ) / 365; tfit = (1:n:24)’; yfit = tsmat(2007,1,365,polyval(p_coeffs,tfit)); plot(yfit,’r-’) legend(’Data’,’Polynomial Fit’,’Location’,’NW’) E. Somma (SIA-BdI) WMBA 2008 21/01/2008 34/43
  35. 35. E. Somma (SIA-BdI) WMBA 2008 21/01/2008 35/43
  36. 36. Regressione Lineare Generalizzata 1 Preprocessing Lettura dei dati Missing e outliers Aggiustare e filtrare 2 Misurazione 3 Rappresentazione Grafici 2D Grafici 3D Matrice di Grafici Scatter 4 Modellazione Regressione Polinomiale Regressione Lineare Generalizzata E. Somma (SIA-BdI) WMBA 2008 21/01/2008 36/43
  37. 37. y = a + b cos((2π/12)(t − 7)) t3 = tsmat(2007,1,4,count(:,3)); % Serie 3 tdata = [1:size(t3.dates,1)]’; X = [ones(size(tdata)) cos((2*pi/12)*(tdata-7))]; s_coeffs = Xt3.matdata; figure plot(t3,’o-’) hold on n = ( max(tdata) / 6 ) / 365; tfit = (1:n:24)’; yfit = [ones(size(tfit)) cos((2*pi/12)*(tfit-7))]*s_coeffs; yt = tsmat(2007,1,365,yfit); plot(yt,’r-’) legend(’Data’,’Sinusoidal Fit’,’Location’,’NW’) E. Somma (SIA-BdI) WMBA 2008 21/01/2008 37/43
  38. 38. E. Somma (SIA-BdI) WMBA 2008 21/01/2008 38/43
  39. 39. >> [s_coeffs,stdx,mse] = lscov(X,c3) s_coeffs = 65.5833 73.2819 stdx = 8.9185 12.6127 mse = 1.9090e+003 E. Somma (SIA-BdI) WMBA 2008 21/01/2008 39/43
  40. 40. Fs = 1; % Frequenza di campionamento n = length(t3.matdata); % Lunghezza della finestra Y = fft(t3.matdata);% DFT f = (0:n-1)*(Fs/n); % Ampiezza della frequenza P = Y.*conj(Y)/n; % Potenza della DFT figure plot(f,P) xlabel(’Frequency’) ylabel(’Power’) predicted_f = 1/12 predicted_f = 0.0833 E. Somma (SIA-BdI) WMBA 2008 21/01/2008 40/43
  41. 41. E. Somma (SIA-BdI) WMBA 2008 21/01/2008 41/43
  42. 42. Grazie dell’attenzione E. Somma (SIA-BdI) WMBA 2008 21/01/2008 42/43

×