Úvodné operácie

Načítať časový rad reziduí po systematických zložkách do premennej  rez:

SetDirectory[NotebookDirectory[]];
<<"timeseri\\datasmoo.m"
<<"timeseri\\timeseri.m"
<<"timeseri\\userfunc.m"
<<"LinearRegression`"
<<"NonlinearRegression`"
Needs["NonlinearRegression`"]

rez=ReadList["rezRajcianka.dat"];
rez=Flatten[rez];
n=Length[rez];

Testovanie náhodnosti reziduí po odstránení systematických zložiek

1.Testovanie nulovosti autokorelačnej funkcie

Zobraziť autokorelačnú funkciu časového radu rezíduí 
ako aj konštantné funkie s hodnotami 2/Sqrt[n]  :

corrx=CorrelationFunction[rez,120];
myplotcorr1[corrx,2/Sqrt[n],AxesLabel->{k,(Subscript[ρ, k])},PlotLabel->"Autocorrelation Function"]

Z grafu zistiť,  či sú reziduá  ešte korelované, teda má zmysel ich ďalej modelovať napr. lineárnymi ARMA modelmi.

2. Znamienkový test

Pomocou znamienkového testu určíme, či  daný časový rad obsahuje lineárny trend.

Pre dostatočne veľké  n  testujeme  hypotézu 
	H0 : časový rad je realizáciou navzájom nekorelovaných rovnako rozdelených náhodných premenných  
	(časový rad neobsahuje  trend)
	
Hypotézu  H0  zamietame na hladine významnosti α, ak pre normovanú náhodnú premennú     Z= ((|P-μ|)/σ)  = ((|P-((n-1)/2)|)/(Sqrt[((n+1)/12)]))
platí :  Z ≥ u (α/2),
kde P je počet  kladných  prírastkov hodnôt časového radu.
Hodnota  náhodnej premennej :  P  =(∑_(t=2)^n)(Subscript[P, t])

(Subscript[P, t]) =

Vypočítať diferencie  časového radu rezíduí, hodnotu náhodnej premennej P ako počet dvojíc, 
ktorých diferencia je kladná a hodnotu normovanej náhodnej premennej Z:

Ak vypočítaná hodnota Z  je menšia ako  kritická hodnota u(α/2) rozdelenia N(0, 1), 
napríklad 1.96  pre  α= 5%  (α hladina významnosti),
potom  sa hypotéza (Subscript[H, 0   ]) nezamieta, t.j. časový rad reziduí neobsahuje trend (rastúci alebo klesajúci).

Print["Ho: časový rad obsahuje lineárny trend"]
K=Sign[Drop[rez,1]-Drop[rez,-1]];
P=Count[K,1];
μ=((n-1)/2)//N;
σ=(Sqrt[((n+1)/12)])//N;
Z=((Abs[P-μ])/σ);
If[Z≤1.96,Print["Ho nezamietam"],Print["Ho zamietam"]]

3. Test Spearmanovho koeficientu ρ

Pomocou testu založenom na  Spearmanovom koeficiente  určíme, či daný časový rad obsahuje lineárny trend.

Pre dostatočne veľké n  testujeme  hypotézu 
	H0 : časový rad je realizácia navzájom nekorelovaných rovnako rozdelených náhodných premenných  
	(časový rad neobsahuje  trend)	
Hypotézu H0 zamietame na hladine významnosti α, ak  platí :  ρ (Sqrt[n-1])≥ u(α/2), 
kde  ρ  je Spearmanov koeficient poradovej korelácie .

Ak  (Subscript[q, 1]),(Subscript[q, 2]),...,(Subscript[q, n])  označujú poradia hodnôt daného časového radu, potom ρ vypočítame nasledovne:

Vypočítať poradia hodnôt časového radu rezíduí, Spearmanov koeficient ρ
a hodnotu   ρ (Sqrt[n-1]):

Ak vypočítaná hodnota  ρ (Sqrt[n-1])  je menšia ako  kritická hodnota u(α/2) rozdelenia N(0, 1) (napríklad 1.96 ),
 potom  sa hypotéza (Subscript[H, 0   ]) nezamieta, t.j. časový rad reziduí neobsahuje trend (rastúci alebo klesajúci).

Print["Ho: časový rad obsahuje lineárny trend"]
rad=Transpose[Sort[Table[{rez[[i]],i},{i,n}]]][[2]];
ρ=1-(6/(n*((n^2)-1)))*(∑_(i=1)^n)(((i-rad[[i]]))^2);
If[ρ(Sqrt[n-1])≥1.96,Print["Ho zamietam"],Print["Ho nezamietam"]]

4. Test kritických bodov

Pomocou testu kritických hodnôt určíme, či  sa v časovom rade  vyskytujú zmeny periodického charakteru .
Pre dostatočne veľké n  testujeme  hypotézu 
	H0  : časový rad je realizácia navzájom nekorelovaných rovnako rozdelených náhodných premenných 
	 (časový rad neobsahuje  cyklickú zložku)	 
Určíme počet kritických bodov:

