source: trunk/PROGRAMMES/reg_seriestemporelles.m @ 29

Last change on this file since 29 was 29, checked in by pinsard, 15 years ago

typo in headers

File size: 6.3 KB
Line 
1%REG_SERIESTEMPORELLES calcule la regression lineaire d'une serie temporelle issue du champ de donnees initial
2% (selectionne en un point d'espace particulier) et une composante principale choisie
3%
4% Date: Avril-Mai 2008
5% Auteur: juliette.mignot@locean-ipsl.upmc.fr
6% Contexte Ecole d'ete ENVI-STAT 2008
7%%
8
9%+
10%
11% module
12% ======
13%
14% ``reg_seriestemporelles``
15%
16% DESCRIPTION
17% ===========
18%
19% ``reg_seriestemporelles`` lit les fichiers fichiers
20% ``../DONNEES/lsmask_tropatl_PacandMedblancs.mat``,
21% ``../DONNEES/skt.mon.tropatl.mat``.
22%
23% ``reg_seriestemporelles`` lit aussi le fichier
24% ``../DONNEES//eof_SSTmens_tropAtl30N-20S.mat``
25% produit par eof_NCEP_sais.m_.
26%
27% ``reg_seriestemporelles`` calcule ++
28%
29% ``reg_seriestemporelles`` affiche ++
30%
31% ``reg_seriestemporelles`` sauve cette image dans
32% ``./eof_SSTmens_tropAtl30N-20S.mat_reg_seriestemporelles_1.ps``.
33%
34% EXAMPLES
35% ========
36%
37% ::
38%
39% >> tpacpandreg_startup
40% >> reg_seriestemporelles
41%
42%
43% SEE ALSO
44% ========
45%
46% tpacpandreg_startup.m_
47%
48% .. _tpacpandreg_startup.m : tpacpandreg_startup.m.html
49%
50% eof_NCEP_sais.m_
51%
52% .. _eof_NCEP_sais.m : eof_NCEP_sais.m.html
53%
54% TODO
55% ====
56%
57% improve description
58%
59% pourquoi ``return`` à la fin
60%
61% ajout xlabel et ylabel
62%
63% EVOLUTIONS
64% ==========
65%
66% $Id$
67%
68% - fplod 2009-08-26T09:49:43Z aedon.locean-ipsl.upmc.fr (Darwin)
69%
70%   * remplacement de ``eps`` par ``ps`` pour pouvoir imprimer les figures
71%     produites par ``octave``
72%
73% - fplod 2009-08-25T10:40:16Z aedon.locean-ipsl.upmc.fr (Darwin)
74%
75%   * modif commentaires liée au renommage
76%
77% - jmignot 2009-08-25
78%
79%   * PROGRAMMES/Reg_seriestemporelles.m renommé en
80%     PROGRAMMES/reg_seriestemporelles.m pour éviter confusion
81%     avec RESULTATS/Reg_seriestemporelles.m
82%   * chgt de noms de fichiers : ``EOF_`` devient ``eof_``
83%
84% - fplod 2009-08-24T08:46:31Z aedon.locean-ipsl.upmc.fr (Darwin)
85%
86%   * add header
87%   * répertoire de données relatifs au répertoire courant
88%   * suppression de ``clear all`` présent dans ``tpacpandreg_startup.m``
89%   * as octave save default format is ASCII and no default extension
90%     while matlab save default format is MAT v5 mat-file (little endian) and
91%     default extension is ``.mat``, write more precise save instruction
92%   * save the figure
93%
94%-
95
96%% PARAMETRES DU PROGRAMME
97% selection de la composante principale a considerer
98ipc=1; %rang de la composante principale que l'on va considerer ici
99
100% les coordonnees du point d'espace auquel on veut comparer cette
101% composante principale doit etre choisi plus bas, apres chargement des
102% longitudes et latitudes
103%%
104%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
105%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
106%%%%              CHARGEMENT ET PREPARATION DES DONNEES
107%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
108
109nannees=60;
110
111repertoire=[ '..' filesep 'DONNEES' filesep ]; % a adapter a chaque cas: chemin d acces aux donnees
112
113% Mask
114%-----
115   file='lsmask_tropatl_PacandMedblancs.mat'
116   load([repertoire file]);
117% Data
118%--------
119  repertoire2=[repertoire 'MAT' filesep] % a adapter a chaque cas: chemin d acces aux donnees
120  file=['skt.mon.tropatl.mat']
121  load([repertoire2 file]); % chargement des donnees
122  tab=permute(tab,[2 3 1]); % permutation des dimensions pour organiser le tableau sous la forme [lat lon temps]
123
124% Application du masque
125%----------------------
126mask3D=repmat(mask,[1 1 size(tab,3)]);
127tab(mask3D~=0)=NaN;
128
129
130%  MANIPULATIONS TEMPORELLES: MOYENNES
131
132% Construction de moyennes mensuelles saisonnieres
133%---------------------------------------------------
134tab=reshape(tab,size(tab,1),size(tab,2),12,nannees);
135tab=squeeze(mean(tab,4));
136
137%Calcul des anomalies
138%tab_mean=squeeze(mean(tab,3));
139%tab_mean=repmat(tab_mean,[1 1 size(tab,3)]);
140%anom=tab-tab_mean;
141
142%%
143%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
144%%%% selection d'un point d'espace
145%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
146% le point d'espace est selectionne en reperant son indice i,j dans le
147% tableau de longitude et de latitude
148
149%i=find(lon>-96 & lon<-94);
150%j=find(lat>19 & lat<21);
151i=find(lon>-96 & lon<-94);
152j=find(lat>19 & lat<21);
153%i=find(lon>-21 & lon<-19);
154%j=find(lat>19 & lat<21);
155%i=find(lon>4 & lon<6)
156%j=find(lat>-11 & lat<-9)
157
158SST=squeeze(tab(j,i,:));
159
160%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
161%%%%% chargement des composantes principales
162%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
163
164file=['eof_SSTmens_tropAtl30N-20S.mat']; % nom du fichier sous lequel on avait enregistre le resultat de l'ACP en moyenne annuelle
165titledataeof='SST' % je definis ce nom pour pouvoir l'inclure dans le graphique plus bas.
166if (run_octave == 0)
167 load([repertoire file]);
168else
169 load('-v7',[repertoire file]);
170end
171PC=PC(:,ipc);
172
173%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
174%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
175%%%%               NUAGE DE POINTS
176%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
177
178ifigure=1;
179figure(ifigure);
180plot(SST,PC,'x')
181hold on
182
183%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
184%%%%%%   REGRESSION LINEAIRE
185%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
186
187%[b0,b1,s,R,sigb0,sigb1] = linreg(SST,serie);
188
189SSTmean=mean(SST);PCmean=mean(PC);
190n=length(SST);
191
192
193% la fin du programme est a completer (les formules sont dans le cours ou
194% dans les livres)
195
196% calcul de b1 et b0, coefficient directeur et ordonnee a l origine de la
197% droite de regression
198
199
200%trace de la droite de regression
201%---------------------------------
202
203
204%Calcul du coefficient de détermination
205%----------------------------------------
206
207%significativite statistique comparaison de la correlation r et de la
208%valeur critique rc donnee par la table de student en fonction du nombre de
209%degres de liberte ndf
210%------------------------------
211
212
213% significativite statistique de b0 et b1
214%--------------------------------------------
215
216% sauvegarde de la figure
217printer='ps';
218print_printer=['-d', printer];
219fullfilename=['.' filesep file '_' mfilename '_'  num2str(ifigure) '.' printer];
220print(print_printer,fullfilename);
221clear print_printer;
222clear fullfilename;
223clear printer;
224%
225clear ifigure;
226
227return
Note: See TracBrowser for help on using the repository browser.