Určenie systematických zložiek časového radu

Úvodné operácie

1. Nastavenie pracovného adresára :

SetDirectory["C:\\Documents and Settings\\stdn03.B206\\My Documents\\jozo urban\\ACR\\25.3.2009"]

2. Načítanie dát zo súboru rieka.txt 
 (hodnoty priemerných mesačných prietokov v (m^3)/s za obdobie od novembra 1930 do decembrom 2001)

flow1=ReadList["Bebrava.txt",Number];

flow1[[1]]

Odstránenie prvých dvoch mesiacov (november, december 1930):

flow=Drop[flow1,{1,2}];

Vyčíslenie dĺžky časového radu priemerných mesačných prietokov:

n=Length[flow]

3. Nahratie  balíkov pre  analýzu časových radov:

<<"timeseri\\datasmoo.m"
<<"timeseri\\timeseri.m"
<<"timeseri\\userfunc.m"

<<"LinearRegression`"
<<"NonlinearRegression`"

4. Nastavenie podmienok pre vykresľovanie údajov príkazom ListPlot :

SetOptions[ListPlot,PlotRange->All,BaseStyle->{10,FontFamily->"Arial"},Joined->True,AxesOrigin->{0,0}];

5.Vykreslenie časového radu priemerných mesačných prietokov a uloženie grafu do premennej:

Škálovanie časovej osi (s krokom 10 rokov)

popis=Table[{60+i*120,1936+i*10},{i,0,6}];

Zobrazenie a uloženie  grafu do premennej gd

gdata=ListPlot[flow,PlotLabel->"Month Averages, Bebrava",AxesLabel->{"time[month]","flow[(m^3)/s]"},Ticks->{popis,Automatic}]

μ=Mean[flow]
σ=StandardDeviation[flow]
σ2=Variance[flow]

Trendy

1)  KONŠTANTNÝ  A  LINEÁRNY  TREND

a) TEST

Vyčísliť a zobraziť prvé diferencie časového radu  
(V prípade, že prvé diferencie sú približne nulové,  vhodný je konštantný trend  ; 
 ak sú  prvé diferencie približne konštantné , ale nenulové,  vhodný je lineárny trend.)

SetOptions[ListPlot,PlotRange->All,BaseStyle->{10,FontFamily->"Arial"},Joined->False,AxesOrigin->{0,0}];

tv1=Drop[flow,1]-Drop[flow,-1];
Variance[tv1]//N
ListPlot[tv1, PlotRange->{-20,20}]

ListPlot[-Drop[flow,-1]+Drop[flow,1],PlotRange->{-20,20}]

Variance[-1.` Drop[flow,-1]+Drop[flow,1]]

Väčšina hodnôt prvých diferencií je z intervalu (-5; 5), 
takže ich môžeme považovať za približne konštantné, ale nenulové. 
Vzhľadom na to by  mal byť vhodným trendom lineárny trend .

b) ODHAD A ZOBRAZENIE  FUNKCIE TRENDU

Odhadneme parametre lineárneho trendu lineárnou regresiou. 

Najprv použijeme štandardný tvar príkazu Regress bez  volieb:

Regress[flow,{t},t]

Hodnoty všetkých PValue z časti Parameter Table sú veľmi malé, preto môžeme tento model trendu považovať za vyhovujúci.

Príkaz Regress s voľbou, ktorá umožní vypísať parametre regresnej funkcie :

reg=Regress[flow,{t},t,RegressionReport->BestFit]

lintrend=BestFit/.reg

glintrend=Plot[lintrend,{t,0,n},PlotStyle->{Hue[0.05],Thickness[0.005]}]

c) ZOBRAZENIE  POZOROVANÝCH   DÁT  A  TRENDU

d) VYTVORENIE  ČASOVÉHO RADU  REZÍDUÍ  PO  TRENDE,  VÝPOČET   ROZPTYLU,  ZOBRAZENIE REZÍDUÍ

Použijeme  príkaz Regress s voľbou, ktorá vytvorí časový rad rezíduí  po odčítaní hodnôt lineárneho trendu:

reg=Regress[flow,{t},t,RegressionReport->FitResiduals];

rezlintrend=FitResiduals/.reg;

μ=Mean[rezlintrend]//Chop
σ=StandardDeviation[rezlintrend]
σ2=Variance[rezlintrend]

grt=ListPlot[rezlintrend,Joined->True]

Save["rezlintrend.dat",rezlintrend]

2)  KVADRATICKÝ  TREND

3)  EXPONENCIÁLNY  TREND

4) LOGISTICKÝ  TREND

Pre modelovanie časového radu priemerných mesačných prietokov sme vybrali  ....... trend.

reztrend=    ;

Sezónna zložka

Korelogram časového radu

Autokorelačnú funkciu vypočítame a vykreslíme pre 10 rokov (120 údajov). 
Na popis osi s posunutím k použijeme predpokladané maximá (v násobkoch 12 mesiacov)

Určenie sezónnej zložky pomocou matematických funkcií

Funkciu, ktorá bude modelovať sezónnu zložku určíme regresnou analýzou.
 Modelovať budeme reziduá po lineárnom trende. 
Pretože ich stredná hodnota je nulová, v príkaze Regress použijeme voľbu   IncludeConstant -> False

Vypočítame regresnú funkciu rezíduí (ktorú priradíme do premennej sz) a rad rezíduí po sezónnej zložke:

Zobrazenie  rezíduí po trende a sezónnej zložke:

Odhadneme strednú hodnotu, smerodajnú odchýlku a rozptyl reziduí:

Určenie sezónnej zložky pomocou kvalitatívnych premenných

Skúsime modelovať sezónnu zložku aj pomocou kvalitatívnych premenných. 
Tento model budeme ďalej používať len v prípade, ak bude index determinácie (R^2)   väčší  (a odhadovaný rozptyl reziduí menší) ako v modeli s goniometrickými funkciami

Zobrazenie  rezíduí po trende a sezónnej zložke:

Odhadneme strednú hodnotu, smerodajnú odchýlku a rozptyl reziduí:

ZOBRAZENIE  POZOROVANÝCH   DÁT  A  FUNKCIE, KTORÁ JE SÚČTOM TRENDU A SEZÓNNEJ ZLOŽKY