pričom  (Subscript[M, t]) je kritický bod, ak je menší (alebo väčší) ako hodnoty obidvoch susedných členov.
Hypotézu H0  zamietame na hladine významnosti α, ak pre   normovanú náhodnú premennú  Z = ((|M-μ|)/σ)  = ((|M-((2(n-1))/3)|)/((16n-29)/90))
platí :  Z ≥ u(α/2).

Vypočítať  počet kritických bodov M (pomocou znamienok diferencií časového radu rezíduí),
a hodnotu normovanej náhodnej premennej Z:

Ak vypočítaná hodnota normovanej náhodnej premennej Z  je menšia ako  kritická hodnota u(α/2) rozdelenia N(0, 1), 
napríklad 1.96  pre  α= 5%  (α hladina významnosti),
potom  sa hypotéza (Subscript[H, 0   ]) nezamieta, t.j. časový rad reziduí neobsahuje periodickú zložku .

Print["Ho: časový rad neobsahuje cyklickú zložku"]
K=Sign[Drop[rez,1]-Drop[rez,-1]];
M=Count[Drop[K,1]*Drop[K,-1],-1];
μ=(2/3)(n-2);
σ=(Sqrt[((16n-29)/90)]);
Z=((Abs[M-μ])/σ);
If[Z≤1.96,Print["Ho nezamietam"],Print["Ho zamietam"]]

5. Medianovy test

Pomocou mediánového testu zistíme, či sa v časovom rade  vyskytujú zmeny periodického charakteru .
Pre dostatočne veľké n  testujeme  hypotézu 
	H0  : časový rad je realizácia navzájom nekorelovaných rovnako rozdelených náhodných premenných  
	(časový rad neobsahuje  cyklickú zložku).
Hypotézu H0  zamietame na hladine významnosti α, ak pre  náhodnú premennú  ((P-(m+1))/((Sqrt[m (m-1) (])2m-1))) ≥ u (α/2).

Vypočítať medián  časového radu rezíduí, vynechať členy s hodnotami rovnými mediánu, 
vyčísliť počet skupín P takých, že všetky susedné hodnoty v danej skupine ležia 
buď nad priamkou určenou hodnotou mediánu alebo pod ňou.

Ak vypočítaná hodnota výrazu ((P-(m+1))/((Sqrt[m (m-1) (])2m-1)))  je menšia ako  kritická hodnota u(α/2) rozdelenia N(0, 1) (napríklad 1.96 ),
 potom  sa hypotéza (Subscript[H, 0   ]) nezamieta, t.j. časový rad reziduí neobsahuje cyklickú zložku.

Print["Ho: časový rad neobsahuje cyklickú zložku"]
median=Median[rez];
m=Length[Select[rez,#<median&]];
s=Select[Table[Which[rez[[i]]<median,-1,rez[[i]]>median,1],{i,n}],# ≠ 0&];
P=Count[Drop[s,-1]*Drop[s,1],-1]+1;
Z=((P-(m+1))/(Sqrt[m(m-1)(2m-1)]));
If[Abs[Z]<1.96,Print["Ho nezamietam"],Print["Ho zamietam"]]

6. Test nezávislosti  pomocou Kendallovho korelačného koeficientu τ

Pomocou testu nezávislosti určíme, či môžeme daný časový rad považovať za realizáciu
 nezávislých rovnako rozdelených náhodných premenných.
 Pre dostatočne veľké n  testujeme  hypotézu 
	H0  : časový rad je realizácia navzájom nekorelovaných rovnako rozdelených náhodných premenných  
	(časový rad neobsahuje  cyklickú zložku).
Hypotézu H0  zamietame na hladine významnosti α, ak pre  normovanú náhodnú premennú  (Kendallov koeficient)
 τ = ((4 ν)/(n (n-1)))-1≥ u(α/2),
kde ν je počet súhlasných dvojíc časového radu,  normovaná náhodná premenná Z = τ.((Sqrt[9n(n-1)])/(Sqrt[2(2n+5)]))

Vypočítať  počet súhlasných dvojíc časového radu ν, hodnotu  Kendallovho koeficientu τ 
a hodnotu normovanej náhodnej premennej Z:

Ak vypočítaná hodnota normovanej náhodnej premennej Z  je menšia ako  kritická hodnota u(α/2) rozdelenia N(0, 1), 
napríklad 1.96  pre  α= 5%  (hladina významnosti),
potom  sa hypotéza (Subscript[H, 0   ]) nezamieta, t.j. časový rad reziduí môžeme  považovať za realizáciu
 nezávislých rovnako rozdelených náhodných premenných.

Print["Ho: časový rad neobsahuje cyklickú zložku"]
ν=0;
For[i=1,i≤n-1,i++,
{For[j=i+1,j≤n,j++,
If[rez[[i]]<rez[[j]],ν++]]}]
τ=((4ν)/(n(n-1)))-1;
Z=τ*((Sqrt[9n(n-1)])/(Sqrt[2(2n+5)]));
If[Abs[Z]<1.96,Print["Ho nezamietam"],Print["Ho zamietam"]]