Seminář z výpočetní statistiky 19. února 2007
Přednáška 1
materiály: přednášky
zápočet: v průběhu semestr určitý projekt – na zápočet a na známku, která bude ke zkoušce zkouška: zadaný určitý problém, na něj zadaný určitý čas, zpracováván s využitím poznatků, které se v rámci semináře získají, a pak se obhájí
počet posluchačů: 18 + 1 přednášející
Základní etapy statistické analýzy SEMMA:
S – Sample
E – Explore M – Modify
M – Modul
A – Assess
Explore
průzkumová fáze, prozkoumání důležitých vlastností zkoumaných dat
zajímá nás, zda disponibilní datový soubor nemá nějaké zvláštní netypické rysy, které by mohli určitým způsobem ovlivnit další analýzu
snažíme se poznat zvláštnosti datového souboru, snaha najít shluky či „neshluky“ (shluky – soubor je asi nehomogenní, možnost rozdělit a studovat zvlášť), dá se soubor modelovat pomocí normálního rozdělení? (tj. důležitý požadavek pro uskutečnění důležitých statistických analýz)
Modify
netypické údaje – mohou to být údaje chybné (nutno opravit či vyřadit) nebo to je nutno zachytit a nějak se s tím vypořádat
mezery v datech – doplnění údajů – nutno zapojit i lidský faktor a vybrat vhodnou variantu které proměnné do vícenásobného regresního modelu zařadit
Model
provádíme vlastní statistické zpracování
Assess
vyhodnocujeme výsledky a zpracování zprávy
někdy zjistíme, že je nutno celý postup opakovat – tj. vrátit se k E a upravit data
SPSS
program statistický, SEMMA 5A (jiný název, stejné kroky jako v SASu)
Průzkumová analýza dat (Exploratory Data Analysis, EDA)
kombinace grafických, semigrafických a číselných tabulkový postupů, které podají základní informace o
vlastnostech souboru Histogram
zobrazení četností ve formě sloupků
SAS nabízí automaticky počet tříd, dle Sturgesova pravidla: K ≐ 1 + 3,3log n
tímto pravidlem se nemusíme řídit, třídy si můžeme určovat libovolně -1-
Seminář z výpočetní statistiky
histogram nám říká, zda je soubor homogenní, nebo zda se rozpadá do dílčích, menších podsouborů; pozná se to dle toho, zda se zobrazí jen jedna nejčetnější hodnota (pak je to homogenní soubor), nebo více jiných výrazně z většími četnosti rozpad do více souborů zda je soubor rozdělen symetricky kolem středu nebo asymetricky
někdy lze zjistit, zda jsou přítomny odlehlé třídy Box Plot
grafické zobrazení tzv. 5ti číselného souhrnu
minimální hodnot - xmin , dolní kvartil (1. kvartil) – xɶ0,25 , medián - xɶ , horní kvartil – xɶ0,75 , a maximální hodnota - xɶmax
ad 2) údaje odlehlé či extrémní – jak je poznat?
odlehlé hodnoty (outliners) – hodnoty, které vybočí z následujícího intervalu: xɶ ± 1, 5 IQR , kde IQR je interkvartilové rozpětí, tj. IQR=xɶ0,75 − xɶ0,25 ; toto hodnoty se zobrazí ve formě izolovaných bodů – tj.
měly by se prověřit, zda to nejsou chybné údaje či chyby Zjištění normálního rozdělení:
pohledem na histogram – zda je to rovnoměrné, ale je to velmi zběžné, SAS umí to histogramu zakreslit
Gaussovu křivku graf jádrové hustoty – kernel density – jedná o grafické vystižení příslušného histogramu; jádrová hustota se snaží modelovat náš histogram, tj. může to být různě pokroucená křivka, která se snaží zachytit různé zlomy v histogramu, můžeme lépe rozlišit, zda se G. křivka a J. hustota od sebe liší/neliší
normální pravděpodobnostní graf – normal probability plot – je doporučován jako přesnější grafická pomůcka pro zjišťování normality, převádí vše do linearity – s ideální přímkou
na jednu z os se vynesou skutečné údaje seřazené dle velikost, na druhou osu se vynesou hodnoty, které by se vypočetli z modelu normálního
rozdělení (je jedno, na kterou z os se co vynese) pokud jsou skutečné údaje kolem ideální přímky, pak je to velmi silně pravděpodobně model normálního rozdělení
často se stává, že údaje jsou rozmístěny nějakém systematickým způsobem (např. vlevo od přímky,
vpravo od přímky aj.) zřejmý důkaz o tom, že nás soubor nemá normální rozdělení pozn.: v SASu bývá tento graf někdy označován jako tzv. QQ graf (QQ plot, Quantile-Quantile Plot)
zobrazení: přes SAS Insight nebo příkaz normal plot Numerické metody normality:
šikmost – skewness – charakteristika, která nám říká, do jaké míry jsou data v datovém souboru rozmístěna
1 n 3 ∑ ( xi − x ) n i =1 souměrně kolem nějaké středové hodnoty: A = ; ta by v případě normálního rozdělení měla s3 nabývat hodnotu 0, pokud to je kolem 0 v malých rozmezích, pak je tato vlastnost spojena
-2-
Seminář z výpočetní statistiky
1 n 4 ∑ ( xi − x ) n i =1 špičatost – kurtosis - E = − 3 , opět by měla nabývat v případě s4 normálního rozdělení hodnotu 0 špičatost měří hustotu konců rozdělení četností analyzované veličiny, tzn. charakterizuje výskyt extrémně vysokých a extrémně nízkých hodnot
pokud E > 0 hovoříme o rozdělení s těžkými konci (heavy-tailed distribution), těžké konce zastoupeny s velkou četností, velmi nepříjemný z hlediska statistického zpracování
pokud E < 0 hovoříme o rozdělení s lehkými konci (light-tailed distribution), většina četností kolem vrcholu, extrémy jsou soustředěny málo, s tímto souborem se pracuje lépe než s rozdělením s těžkými konci
Testy normality
Pro malé soubory – ty, které mají do 2 000 pozorování: Shapiro - Wilk ( n ≤ 2000 ) , kvalitní test, budeme jej používat
Pro soubory s více než 2000 pozorování:
Kolmagorov - Smirnov ( n > 2000 ) , ten SAS upřednostňuje
Gramer - von Mises ( n > 2000 )
Anderson – Darling ( n > 2000 ) , tento test je doporučován (budeme jej používat)
všechny tyto testy testují hypotézu:
H 0 : analyzovaný soubor má normální rozdělení
p-hodnoty (p-value): pokud se objeví hodnota p < 0, 05 (tj. p je menší než 5% hladina významnosti), pak hypotézu zamítáme, pro p > 0, 05 nulovou hypotézu přijímáme 26. února 2007
Přednáška 2
počet posluchačů: 15; přednášející: 1
Prohlédnutí dat: proc print data = svs; var body; run;
SAS/LAB Guided Data Analysis na liště – Solutions – Analysis – Guided Data Analysis Kernel density – jádrová hustota – křivka, která se snaží co nejlépe plynulým způsobem vystihnout tvar našeho histogramu
Prohlédnutí v grafu – na Normal probability; říkáme, že test má normální rozdělní (nulová hypotéza), objeví se p-hodnota (používá se Shapiro-Wilk test), pokud je nižší než hladina významnosti, tak se nulová hypotéza zamítá
Zobrazení četností: proc freq data = svs; tables body; run;
Charakteristiky souboru: proc univariate data = svs; run;
variační koeficient do 60% signalizuje přijatelnou variabilitu
mezikvartilové rozpět – rozdíl mezi horním a dolním kvartilem – udává rozdíl 50% hodnot studentovo t – jednovýběrový t-test -3-
Seminář z výpočetní statistiky
znaménko – Wilcoxonův test znam. pořadí – znaménkový test
kvantily – čísla, která uspořádaný soubor rozdělí na zvolený počet dílčích částí stejně početný, stejně obsazený; (existují decily – na 10 dílů, percentily – na 100 dílů)
úprava příkazu univariate: proc univariate data = svs normal plot cibasic mu0=75; var body; run;
normal
plot
cibasic
mu0=75
O – odlehlá hodnota – méně podezřelá hodnota
– vyvolání testu normality
– zobrazí se box-plot a „stam-and-leaf display“ - základní intervaly spolehlivosti (průměr, směrodatná odchylka, rozptyl)
– průměr je 75 bodů Krb. graf – Box-plot 5. března 2007
Přednáška 3 Modify: prohlédnutí údajů, zda se skutečně dobře zadali (pokud to lze) vyřazení údajů (cenzurování):
je to možná úprava, dříve bývala doporučovaná, vzniká problém, že vyřazováním údajů ztrácíme určitou informaci
provádí se zejména tehdy, máme-li velký datový soubor upravení hodnot:
zmenšení extrémnosti, přiblížení ostatním hodnotám
vhodná technika – winsorizace: všechny nejmenší hodnoty se nahradí hodnotou, která je před nimi
soubor se nezmenší, jen se přizpůsobí jejich hodnotám tato operace je symetrická; to co se provede na levé straně, to se musí provést na pravé straně (i když
tam žádná hodnota třeba problematická není) vhodná u souborů, které nejsou příliš velké a rozsáhlé procedura: proc univariate data = svs normal plot cibasic mu0 = 75 winsor = 3 trimmed = 3; var body; run;
parametry:
normal
plot
cibasic
mu0 = 75
winsor = 3
– otestování, že data mají normální rozdělení
– 3 grafické výstupy (boxplot apod.) – základní intervaly spolehlivosti (průměr, směrodatná odchylka, rozptyl) – test hypotézy, že nulový zisk je 75 bodů – za rovnítko počet bodů, které se budou přizpůsobovat ostatním
trimmed = 3 – cenzurování, usekávání 3 (v našem případě) hodnot procedura pro výpis pouze histogramu: proc univariate data = svs noprint; histogram body / normal kernel; probplot body/normal; run;
normal
– zakreslení Gaussovy křivky
kornel
– zakreslení jádrové hustoty
-4-
Seminář z výpočetní statistiky
probplot
– normální pravděpodobnostní graf: f ( x ) =
1
σ 2π
e
−
( x − µ )2 2σ 2
jakmile se dá příkaz histogram, vypadne Shapiro-Wilcox test procedura pro výpis histogramu s přidanými informacemi: proc univariate data = svs noprint; histogram body / normal (color = red kernel color = green); probplot body / normal (mu = est sigma = est w = 3); symbol v = circle; inset min q1 median mean q3 max / position = bm; run;
mu = est
sigma = est
symbol v = circle
inset
w = 3
– znázornění přímky, vycházející z průměrné hodnoty normálního souboru
– modifikace tloušťky přímky – modifikace, jak by měl vypadat normální pravděpodobností graf (místo výchozích
křížků budou kolečka; lze ještě dot, triangle apod.)
– doplnění/vložení ke grafu určitých výstupů/informací:
min
– minimum, q1 – dolní kvartil; median – medián; mean – průměr; q3 – horní kvartil; max –
maximum; position – kam vložit tyto informace; bm – bottom margin (dolní okraj)
Rozdělení souboru do několika dílčích podsouborů jedna proměnná kvantitativní a jedna kvalitativní soubor – jedna hodnota číselná (podkožní tuk) a jedna pohlaví (m/f) procedura MEANS: proc means data = svs; class gender; var fat; run;
rozdělení výstupů – dle pohlaví – tj. class = gender proc means data = svs n mean median min max range stddev q1 q3 qrange cv skewness kurtosis clm maxdec = 3; class = gender; var fata; run;
range
qrange
cv
skewness
– šikmost
kurtosis
– špičatost
clm
maxdec
– variační rozpětí – kvadrilové rozpětí
– variační koeficient
– conffidence limit for mean – interval spolehlivosti pro průměr = 3 – určí se, na kolik desetinných bude výstup
variabilita do 60% - je přijatelná, více – signalizuje „rozházenost“ souboru kladná špičatost – těžké konce
výstup graficky: proc chart data = svs; hbar fat / group = gender; run;
zobrazení grafu (hbar, vbar);
zadání group = jméno kvalitativní proměnné – vytvoří se graf „side-by-side plot“ – vedle sebe
samostatné grafy – pomocí dvou procedur: proc sort data = svs; by gender; run; -5-
Seminář z výpočetní statistiky proc chart data = svs; by gender; hbar fat; run;
nejdříve setřídění dat podle kvalitativní proměnné (tj. proc sort) a pak následuje procedura chart, kde se dá stejné jméno jako v třídicí proceduře a vykreslím graf; 12. března 2007
Přednáška 4
účast: 15 studentů + jeden přednášející
Základní parametrické a neparametrické testy o střední hodnotě a) případ jednoho výběru: jednovýběrový t-test:
H 0 : µ = µ0 (1), kde µ je průměr základního souboru; µ0 je předpokládaná hodnota průměru základního souboru
test je založen na klíčovém předpokladu, že analyzovaný datový soubor má normální rozdělení
Předpoklad: data analyzovaného výběru pocházejí ze základního souboru s normálním rozdělením pokud je předpoklad splněné, testujeme pomocí jednovýběrového t-testu
pokud předpoklad není splněn – použije se neparametrický Wilcoxonův test
SAS: procedure UNIVARIATE procedure TTEST kombinací těchto procedur se bude hypotéza uvádět a testovat
b) porovnání průměrů dvou souborů
H 0 : µ1 = µ0 , kde µ1 je průměr 1. základního souboru; µ2 je průměr 2. základního souboru
1) porovnávané výběry jsou nezávislé
předpoklady použitelnosti: porovnávané datové soubory představují náhodné výběry ze základních souborů s normálním rozdělením
porovnávané soubory musí mít stejnou variabilitu, tj. aby byl splněn požadavek: H 0 : σ 12 = σ 22 (2), tj. rozptyl 1. základního souboru se rovná rozptylu 2. základního souboru
pokud jsou tyto požadavky splněny, testuje se hypotéza (2) pomocí dvouvýběrového t-testu (parametrický
test) jestliže není splněn požadavek rovnosti rozptylů, testuje se hypotéza (2) pomocí tzv. Welchova testu
(parametrický test) pokud porovnávané výběry nemají normální rozdělení, testuje se hypotéza (2) pomocí neparametrického
dvouvýběrového Wilcoxonova testu (procedure NPAR1WAY) Procedura UNIVARIATE (pro využití T-Testu) proc univariate data = svs normal polto mu0 = 1000; // pro 1000 předpokládaný průměr var hmotnost; run;
parametrický test – díváme se na studentovo t (v testech polohy) testy normality – při 20 hodnotách se díváme na Shapiro-Wilk test, říká, že soubor má normální rozdělení – pro malé soubory je tento test málo silný, test má tendenci hypotézu přijímat; pro velké soubory má tendenci být naopak velmi silný a hypotézy zamítá dívat se nejen na test, ale i na grafický výstup – na graf normálního rozdělení -6-
Seminář z výpočetní statistiky
neparametrický test – Znam. pořadí S ( v testech polohy) Procedura TTEST proc ttest data = svs H0 = 1000; var hmotnost; run;
průměr dolní CL a horní CL (intervaly spolehlivosti pro průměr)
automaticky se vypočítávají meze 95% intervalu spolehlivosti
mezní odchylka – to samé výsledek T-testu – v bloku „T-testy“
nabízí pouze parametrický 1-výběrový t-test, nenabízí neparametrický test a nenabízí možnosti prověřování normality (je tedy nezbytné toto provést a zkontrolovat) 2-výběrové testy
parametrický test proc ttest data = svs; class technologie; //kvalitativní proměnná var doba; //kvantitativní proměnná run;
blok rovnost variancí (na konci): zda je splněn rovnost rozptylů – pokud to platí, pak se dívat do bloku Ttesty – dívat se do bloku se správným T-testem – sloupec Rozptyl – Equal versus Unequal záleží na naší rovnosti varianci
neparametrický test: proc npar1way data = svs wilcoxon; class technologie; var doba; run;
sloupec Wilcoxonův dvouvýběrový test – blok normální aproximace – dvoustranná p-hodnota (Pr > |Z|)
pro závislé testy – párové výběrý proc ttest data = svs; paired standardni * usporna;
//párové údaje, jména dílčích souborů, které porovnávám, oddělení hvězdičkou
run;
ve výstupu – podívat se na T-Testy
diference souborů – test pro nulovou hodnotu rozdílu data svs; set svs; rozdil = standardni – usporna; //rozdil mezi postupy run; pro univariate data = svs; var rozdil; run; 19. února 2007
Přednáška 5 Analýza rozptylu
rozšíření problematiky párového t-testu, slouží k porovnávání více než 2 souborů nulová hypotéza: průměry více než dvou souborů se sobě rovnají
alternativní: alespoň jeden ze souborů má jiný průměr technika není použitelná univerzálně – data musí splňovat určité předpoklady
H 0 : µ1 = µ 2 = ... = µ ki , kde se jedná o průměry základních souborů
A0 : alespoň jeden průměr se ostatním nerovná -7-
Seminář z výpočetní statistiky
zkratka ANOVA – analýza rozptylu – analysis of variance ANOV – parametrická testovací metoda předpoklady použitelnosti analýzy rozptylu: 1) porovnávané výběrové soubory jsou navzájem nezávislé 2) analyzovaná data představují náhodné výběry, které byly pořízeny ze základních souborů, které mají normální rozdělení s konstantním rozptylem porovnávané výběry by měli mít přibližně stejnou variabilitu
pokud nejsou splněny výše uvedené předpoklady – nutno použít neparametrický test – neparametrická obdobou ANOVA je tzv. Kruskal-Wallisův test
příklad – porovnání 3 souborů, představují dobu, která uplynule od podání určitého léku do doby, než
příznaky nemoci ustoupili (léky B1, B2, B3), analyzovaná data je doba v minutách metoda OSD
zjištění normality – metoda ODS (output delivery system) – ve spojení s procedurami SASu – umožňuje, abychom lépe provedli test normality (i lepší výstup, než např. procedura univariate): ods exclude moments testforlocation quantiles extremeobs; proc univariate data = svs normal plot; class lek; var doba; run;
exclude – vyloučení: moments (vyloučení bloku s momenty); testforlocation (testy polohy); quantiles (vyřazení bloku s kvantily), extremeobs (extrémní pozorování)
dále – vyžádání si testu normality a zobrazení grafických výstupů Obecný lineární model – procedura GLM proc glm data = svs; class = lek; model doba = lek; means lek; run;
model – chceme modelovat, jak doba závisí na léku proc glm data = svs; class = lek; model doba = lek; means lek / hovtest tukey; proc boxplot; plot doba * lek; run;
hovtest – test homogenity rozptylu – ověření, zda soubory mají stejnou variabilitu (Levene’s Test for
Homogenity…) tukey – rozlišení metodou mnohonásobného porovnávání (multiple comparsion) – Tukeyho test…
test probíhá tím způsobem, že se vypočtou všechny možné rozdíly mezi možnými porovnávanými průměry
t-metoda spočítá minimální rozdíl významnosti – představuje hranici, která odděluje nepodstatný náhodný rozdíl průměrů od toho již podstatného, významného – pokud rozdíly překročí tuto hranici, pak diference mezi porovnávanými soubory je významný
SAS to vše sám shrne zařazení procedury bloxplot, vzájemná pozice doba a léku
vyvážený pokusný plán je charakterizován tím, že všechny porovnávané soubory mají stejný počet pozorování (vyvážený = ortogonální) LSD metoda – least signification difference
tehdy, když nás předem bude zajímat jedna konkrétní diference, jeden konkrétní soubor – tj. bude-li se lišit od ostatních – je pro nás důležitý a chceme se na něj zaměřit
-8-
Seminář z výpočetní statistiky
v tomto případě je doporučována metoda LSD, je silnější, zejm. v tom, že minimální hodnota (minimální rozdíl významnosti) je nižší, tj. je citlivější proc glm data = svs; class = lek; model doba = lek; means lek / hovtest LSD; proc boxplot; plot doba * lek; run;
parametrem LSD – vyžádána procedura LSD S-metoda
Scheffé (autor), pokud je pokusný plán nevyvážený (tj. výběry mají nestejné soubory) proc glm data = svs; class = lek; model doba = lek; means lek / hovtest scheffe; proc boxplot; plot doba * lek; run;
parametr scheffe
univerzální/vhodná metoda, může být použita i pro vyvážené pokusné plány, je méně citlivá, je schopná odhalit až velké rozdíly mezi porovnávanými rozdíly
poznamka:Šidákova metoda – parametr „sidak“ – lze použít pro parametrické i neparametrické testy Metoda REGWQ proc glm data = svs; class = lek; model doba = lek; means lek / hovtest regwq; run;
dle názvů příjmení autorů
tato technika se zaměřuje na odhalení chyby 2. druhu (předchozí se spíše zaměřovali na odhalení chyby 1. druhu) Dunnettova metoda proc glm data = svs; class = lek; model doba = lek; means lek / hovtest dunnett („B2“); run;
porovnávání se standardem – máme nějaký průměr, který považujeme za standard a chceme to porovnat s tímto standardem – vybraným (do závorky napsat název kategorie) CLDIFF proc glm data = svs; class = lek; model doba = lek; means lek / hovtest tukey cldiff; run;
místo seskupení průměrů písmenky, spočítají se všechny rozdíly souborů, hvězdičkami se vyznačí, které průměry se odlišují
-9-
Seminář z výpočetní statistiky 26. března 2007
Přednáška 6 Anova (2) Procedura GLM:
data nezávislá
porovnávané výběry stejné rozptyly
normální rozdělení
pomocná nulová hypotéza: H 0 : σ 12 = σ 22 = ... = σ k2 , k > 2
analýza rozptylu je velmi odolná vůči nesrovnalostem v normalitě rozdělení, ale je hodně ovlivňována nesplněním pomocného požadavku doplňkový požadavek hovtest Levenův test (homogenita rozptylu)
Brown-Forsythe test – v současnosti nejlepší test pro homogenitu rozptylu dle statistické metodologie: do příkazu: hovtest = bf
Procedura ANOVA
syntaxe je úplně stejná jako u GLM: proc ANOVA
pokud je pokusný plán vyvážený, všechny porovnávané výběrové soubory mají stejné rozsahy, tak je možno používat tuto proceduru – tato procedura je rychlejší, má lepší algoritmus
Nesrovnalosti
Jak postupovat v případě, že není splněné předpoklad o shodě rozptylů, případně když je výrazně narušena normalita rozdělení. V tomto případě není procedura GLM vhodným postupem.
Analýza rozptylu = parametrická testovací metoda ( nutná normalita rozdělní, shoda rozptylů); pokud tyto předpoklady splněny nejsou, pak je nutno zvolit neparametrickou metodu (obdobu) analýzy rozptylu
Kruskal-Wallisův test
Kruskal-Wallisův test
funguje univerzálněji, nepožaduje žádné požadavky na vstupní data
má menší sílu než ANOVA
proc NPAR1WAY
pokud se test zamítne, tak SAS implicitně neřekne, který ten soubor je jiný…
v případě, že nulová hypotéza H 0 : σ 12 = σ 22 = ... = σ k2 , k > 2 byla zamítnuta, je nutné pomocí metody
mnohonásobného porovnávání provést detailnější zhodnocení výsledků analýzy rozhodnout, které průměry se od sebe statisticky významně liší metoda LSD
může být zavádějící, při opakovaném použití může vést k chybě 1. druhu, můžeme odhalovat rozdíly, které ve skutečnosti nejsou
pouze při velmi omezeném počtu – 1 či 2 diferencí je metoda vhodná než ostatní T-metoda (tukey)
velmi citlivá na postupy, bývá doporučována zejm. u vyvážených pokusných plánů, pak bývá v těchto
případech považována za jednu z nejlepších SAS ji doplnil, může být používána i pro nevyvážené pokusné plány, ale velmi dobře funguje zejména u
vyvážených plánů, u nevyvážených plánů můžou být lepší jiné metody Bonferoni
argument bon
je použitelná univerzálně pro vyvážené i nevyvážené pokusné plány, dokáže odhalit menší diference, slabší než T-metoda - 10 -
Seminář z výpočetní statistiky
Šidák
metoda sidak
v případě nevyvážených pokusný plánů, zde funguje dobře a dává dobré výsledky S-metoda
Scheffé, parametr scheffe
metoda univerzální, poměrně slabá, je schopna odhalovat až poměrně velké rozdíly mezi soubory, pokud nás zajímají rozdíly nejen mezi bezprostředními průměry, ale i mezi tzv. kontrasty určité lineární kombinace průměrů; pokud vytvořím určité lineární kombinace rozdílů
např. by nás zajímalo – tj. lineární kontrastem by bylo: první a druhý průměr a to bych zprůměrňoval:
µ1 + µ2
první lineární kontrast,
2 kontrasty Dunnett metoda
µ3 + µ 4 2
např. druhý lineární kontrast a chceme porovnat tyto dva
zapisuje se: dunnet („jmeno_te_varianty_se_kterou_ostatni_porovnavame“)
metoda, která je vhodná pro porovnávání s jednou hodnotou, jestliže mám jeden průměr, který považujeme za normu, standard, s nímž porovnávám všechny ostatní Duncanův test
parametr duncan pro vyvážený i nevyvážený plán metoda REGWQ
Rayen-Einot-Gabriel-Welsch-Q velmi kvalitní, silný test
na rozdíl od předchozích testů, které se snaží omezit chybu první druhu (tj. zamítnutí hypotézy, která je ve skutečnosti správná), se tento test snaží zamezit chybě druhého druhu (tj. přijetí hypotézy, která je ve skutečnosti chybná)
tj. snaží se omezit riziko, že bychom přijali riziko, která je ve skutečnosti nesprávná Příklad: proc glm data = svs; class lek; model doba = lek; means lek / hovtest = bf lsd bon tukey eidam scheffe regwq dunett („B2“); proc boxplot; plot doba * let / notched; run;
plot – druhá proměnná je třídící; notched – určité grafické zhodnocení testu
t-test – LSD – pokud rozdíl Lest Sign. Diff. tuto hodnotu, budeme jej považovat za výrazný; čím je číslo menší, tím je metoda silnější
zářez v box-plotu – graficky vymezuje hranice intervalu spolehlivosti pro medián; pokud se tyto hranice překryjí, pak v tomto případě mezi těmito soubory s velkou pravděpodobností není rozdíl; pokud se nepřekrývají, pak rozdíl je s velkou pravděpodobností
box-plot v základní podobě – skeletální typ – není schopna odlišit netypické, odlehlé aj. hodnoty; skeletální forma – vede vždycky úsečku v k maximu/minimu; abychom tam měli odlehlé hodnoty, tak se musí napsat k proceduře: boxstyle = schematic , pak boxploty zobrazují údaje extrémní, netypické, vybočující 2. dubna 2007
Přednáška 7 Analýza statistických závislostí – Korelační a regresní analýza
zabývá se zkoumáním tzv. statistických závislostí - 11 -
Seminář z výpočetní statistiky
závislost funkční – každé hodnotě nezávislé proměnné je přiřazena právě jedna hodnota závisle proměnné korelační pole (scatterplot) – při zkoumání závislosti je:
korelace – jak silná závislost, jak těsně spolu veličiny souvisejí regrese – jak vypadá pole
jednoduchá závislost – je charakterizována tím, že jsou pouze dvě veličiny:
y - závisle proměnná – vysvětlovaná proměnná
x - nezávisle proměnná – vysvětlující proměnná, regresor
zkoumá se, do jaké míry je veličina y ovlivňována nezávisle proměnnou x
mnohonásobná závislost:
y = f ( x1 , x2 ,..., xk )
je větší počet vysvětlujících proměnných, které ovlivňují vysvětlovanou proměnnou
jednostranná závislost: u jednoduchých závislostí pokud pouze jedna z těch dvou veličin může logicky vystupovat v roli závisle proměnné a druhá v roli nezávisle proměnné
oboustranná závislost: jen u jednoduchých závislostí
v závislosti na situaci lze přehazovat závisle a nezávisle proměnné
Korelační pole:
umožní posoudit, zda vůbec existuje závislost mezi proměnnými existence závislosti
z jeho zobrazení lze identifikovat, zda v datovém materiálu neexistují odlehlé hodnoty identifikace možný tvar závislosti – z tvaru či uspořádání můžeme některé funkce popisující tvar závislosti vyloučit nebo zařadit
v závislosti na grafickém znázornění: lineární funkce, parabola, sinus/cosinus funkce, nebo tam závislost nemusí být, resp. je slabá – dle pole připomínající „shluk“
kauzální – příčinná závislost: i když graf vypadá hezky, nelze říci, že existuje nějaká tato závislost
musíme se ptát – je to logické, má to smysl? odpovídá to racionálním důvodům (např. délka sukní a akci na burze…)
jak zkoumat korelační pole (ukázka, proč se na to dívat i graficky):
body „na přímce“ vhodné korelační pole, lze proložit přímkou a uvést k ní rovnici a koeficient determinace R-square, říká, na kolik model z kolika % vystihuje daný problém
body mají nelineární průběh SAS sice proloží přímku, která má stejnou rovnici a R-square jako v prvním případě body s odlehlým pozorováním (buď jakoby vodorovná přímka nebo svislá)
Příklad:
z SASUSER.MONOX
1) nejdříve se podívat na korelační pole procedura GPLOT: proc gplot data = sasuser.monox; plot co * cars; symbol v = dot h = 2 w = 2 c = red; run;
nejdříve se uvádí závisle proměnná (co) a pak nezávisle proměnná (cars) na dalším řádku se nastavuje formátování
v = dot
– jak budou body v grafu zobrazeny (puntíky); h = 2 – height – jak silné jsou body; w = 2 – wight
(dtto height); c = red – color - 12 -
Seminář z výpočetní statistiky
modul SAS/LAB:
v Guided data analysis
textový výklad;
assumptions violated – narušeny předpoklady interpretation
overall findings assumptions:
prozkoumání: response scaling – jestli je třeba data upravovat
curvilinearity – nelieneairaita
outliers – odlehlé údaje constatn variance – konstantní varianty
influential observations – vlivná pozorování kde je hvězdička – tam je problém – klik na to – další výsledek
outliers: potenciální pozorování – identifikováno číslem, opět je možno získat textovou nápovědu
overall fit: Pr > F – zda je model statisticky významný; tj. zda mezi veličinami existuje či neexistuje
statistická závislost parameter estimates:
intercept – absolutní člen v rovnici
rovnice: y = a + bx , kde a je intercept a b je název proměnné
koeficienty jsou nezávisle testovány
testují se i jeho složky test říká – že člen není statisticky významný SAS/Insight:
spousta výstupů
Regresní diagnostika představuje soubor postupů, které dovolují zhodnotit kvalitu zkonstruovaného modelu a kvalitu vstupních dat
je založena na pojmu reziduí: ei = yi − yi′ , kde yi jsou empirické hodnoty, yi′ jsou vypočtené hodnoty dle modelu – tj. hodnoty na přímce
představují prostředek pro reziduální / regresní diagnostiku
předpoklady na rezidua: měly by to být nezávislé náhodné veličiny, které mají normální rozdělení s nulovou střední hodnotou a konstantním rozptylem
pokud jsou rezidua v „obdélníku“ – dobré
nebo mohou být v parabole (nežádoucí) rezidua v megafonu – byly zjišťovány se stejnou přesností (nežádoucí)
rezidua v sinus křivce – je závislost mezi reziduí (nežádoucí)
Regresní procedura: proc reg data = sasuser.monox; model co = cars; /* závisle proměnná = nezávisle proměnní */ plot co * cars; run;
výstup: analýza rozptylu – říká, zda je model statisticky významný; pokud by model nebyl významný, pak pro nás nemá příliš velkou cenu, platí jen pro naše údaje - 13 -
Seminář z výpočetní statistiky
pak je informace o koeficientu determinace odhady parametrů včetně jejich otestování s významností
obrázek s korelačním polem + po straně vhodné informace
detailnější regresní diagnostika: proc reg data = sasuser.monox; model co = cars/r; /* /r – parametr na vyžádání reziduí */ run;
výstup se doplní o následující informace: Studentizováná rezidua (v CZ překladu – Studentovo reziduu) – informace, zda v množině y údajů veličiny závisle proměnné není nějaký problém – něco, co vybočilo – informuje o přítomnosti odlehlých pozorování – pokud překročí 2 – je to odlehlé pozorování
nebo taktéž studentizovana rezidua – s více jak 4 a více hvězdiček pozorování odlehlé + vlivné – ovlivňuje kvalitu Cookovo D – Cookova vzdálenost – musí se spočítat hranice:
4 , pokud nějaký údaje tuto hranici překročí n
proc reg data = sasuser.monox; model co = cars/r influence; /* influence – rozšíření výstupu */ run;
rozšíření výstupu k dalším sloupečkům – všímat si zejm. sloupečku Hat Diag H – obsahuje charakteristiky leverege – vliv – informují nás, jestli v množině x hodnot není odlehlé pozorování; výpočet hranice: 2 ⋅
p , kde p je počet parametrů rovnice (tj. pro naši rovnici to je 2) n 16. dubna 2007
Přednáška 8 Vícenásobná regrese a korelace
10 posluchačů + 1 přednášející
ei = yi − yi' , i = 1, 2,..., n s požadavkem, aby ei ∼ ° N ( Θ, σ 2 ) , kde σ 2 je konstantní
y ′ = b0 + b1 x1 + ... + bk xk , kde y je vysvětlovaná proměnná (závisle proměnná); x1 ,..., xk jsou vysvětlující proměnné (nezávisle proměnné, regresory)
b0 - absolutní člen modelu (intercept), b1 ,..., bk - parciální regresní koeficienty
Multikolinearita:
nežádoucí vlastnost
aby se proměnné mezi sebou navzájem neovlivňovali pokud jsou proměnné mezi s sebou silně závislé
rxi y j > 0, 75 pokud je tato hranice překročena, pak v modelu je určitá nežádoucí provázanost
vysvětlujících proměnných měly by se hodnoty upravit
spočítání charakteristiky VIF (Variance Inflation Factor), pokud VIF > 10 příslušná hodnota je nadbytečná
dopady multikolinearity: model nemá dobré vysvětlující vlastnosti model je velmi nestabilní přidáním dalšího pozorování může model velmi změnit
při tvorbě odhadů může naopak někdy odhad zlepšit
Příklad
U 10 podniků 3 proměnné: neschopnost (pracovní), průměrný věk, podíl žen na celkovém počtu zaměstnanců. Do jaké míry je neschopnost ovlivňovaná věkem zaměstnanců a podílem žen. - 14 -
Seminář z výpočetní statistiky
1) Posouzení normality rozdělení analyzovaných proměnných: ods exclude Moments BasicMeasures TestsForLocation Quantiles ExtremeObs; proc univariate data = svs normal plot; run;
2) Scatter Plot Matrix – matice korelačních polí jednotlivých proměnných proc insight data = svs; scatter neschopnost vek zeny * neschopnost vek zeny; run;
scatter – následuje seznam proměnných, za hvězdičkou jsou zopakovány proměnné; zobrazí se matice
korelačních grafů – každá proměnná s každou 3) Zjištění korelace proc corr data = svs; run;
spočítá základní statistické charakteristiky proměnných pak spočítá korelační matici (korelační koeficienty a p-hodnoty) 4) Výpočet parametrického Personova korelačního
koeficientu
a
Spearmanova
neparametrického koeficientu pořadové korelace
zároveň potlačení tisku základních statistických charakteristik proc corr data = svs spearman pearson nosimple; run;
5) Procedura CORR s využitím příkazu WITH proc corr data = svs nosimple; var vek zeny; with neschopnost; run;
koreluj vek a zeny s proměnnou neschopnost 6) Modifikace procedury CORR
uspořádání korelačních koeficientů podle absolutní hodnoty – parametr rank proc corr data = svs nosimple rank; run;
7) Základní syntaxe procedury REG proc reg data = svs; model neschopnost = vek zeny; run;
závisle proměnná = seznam nezávisle proměnných
zda je model statisticky významný (nul. hypotéza – že není statistiky významný) R-kvadrát – koeficient mnohonásobné determinace; konstatování, jak dané proměnné vysvětlují vysvětlovanou proměnnou
odhady parametrů – jak vypadají koeficienty rovnice u jednotlivých proměnných, na konci jsou individuální p-hodnoty, jak jsou statisticky významné nebo nevýznamné koeficienty; např. model jako celek může být
významný, ale rozpadá se na jednotlivé části 8) Procedura REG doplněná o volitelné argumenty
tisk grafů regresní diagnostiky (graf reziduí, graf hodnot Cookovy vzdálenosti)
posouzení multikolinearity – VIF posouzení homoskedasticity – SPEC (zda je splněn požadavek konstantnosti rozptylu) 1 proc reg data = svs corr simple; 2 model neschopnost = vek zeny / stb r influcence vif spec; 3 plot r. * p. / cframe = ligr; 4 plot cookd. *p . / cframe = yellow; 5 symbol v = dot c = green; 6 output out = diag r = rezid; 7 run; 8 quit; - 15 -
Seminář z výpočetní statistiky
1. – simple – základní statistické proměnné, corr – spočítání korelačního koeficientů (pearsonovské)
2. – stb – standardizované regresní koeficienty (beta koeficienty) – vliv jednotlivých vysvětlujících proměnných na vysvětlovanou proměnnou; r – vyžaduje rezidua pro regresní charakteristiku; influcence – vliv odlehlých pozorování; vif – testování multikolinearity; spec – výpočet White testu – umožňuje otestovat, zda rezidua mají požadovaný konstantní rozptyl
3. – plot r.*p. – zobrazí rezidua; cframe = ligr – barva pozadí (světle šedivá)
6. – output – slouží k testování toho, zda rezidua mají konstantní rozptyl s nulovým průměrm; vygeneruje nový datový soubor, jehož jméno se zapíše za příkaz out (tj. diag), bude v sobě automaticky obsahovat soubor svs a navíc bude obsahovat rezidua, tj. r=rezid – do souboru se zařadí rezidua (do proměnné rezid)
8. – quit – pro jistotu, aby se nemíchali proměnné;
White test – jako Test první a druhé specifikace momentu – zajímá nás z něj p-hodnota, pokud větší než 5%, pak je všechno v pořádku rezidua mají konstantní rozptyl
Charakteristika VIF – jako Inflace proměnné – hranice je 10 9) Testování normality reziduí ods exclude Moments BasicMeasures Quantiles ExtremeObs; proc univariate data = diag normal plot; var rezid; run;
pozor – aplikuje se na nový v předchozím případě vytvořený datový soubor diag 23. dubna 2007
Přednáška 9 Vícenásobná regresní a korelační analýza (2) Určení optimální podmnožiny vysvětlujících proměnných
princip úspornosti modelu – princip parsimoie – chceme, aby model byl co možná nejjednodušší, i za cenu
to vyplatí příklad ze SASUSER.FITNESS
toho, že ztratíme nějakou informaci, ale pokud bude model matematicky relativně jednoduchý apod., pak se
1) Nejdříve pomocí procedury corr zjištění korelační matice: proc corr data = sasuser.fitness pearson spearman nosimple; var age - - maxpulse; with oxygen; run;
s proměnnou oxygen chci korelovat ostatní proměnné – v příkazu var se vyjmenují vysvětlující proměnné, se kterými chci počítat – je zde fígl na usnadnění – napíše se první a poslední v řadě
spočítají se korelační koeficienty mezi závisle proměnnou a ostatními proměnnými; neparametrické Spearmanovy korelační koeficienty
Nechat proběhnout proceduru corr proc corr data = sasuser.fitness nosimple; var age - - maxpulse; run;
zjišťujeme, že některé proměnné lze vyřadit, protože mají mezi s sebou silnou závislost
spočítáme si proceduru reg – pokud je hodnota > 10 – pak je to problematická proměnná proc reg data = sasuser.fitness; model oxygen = age - - maxpulse / stb r influence spec vif; plot r. * p.; plot cookd. * obs.; symbol v = dot c = red; run;
- 16 -
Seminář z výpočetní statistiky
stb – standardizované koeficienty; argument r – studentizovaná rezidua a cookova vzdálenost; spec – posouzení, zda argumenty mají stálost reziduí
vif – informace o multikolinearitě První blok – Analýza rozptylo – hodnotí významnost modelu – je významný (p < alfa)
R-kvadrát říká, že spotřeba kyslíku je vysvětlována z cca 84% Blok odhady parametrů:
pro každou proměnnou je spočítán její koeficient, její p-hodnota, model jako celek může být významný,
ale některé složky významné být nemusí Blok inflace proměnné:
slouží k posouzení multikolienarity – charakteristiky VIF – hranice je 10, blíží se k tomu runpulse a maxpulse proměnné
obvyklé regresní koeficienty (odhad parametru v bloku odhady parametrů) – vliv jednotlivé proměnné na závisle proměnnou (tj. o kolik se v průměru změní nezávisle proměnná změní, když se závisle proměnná změní o jednu jednotku)
sloupeček standardizovaný odhad – tj. beta koeficienty, nebo standardizované regresní koeficienty – získali se pomocí požadavku STB v příkazu procedury, umožní posoudit, jaký je relativní vliv, v jakém vztahu jsou jednotlivé vysvětlující proměnné vůči sobě; beta koeficienty umožní porovnat důležitost jednotlivých proměnných
závěr: pokud chceme posuzovat, jak se konkrétní vysvětlující proměnná podílí na vysvětlované proměnné, používáme vstupní odhady parametru; pokud chceme důležitost odhadu posoudit navzájem, musíme je porovnávat pomocí beta koeficientů
graf reziduálních hodnot: měly by být kolem osy a neměly by se moc zvětšovat graf Cookovy vzdálenosti – hodnotící vlivnost jednotlivých pozorování – počítá se pomocí známého vzorce
(viz výše) – v našem případě jsou 2 hodnoty překračující Výběr optimální podmnožiny vysvětlujících proměnných metodami:
forward: postupně zařazuje proměnné; nejdříve tu, která se jeví jako nejdůležitější – tj. má největší korelační koeficient a je zároveň statisticky nejvíce významný; pak zkusí zařadit další až dojde do stavu, kdy
to je stále ještě vhodné – tj. koeficient determinace se statisticky významně zvýší; v závěru – parciální R-square – kolik to jednotlivá proměnná vysvětluje danou proměnnou; pak je samozřejmě R-kvadrát modelu, kde se postupně R-sqare sčítají
backward: zařadí proměnné všechny a postupně vyřazuje nejméně důležitou proměnnou – tj. dle sloupce individuálních p-hodnot – tj. ta, která je největší a překračuje hodnotu hladiny významnosti – ta je nejméně důležitá
stepwise: kombinuje metody forward a backward;
R-square: počítá všechny modely s jednou proměnnou a porovná je dle hodnoty koeficientu determinace; pak spočítá s dalšími – tj. 4, 5 … - a ponechává na uživatele, co chce vybrat a je dobré tam ponechat
modelů je celkem 2 p − 1 – kde p je původní počet vysvětlujících proměnných
Adj R-square: jako R-square – dle upraveného koeficientu determinace, počítá se trochu pozměněný R-square
C(p) – Mallows: jako R-sqare – dle Mallowsova koeficientu
- 17 -
Seminář z výpočetní statistiky proc reg data sasuser.fitness; Forward: model oxygen Backward: model oxygen Stepwise: model oxygen R_square: model oxygen Adj_Rsquare: model oxygen Mallows_Cp: model oxygen run;
= = = = = =
age age age age age age
-
-
maxpulse maxpulse maxpulse maxpulse maxpulse maxpulse
/ / / / / /
selection selection selection selection selection selection
= = = = = =
f; b; stepwise; rsquare; adjrsq; Cp;
výše uvedené postupy se nemusí shodovat 30. dubna 2007
Přednáška 10 Vícenásobná regresní a korelační analýza (3)
pokračování technik zařazování – vyřazování proměnných v modelu
společné pro backward a forwad je to, že proměnná je v modelu zařazena/vyřazena navždy
princip úspornosti modelu – princip parsimonie: měli bychom se snažit vybrat model, který má co nejméně proměnných a je co nejjednodušší
proc reg data = sasuser.fitness; R_square: model oxygen = age - - maxpulse / selection = square best = 5; Adj_Rsquare: model oxygen = age - - maxpulse / selection = adjrsq best = 5; Mallows_Cp: model oxygen = age - - maxpulse / selection = Cp best = 5; run;
best = 5 – kolik modelů chci, aby se uvedlo – tj. chci aby metoda vygenerovala pouze 5 nejlepších modelů
Kvalitativní znaky ve statistice
můžeme pouze zjišťovat, kolikrát byla zastoupen měřený znak
alternativní znak – např. pohlaví, když jsou tedy možné max. 2 varianty množný kvalitativní znak – znak má více variant než dvě (např. národnost, kvalifikace pracovníka aj.)
nominální znaky – pouze můžeme jednotlivé varianty znaku pojmenovat, nemůže tyto varianty setřídit dle
nějaké stupnice – tj. různé varianty ordinální znaky – lze je nejen pojmenovat (jednotlivé varianty), ale lze je seřadit
[Příklad] Bylo posouzeno, zda pravidelná účast studentů na přednáškách má vliv na úspěch v prvním termínu u zkoušky. Ověřte, zda existuje závislost mezi těmito znaky a určete sílu závislosti. Hodnoty: účast na přednáškách (ano/ne); a úspěch u 1. zkoušky (ano/ne) – hodnoty: ano/ano: 30 15 (2. řádek) 10, 25
Asociační tabulka (nebo tabulka 2x2) – tabulka představuje četnosti – tj. kolik se vyskytlo studentů, kteří chodili na přednášky (uspěly u zkoušky u 1. termínu)
Analýza ve dvou krocích: 1. krok:
testování nulové hypotézy: 2 kvalitativní znaky jsou nezávislé
pokud tuto nulovou hypotézu zamítneme – pak jsou závislé 2. krok
pokud jsme nulovou hypotézy nezamítly – postup končí 2. krok:
změření síly závislosti – tj. jak je silná
- 18 -
Seminář z výpočetní statistiky
Postup v SASu:
procedura freq jak údaje tabulky založit do SASovského souboru – viz tabulka níže: úspěch
účast
počet
ano
ano
30
ano
ne
15
ne
ano
10
ne
ne
25
ods rtf; proc freq data = svs; tables uspech * ucast / norow nocol nopercent expected chisq measures; weight pocet; run; ods rtf close;
tables
– nejdříve zapisovat proměnnou řádkovou, pak sloupečkovou
weight
– následuje kvantitativní proměnná – tj. četnost v tabulce
norow, nocol, nepercent
chisq
výpis: empirické četnost – tj. ty, které byly zadány (v 1. řádku tabulky)
– potlačení zbytečných detailů
– vytiskne se chi-kvadrát
očekávané (teoretické) četnost – tj. ty, které byly vypočítány (díky slovíčku expected)
measures – viz Přednáška 11 Jak to funguje:
Závislost dvou alternativních znaků testujeme pomocí tzv. chí-kvadrát testu. Tento test dává kvalitní výsledky pouze tehdy, jestliže rozsah výběru je větší než 20. Pokud se pohybuje mezi 20-40, může se tento test používat jen tehdy, jestliže žádná očekávaná četnost není menší než pět. Obecně by se chí-kvadrát test neměl používat tehdy, jestli více než 20% očekávaných četností je menší než 5, nebo když alespoň v jednom
políčku tabulky je očekávaná četnost menší než 1. Chi-sq
vyhodnocení testu – na vypočtenou hladinu významnosti – pokud je menší než 5% - nulovou hypotézu
zamítáme (o nezávislost) můžeme v našem případe konstatovat, že veličiny jsou závislé Cramerova V – tzv. Cramerův koeficient – charakteristika síly závislosti (obdobný jako korelační
koeficient), hodnotí se úplně stejně tzv. chí-kvadrátová míra – v současnosti již trochu překonané, právě díky přepínači measures Chi-kvadrát test:
testuje závislost znaků nulová hypotéza – dva znaky jsou na sobě nezávislé Fisherův přesný test:
pokud by nebylo splněno z tvrzení v odstavci výše, pak se pro posuzování používá Fischerův test – až jeho konec – tj. dvoustranná P-hodnota (mám-li nulovou hypotézu zamítnout nebo nikoliv) 7. května 2007
Přednáška 11 chí-kvadrátové míry asociační závislost
všechny míry jsou odvozeny z testového kritéria chí-kvadrát
pro nás nejdůležitější a nejkvalitnější mírou je tzv. Cramerův koeficient – Cramer V – je to považováno za nejkvalitnější, obdoba korelačního koeficientu, pohybuje se mezi korelačního koeficientu a síly závislostí - 19 -
−1,1 , vyhodnocení stejně jako u
Seminář z výpočetní statistiky
Fisherův přesný test:
pokud by očekávané hodnoty nesplnily podmínky, které jsou uvedeny výše
nezávislý blok pod Chí-kvadrát testem Measures přepínač – predikční míry, míry typu PRE (proporciální redukce chyby)
mají statistický obsah, říkají, z kolika procent závisle proměnná je ovlivňována nezávisle proměnnou, neboli jakou procentickou redukci chyby naší předpovědi o závisle proměnné nám odstraňuje nezávisle proměnná
jsou lepší, než chí-kvadráty, dávají nám více informaci
jsou speciální zkonstruovány pro predikční míry, některé z nich jsou určeny pouze pro nominální znaky, a některé pouze pro ordinální znaky (chí-kvadrátové míry nic z toho schopny nejsou)
některé z nich mají symetrickou i asymetrickou verzi – tj. která z nich je závisle proměnnou a která je nezávisle proměnnou
není stejná závislost znaku A na B a B na A
možné míry síly závislost: gama, kendallovo tau-b, stuartovno tau-c, somersovo…, pearsonova korelace, spearmanova korelace – všechny tyto jsou doporučovány pro ordinální znaky – tj. jeho jednotlivé znaky lze podle určité stupnice uspořádat
nejčastěji se používá koeficient gama – hodnoty mezi 0 – 1, interpretace je podobná jako u korelačního koeficientu, v % (tj. * 100) – udává z kolika procent tam znak udává hodnotu příčiny
lambdaasymetrické…, koeficienty nejistoty… - pro znaky nominální – je možno je pojmenovat, rozlišit, ale není možné uspořádat
znaky lambda…: lambdasymetrické C|R – pokud je důležité, kdo je na čem závislý a nezávislý, závisle proměnná je ta, která je uvedené ve sloupcích výchozí asociační tabulky
lambdaaysmetrické R|C – pokud je důležité, kdo je na čem závislý a nezávislý, závisle proměnná je ta, která je uvedena v řádce výchozí asociační tabulky (např. 0,2857 dává důvod, že ta to vysvětluje a ovlivňuje to z cca 28,57 %) lambdasymetrické – pokud neurčujeme, který znak je závisle a nezávisle proměnnou (může se to prohazovat)
C – collumn – sloupec; R – row – řádek jiný příklad – onemocnění a očkování kde se ve výsledcích objeví, že 50% buněk má očekávané četnosti menší než 5; pokud se toto varování objeví – použije se Fisherův test všímáme si pouze posledního řádku, který je označen jako dvoustranných Pr <= P test – reprezentuje p-hodnotu, pokud je menší než alfa, nulová hypotézu zamítáme konstatujeme, že očkování statisticky významně ovlivňuje počet onemocnění u jedinců – pak se to vyhodnocuje pomocí např. pomocí Cramerovo V (-0,580) – střední závislost, znaménko mínus – pacienti, kteří jsou očkování jsou v menší míře náchylní než ti pacienti, kteří
očkování nebyly; můžou se použít i chí-kvadrátová predikční míry PRE závěr: pokud není varování, použijeme chí-kvadrát test, jinak použijeme Fisherův test
pokud je tabulka rozsáhlejší než 2x2, netiskne se Fisherův test – tj. jen chí-kvadrát test a případně se zobrazí varování proto je nutné si jej vyžádat v proceduře
ods rtf; proc freq data = svs; tables uspech * účast / norow nocol nopercent expected chisq measures exact; weight pocet; run; ods rtf close;
doplňkový požadavek exact – pak se zobrazí Fisherův test, který se použije pro vyhodnocení
pozor – Fisherův test je numericky velmi náročný – značné nároky na kapacitu paměti počítače – může dojít i ke stavu, že mu na to nemusí stačit paměť
- 20 -
Seminář z výpočetní statistiky
Analýza časových řad
jedná se o závislost nějakého statického znaku – ukazatele – na čase čas je příčinou nějakého důsledku. to by bylo asi nelogické
čas hraje zprostředkovanou roli, určitá agregovaná proměnná, promítají se tam všechny možné příčiny, které se v období mohly objevit, a my nejsem schopni je zachytit a posoudit k daném jevu – tj. shrneme a pak se díváme, jak se vyvíjí v čase
řešení časových řad v SASu:
modul TSFS – Time series forecasting system – zaměřen na modul analýzy časových řad
funguje v nabídkovém interaktivním režimu
je možné taky používat procedury a programovací jak na to: Solutions – Analyse – Time series forecasting system
objeví se o okno o 4 nabídkách: Develop models – konstruovat modely
Fit Models Automatically
Product Forecasts Manager Projects
je možno tam dovyplnit přídavné informace
nabídka Develop models
soubor akcií a čase
v knihovně volím příslušnou knihovnu v SAS data sets – název našeho souboru
a dole v Time Variables se zobrazí proměnné tlačítko create – údaje se očíslují a přiřadí se k nim časová proměnná – tj. objeví se menu s různými možnostmi Create from date… aj. – všímáme si pouze té první a poslední – Create from starting date and frequenci
(1)– vytvořit časovou proměnnou od určitého počátečního date a určíme, jaká je frekvence,
s jakým odstupem se data opakují; nebo Create from observations number (4)– čas. proměnná na
základě čísel pozorovní ad 1) – když chceme, z jakých časových okamžiků pocházejí data – např. máme roční časovou řadu; bude se po nás vyžadovat počáteční datum, frequenci – údaj vztahující se k roku – tj. např. year; pokud bych chtěl jiný časový údaj – qte (quartál) apod.
ad 4) – údaje se postupně očíslují – nejstarší dostane 1, další 2…;
vše se potvrdí tlačítkem OK – a OK; objeví se okno časové úseky Data Range, Fit Range a Evalution Range – na začátku jsou všechny úseky stejné;
Data Range – mám časovou řadu, která má 1 pozorování označení 1, poslední 20 Fit Range – část úseku, kde budou data použita k modelování, co využiji z datového modelování
Evaluation Range – úsek pro zhodnocení kvality nalezeného a zkonstruovaného modelu základně se objeví hlášení No models
dvě malá tlačítko vpravo s ikonkami grafu – po kliknutí se zobrazí časová řada (levé tlačítko; druhé tlačítko
je funkční tehdy, když naší časovou řadou proložíme model a řada se pak zobrazí) nyní se přistoupí k modelování – chce se časovou řadou proložit nějaký model
systém SAS nabízí velmi mnoho modelů – základně jich je 42 a dají se modifikovat na vyžádání se dá podrobit řadu diagnostickým testům – SAS je vyřadí za nás – heuristické testy, jsou zaměřeny na modely, které by mohly být užitečné a vyřazené modely, které jsou neužitečné
na čem jsou testy zaměřené: a) zda je v časové řadě přítomna trendová složka – pokud ano, zvolí z těch 42 modelů ty, které jsou pro to vhodné
- 21 -
Seminář z výpočetní statistiky
b) test, který zkoumá, zda v časové řadě je přítomna periodická složka – obvykle časové sezony, čtvrtletí – pak je to periodická řada – opět se volí vhodné modely c)
test stacionarity – časová řada má konstantní průměr a konstantní rozptyl; pro konstrukci modelů časových řad je toto důležité; zdaleka ne všechny časové řady tuto vlastnost mají; závažný je požadavek stability rozptylu; tj. údaje jsou naměřeny s nestejnou přesností a kvalitou kvalita modelu trpí; SAS automaticky, pokud časová řada je nestacionární, provede určitou nápravu – tj. přejde od původních hodnot časové řady k logaritmům – tímto se dá řada stacionarizovat
tlačítko Root Mean Squar Error – tj. RMSE – jedná se o charakteristiku kvality zkonstruovaného modelu – to jaké míry jsou zkonstruované modely kvalitní – je to něco ve smyslu směrodatné odchylky diferencí
časové řady a teoretických nalezených hodnot – tzv. rezidua – čím je menší, tím je model kvalitnější, výstižnější
budeme používat charakteristiku MAPE – Mean Absolut Percent Error – střední absolutní procentická chyba – výhodná a šikovná názorná charakteristika, říká, jaká je procentická chyba při použití příslušného modelu pro popisování a modelování časové řady – pokud je do 5% - je model velmi kvalitní, do 10% je
model přijatelný jak místo RMSE dostat MAPE klik na RMSE tlačítko – objeví se dialogové okno Model Selection
Criterion – zde zvolit MAPE a OK v nástrojové listě Tools – Series Diagnostics – zde jsou uvedené tři testy (viz výše) – Automatic Series Diagnostics – automaticky se řada prozkoumá a vybere vhodné modely – resp. pouze ten nejlepší – tj. Best Model (vpravo tlačítko lze zvolit kolik „best modelů“) 14. května 2007
Přednáška 12 9 posluchačů + 1 přednášející
Klasické analytické modely:
Lineární trend: Tt = a + bt
Parabolický trend: Tt = a + bt + ct 2
Exponenciální trend: Tt = e a + bt
S-křivka – trend exponenciálního typu: Tt = e
Společné vlastnosti pro tyto modely: mají dobré teoretické zdůvodnění; dobré interpretace v literaturách
a+
b t
hodnotí (považují) údaje v dané časové řadě za stejně důležité, stejně cenné jsou jim přiřazeny stejné váhy – tzv. princip ceteris paribus
Adaptivní modely:
časové řady, zejm. ekonomického charakteru, kde není ceteris paribus splněn tyto modely hledí na analyzované údaje časové řady z jiného pohledu – přiřazují jim jednotlivé váhy –
nejnovějším dávají nejvyšší váhy, do minulosti se přiřazují menší váhy nebo jsou dokonce i někdy vyřazeny modely exponenciálního vyrovnávání
váhy do minulosti exponenciální klesají (exponential smoothing)
vyrovnávací konstanty – čísla, která se pohybují v intervalu ( 0;1) - pomocí nich systém konstruuje váhy
Brownův model jednoduchého exponenciálního vyrovnávání (Simple exponential smoothing) – při trendu konstantním nebo málo se měnícím; má jen jednu vyrovnávací konstantu - α ∈ ( 0;1) (smoothing weight)
jak najít konstantu – hledá se empirickou technikou – metoda pokusů a omylů – postupně se volí číslo z daného intervalu, zkonstruuje se model, a zkoumá se, do jaké míry takto nalezený model takto - 22 -
Seminář z výpočetní statistiky
nalezené konstanty vyhovuje našim údajům; nejčastěji se využívá charakteristiky MSE – tj. Mean Square Error (tj. střední kvadratické chyba)
MSE = ∑ t
( yt − yt′ ) n −1
2
, kde yt , t = 1,..., n - skutečné hodnoty analyzované časové řady; yt′, t = 1,..., n -
teoretické (vypočtené) hodnoty, vypočtené příslušného modelu hodnota konstanty, která minimalizuje hodnotu MSE, je pak tou nejvhodnější
Brownův model dvojitého exponenciálního vyrovnávání (Double exponential smoothing) – v případě, že časové řada vykazuje výraznější rostoucí/klesající trend; je vhodný v případech, kdy časová řada je charakterizovaná tzv. lokálním lineárním trendem – tzn. že v krátkých úsecích řady lze její trendovou složku považovat za lineární; časovou řadu rozdělí na lokální úseky a ty se snaží modelovat, tj. nesnaží se celou řadu zachytit jednou rovnici; ale pro každý úsek – každé t – se hledají zvlášť hodnoty parametrů
yt = µt + β t t + ε t , kde µt - průměrná úroveň časové řady, v čase může být proměnlivá, ε t - náhodná reziduální složka
jedna vyrovnávací konstantu - α ∈ ( 0;1) - slouží k modelování průměrné hodnoty časové řady a k modelování lokálního trendu
Holtův model exponenciálního vyrovnávání – slouží pro modelování časových řad s ještě výraznějším lineárním trendem, než uvažuje model lineárního exponenciálního vyrovnávání
dvě vyrovnávací konstanty:
úrovňová vyrovnávací konstanta – α ∈ ( 0;1)
trendová vyrovnávací konstanta – β ∈ ( 0;1) - slouží k vyrovnání trendu
Model exponenciálního vyrovnávání s tlumeným trendem (Dumped trend exponential smoothing)
tento model umožňuje redukci trendových hodnot ve vztahu k délce horizontu předpovědi předcházející modely, ty když provádějí extrapolaci – prodlužovaní – časové řady, tak tam trend zjištěný monotónně vzrůstá nebo klesá – tj. probíhá ta změna trendu stejným způsobem a rychlostí; to pochopitelně může vést k nesmyslným výsledkům – tento model toto umí předpovídat a modelovat
úrovňová vyrovnávací konstanta – α ∈ ( 0;1) - slouží k vyrovnání úrovně
trendová vyrovnávací konstanta – β ∈ ( 0;1) - slouží k vyrovnání trendu
tlumící vyrovnávací konstanta – ϕ ∈ ( 0;1) - umožní přizpůsobování trendu k nějaké mezní hodnotě
Wintersovy modely v případě, že se pracuje např. s periodickými, zejména sezónními, složkami
Wintersův aditivní model exponenciálního vyrovnávání
yt = µt + β t t + s p ( t ) + ε t , kde µt - střední hodnoty řady (závislé na čase); βt - složka, která charakterizuje směrnici lineárního trendu (závislé na čase); s p ( t ) - sezónní složka (proměnlivá v čase); ε t - náhodná složka
Wintersův multiplikativní model exponenciálního vyrovnávání
kdy, který z modelů použít: SAS to odhaduje automaticky
yt = µt ⋅ βt t ⋅ s p ( t ) ⋅ ε t
jinak je jednoduchý návod – aditivní model vhodný tehdy, když sezónní složky kolem trendu mají stejné výkyvy/amplitudy; pokud má sezónní složka zvyšující se výkyvy, pak je doporučován
multiplikativní model oba modely mají vyrovnávací konstanty:
úrovňová vyrovnávací konstanta – α ∈ ( 0;1) - slouží k vyrovnání úrovně - 23 -
Seminář z výpočetní statistiky
trendová vyrovnávací konstanta – β ∈ ( 0;1) - slouží k vyrovnání trendu
konstanta – γ ∈ ( 0;1) - modeluje sezónní složku v řadě
Model náhodné procházky:
Random walk
uplatňuje se při modelování časových řad, které vykazují časté nepravidelné a nahodilé zlomy je založen na představě, že změny jednotlivých hodnot analyzované řady jsou nezávislé na změnách, které byly zaregistrovány v předchozích časových okamžicích, a velikost a směr těchto změn jsou v jistém smyslu náhodné
podle modelu náhodné procházky je předpovídaná hodnota, která je rovna předcházející pozorované hodnotě plus náhodný šum
Modely ARIMA:
ARIMA – Autoregressive Integrated Moving Average Modul)
tzv. Boxovy-Jenkinsovy modely – představují nejuniverzálnější skupinu modelů časových řad, které v sobě zahrnují všechny modely předcházející
problémem těchto modelů je fakt, že jsou teoreticky i interpretačně názorné; pro správnou konstrukci je zapotřebí, aby časová řada byla dostatečně dlouhá – požadavek, aby řada měla alespoň 50 pozorování
modely byly poprvé publikovány v roce 1976
Hodnocení kvality nalezených modelů: musíme si vybrat vlastní kritérium, podle kterého si kvalitu hodnotíme kritérium MSE čím je tato hodnota menší, tím je model lepší (dle toho hledá SAS) kritérium MAPE:
MAPE – Mean Absolute Percent Error – střední absolutní procentuální chyba
MAPE =
pokud MAPE < 5% - model za velmi dobrý a výstižný; MAPE = 5 − 10% - stále ještě dobrý
yt − yt′ 1 ⋅100 [ % ] ∑ n t yt
charakteristika RMSE:
RMSE – Root Mean Square Error
RMSE = MSE
charakteristika MAE:
MAE – Mean Absolute Error
MAE =
1 ∑ yt − yt′ n t
charakteristika MPE:
MPE – Mean Perscent Error
MPE =
pravidlo pro použití charakteristik – model, který má nejmenší tyto hodnoty, je nejvhodnější pro použití problémem je v tom, že tyto charakteristiky nemají vždy minimum ve stejném bodě, modelu – často se
1 yt − yt′ ⋅100 [ % ] ∑ n t yt
shodují, ale někdy se liší; v Evropě – MAPE pokračování příkladu z předchozí přednášky
- 24 -
Seminář z výpočetní statistiky
v grafu možno zobrazit vypočítané konstanty; SAS nepíše u konstant řecké písmena, ale jejich anglické názvy; dává tam i p-hodnoty, vypočtené hladiny významnosti, zda nalezené konstanty jsou statisticky významné (větší jak 5%, pak jsou statisticky významné) Data Range (DR), Fit Range (FR), Evaluation Range (ER)
DR – kolik údajů máme FR – kolik údajů použito pro konstrukci modelů
ER – kolik údajů pro zhodnocení kvality modelů
pokud chceme modelovat časovou řadu z minulosti – ponecháváme všechny hodnoty stejné pokud chceme modelovat a předpovídat vlastnosti – tj. extrapolace a tvorba předpovědí – musí se hodnoty nastavit lépe – tj. metodika pseudoprognóz, pseudopředpovědí – tj. klik na tlačítko Set Ranges – zobrazí se okno pro definování rozsahů
Hold-out sample – výběr ponechaný mimo – tj. zkrácení řady – nepoužije se celá řada; o kolik zkrátit? Když chceme řadu extrapolovat do budoucna – Horizont předpovědi může činit max. 1/3 délku referenčního období – tj. toto dám do Hold-out Sample, automaticky se zrkátí Period of Fit (tj.
FR) a takto nalezený model se bude extrapolovat skutečné údaje se může použít pro porovnání s extrapolovanými údaji
tj. pak se v MAPE objeví, jak dobře modely extrapolují 21. května 2007
Přednáška 13 8 posluchačů + 1 přednášející
Budeme-li hledat vhodný model popisující časovou řadu v minulosti – tj. modelujeme, vyrovnáváme, interpolujeme, pak v tomto případě používáme celou délku časové řady, kterou máme k dispozici. Tj. DR, FR i ER jsou stejně dlouhé. Chceme-li provádět předpovídání, pak se musí:
DR – zůstává pořád stejné
FR – to, co zůstane, když se vezme z hold-out sample; H-O S slouží pouze pro výběr toho nejlepšího předpovídacího modelu
ER – vybrat Hold-out sample Čárkované hodnoty – jsou pseudoprognózy – tj. to, co porovnávám s tím, co již máme Jak přidávat modely – např. lineární trend, logaritmický trend aj. pokračování příkladu z předešlých přednášek
jak dalece můžeme předpovídat? SAS má standardně 12 kroků, orientační pravidlo říká, že můžeme
vycházet nejdéle o 1/3 délky předpovědi referenčního období referenční řadu v případě ověřování modelu taky případně zkrátit o 1/3 časové řady
Evaluation range – jedná se o hodnotící období. Tj. MAPE měří shodu pseudopředpovědí se skutečnými hodnotami. Při předefinování např. ER (na celou délku řady), tak se MAPE nepřepočítá. Pokud se to chce obnovit – obnovit zvolenou řadu – a přes pravé tlačítko nabídka Refit model. Zkonstruuje se celý model znova s resetovanými (jinými) hodnotami.
Fit Arima model – zobrazí se okno Arima Model Specification – dole je nabídka Add – zobrazí se různé nabídky s modelem – zvolit Trend curves (trendové křivky) – dále se zobraí nabídka různých trendových
funkcí Řazení dle hodnot MAPE – na nástrojové listě (tlačítko) – pátá ikonka zprava – Sort models – seřadí se
modely podle velikosti přípustné chyby Forecast combination – pokud se liší soubory dle MAPE velmi málo – zapojit princip parsomonie – tj. princip jednoduchosti – pokud je například nejlepší model nejsložitější, spíš se vybere třeba až třetí model (který má například místo 3 vyrovnávací konstant jen 1).
- 25 -
Seminář z výpočetní statistiky
Agregace modelu – vytvořit s jednotlivých modelů jednu kombinaci – bude s v sobě shrnovat všechny informace použitých modelů.
relativně nová věc ve statistice přes pravé tlačítko (jako Arima model např.) – zvolit Combine Forecasts… - objeví se přehled všech jednotlivých modelů – i s jejich předpovědními modely – při kliknutí na příslušný model – tím se model začne zařazovat do agregátu (a začne se vedle nich zobrazovat váha (weight) v agregovaném modelu) a potvrdím – pak se zobrazí příslušná kombinace modelu v předešlém seznamu modelů – i s jejich
hodnocením MAPE (a pracuje se s ním jako s ostatními modely) co tímto modelem získám, pokud dostanu i třeba horší MAPE – dát si seznam hodnot, je možno si zobrazit bodovou předpověď (predict) i intervalovou předpověď (U95-L95) – čím je interval kratší, tím je předpověď přesnější – v kombinovaném modelu jsou meze podstatně užší než v normálním, i
s MAPE lepším modelem; konfidenční interval pro kombinovaný/agregovaný model je podstatně lepší vlastnost kombinovaných modelů – buď dají i lepší MAPE, ale většinou dají zejména užší hranice konfidenčních
pásů tj. intervalové předpovědi jsou podstatně kvalitnější, přesnější v definici volby Kombinovaného modelu – tlačítko Fit Regression Weights – po označení vah – jednotlivým modelům se přiřadí nestejné váhy, tj. ta, která odpovídá velikosti jejich individuálních předpovědních chyb
ARIMA modely
nebo-li Boxovy-Jenkinsonovy modely – univerzální rámec časových řad – skrývají se tam klasické analytické modely, adaptivní modely, model náhodné procházky aj.
Každá časová řada může být modelována pomocí lineární kombinace několika svých minulých hodnot a několika svých minulých chyb.
yt = µ + a1 yt −1 + a2 yt − 2 + ... + a p yt − p + b1et −1 + b2 et − 2 + ... + bq et − q , kde:
µ je absolutní člen (konstanta)
a1 yt −1 + a2 yt − 2 + ... + a p yt − p je tzv. autoregresní složka
b1et −1 + b2 et − 2 + ... + bq et − q je složka klouzavých modelů, přičemž et = yt − yt′ - jedná se o chyby
pokud tento model je takto namodelován – pak se označuje jako ARMA ( p, q ) - tj. AutoRegressive Moving Average, kde je řád autoregrese a q je řád klouzavých průměrů
model funguje pouze tehdy, je-li časová řada stacionární – tj. taková řada, která má konstantní průměrnou hodnotu a konstantní rozptyl; pokud řada není stacionární – musí se provést stacionarizace časové řady – tj. původní hodnoty časové řady se nahradí jejími absolutními diferenciacemi – tj. sousední rozdíly jejich hodnot – tzv. diference 1. řádu diference 2. řádu – odečítají se od sebe diference 1. řádu atd.
ale protože se pak používají upravené časové řady – tj. diference hodnoty – pak je to ARIMA ( p, d , q ) model – tj. I – integrated; kde d je řád diferencování; např. ARIMA(2,1,1) – kde p=2 – tj. pouze první dva
členy (s konstanty a), d=1 – tj. modely diference 1. řádu a q=2 – tj. dva členy (s konstanty b)
aby se ARIMA modely mohly dobře zkonstruovat, vyžadují, aby řada byla dostatečně dlouhá – tj. počet pozorování n ≥ 50
často se stává, že při generování modelů SAS vygeneruje modely s „předponou“ log – např. log linear model – to znamená, že když SAS prováděl posuzování kvality vstupních dat – zjistil, že data nemají stejný rozptyl (data by měla vykazovat stejnou variabilitu a rozptyl), pokud ho nemají, pak to znamená menší či větší přesnost zjišťování dat – tj. SAS je upravuje, homogenizuje – udělá je pomocí zlogaritmování původních hodnot a na tyto vstupní data se aplikuje lineární model (např.)
- 26 -