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 |
---|
93 | ipc=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 | |
---|
104 | nannees=60; |
---|
105 | |
---|
106 | repertoire=[ '..' 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 | %---------------------- |
---|
121 | mask3D=repmat(mask,[1 1 size(tab,3)]); |
---|
122 | tab(mask3D~=0)=NaN; |
---|
123 | |
---|
124 | |
---|
125 | % MANIPULATIONS TEMPORELLES: MOYENNES |
---|
126 | |
---|
127 | % Construction de moyennes mensuelles saisonnieres |
---|
128 | %--------------------------------------------------- |
---|
129 | tab=reshape(tab,size(tab,1),size(tab,2),12,nannees); |
---|
130 | tab=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); |
---|
146 | i=find(lon>-96 & lon<-94); |
---|
147 | j=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 | |
---|
153 | SST=squeeze(tab(j,i,:)); |
---|
154 | |
---|
155 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
156 | %%%%% chargement des composantes principales |
---|
157 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
158 | |
---|
159 | file=['eof_SSTmens_tropAtl30N-20S.mat']; % nom du fichier sous lequel on avait enregistre le resultat de l'ACP en moyenne annuelle |
---|
160 | titledataeof='SST' % je definis ce nom pour pouvoir l'inclure dans le graphique plus bas. |
---|
161 | if (run_octave == 0) |
---|
162 | load([repertoire file]); |
---|
163 | else |
---|
164 | load('-v7',[repertoire file]); |
---|
165 | end |
---|
166 | PC=PC(:,ipc); |
---|
167 | |
---|
168 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
169 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
170 | %%%% NUAGE DE POINTS |
---|
171 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
172 | |
---|
173 | ifigure=1; |
---|
174 | figure(ifigure); |
---|
175 | plot(SST,PC,'x') |
---|
176 | hold on |
---|
177 | |
---|
178 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
179 | %%%%%% REGRESSION LINEAIRE |
---|
180 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
181 | |
---|
182 | %[b0,b1,s,R,sigb0,sigb1] = linreg(SST,serie); |
---|
183 | |
---|
184 | SSTmean=mean(SST);PCmean=mean(PC); |
---|
185 | n=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 |
---|
212 | printer='eps'; |
---|
213 | print_printer=['-d', printer]; |
---|
214 | fullfilename=['.' filesep file '_' mfilename '_' num2str(ifigure) '.' printer]; |
---|
215 | print(print_printer,fullfilename); |
---|
216 | clear print_printer; |
---|
217 | clear fullfilename; |
---|
218 | clear printer; |
---|
219 | % |
---|
220 | clear ifigure; |
---|
221 | |
---|
222 | return |
---|