Statistické metody v marketingu Ing. Michael Rost, Ph.D. Jihočeská univerzita v Českých Budějovicích
K pojmu distiribuční funkce Distribuční funkce je definována vztahem: F (x) = P (X x i ) Distribuční funkce je definována na předem daném intervalu. Její základní vlastnosti jsou: 0 F (x) 1 F (x i ) F (x j ) pro každou dvojici čísel x i < x j lim F (x) = F ( ) = 0 x lim F (x) = F (+ ) = 1 x+ P (a < X b) = F (b) F (a) Distribuční funkce F (x) je zprava spojitá a má nejvýš spočetně bodů nespojitosti.
K pojmu distiribuční funkce Grafu distribuční funkce odpovídá v popisné statistice graf kumulativních relativních četností. Distribuční funkce diskrétní náhodné veličiny je nespojitá. Pro diskrétní náhodnou veličinu platí: F (x i ) = P (X x i ) = j i p j Pro spojitou náhodnou veličinu, nabývající všech hodnot z intervalu x [a; b] F (x) = P (X x i ) = x a f(t)dt
K hustotě pravděpodobnosti Funkci definovanou vztahem df (x) f(x) = = F (x) (1) dx nazýváme frekvenční funkcí nebo hustotou pravděpodobnosti. Základní vlastnosti hustoty pravděpodobnosti jsou: f(x) 0 lim x f(x)dx = 0 lim f(x)dx = 0 x+ b a f(x)dx = 1 pro x [a; b] P (a < X b) = b a f(x)dx
K pojmu kvantil Velmi důležitý je pojem kvantilu. P -kvantilem nebo P 100%-ním kvantilem náhodné veličiny X, která má jisté spojité rozdělení náhodné veličiny s distribuční funkcí F (x) a hustotu pravděpodobnosti f(x), je číslo x P pro které platí F (x P ) = P (X x P ) = x P f(x)dx = P Některé kvantily mají speciální názvy např.: dolní kvartil, medián, horní kvartil, decil, percentil,
Rozdělení Lze rozlišovat diskrétní a spojité: Diskrétní: Alternativní A(π), binomické Bi(n, π), hypergeometrické H(M, N, n), Poissnovo P o(λ) atd.. Spojité: Normální N(µ, σ 2 ), Studentovo t(n), χ 2 -rozdělení, Fisherovo-Snedecorovo F (m, n), atd...
Pomocí R Prostředí Rumožňuje velmi snadno určovat hodnoty distribučních funkcí pro různá x a různé typy rozdělení. Slouží k tomu několik jednoduchých příkazů.
K intervalovému odhadu Vyjadřujeme jej pomocí dvou čísel, mezi nimiž se pohybuje skutečná hodnota hledaného parametru s předem zvolenou pravděpodobností. Čísla vymezující tento interval se nazývají dolní a horní mez intervalu spolehlivosti. Takový interval nazýváme 100(1 α)%-ní konfidenční interval nebo též 100(1 α)%-ní interval spolehlivosti. Číslo 1 α pak nazýváme koeficientem spolehlivosti. Číslo α pak hladinou významnosti. Spolehlivost odhadu voĺıme sami. Většinou chceme aby byla bĺızko 1 a voĺıme α = 0, 01 nebo častěji α = 0, 05.
K intervalovému odhadu Podstata intervalového odhadu charakteristiky Θ spočívá v určení hodnot(statistik) T D a T H, tak aby platilo P (T D Θ T H ) = 1 α v případě oboustranného intervalu spolehlivosti, nebo P (Θ T H ) = 1 α resp. P (T D Θ) = 1 α v případě jednostranných intervalů spolehlivosti. Např. je-li náš výběr získán z rozdělení N(µ; σ 2 ), kde rozptyl není znám, lze hledaný oboustranný 100(1 α)%-ní interval spolehlivosti parametru µ zapsat jako: P ( x s n t 1 α/2 (n 1) < µ < x + s n t 1 α/2 (n 1) ) = 1 α.
K testování hypotéz Pokud nás zajímá zda platí, či neplatí tvrzení o určitém parametru, např. o parametru Θ, pak takovéto tvrzení lze nazvat hypotézou, resp. statistickou hypotézou. Statistickou hypotézu lze pak zapsat například ve tvaru H 0 : θ = θ 0 Takto formulovanou hypotézu nazveme testovanou hypotézou (nulovou hypotézou). Příklad: H 0 : Člověk denně spotřebuje v průměru 2,3 l tekutin. H 0 : µ = 2, 30
Alternativní hypotéza Proti testované hypotéze formulujeme alternativní hypotézu H A neboli H 1. Rozlišujeme zpravidla tři typy alternativních hypotéz: Pravostranná hypotéza H A : Θ > Θ 0 Levostranná hypotéza H A : Θ < Θ 0 Oboustranná hypotéza H A : Θ Θ 0. Je velmi důležité, jak budeme své hypotézy specifikovat. Dle formulace problému se musíme správně rozhodnout mezi třemi variantami: nebo H 0 : Θ = Θ 0 vs. H A : Θ Θ 0, nebo H 0 : Θ = Θ 0 vs. H A : Θ > Θ 0 H 0 : Θ = Θ 0 vs. H A : Θ < Θ 0.
Testové kritérium Pro rozhodnutí o tom, která z výše formulovaných hypotéz je pravdivá, tj. zda bude platit H 0 nebo naopak H A, rozhodujeme za pomoci tzv. testové statistiky T. Testová statistika je funkcí našich pozorování, tj.: T = g(x 1, x 2, x 3,..., x n ) a je tedy náhodnou veličinou nabývající určitého oboru hodnot, resp. hodnot z určité podmnožiny množiny reálných čísel. Na definovaném oboru hodnot testové statistiky T lze vymezit jistým způsobem dvě podmnožiny, a to oborem přijetí a kritický obor.
Chyby spojené s testováním hypotéz Otázka spočívá v tom jak stanovit hranici mezi těmito množinami? S tím souvisí problematika chyb, kterých se můžeme při testování hypotéz dopustit. Lze dojít ke čtyřem závěrům: Zamítneme nulovou hypotézu, přičemž ve skutečnosti platí alternativní hypotéza. Naše rozhodnutí je tedy správné. Nezamítneme nulovou hypotézu, přičemž ve skutečnosti nulová hypotéza platí. Naše rozhodnutí je tedy správné. Zamítneme nulovou hypotézu přestože je správná. Dopouštíme se tak chyby. Tento typ chyby nazýváme chybou I. druhu. Nezamítneme nulovou hypotézu přestože platí alternativní hypotéza. Dopouštíme se tak chyby. Tento typ chyby nazýváme chybou II. druhu.
Chyba I. druhu Pokud bychom tedy chtěli určit pravděpodobnost vzniku chyby I. druhu, platilo by následující: P (chyby I.) = P (přijmu H A H 0 ) = P (T K platí H 0 ). Ve většině případů požadujeme, aby tato pravděpodobnost nepřekročila určitou, předem danou hodnotu α. Hodnotu α nazýváme hladinou významnosti. Nejčastější volbou hodnoty α pro testování hypotéz je α = 0, 05 či α = 0, 01. V takovém případě připouštíme existenci vzniku chyby I. druhu s pravděpodobností 0,05 resp. 0,01. Kritický obor je konstruován tak, že platí: P (chyby I.) = P (T K platí H 0 ) = α.
Rozhodnutí o platnosti testované hypotézy Pokud jde o samotné testování hypotézy, pak to spočívá v aplikaci jednoduchého rozhodovacího pravidla: Leží-li hodnota testového kritéria T v kritickém oboru tj. platí-li: T K, zamítáme nulovou hypotézu H 0 ve prospěch hypotézy alternativní H A. Naopak, neleží-li hodnota testového kritéria v kritickém oboru, pak testovanou hypotézu nezamítáme a tvrdíme, že se nepodařilo zamítnout nulovou hypotézu na předem zvolené hladině významnosti α a na základě pozorovaných dat.
Chyba II. druhu Chyby druhého druhu se dopustíme tehdy, nezamítneme-li hypotézu H 0, přestože tato hypotéza ve skutečnosti neplatí. Pravděpodobnost toho, že se dopustíme chyby II. druhu lze vyjádřit následujícím způsobem: P (chyby II.) = P (nezamítnu H 0 H A ) = P (T K H A ) = β. Většinou se však zajímáme spíše o doplněk k této pravděpodobnosti. Tj. o pravděpodobnost toho, že se této chyby nedopustíme. Symbolicky lze hledanou pravděpodobnost definovat následovně: P (přijmu H A H A ) = P (T K H A ) = 1 β. (2) Tento doplněk k pravděpodobnosti chyby II. typu, tj. hodnotu 1 β, zpravidla nazýváme silou testu.
Druhy testů Z hlediska toho, jaké předpoklady činíme o rozdělení sledovaného statistického znaku, lze rozlišit dvě třídy testů: Parametrické testy: Jsou testy založené na znalosti charakteru rozdělení sledovaného statistického znaku. Parametrickými testy se pak testujeme předpoklady o neznámých hodnotách parametrů (může jít například o střední hodnotu či rozptyl). V převážné většině jde o početně náročnější, ale silné testy. Neparametrické testy: Jsou takové testy, které nevyžadují znalost předpokladů o charakteru rozdělení náhodných veličin. Neparametrické, se nazývají proto, že se netýkají parametrů rozdělení. Tyto testy mají obecně menší sílu ve srovnání s parametrickými testy.
Část II: Práce s R
Úvodem V současné době existuje na trhu celá řada statistického software. Asi nejrozšířenějším je statistický software SAS, SPSS, STATISTICA, MATLAB, případně S-plus. Jde především o komerční a monolitické systémy s relativně přátelským prostředím. Nevýhodou těchto programů je však jejich vysoká pořizovací cena. Alternativou může být profesionální programovací prostředí R.
Proč právě R? + R je zdarma a rozvíjí se. V mnoha ohledech překonává (a to i o několik let) některé jiné komerční programy. + Systém nápovědy ke každé funkci spolu s ukázkou použití příslušné funkce. Existuje široká uživatelská obec - možnost řešit problémy s předními odborníky. + Velmi dobrá grafika, import a export dat a výstupů + (Sweave). + Učesaný jazyk, vektorizace výpočtů, možnost využití objektově orientovaného programování, komunikuje Tinn-R, GGobi, L A T E X, Excel,...... + Dostupnost nejnovějších statistických metod.
První kroky: Spuštění R Erko lze inicializovat různým způsobem. Windows GUI: Obvyklý způsob přes Start Všechny programy R. Xemacs, Rterm, Rcmd, Tinn-R... Ukončení práce s programovacím prostředím R, je velmi jednoduché. Stačí do příkazového řádku zapsat za prompt q()
Princip práce s R Obvykle probíhá práce s R interaktivně. Lze ji popsat modelem otázka odpověd : Zadáte příkaz a stisknete klávesu Enter. R vyhodnotí příkaz (vytiskne jeho hodnotu pokud je není zapsána do vnitřní paměti). Pak R čeká na další vstupní příkaz.
Několik malých příkladů 2 + 2 [1] 4 exp(-2) [1] 0.1353353 log(100, base = 10) [1] 2 rnorm(10) [1] 0.28561157 0.17790983 1.63946005-0.46323635 [5] 0.70008063-0.04786677-0.98090075-1.72214332 [9] -0.23604856-0.85228894 data<-(rnorm(50,13,4)) mean(data) [1] 13.02051 var(data) [1] 18.60891 sqrt(var(data)) [1] 4.313805
Funkce exp(), log(), mean(), var(), sqrt(), rnorm() jsou funkce implementované v R. Volání funkcí je indikováno prostřednictvím jména funkce a závorek jméno.funkce(argument1, argument2,argument3,...) v nichž jsou obsaženy argumenty funkce. Naprostá většina práce v R se odehrává právě prostřednictvím funkcí.
Možnosti záznamu dat Do R lze data zaznamenávat různými způsoby. Asi nejjednodušší postup spočívá ve využití funkcí c() nebo scan(). Nebo využít vestavěný datový editor pomocí funkce edit(data.frame()). Import data bude zmíněn později. x<-c(1,2,3,4,8,12,3,4,6) x [1] 1 2 3 4 8 12 3 4 6 nebo x<-scan() 1: 1 2 3 4 8 12 3 4 6 10: Read 9 items x [1] 1 2 3 4 8 12 3 4 6
Základní statistické funkce Ukažme si několik jednoduchých příkazů, které lze využít při základním (opravdu při tom nejzákladnějším) statistickém zpracování dat. Předpokládejme, že data jsou uložena v objektu x nebo v objektech A, B, C. Co hodlám získat Aritmetický průměr Počet pozorování Rozptyl Směrodatná odchylka Histogram Dekadický logaritmus Přirozený logaritmus Minimum Maximum Suma Vytvoření rostoucí posloupnosti příkaz v R mean(x) length(x) var(x) sqrt(var(x)) hist() log(x,10) log(x) min(x) max(x) sum(x) sort(x)
Grafika v R Co hodlám získat Krabicový diagram Histogram Rozpylové diagramy Koláčový graf 3D graf Vynesení bodů do kartézské soustavy souřadnic atd.. příkaz v R boxplot(x) hist() pairs() pie(x) persp() plot(x,y).
Hodnoty F(x) = P(X x) a hodnoty u α ; t α (n); χ 2 α (n); F α(n 1 ; n 2 );... Hodnoty distribučních funkcí: pro případ, že x = 2; m = 18, n = 20 F(x) pokud X N(0; 1) pnorm(2,0,1) F(x) pokud X t(n) pt(2,20) F(x) pokud X χ 2 (m) pchisq(2,20) F(x) pokud X F (m, n) pf(2,18,20) Kvantily nejčastěji používaných rozdělení spojitých náhodných veličin: pro případ, že α = 0, 05, m = 18, n = 20 z 1 α qnorm(0.95,0,1) t 1 α qt(0.975,19) 2 χ 2 α(n) qchisq(0.05,20) F 1 α (m 1, n 1) qf(0.95,17,19)
Testování hypotéz (těch základních...) Studentův t-test(jeden výběr) H A : µ µ 0 = 140 H A : µ < µ 0 = 140 H A : µ > µ 0 = 140 Test na shodu dvou rozptylů H A : σ 2 A σ2 B Studentův t-test(dva výběry) H A : µ A µ B H A : µ A < µ B H A : µ A > µ B t.test(x,mu=140) t.test(x,mu=140,alternative="less") t.test(x,mu=140,alternative="greater") var.test(a,b) t.test(a,b) t.test(a,b,alternative="less") t.test(a,b,alternative="greater")
Nápověda V prostředí R lze s výhodou využívat velmi dobře koncipovanou nápovědu. K její vyvolání stačí zadat jednoduchý příkaz help() nebo ještě jednodušeji, využít příkaz?. Za symbol? napíšeme název funkce ke které hodláme získat nápovědu. Jinou možností je použít příkaz help.search(). Hledané téma pak vepíšeme do uvozovek např. help.search("mean") a stiskneme enter. Pokud příkaz sice známe, ale nevíme jaké argumenty obsahuje, můžeme využít příkazu args(). Do závorek opět vepíšeme název funkce.
Import dat z Excelu V případě, že hodláme importovat data, např. z Excelu, lze využít několika možností. Asi nejjednodušší cestou je exportovat data z Excelu prostřednictvím jeho nabídky/ Postup je následující: Soubor Uložit jako:mojedata Typ souboru: CSV (oddělený středníkem) Enter. Ve vašem pracovním adresáři se objeví soubor mojedata.csv. Pak pokračujeme již v R. Za prompt > napíšeme: mojedata<-read.csv("mojedata.csv", header=true,dec=",",sep=";") mojedata
Import dat z Excelu Druhá možnost spočívá ve vložení kopírovaných dat do schránky a pak použití příkazu: mojedata<-read.table(file("clipboard"),sep="\t",dec=",") mojedata
Export dat do Excelu Svá data můžeme také exportovat do Excelu. Předpokládejme, že hodláme vytvořit náhodné pořadí, ve kterém provedeme měření. Výsledné pořadí uložím do objektu cislapokusu a vyexportuji do Excelu. Soubor obsahující vytvořené pořadí bude pojmenován jako poradi.xls. cislapokusu<-sample(1:50,50,replace=f) write.table(cislapokusu,"poradi.xls",sep="\t",na="",row.names=f)
Příklad z maticové algebry - SVD dekompozice Předpokládejme jednoduchý skript v R: library(pixmap) x<- read.pnm("modelka.pgm") plot(x) #aproximaceobrázku dekompo<-svd(x@grey) V<-diag(dekompo$d[1:50]) S<-dekompo$u[,1:50] D<-dekompo$v[,1:50] rekonstr<-s %*% V %*% t(d) aproximovany.obrazek<-pixmapgrey(rekonstr) plot(aproximovany.obrazek, main="aproximace pomoci 50 SVD komponent")
Graficky vy stup v R Aproximace pomoci 5 SVD komponent Aproximace pomoci 15 SVD komponent Aproximace pomoci 20 SVD komponent Aproximace pomoci 10 SVD komponent Aproximace pomoci 50 SVD komponent c Rost 2007