source: trunk/PROGRAMMES/reg_seriestemporelles.m @ 24

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

modif de commentaires pour cause de renommage de scripts, de chgt d'IO etc.

File size: 6.1 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.eps``.
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-25T10:40:16Z aedon.locean-ipsl.upmc.fr (Darwin)
69%
70%   * modif commentaires liée au renommage
71%
72% - jmignot 2009-08-25
73%
74%   * PROGRAMMES/Reg_seriestemporelles.m renommé en
75%     PROGRAMMES/reg_seriestemporelles.m pour éviter confusion
76%     avec RESULTATS/Reg_seriestemporelles.m
77%   * chgt de noms de fichiers : ``EOF_ devient ``eof_``
78%
79% - fplod 2009-08-24T08:46:31Z aedon.locean-ipsl.upmc.fr (Darwin)
80%
81%   * add header
82%   * répertoire de données relatifs au répertoire courant
83%   * suppression de ``clear all`` présent dans ``tpacpandreg_startup.m``
84%   * as octave save default format is ASCII and no default extension
85%     while matlab save default format is MAT v5 mat-file (little endian) and
86%     default extension is ``.mat``, write more precise save instruction
87%   * save the figure
88%
89%-
90
91%% PARAMETRES DU PROGRAMME
92% selection de la composante principale a considerer
93ipc=1; %rang de la composante principale que l'on va considerer ici
94
95% les coordonnees du point d'espace auquel on veut comparer cette
96% composante principale doit etre choisi plus bas, apres chargement des
97% longitudes et latitudes
98%%
99%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
100%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
101%%%%              CHARGEMENT ET PREPARATION DES DONNEES
102%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
103
104nannees=60;
105
106repertoire=[ '..' filesep 'DONNEES' filesep ]; % a adapter a chaque cas: chemin d acces aux donnees
107
108% Mask
109%-----
110   file='lsmask_tropatl_PacandMedblancs.mat'
111   load([repertoire file]);
112% Data
113%--------
114  repertoire2=[repertoire 'MAT' filesep] % a adapter a chaque cas: chemin d acces aux donnees
115  file=['skt.mon.tropatl.mat']
116  load([repertoire2 file]); % chargement des donnees
117  tab=permute(tab,[2 3 1]); % permutation des dimensions pour organiser le tableau sous la forme [lat lon temps]
118
119% Application du masque
120%----------------------
121mask3D=repmat(mask,[1 1 size(tab,3)]);
122tab(mask3D~=0)=NaN;
123
124
125%  MANIPULATIONS TEMPORELLES: MOYENNES
126
127% Construction de moyennes mensuelles saisonnieres
128%---------------------------------------------------
129tab=reshape(tab,size(tab,1),size(tab,2),12,nannees);
130tab=squeeze(mean(tab,4));
131
132%Calcul des anomalies
133%tab_mean=squeeze(mean(tab,3));
134%tab_mean=repmat(tab_mean,[1 1 size(tab,3)]);
135%anom=tab-tab_mean;
136
137%%
138%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
139%%%% selection d'un point d'espace
140%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
141% le point d'espace est selectionne en reperant son indice i,j dans le
142% tableau de longitude et de latitude
143
144%i=find(lon>-96 & lon<-94);
145%j=find(lat>19 & lat<21);
146i=find(lon>-96 & lon<-94);
147j=find(lat>19 & lat<21);
148%i=find(lon>-21 & lon<-19);
149%j=find(lat>19 & lat<21);
150%i=find(lon>4 & lon<6)
151%j=find(lat>-11 & lat<-9)
152
153SST=squeeze(tab(j,i,:));
154
155%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
156%%%%% chargement des composantes principales
157%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
158
159file=['eof_SSTmens_tropAtl30N-20S.mat']; % nom du fichier sous lequel on avait enregistre le resultat de l'ACP en moyenne annuelle
160titledataeof='SST' % je definis ce nom pour pouvoir l'inclure dans le graphique plus bas.
161if (run_octave == 0)
162 load([repertoire file]);
163else
164 load('-v7',[repertoire file]);
165end
166PC=PC(:,ipc);
167
168%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
169%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
170%%%%               NUAGE DE POINTS
171%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
172
173ifigure=1;
174figure(ifigure);
175plot(SST,PC,'x')
176hold on
177
178%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
179%%%%%%   REGRESSION LINEAIRE
180%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
181
182%[b0,b1,s,R,sigb0,sigb1] = linreg(SST,serie);
183
184SSTmean=mean(SST);PCmean=mean(PC);
185n=length(SST);
186
187
188% la fin du programme est a completer (les formules sont dans le cours ou
189% dans les livres)
190
191% calcul de b1 et b0, coefficient directeur et ordonnee a l origine de la
192% droite de regression
193
194
195%trace de la droite de regression
196%---------------------------------
197
198
199%Calcul du coefficient de détermination
200%----------------------------------------
201
202%significativite statistique comparaison de la correlation r et de la
203%valeur critique rc donnee par la table de student en fonction du nombre de
204%degres de liberte ndf
205%------------------------------
206
207
208% significativite statistique de b0 et b1
209%--------------------------------------------
210
211% sauvegarde de la figure
212printer='eps';
213print_printer=['-d', printer];
214fullfilename=['.' filesep file '_' mfilename '_'  num2str(ifigure) '.' printer];
215print(print_printer,fullfilename);
216clear print_printer;
217clear fullfilename;
218clear printer;
219%
220clear ifigure;
221
222return
Note: See TracBrowser for help on using the repository browser.