M AS ARY KO VA UNI VER ZI TA Přírodovědecká fakulta Studijní program: Aplikovaná matematika Studijní obor: Statistika a analýza dat profesní
Metody jednoduché korelace v systémech STATISTICA a MATLAB Bakalářská práce
Vedoucí práce: RNDr. Marie Budíková, Dr.
Autor: Radim Tomášek
2010
Poděkování Rád bych poděkoval vedoucí své bakalářské práce, RNDr. Marii Budíkové, Dr., za její čas, trpělivost a cenné rady na konzultacích v průběhu vypracovávání této práce.
Prohlášení Prohlašuji, že jsem svou bakalářskou práci napsal samostatně a výhradně s použitím citovaných pramenů. V Brně, dne 21.4.2010
Radim Tomášek
Název práce: Metody jednoduché korelace v systémech STATISTICA a MATLAB Autor: Radim Tomášek Ústav matematiky a statistiky Přírodovědecké fakulty MU Vedoucí bakalářské práce: RNDr. Marie Budíková, Dr. Abstrakt: Tématem bakalářské práce je korelační analýza dvourozměrných náhodných veličin. Tato analýza zahrnuje zejména testování nezávislosti a určení síly závislosti náhodných veličin. Práce je zaměřena na praktické zpracování reálných dat, které je vždy uvozeno základní teorií. Výpočty jsou realizovány pomocí matematických programů STATISTICA 9 a MATLAB 7.8 (R2009a). Součástí práce je taktéž porovnání těchto programů při aplikaci na korelační analýzu. Klíčová slova: korelační analýza, korelace, Statistica, Matlab
Title: Methods of simple correlation in MATLAB and STATISTICA systems Author: Radim Tomášek Department od Mathematics and Statistics, Faculty of Science, MU Supervisor: RNDr. Marie Budíková, Dr. Abstract: The topic of this bachelor thesis is correlation analysis of two-dimensional random variables. This includes particularly the testing of independence and determination of random variables's strength dependence. This paper is focused on practical real data processing, always preceded by basic theory. Mathematical software STATISTICA 9 and MATLAB 7.8 (R2009a) were used for calculations. Comparison of these programs used for the correlation analysis is also part of this thesis. Keywords: correlation analysis, correlation, Statistica, Matlab
Úvod Bakalářská práce je zaměřena na korelační analýzu dvourozměrných náhodných veličin, přičemž těžiště práce spočívá v provádění této analýzy v programech STATISTICA 9 a MATLAB 7.8 (R2009a). Práce je rozdělena na 5 kapitol, nejpodstatnější jsou prostřední tři, které pojednávají o korelační analýze nominálních, ordinálních a intervalových a poměrových veličin. Část textu také srovnává uvedené programy. Korelační analýza v programech STATISTICA a MATLAB je ukázána na konkrétních příkladech obsahujících reálná data. Ke každému příkladu je vždy na záznamovém médiu přiložen datový soubor, který tato data obsahuje. Při zpracovávání dat v programu MATLAB se často používá více příkazů, proto jsou tyto příkazy shrnuty do funkcí a tyto funkce jsou ve formě m-souborů taktéž přiloženy na záznamovém médiu.
Obsah 1. Načtení datového souboru..................................................................3 2. Testování nezávislosti nominálních veličin........................................5 2.1 Základní teorie..........................................................................................5 2.2 Zpracování dat v programu STATISTICA................................................6 2.3 Zpracování dat v programu MATLAB.....................................................9 2.4 Srovnání programů STATISTICA a MATLAB........................................13
3. Testování nezávislosti ordinálních veličin..........................................14 3.1 Základní teorie..........................................................................................14 3.2 Zpracování dat v programu STATISTICA................................................15 3.3 Zpracování dat v programu MATLAB.....................................................17 3.4 Srovnání programů STATISTICA a MATLAB........................................19
4. Testování nezávislosti intervalových a poměrových veličin...............20 4.1 Základní teorie..........................................................................................20 4.2 Zpracování dat v programu STATISTICA................................................22 4.3 Zpracování dat v programu MATLAB.....................................................25 4.4 Srovnání programů STATISTICA a MATLAB........................................28
5. Celkové srovnání programů STATISTICA a MATLAB.....................29 Přílohy....................................................................................................30 Seznam použité literatury.......................................................................36
Načtení datového souboru
1. Načtení datového souboru Nejprve ukažme, jak načítat textové (*.txt) a excelovské (*.xls) soubory v programech STATISTICA a MATLAB. Pro představu, jak má daný soubor vypadat, je v textu vždy vložena část souboru, který se načítá, a v závorce je uveden název tohoto souboru. Tyto soubory jsou přiloženy na záznamovém médiu.
1.1 Načtení souboru v programu STATISTICA Textový soubor: V programu STATISTICA zvolíme záložku Soubor, položku Otevřít (zkratka Ctrl+O). Vybereme požadovaný soubor, OK. Následně zvolíme možnost Definovat, OK. Nyní můžeme definovat použitý oddělovač proměnných, zda chceme ignorovat více oddělovačů za sebou, vzít jména proměnných z prvního řádku a jiné. Po výběru stiskneme OK a tímto máme data načtená. Vzhled souboru (Rodiny.txt): rodina frekv cetnost delnic casto 22 delnic obcas 33 delnic jak kdy 30 delnic malo 15 delnic vubec 9 zamest casto 45 … … ... Excelovský soubor Opět přes Soubor – Otevřít vybereme požadovaný soubor. Program se nás nejprve dotáže, který list souboru chceme otevřít, popř. jestli chceme otevřít všechny. Následně si můžeme zvolit, zda první řádek či první sloupec obsahují názvy případů náhodných veličin. Samozřejmě toto vždy zvolíme dle tabulky, kterou máme v souboru uloženou. Kliknutím na OK se již požadovaná tabulka otevře a zobrazí. Vzhled souboru (Korupce.xls): rok 2005 rok 2009 Island
1
6
Finsko
2
4,5
Dansko
3
1
Svedsko
4
2
Svycarsko
5
3
...
...
...
3
Načtení datového souboru
1.2 Načtení souboru v programu MATLAB Textový soubor Načtení souboru se provádí příkazem tblread, konkrétně >> [data,prom1,prom2]=tblread('Filmy.txt','tab'), kde do prom1 se uloží první řádek souboru (tj. názvy případů první veličiny) a do prom2 první sloupec (tj. názvy případů druhé veličiny) a do data se uloží již konkrétní hodnoty. 'tab' v příkazu značí, že byl jako oddělovač v souboru použit tabulátor. Seznam všech možných oddělovačů nalezneme v nápovědě k příkazu tblread (>> help tblread) Je důležité, aby první řádek vždy označoval názvy proměnných a první sloupec názvy případů jednotlivých veličin, protože program MATLAB s tímto počítá. Pokud tam tento první řádek a sloupec nemáme, je třeba je doplnit. Vzhled souboru (Filmy.txt): CSFD IMDB Kmotr 93 92 Kolja 87 77 Shrek 88 80 Sedm 93 86 Pelisky 91 80 … … ... Excelovský soubor Pro načtení použijeme příkaz >> [data, tabulka]=xlsread('Okres.xls') Do proměnné data se uloží matice obsahující zjištěné četnosti, do proměnné tabulka se uloží matice odpovídající zadané tabulce. Nutno podotknout, že MATLAB sám pochopí první řádek či první sloupec jako názvy případů náhodných veličin, pokud se jedná o text. Pokud by byly názvy případů označeny čísly, je potřeba daný sloupec/řádek z tabulky odstranit jedním z těchto příkazů: >> data(1,:)=[] >> data(:,1)=[]
(odstraní první řádek) (odstraní první sloupec)
Vzhled souboru (Okres.xls): I. II.
III.
Blansko
50
199
358
Brno-mesto
57
55
63
Brno-venkov 125
370
619
...
...
...
...
4
Testování nezávislosti nominálních veličin
2. Testování nezávislosti nominálních veličin 2.1 Základní teorie 2.1.1 Popis testu Nechť X,Y jsou dvě nominální náhodné veličiny. Nechť X nabývá variant x[1],...,x[r] a Y nabývá variant y[1],...,y[s]. Získáme dvourozměrný náhodný výběr rozsahu n z rozložení, kterým se řídí dvourozměrný diskrétní náhodný vektor (X,Y). Zjištěné absolutní četnosti njk dvojice variant (x[j],y[k]) uspořádáme do kontingenční tabulky: y
y[1]
...
y[s] nj.
x[1] . . . x[r]
n11 . . . nr1
... . . . ...
n1s n1. . . . . . . nrs nr.
n.k
n.1
...
n.s n
x
njk
Marginální četnosti nj., n.k, j = 1,...,r, k = 1,...,s, jsou vždy součtem absolutních četností v příslušném řádku, resp. sloupci. Testujeme nulovou hypotézu H0: X,Y jsou stochasticky nezávislé náhodné veličiny proti hypotéze H1: X,Y nejsou stochasticky nezávislé náhodné veličiny. Testová statistika má tvar:
r
s
K=∑ ∑
j=1 k=1
n n n jk − j. .k n n j. n . k n
2
Platí-li H0, pak K se asymptoticky řídí rozložením χ2((r-1)(s-1)). Nulovou hypotézu o nezávislosti veličin X,Y zamítáme na asymptotické hladině významnosti α, 2 když K ≥ χ1−α ((r-1)(s-1))
2.1.2 Podmínky dobré aproximace
n j. n . k . n Rozložení statistiky K lze aproximovat rozložením χ2((r-1)(s-1)), pokud teoretické četnosti aspoň v 80% případů nabývají hodnoty větší nebo rovné 5 a ve zbylých 20% neklesnou pod 2. Pokud tato podmínka není splněna, je vhodné sloučit některé varianty. Definujme teoretickou četnost jako
5
Testování nezávislosti nominálních veličin
2.1.3 Cramérův koeficient V=
K , n m−1
kde m = min{r,s}. Používá se pro měření síly závislosti náhodných veličin. Tento koeficient nabývá hodnot od 0 do 1. Čím blíže je jeho hodnota rovna 1, tím je závislost mezi náhodnými veličinami těsnější. Čím blíže je jeho hodnota 0, tím je závislost volnější.
2.2 Zpracování dat v programu STATISTICA 2.2.1 Příklad V průzkumu bylo dotázáno 776 lidí na typ jejich domácnosti a jak často se zajímají o dění ve 2. světové válce. Výsledky jsou uloženy v souboru Rodiny.txt a zobrazuje je následující tabulka: často
občas
jak kdy málo
vůbec
dělnická
22
33
30
15
9
zaměstnanecká
45
61
54
25
5
podnikatelská
6
14
16
8
3
smíšená
48
155
95
47
24
zemědělská
3
3
1
1
1
neúplná
7
18
11
11
5 (zdroj: [8])
Na asymptotické hladině významnosti 0,05 testujme nulovou hypotézu o nezávislosti zájmu o dění ve 2. sv. válce na typu domácnosti a vypočtěme Cramérův koeficient.
6
Testování nezávislosti nominálních veličin
2.2.2 Řešení příkladu Podmínky dobré aproximace Načteme soubor Rodiny.txt. Musíme ověřit podmínky dobré aproximace, proto vytvoříme kontingenční tabulku teoretických četností. Zvolíme záložku Statistiky, možnost Základní statistiky/tabulky. Z nabízených možností vybereme Kontingenční tabulky, OK. Kliknutím na Specif. tabulky vybereme proměnné: List1-Rodina, List2-Frekv. OK. Zapneme proměnnou vah – Cetnost. OK. Na záložce Možnosti zaškrtneme Zvýraznit četnosti (větší než 5) a Očekávané četnosti. Výsledky zobrazíme kliknutím na Výpočet. Dostaneme tuto tabulku:
Můžeme v ní vidět, že očekávané četnosti u zemědělské rodiny jsou velmi nízké a nejsou splněny podmínky dobré aproximace. Proto bude vhodné sloučit podnikatelskou a zemědělskou domácnost. V programu STATISTICA proto v datovém souboru zaměníme zemed za podnik a zobrazíme novou tabulku očekávaných četností.
Máme zde již pouze dvě hodnoty nižší než 5, nicméně neklesají pod 2, takže již máme podmínky dobré aproximace splněny a můžeme pokračovat dále ve výpočtu.
7
Testování nezávislosti nominálních veličin Testování hypotézy o nezávislosti, Cramérův koeficient Přistupme k samotné hypotéze o nezávislosti. V programu STATISTICA se vrátíme do kontingenčních tabulek na záložku Možnosti, kde zaškrtneme Pearsonův & M-V chíkvadrát a Fí (tabulky 2x2) & Cramérovo V & C. Přejdeme na záložku Detailní výsledky a zvolíme Detailní 2-rozměrné tabulky. Získáme následující tabulku:
Z prvního řádku vyčteme, že hodnota testové statistiky je rovna 25,1352, počet stupňů volnosti je 16 a p-hodnota je 0,0675. Poslední uvedené znamená, že nezamítáme nulovou hypotézu o nezávislosti zájmu o dění ve 2. sv. válce na typu domácnosti na asymptotické hladině významnosti 0,05. 2 Rozhodnout o této hypotéze můžeme také z hodnoty kvantilu chí-kvadrátu. Kvantil χ0,95 (16) je roven 26,296. Protože K < 26,296, tak nezamítáme nulovou hypotézu o nezávislosti na asymptotické hladině významnosti 0,05. Na posledním řádku tabulky je uvedena hodnota Cramérova koeficientu rovna 0,08999. Tzn., že závislost je velmi slabá. Poznámka 1: Pokud chceme četnosti zobrazit graficky, je to v programu STATISTICA velmi jednoduché. Stačí se vrátit do Detailních výsledků kontingenčních tabulek a máme na výběr kategorizované histogramy, grafy interakcí mezi četnostmi a 3D histogramy. Ukažme si posledně jmenovaný:
8
Testování nezávislosti nominálních veličin Poznámka 2: Při vytváření datového souboru zapisujeme jednotlivé proměnné do sloupce pod sebe, přičemž jednotlivé hodnoty na řádku oddělujeme zpravidla mezerníkem, čárkou či tabulátorem. Na prvním řádku každého sloupce bývá napsaný název jeho proměnné. Poznámka 3: Data nemusí být zadána pouze kontingenční tabulkou. Může se stát, že máme k dispozici původní statistický soubor, tj. soubor vypadající následovně: Prom1 x1 … xn
Prom2 y1 … yn
kde Prom1 a Prom2 jsou názvy proměnných. Potom postupujeme stejným způsobem, jen nezapínáme proměnnou vah.
2.3 Zpracování dat v programu MATLAB 2.3.1 Příklad K 31.12.2008 bylo zjištěno, že v Jihomoravském kraji je 4511 km silnic. Jejich rozložení dle příslušnosti k okresu (Blansko, Brno-město, Brno-venkov, Břeclav, Hodonín, Vyškov, Znojmo) a typu silnice (dálnice+I. třída, II. třída, III. třída) je uloženo v souboru Okres.xls a je uvedeno v následující tabulce: Typ silnice Okres
dálnice + I.třída
II. třída
III.třída
Blansko
50
199
358
Brno - město
57
55
63
Brno - venkov
125
370
619
Břeclav
96
199
286
Hodonín
115
159
278
Vyškov
90
112
292
Znojmo
65
381
542 (zdroj: [9])
Na asymptotické hladině významnosti 0,05 testujme nulovou hypotézu o nezávislosti typu silnice na příslušnosti k okresu a vypočtěme Cramérův koeficient.
9
Testování nezávislosti nominálních veličin
2.3.2 Řešení příkladu Podmínky dobré aproximace Načteme soubor Okres.xls. Nejprve vytvoříme tabulku četností pomocí následujících příkazů >> [m,n]=size(data); >> for i=1:m, soucet1(i)=sum(data(i,:)); end >> data1=[data,soucet1']; >> for i=1:(n+1), soucet2(i)=sum(data1(:,i)); end >> kont_tab=[data1;soucet2] a následně vytvoříme kontingenční tabulku očekávaných četností dle těchto příkazů >> for i=1:m, for j=1:n, tab_ocekav_cetn(i,j)=kont_tab(i,(n+1))*kont_tab((m+1),j)/kont_tab((m+1),(n+1)); end end
Tabulka je bohužel bez popisků, které je v programu MATLAB obtížné přidat. Pro výsledek to však není důležité. V tomto případě můžeme ověřit podmínky dobré aproximace od pohledu; pokud bychom měli tabulku rozměrnější, ověřili bychom podmínky následovně: >> vice_nez_pet=0; >> mene_nez_dva=0; >> for i=1:m, for j=1:n, if tab_ocekav_cetn(i,j)>5 vice_nez_pet=vice_nez_pet+1; end if tab_ocekav_cetn(i,j)<2 mene_nez_dva=mene_nez_dva+1; end end end
10
Testování nezávislosti nominálních veličin >> if (vice_nez_pet>(4*m*n/5)) && (mene_nez_dva>=0) ans='Podminky dobre aproximace jsou splneny.', else ans='Podminky dobre aproximace nejsou splneny.', end
Poznámka: Popišme ještě, jak vytvořit kontingenční tabulku, pokud máme k dispozici původní datový soubor, kde varianty náhodné veličiny jsou vždy reprezentovány číslem. První možnou variantu reprezentuje 1, druhou variantu 2 atd. Takovéto označení je pro MATLAB výhodné, protože jinak bychom potřebovali k vytvoření kontingenční tabulky mnohem více příkazů. Načtení provedeme standardně příkazem >> [tabulka]=xlsread('Soubor.xls') a pro sestavení kontingenční tabulky postupujeme takto: >> n=length(tabulka(:,1)); >> r=max(tabulka(:,1)); >> s=max(tabulka(:,2)); >> data=zeros(r,s); >> for i=1:r, for j=1:s, for k=1:n, if (tabulka(k,1)==i) && (tabulka(k,2)==j) data(i,j)=data(i,j)+1; end end end end Tímto jsme vytvořili proměnnou s názvem data (právě tu, kterou bychom získali načtením tabulky ze souboru Okres.xls). Dále tedy postupujeme od bodu Podmínky dobré aproximace, pouze vynecháme načtení souboru. Testování hypotézy o nezávislosti, Cramérův koeficient Spočteme hodnotu testové statistiky K: >> K=0; >> for i=1:m, for j=1:n, K=K+((kont_tab(i,j)-tab_ocekav_cetn(i,j))^2)/tab_ocekav_cetn(i,j); end end
11
Testování nezávislosti nominálních veličin >> if K>=chi2inv(0.95,(m-1)*(n-1)) ans='Zamitame hypotezu o nezavislosti na asymptoticke hladine vyznamnosti 0,05', else ans='Nezamitame hypotezu o nezavislosti na asymptoticke hladine vyznamnosti 0,05', end
Pokud bychom chtěli rozhodnout pomocí p-hodnoty, dopočítáme ji příkazem >> p_hodnota=1-chi2cdf(K,(m-1)*(n-1)) a dostaneme výsledek
P-hodnota je menší než asymptotická hladina významnosti 0,05, takže zamítáme hypotézu o nezávislosti na asymptotické hladině významnosti 0,05. Dopočítejme ještě Cramérův koeficient: >> k=min(m,n); >> V=sqrt(K/(kont_tab((m+1),(n+1))*(k-1)));
Shrnutí Zjistili jsme, že podmínky dobré aproximace jsou splněny. Hodnota testové statistiky K je rovna 184, což je větší než hodnota chí-kvadrátu s 12 stupni volnosti pro hladinu významnosti 0,05 (rovno 21). Proto zamítáme nulovou hypotézu o nezávislosti typu silnice na příslušnosti k okresu na asymptotické hladině významnosti 0,05. O zamítnutí hypotézy svědčí též vypočtená p-hodnota rovna 0. Hodnota Cramérova koeficientu je rovna 0,1428, což znamená, že závislost je velmi volná.
12
Testování nezávislosti nominálních veličin
2.4 Srovnání programů STATISTICA a MATLAB Podívejme se teď na přednosti a nedostatky těchto programů při testování hypotéz o nezávislosti nominálních veličin. STATISTICA Jako první jsme načítali soubory. Načítání neskýtá žádné výhody ani nevýhody oproti MATLABu. Velký rozdíl ale poznáme v případě, kdy chceme zpracovat původní statistický soubor. V programu STATISTICA to pro nás neznamená žádné ztížení, v MATLABu už je to složitější. Největší předností tohoto programu je uživatelská přívětivost. STATISTICA se ovládá způsobem, na který jsme zvyklí z nejrůznějších počítačových programů, tj. nemusíme znát žádné příkazy a stačí se proklikat nabídkou a možnostmi. Uváděné možnosti jsou přehledně rozděleny, takže s menší pomocí nápovědy se velmi rychle dobereme výsledků. Všechny požadované výpočty jsou sdruženy v jednom okně, kde jen zatrhneme vše, co nás zajímá, a necháme si výsledky vypočítat. MATLAB Velmi dobrá vlastnost programu MATLAB umožňuje sloučit napsané příkazy do jedné funkce a nechat si automaticky vypsat pouze požadované konstanty (myšleno hodnotu testové statistiky, p-hodnotu, atd.) anebo rovnou slovní hodnocení výsledků (např., že vypočtená hodnota svědčí o zamítnutí hypotézy). Příklad takovéto funkce je uveden v příloze. Jak lze pochopit z výše napsaného, tuto funkci musíme sami vytvořit, což vyžaduje jisté znalosti. Nevyplatí se zpracovávat např. jen jedna data. Pokud se pro tuto funkci rozhodneme, potom jediný příkaz dokáže vypsat všechny výsledky, což velice urychlí práci. Při kontingenční tabulce o větších rozměrech máme zároveň tu výhodu, že nemusíme nikde bokem na papíře počítat, kolik procent políček v kontingenční tabulce má hodnoty nižší než 5. Opět stačí vytvořit příkaz, který vše zpracuje a vypíše, zda jsou podmínky splněny.
13
Testování nezávislosti ordinálních veličin
3. Testování nezávislosti ordinálních veličin 3.1 Základní teorie Nechť X,Y jsou dvě ordinální náhodné veličiny. Pořídíme dvourozměrný náhodný výběr (X1,Y1),...,(Xn,Yn) z rozložení, jímž se řídí náhodný vektor (X,Y). Označíme Ri pořadí náhodné veličiny Xi a Qi pořadí náhodné veličiny Yi, i=1,...,n. Testujeme nulovou hypotézu H0: X,Y jsou pořadově nezávislé náhodné veličiny proti oboustranné alternativě H1: X,Y jsou pořadově závislé náhodné veličiny (resp. proti levostranné alternativě H1: mezi X a Y existuje nepřímá pořadová závislost resp. proti pravostranné alternativě H1: mezi X a Y existuje přímá pořadová závislost). Testová statistika se nazývá Spearmanův koeficient pořadové korelace a má tento tvar: n
r s=1−
6 R i−Qi 2 . ∑ 2 n n −1 i=1
H0 zamítáme na hladině významnosti α 1. ve prospěch oboustranné alternativy, když |rs| ≥ rs,1-α/2(n) 2. ve prospěch levostranné alternativy, když rs ≤ −rs,1-α(n) 3. ve prospěch pravostranné alternativy, když rs ≥ rs,1-α(n) Hodnotu rs,1-α(n) najdeme v tabulkách. Poznámka: Spearmanův koeficient současně měří sílu pořadové závislosti náhodných veličin X,Y. Nabývá hodnot v intervalu [-1;1]. Čím je jeho hodnota bližší -1, resp. 1, tím je silnější nepřímá, resp. přímá, pořadová závislost. Čím je jeho hodnota bližší 0, tím je pořadová závislost slabší. Programy STATISTICA a MATLAB používají asymptotickou variantu testu. Pokud n > 20, vypočteme testovou statistiku T0 =
r s n−2
1−r
2 s
.
Tato statistika se za platnosti nulové hypotézy řídí rozložením t(n-2). Kritický obor pro oboustrannou alternativu je W = (-∞, -t1-α/2 (n – 2)] ∪ [t1-α/2 (n – 2), ∞), pro levostrannou alternativu W = (-∞, -t1-α (n – 2)], pro pravostrannou alternativu [t1-α (n – 2), ∞). Nulovou hypotézu o pořadové nezávislosti náhodných veličin X a Y zamítáme na asymptotické hladině významnosti α, jestliže t0 ∈ W.
14
Testování nezávislosti ordinálních veličin
3.2 Zpracování dat v programu STATISTICA 3.2.1 Příklad V následující tabulce (a taktéž v excelovském souboru Korupce.xls) jsou uvedeny evropské státy a u každého státu je uvedeno jeho pořadí dle míry korupce. Udané hodnoty jsou v letech 2005 a 2009. Island
Finsko Dánsko Švéds. Švýcar. Norsko Rakous Nizoz. VB
Lucem. Němec.
2005
1
2
3
4
5
6
7
8,5
8,5
10
11
2009
6
4,5
1
2
3
7
11
4,5
12
8
9,5
Francie Belgie Irsko
Španěl. Malta.
Portug. Estons. Slovin. Kypr
Maďar. Itálie
2005
12
13,5
13,5
15
16
17
18
19
20
21,5
21,5
2009
14
13
9,5
18
20
19
16
16
16
21
27
Litva
ČR
Řecko
SR.
Lotyš.
Polsko
2005
23
25
25
25
27
28
2009
23,5
23,5
28
26
25
22
(zdroj: [10]) Vypočtěme Spearmanův koeficient pořadové korelace a na hladině významnosti 0,05 testujme nulovou hypotézu, že pořadí států dle korupce v letech 2005 a 2009 je nezávislé.
3.2.2 Řešení příkladu Načteme soubor Korupce.xls. Nejprve zobrazíme data kvůli orientačnímu posouzení závislosti korupce v daných letech. V záložce Grafy vybereme možnost Bodové grafy. V následujícím okně klikneme vlevo nahoře na prázdný trojúhelník, čímž se zobrazí dostupné listy načteného souboru. Vybereme List1 a dáme OK. Poté vybereme požadované proměnné, vypneme lineární proložení a opět dáme OK.
15
Testování nezávislosti ordinálních veličin Výsledkem bude tento graf.
Je z něj patrné, že závislost korupce v jednotlivých letech je přímá a docela silná. Tuto domněnku ověříme výpočtem. Testování hypotézy o nezávislosti V záložkách zvolíme položku Statistiky a možnost Neparametrická statistika. Budeme dotázáni na výběr tabulky, přičemž se zobrazí soubor, který jsme načetli. Dvakrát na něj klikneme myší, aby se zobrazily dostupné listy. Vybereme požadovaný list a dáme OK. Z daných možností zvolíme Korelace (Spearman,...) a dáme OK. V následujícím výběru provedeme: jako položku Vytvořit vybereme Detailní report. Nastavíme proměnné na rok 2005 a rok 2009. Na záložce Zákl. výsledky klikneme na možnost Spearmanův koef. R. a dostaneme výsledek:
V tabulce vidíme, že n = 28, Spearmanův koeficient pořadové korelace je roven 0,9298. To znamená, že pořadová závislost korupce v daných letech je přímá a silná. Jako poslední položka v tabulce je uvedena p-hodnota, která se blíží nule. Proto zamítáme nulovou hypotézu o nezávislosti na asymptotické hladině významnosti 0,05. Tuto úvahu můžeme využít pouze v případě, že n > 20, což je v tomto případě splněno. Poznámka: Korupce bývá často hodnocena na nějaké stupnici a vstupní tabulka tak nemusí obsahovat vždy pořadí, ale právě hodnocení na této stupnici. V programu STATISTICA to však ničemu nevadí. Postupujeme úplně stejně jako když máme daná pořadí. 16
Testování nezávislosti ordinálních veličin
3.3 Zpracování dat v programu MATLAB 3.3.1 Příklad Na filmových databázích ČSFD (Česko-Slovenská filmová databáze) a IMDb (The Internet Movie Database) hodnotí uživatelé zhlédnuté filmy. Výsledné procentuální hodnocení filmů Kmotr, Kolja, Shrek, Sedm, Pelíšky, Pianista, Lví král, Provaz, Příšerky s.r.o. a Rocky je uvedeno v následující tabulce:
Film Kmotr
Kolja
Shrek
Sedm
Pelíšky
Databáze ČSFD
93
87
88
93
91
IMDb
92
77
80
86
80
Film Pianista
Lví král
Provaz
Příšerky
Rocky
Databáze ČSFD
93
87
88
93
91
IMDb
92
77
80
86
80 (zdroj: [11])
Hodnoty jsou zároveň uloženy v souboru Filmy.txt. Vypočtěme Spearmanův koeficient pořadové korelace a na hladině významnosti 0,05 testujme nulovou hypotézu, že hodnocení filmů v databázích ČSFD a IMDb jsou pořadově nezávislá.
3.3.2 Řešení příkladu Načteme soubor Filmy.txt. Stejně jako v předchozím příkladu nejprve zobrazme data. >> plot(data(:,1), data(:,2),'.') >> axis([82 96 75 96]) >> xlabel('CSFD'), ylabel('IMDB') >> title('Znazorneni dat')
17
Testování nezávislosti ordinálních veličin Dostaneme tento graf:
Korelace není tak zřejmá jako v předchozím příkladu, zejména kvůli menšímu rozsahu dat. Avšak i tato data vykazují známky korelace, kterou můžeme očekávat střední a přímou. Ověřme tuto domněnku výpočtem. Testování hypotézy o nezávislosti testování nezávislosti v případě ordinálních veličin se na rozdíl od nominálních provede velmi jednoduše – pouze jedním příkazem: >> [Spearman,p_hodnota]=corr(data,'type','Spearman') Zde dostaneme tabulku korelací typu 2x2, ve které jsou uvedeny všechny korelace veličin X,Y, tj. X a X, X a Y, Y a X a jako poslední Y a Y. Požadovaná hodnota je tedy uvedena v prvním řádku a druhém sloupci, resp. druhém řádku a prvním sloupci.
18
Testování nezávislosti ordinálních veličin Pokud bychom chtěli vypsat pouze dvě hodnoty, které nás zajímají, provedeme příkazy >> Spearman1=Spearman(1,2) >> p_hodnota1=p_hodnota(1,2)
Kritická hodnota pro Spearmanův koeficient pořadové korelace pro n = 10 je rovna 0,6364. Vypočtená hodnota Spearmanova koeficientu je 0,5383 < 0,6364, proto nulovou hypotézu, že hodnocení filmů v databázích ČSFD a IMDb jsou pořadově nezávislá, nezamítáme na hladině významnosti 0,05. Protože máme n < 20, nemůžeme pro rozhodnutí o nulové hypotéze použít vypočtenou p-hodnotu. (Pokud by byl datový rozsah dostatečný, svědčila by vypočtená hodnota o nezamítnutí hypotézy na hladině významnosti 0,05, protože 0,1085 > 0,05.)
3.4 Srovnání programů STATISTICA a MATLAB V programu STATISTICA proběhl výpočet podobně jako v případě nominálních veličin, ale v programu MATLAB došlo k výraznému zjednodušení. Jedním příkazem, resp. dvěma, pokud uvažujeme i načtení souboru, se dostaneme ke všem hodnotám, které nás zajímají. MATLAB se tedy co do rychlosti dostává na stejnou úroveň jako STATISTICA. Navíc v programu MATLAB stále převažuje výhoda v možnosti napsání dodatečných příkazů, které přímo vyhodnotí získané hodnoty, a jejich shrnutí do funkce.
19
Testování nezávislosti intervalových a poměrových veličin
4. Testování nezávislosti intervalových a poměrových ….veličin 4.1 Základní teorie 4.1.1 Koeficienty korelace Mějme dvě náhodné veličiny X a Y. Sílu lineárního vztahu mezi X a Y měříme pomocí Pearsonova koeficientu korelace, který definujeme jako R X , Y=
CX , Y pro DX, D Y0, jinak je roven 0. DX DY
Pro jeho výpočet musíme znát simultánní rozložení vektoru (X,Y), v praxi ho však většinou neznáme a jsme odkázáni na náhodný výběr (X1,Y1),...,(Xn,Yn) z dvourozměrného rozložení. U tohoto náhodného výběru můžeme určit následující charakteristiky: 1. výběrové průměry n
M 1=
1 ∑X n i=1 i
n
M 2=
1 ∑Y n i=1 i
2. výběrové rozptyly n
n
1 1 S= Xi −M 12 S22= Y i −M 2 2 ∑ ∑ n−1 i=1 n−1 i=1 3. výběrovou kovarianci n 1 S12 = ∑ X −M1 Y i−M 2 n−1 i =1 i 4. výběrový koeficient korelace S12 R 12= pro S1 S20 S1 S 2 2 1
Výběrový koeficient korelace R12 slouží jako odhad Pearsonova koeficientu korelace R(X,Y). Označme ρ = R(X,Y). Je-li ρ ≠ 0, pak jsou náhodné veličiny X a Y korelované. Je-li ρ > 0, jsou kladně korelované, a je-li ρ < 0, jsou záporně korelované. Poznámka: Stochastická nezávislost složek X,Y normálně rozloženého vektoru je ekvivalentní jejich nekorelovanosti.
20
Testování nezávislosti intervalových a poměrových veličin
4.1.2 Testování hypotézy o nezávislosti Předpokládejme, že náhodný výběr (X1,Y1),...,(Xn,Yn) pochází z dvourozměrného normálního rozložení. Pak testujeme nulovou hypotézu H0: ρ = 0 proti oboustranné alternativě H1: ρ ≠ 0 (popř. proti levostranné alternativě H1: ρ < 0 nebo proti pravostranné alternativě H1: ρ > 0). Testová statistika je tvaru T=
R12 n−2
1−R
2 12
.
Platí-li nulová hypotéza, pak T ∼ t(n – 2). Kritický obor pro test nulové hypotézy proti oboustranné alternativě je W = (-∞, -t1-α/2 (n – 2)] ∪ [t1-α/2 (n – 2), ∞), proti levostranné alternativě W = (-∞, -t1-α (n – 2)] a proti pravostranné alternativě W = [t1-α (n – 2), ∞). Nulovou hypotézu zamítáme na hladině významnosti α, když testová statistika T ∈ W.
4.1.3 Meze intervalu spolehlivosti Mějme dvourozměrný náhodný výběr rozsahu n pocházející z dvourozměrného normálního rozložení. Je-li koeficient korelace ρ v intervalu (-0,5;0,5) a rozsah výběru větší než 100, pak 100(1 – α)% interval spolehlivosti pro ρ má meze 1−R212 R 12±u 1− / 2 . n−3 Pokud uvedené podmínky nejsou splněny a rozsah n ≥ 10, vypočítáme meze 100(1 – α)% asymptotického intervalu spolehlivosti pro ρ jako tgh
1 1R12 u 1−/ 2 ln ± . 2 1−R12 n−3
21
Testování nezávislosti intervalových a poměrových veličin
4.2 Zpracování dat v programu STATISTICA 4.2.1 Příklad Bylo náhodně vybráno 15 potravin běžně používaných v domácnostech a u každého výrobku bylo zjištěno množství tuku a energie na 100g. Výsledky jsou uloženy v souboru Potraviny.txt a jsou zobrazeny v následující tabulce: chipsy
hermelín ml. rýže
měk. sýr
jogurt
eidam
sušenky
tuky/g
31
24
3
22
4
25
23
energie/kcal
510
298
115
242
77
331
500
piškoty
sušenky2 polomáč. sýr
tvarůžky parenica
knedle
tuky/g
5
16
26
18
1
18
1
energie/kcal
390
437
510
202
125
240
335
Margot
Brumík
hor. čokol salko
tvaroh
mléko
tuky/g
19
10
10
8
0
9
energie/kcal
440
360
430
330
65
163
Vypočtěme hodnotu výběrového korelačního koeficientu, meze 95% asymptotického intervalu spolehlivosti pro tento koeficient a na hladině významnosti 0,05 otestujme nulovou hypotézu o nezávislosti množství tuku a množství energie v potravinách.
4.3.2 Řešení příkladu Ověření dvourozměrné normality dat Načteme soubor Potraviny.txt. Zvolíme záložku Grafy, možnost Bodové grafy. Vybereme proměnné a přejdeme na záložku Detaily. Zde změníme položku Proložení na Vypnuto a položku Elipsa na Normální. Dáme OK a zobrazí se dvourozměrná data. Abychom viděli celou elipsu, je třeba změnit měřítka. Dvojitým kliknutím levým tlačítkem myši se zobrazí možnosti grafu. V levém sloupci v položce Osa vybereme Měřítko. Vybereme osu X, mód Ručně a nastavíme Minimum a Maximum. Stejně vybereme osu Y a nastavíme ji. OK.
22
Testování nezávislosti intervalových a poměrových veličin
V grafu vidíme, že všechny hodnoty leží uvnitř elipsy a tudíž můžeme považovat data za dvourozměrně normální. Je zřejmé, že hlavní osa elipsy má kladnou směrnici. Můžeme očekávat přímou závislost, což znamená, že čím více bude v potravině tuku, tím vyšší bude i její energetická hodnota. Sílu závislosti zjistíme následně výpočtem výběrového korelačního koeficientu. V praxi se dvourozměrná normalita často odhaduje pomocí ověření jednorozměrné normality veličin X a Y. Pro ověření použijeme Lillieforsův test. Zvolíme možnost Statistiky – Základní statistiky – Tabulky četností – OK. Vybereme proměnné a na záložce Normalita zaškrtneme Lillieforsův test. Kliknutím na Testy normality se zobrazí následující tabulka:
Vidíme, že obě hodnoty Lillieforsova testu jsou p > 0,20. Můžeme tedy předpokládat jednorozměrnou normalitu obou veličin. Původní dvourozměrná data můžeme považovat za dvourozměrně normální.
23
Testování nezávislosti intervalových a poměrových veličin Výběrový korelační koeficient, testování hypotézy o nezávislosti Zvolíme záložku Statistiky, možnost Základní statistiky/tabulky a následně Korelační matice, OK. Klikneme na 2 seznamy a vybereme proměnné. Na záložce Možnosti vybereme Zobrazit detailní tabulku výsledků. Dáme Výpočet a dostaneme následující tabulku.
Z tabulky zjistíme hodnotu výběrového korelačního koeficientu rovnu 0,6125. To znamená střední přímou závislost mezi množstvím tuku a energie v potravinách. Zároveň zde již máme uvedenou p-hodnotu pro testování nezávislosti nulové hypotézy. Ta je rovna hodnotě 0,004 < 0,05, tzn., že na hladině významnosti 0,05 zamítáme hypotézu o nezávislosti množství tuku a energie v potravinách. Meze intervalu spolehlivosti Tato funkce zatím není v programu STATISTICA implementována, takže pro jejich výpočet použijeme jednoduchého příkazu. Nejprve otevřeme nový dokument (Ctrl+N) a v záložce Tabulka dat jako počet proměnných vybereme 2 a počet případů zvolíme 1. Klikneme na OK a zobrazí se prázdný dokument. Poklikáním na jméno první proměnné se zobrazí možnosti, kde jako Jméno této proměnné vybereme například DM (dolní mez) a do Dlouhého jména napíšeme příkaz >> =TanH(0,5*log((1+R12)/(1-R12))-VNormal(0,975;0;1)/sqrt(n-3)), kde za R12 a n dosadíme konkrétní hodnoty, v tomto případě R12 = 0,6125 a n = 20. Dáme OK, následně potvrdíme přepočítání proměnné, Ano, a na první pozici tabulky dostaneme dolní mez 100(1-α)% asymptotického intervalu spolehlivosti pro korelační koeficient. Analogicky provedeme výpočet horní meze, tj. do Dlouhého jména napíšeme přikaz >> =TanH(0,5*log((1+R12)/(1-R12))+VNormal(0,975;0;1)/sqrt(n-3)) ¨
Dolní mez je tedy rovna 0,2332 a horní mez 0,8300. Tento interval neobsahuje hodnotu 0, což svědčí o zamítnutí nulové hypotézy na hladině významnosti 0,05.
24
Testování nezávislosti intervalových a poměrových veličin Tento postup výpočtu intervalu spolehlivosti se používá, pokud rozsah dat je menší než 100. Pokud je rozsah větši, pro výpočet dolní a horní meze použijeme příkaz >> =R12±VNormal(0,975;0;1)*(1-(R12)^2)/sqrt(n-3), kde za R12 doplníme hodnotu výběrového korelačního koeficientu a za n rozsah.
4.3 Zpracování dat v programu MATLAB 4.3.1 Příklad 2 hráči hry Geocaching hodnotili 30 vybraných skrýší na stupnici od 0 do 100, kde 100 je nejlepší hodnocení. Hodnocení jsou uložena v souboru Cache.txt a zobrazuje je následující tabulka, kde v prvním řádku jsou identifikační kódy hodnocených skrýší: 11J46
140G6
166KC 1PDKB YHBA 1DXF3 1FMJ3 215AD PDP1
1JA1K
Hráč 1 30
15
60
50
15
50
0
80
90
40
Hráč 2 65
67
71
32
51
79
23
80
93
77
201WD 127JE
X201
1FY46 1PG8R 1NNVR 20KMY 1CY4J
1YB1C 1C266
Hráč 1 45
20
80
65
30
50
60
85
60
20
Hráč 2 65
33
57
77
64
33
60
64
73
58
T686
ZPXF
X1Z5
13JDQ RZ0Y
214NJ
18NM7 Q698
11F60
Hráč 1 65
30
25
5
60
60
10
50
85
90
Hráč 2 91
54
29
47
67
41
36
69
63
74
1626A
Vypočtěme hodnotu výběrového korelačního koeficientu, meze 95% asymptotického intervalu spolehlivosti pro tento koeficient a na hladině významnosti 0,05 otestujme nulovou hypotézu o nezávislosti hodnocení těchto dvou hráčů.
4.3.2 Řešení příkladu Ověření dvourozměrné normality dat Načteme soubor Cache.txt. Prvním příkazem vytvoříme dvourozměrný graf pro orientační posouzení dvourozměrné normality. Dalšími příkazy popíšeme osy a přidáme název grafu. >> plot(data(:,1),data(:,2),'o') >> xlabel('Hrac1') >> ylabel('Hrac2') >> title('Overeni dvourozmerne normality')
25
Testování nezávislosti intervalových a poměrových veličin
Data rovnoměrně vytváří vnitřek elipsy, přičemž žádná hodnota není mimo tuto elipsu. Orientačně tedy můžeme data považovat za dvourozměrně normální. Ověříme ještě dvourozměrnou normalitu dat způsobem používaným v praxi, tj. ověříme jednorozměrnou normalitu veličin X a Y. Použijeme k tomu Lillieforsův test. >> [test1,p_hodnota1]=lillietest(data(:,1)) >> [test2,p_hodnota2]=lillietest(data(:,2)) Dostaneme výsledky:
P-hodnoty jsou vyšší než hladina významnosti 0,05, takže můžeme tato jednorozměrná data považovat za jednorozměrně normální a původní dvourozměrná data považovat za dvourozměrně normální.
26
Testování nezávislosti intervalových a poměrových veličin Výběrový korelační koeficient, testování hypotézy o nezávislosti, interval spolehlivosti Vše spočítáme jednoduše jedním příkazem: >> [kor_koef,p_hodnota,DM,HM]=corrcoef(data)
U každého výsledku jsou 4 hodnoty příslušející po řádcích korelaci (p-hodnotě, dolní mezi, horní mezi) veličin X,X; X,Y; Y,X; Y,Y. Nás zajímá především hodnota v prvním řádku a druhém sloupci (nebo druhém řádku a prvním sloupci). Zkrácení výsledků pouze na tyto hodnoty provedeme následovně: >> kor_koef=kor_koef(1,2) >> p_hodnota=p_hodnota(1,2) >> DM=DM(1,2) >> HM=HM(1,2)
27
Testování nezávislosti intervalových a poměrových veličin Interpretujme tedy zjištěné výsledky. Výběrový korelační koeficient se rovná 0,5815, závislost mezi hodnoceními dvou hráčů je střední. P-hodnota je rovna 0,0008 < 0,05, proto na hladině významnosti 0,05 zamítáme nulovou hypotézu o nezávislosti mezi hodnoceními hráčů. Interval spolehlivosti je [0,2798; 0,7786]. Tento interval neobsahuje nulu, což svědčí o zamítnutí nulové hypotézy o nezávislosti.
4.4 Srovnání programů STATISTICA a MATLAB V případě poměrových veličin si všimneme velkého rozdílu již v případě orientačního ověření dvourozměrné normality. Zatímco program STATISTICA zobrazí i elipsu, která v tomto rozhodování pomáhá, program MATLAB vykreslí pouze dané hodnoty bez elipsy. Co se elipsy týče, chybí mi v programu STATISTICA možnost automatického nastavení měřítek v grafu, chceme-li zobrazit celou elipsu. Obvykle se nepodaří měřítka zvolit napoprvé tak, aby se elipsa v okně zobrazila ideálně. V dalších postupech se mi opět líbí program MATLAB, kde výpočet probíhá jedním příkazem s možností přidat některé další, upřesňující příkazy a kde je zároveň spočítána dolní i horní mez pro výběrový koeficient korelace. V programu STATISTICA je dolní a horní mez jedna z mála věci, na kterou je třeba napsat vlastní příkaz pro výpočet.
28
Celkové srovnání programů STATISTICA a MATLAB
5. Celkové srovnání programů STATISTICA a MATLAB Před začátkem psaní bakalářské práce jsem se domníval, že lepším programem pro korelační analýzu dat bude program STATISTICA a že program MATLAB nebude moci nabídnout moc předností. V průběhu psaní této práce jsem však začal měnit názor a na programu MATLAB se mi zalíbily zejména dvě jeho vlastnosti. Jednak možnost vytvořit ze série příkazů funkci, kdy jedním příkazem (spuštěním této funkce) se provedou všechny dílčí příkazy a jsou vypsány jen hodnoty, které nás zajímají, a jednak s tímto související rychlost výpočtů v případě většího množství zpracovávaných souborů dat. U programu STATISTICA zůstalo u mých očekávání, což je především uživatelská přívětivost a výhoda toho, že program je v českém jazyce. I zde existuje možnost zapsat celý postup do jednoho souboru, tzv. makra, jehož spuštěním se provedou všechny nadefinované výpočty. Vytvoření makra však vyžaduje pokročilou znalost programovacího jazyku SVB. Tvorbou maker jsem se ve své práci nezabýval.
29
Přílohy
Přílohy
30
Přílohy
Funkce v MATLABu Níže je uveden příklad funkce, jejíž výstup dává již zpracované výsledky. Vezměme např. poslední počítaný příklad 4.3.1 a soubor Cache.txt. Do souboru pomerove.m uložíme následující posloupnost příkazů: function [] = pomerove(soubor, alpha) [data]=tblread(soubor,'tab'); plot(data(:,1),data(:,2),'o') xlabel('Hrac1'); ylabel('Hrac2'); title('Overeni dvourozmerne normality'); [kor_koef,p_hodnota,DM,HM]=corrcoef(data); disp(['Hodnota vyberoveho korelacniho koeficientu je ',num2str(kor_koef(1,2)),'.']) disp(['Interval spolehlivosti pro tento koeficient je [',num2str(DM(1,2)),';',num2str(HM(1,2)),'].']) if p_hodnota(1,2)
> pomerove('Cache.txt',0.05) kde 0,05 je zvolená hladina významnosti, dostaneme výsledek
a zobrazí se graf posuzující dvourozměrnou normalitu dat.
31
Přílohy
Seznam použitých příkazů v programu MATLAB >> [data, prom1, prom2]=tblread('Soubor.txt','tab') -načtení textového souboru Soubor.txt, jako oddělovač je použitý tabulátor. Do prom1 a prom2 se uloží názvy případů náhodných veličin a do data se uloží jejich číselné vyjádření >> [data, tabulka]=xlsread('Soubor.xls') -načtení excelovského souboru Soubor.xls. Do proměnné tabulka se uloží celý excelovský soubor, do proměnné data se uloží tabulka bez prvního řádku a prvního sloupce >> [m,n]=size(data) -do proměnných m se uloží počet řádků matice data a do proměnné n počet sloupců této matice >> for i=1:m, příkaz, end -pro i od 1 do n provede zadaný příkaz >> if podmínka příkaz1, else příkaz2, end -je-li splněna podmínka, provede se příkaz1, jinak se provede příkaz2 >> n=length(data(:,1)) -do proměnné n se uloží délka prvního sloupce matice data >> r=max(tabulka(:,1)) -do proměnné r se uloží maximální hodnota prvního sloupce matice tabulka >> příkaz1 && příkaz2 -příkaz1 a zároveň příkaz2 >> chi2inv(alpha,n) -vypočítá hodnotu chí-kvadrátu na hladině významnosti alpha s počtem stupňů volnosti n >> chi2cdf(K,(r-1)*(s-1)) -vypočítá hodnotu distribuční funkce rozložení χ2((r-1)*(s-1)) v bodě K >> sqrt(a) -vypočítá odmocninu z a >> plot(data(:,1), data(:,2),'.') -vykreslí bodový graf, kde na ose x budou hodnoty prvního sloupce matice data a na ose y hodnoty druhého sloupce matice data >> axis([82 96 75 96]) -u výše uvedeného grafu změní měřítka os, tj. osa x bude v mezích 82 a 96 a osa y bude v mezích 75 a 96 32
Přílohy >> xlabel('CSFD'), ylabel('IMDB') -u výše uvedeného grafu označí osu x jako CSFD a osu y jako IMDB >> title('Znazorneni dat') -k výše uvedenému grafu přidá název Znazorneni dat >> [Spearman,p_hodnota]=corr(data,'type','Spearman') -vypočítá hodnotu Spearmanova koeficientu pořadové nezávislosti a p-hodnotu pro testování hypotézy o nezávislosti. Náhodné veličiny jsou zadané maticí data >> [test1,p_hodnota1]=lillietest(data(:,1)) -vypočítá p-hodnotu pro testování hypotézy o tom, zda data uložená v prvním sloupci matice data pocházejí z normálního rozložení >> [kor_koef,p_hodnota,DM,HM]=corrcoef(data) -vypočítá hodnotu výběrového korelačního koeficientu, interval spolehlivosti pro tento koeficient a p-hodnotu pro testování hypotézy o nezávislosti >> plot(data(:,1),data(:,2),'o') -vytvoří dvourozměrný graf, kde hodnoty bere z prvního a druhého sloupce matice data >> xlabel('Hrac1') -u výše uvedeného grafu označí osu x jako Hrac1 >> ylabel('Hrac2') -u výše uvedeného grafu označí osu y jako Hrac2 >> title('Overeni dvourozmerne normality') -pojmenuje výše uvedený graf jako Overeni dvourozmerne normality >> kor_koef=kor_koef(1,2) -z matice kor_koef vytvoří matici 1x1 s hodnotou v prvním řádku a druhém sloupci původní matice
33
Přílohy
Kvantily Pearsonova rozložení Uveďme si nejen tabulku těchto hodnot, ale také jejich výpočet v programech STATISTICA a MATLAB. Uvažujme hladinu významnosti alpha a počet stupňů volnosti n. V programu STATISTICA můžeme kritické hodnoty vypočítat v pravděpodobnostním kalkulátoru (v položce Statistika). V MATLABu je vypočteme příkazem >> chi2inv(alpha,n) n \ alpha
0,995
0,990
0,975
0,950
0,900
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
7,8794 10,5966 12,8382 14,8603 16,7496 18,5476 20,2777 21,9550 23,5894 25,1882 26,7568 28,2995 29,8195 31,3193 32,8013 34,2672 35,7185 37,1565 38,5823 39,9968 41,4011 42,7957 44,1813 45,5585 46,9279 48,2899 49,6449 50,9934 52,3356 53,6720
6,6349 9,2103 11,3449 13,2767 15,0863 16,8119 18,4753 20,0902 21,6660 23,2093 24,7250 26,2170 27,6882 29,1412 30,5779 31,9999 33,4087 34,8053 36,1909 37,5662 38,9322 40,2894 41,6384 42,9798 44,3141 45,6417 46,9629 48,2782 49,5879 50,8922
5,0239 7,3778 9,3484 11,1433 12,8325 14,4494 16,0128 17,5345 19,0228 20,4832 21,9200 23,3367 24,7356 26,1189 27,4884 28,8454 30,1910 31,5264 32,8523 34,1696 35,4789 36,7807 38,0756 39,3641 40,6465 41,9232 43,1945 44,4608 45,7223 46,9792
3,8415 5,9915 7,8147 9,4877 11,0705 12,5916 14,0671 15,5073 16,9190 18,3070 19,6751 21,0261 22,3620 23,6848 24,9958 26,2962 27,5871 28,8693 30,1435 31,4104 32,6706 33,9244 35,1725 36,4150 37,6525 38,8851 40,1133 41,3371 42,5570 43,7730
2,7055 4,6052 6,2514 7,7794 9,2364 10,6446 12,0170 13,3616 14,6837 15,9872 17,2750 18,5493 19,8119 21,0641 22,3071 23,5418 24,7690 25,9894 27,2036 28,4120 29,6151 30,8133 32,0069 33,1962 34,3816 35,5632 36,7412 37,9159 39,0875 40,2560
34
Přílohy
Kritické hodnoty pro Spearmanův koeficient pořadové korelace
n 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
r s ; 0,995 0,9429 0,8929 0,8571 0,8167 0,7818 0,7545 0,7273 0,6978 0,6747 0,6536 0,6324 0,6152 0,5975 0,5825 0,5684 0,5545 0,5426 0,5306 0,5200 0,5100 0,5002 0,4915 0,4828 0,4744 0,4665
r s ; 0,990 0,9000 0,8857 0,8571 0,8095 0,7667 0,7333 0,7000 0,6713 0,6429 0,6220 0,6000 0,5824 0,5637 0,5480 0,5333 0,5203 0,5078 0,4963 0,4852 0,4748 0,4654 0,4564 0,4481 0,4401 0,4320 0,4251
r s ; 0,975 0,9000 0,8286 0,7450 0,6905 0,6833 0,6364 0,6091 0,5804 0,5549 0,5341 0,5179 0,5000 0,4853 0,4716 0,4579 0,4451 0,4351 0,4241 0,4150 0,4061 0,3977 0,3894 0,3822 0,3749 0,3685 0,3620
r s ; 0,950 0,8000 0,8000 0,7714 0,6786 0,5952 0,5833 0,5515 0,5273 0,4965 0,4780 0,4293 0,4429 0,4265 0,4118 0,3994 0,3895 0,3789 0,3688 0,3597 0,3518 0,3435 0,3362 0,3299 0,3236 0,3175 0,3113 0,3059 (zdroj: [7])
35
Seznam použité literatury
Seznam použité literatury [1] Budíková M., Lerch T., Mikoláš Š., Základní statistické metody. Brno: Masarykova univerzita 2009 [2] Anděl J. Základy matematické statistiky. Praha: Matfyzpress 2005 [3] Budíková M., Mikoláš Š., Osecký P. Popisná statistika. Brno: Masarykova univerzita 1998 [4] STATISTICA 9.0 for Windows. StatSoft, Inc., 2008 [5] MATLAB 7.8 (R2009a). The MATHWORKS, Inc., 2009 [6] Studijní materiály předmětu Základní statistické metody [7] Bakytová H., Hátle J., Novák I., Ugron M.: Statistická indukce pro ekonomy, Tab. XVIII.
Seznam zdrojů zadání příkladů [8] http://www.terezinstudies.cz/cz2/ITI/publ/survey1998/koudelka3 [9] http://www.czso.cz/csu/2009edicniplan.nsf/t/A5003B3C83/$File/13030910k01.pdf [10] http://www.transparency.cz/index.php?lan=cz&id=2792 http://www.transparency.cz/index.php?lan=cz&id=3018 [11] http://www.csfd.cz http://www.imdb.com
36