Lineární diskriminační analýza Motivace: Diskriminační analýza patří k vícerozměrným statistickým metodám a zabývá se klasifikací objektů do r ≥ 2 skupin na základě znalosti vektorů pozorování těchto objektů. Uveďme příklad z technické praxe: u výrobku daného typu potřebujeme rozhodnout, zda snese určitou zátěž. Na výrobku můžeme změřit hodnoty p kvantitativních znaků, např. hmotnost, odchylky rozměrů od normy, chemické složení apod., které tvoří vektor pozorování x = (x[1], ..., x[p])'. Jestliže výrobek vystavíme zátěži, může to znamenat jeho poškození nebo dokonce zničení. Proto vystavíme zátěži jen omezené množství výrobků, řekněme n výrobků, které tvoří tzv. informativní výběr. Pokud výrobek zátěž vydrží, zařadíme ho do 1. skupiny (nechť takových výrobků je n[1]) , jinak do 2. skupiny (těchto výrobků je n[2]). Na základě znalosti chování informativního výběru pak rozložíme prostor R[p] na množiny B[1], B[2]. Máme-li k dispozici nějaký další výrobek téhož druhu s vektorem pozorování x, zařadíme ho do 1. skupiny, když x B[1] a do 2. skupiny, když x B[2]. Výrobek tedy nemusíme vystavovat zátěži a riskovat jeho poškození nebo dokonce zničení. Úkol diskriminační analýzy spočívá v nalezení takového rozkladu prostoru R[p] na množiny B[1], …, B[r], který umožní optimální rozhodnutí o příslušnosti objektu ke skupině. Náhodný výběr z vícerozměrného rozložení Nechť je dáno n objektů a na každém z těchto objektů měříme p znaků. Znamená to, že i-tý objekt je charakterizován p-rozměrným vektorem pozorování x[i] = (x[i1], …, x[ip]) ', který považujeme za realizaci náhodného vektoru X[i] = (X[i1], …, X[ip])', i = 1, …, n. Všechny vektory pozorování uspořádáme do datové matice typu n x p: . Předpokládáme, že náhodný vektor X[i] má vektor středních hodnot μ = a varianční matici Σ = . Lze dokázat, že nestranným odhadem vektoru μ je vektor výběrových průměrů M = (M[1], …, M[p])’, kde je výběrový průměr j-tého znaku, j = 1, …, p a nestranným odhadem matice Σ je výběrová varianční matice S = řádu p. Testy hypotéz o variančních maticích a vektorech středních hodnot Nechť jsou dány dva p-rozměrné náhodné výběry o rozsazích n[1] a n[2] z p-rozměrných normálních rozložení N[p](μ[1], Σ[1]) a N[p](μ[2],[ ]Σ[2]). Označme M[1], M[2] vektory výběrových průměrů, S[1], S[2] výběrové varianční matice a S vážený průměr výběrových variančních matic, tj. S = . a) Test shody variančních matic (Boxův test) Testujeme hypotézu H[0]: Σ[1] = Σ[2] proti alternativní hypotéze H[1]: Σ[1] ≠ Σ[2] na hladině významnosti α. Test je založen na Boxově statistice: M = (n[1] + n[2] – 2) ln (det S) – (n[1] – 1) ln (det S[1]) - (n[2] – 1) ln (det S[2]). Označme konstantu . (Tato konstanta zlepšuje aproximaci.) Platí-li H[0], pak testová statistika MC[p] má asymptoticky rozložení . Kritický obor: W = . Pokud MC[p] W, H[0] zamítáme na asymptotické hladině významnosti α. b) Test shody vektorů středních hodnot Nezamítneme-li na zvolené hladině významnosti hypotézu o shodě variančních matic, můžeme přistoupit k testování hypotézy H[0]: μ[1] = μ[2] proti alternativní hypotéze H[1]: μ[1] ≠ μ[2] na hladině významnosti α. Označme T^2 = ( M[1 ]- M[2])' S^-1(M[1 ]- M[2]). Nulovou hypotézu zamítneme na hladině významnosti α, když testová statistika ≥ F[1-α](p, n[1]+n[2]-p-1). Poznámka: Zamítneme-li hypotézu o shodě vektorů středních hodnot, je vhodné provést testy dílčích hypotéz H[0j]: μ[j1] = μ[j2], j =1, ..., p. K tomu slouží dvouvýběrový t-test. Hypotézu H[0j] zamítneme na hladině významnosti α, když , kde s[jj] je j-tý diagonální prvek matice S. Odvození bayesovského rozhodovacího pravidla pro dvě skupiny objektů Nechť v 1. skupině je n[1] objektů, ve 2. skupině n[2] objektů, přičemž každý objekt je charakterizován p-rozměrným náhodným vektorem X = (X[1], …, X[p])'. Předpokládáme, že v i-té skupině má náhodný vektor X hustotu φ[i](x), i = 1, 2. Nechť H[i] je jev „objekt patří do i-té skupiny“. Apriorní pravděpodobnost P(H[i]) příslušnosti objektu k i-té skupině označíme π[i], i = 1, 2. Známe-li u nějakého objektu vektor pozorování x, můžeme podle Bayesova vzorce vypočítat aposteriorní pravděpodobnost příslušnosti objektu ke skupině: P(H[i]/X=x) = , i = 1, 2. Nabízí se jednoduché rozhodovací pravidlo: zařadit nový objekt do té skupiny, u níž je aposteriorní pravděpodobnost větší. Tedy objekt s vektorem pozorování x zařadíme do 1. skupiny, když π[1]φ[1](x) > π[2]φ[2](x), jinak ho zařadíme do 2. skupiny. Součin π[i]φ[i](x) se nazývá diskriminační skór pro i-tou skupinu. Lze ukázat, že bayesovské rozhodovací pravidlo je optimální v tom smyslu, že minimalizuje celkovou pravděpodobnost mylné klasifikace. Konstrukce Fisherovy lineární diskriminační funkce pro dvě skupiny objektů Předpokládejme nyní, že hustota pravděpodobnosti v i-té skupině je normální a má parametry μ[i], Σ[i], tj. , i = 1, 2. Jestliže zlogaritmujeme diskriminační skór π[i]φ[i](x) a vynecháme člen , který je společný pro obě skupiny, dostaneme tzv. kvadratický diskriminační skór pro i-tou skupinu ve tvaru , i = 1, 2. Jsou-li varianční matice v obou skupinách stejné (společnou varianční matici označíme Σ), obsahují oba kvadratické diskriminační skóry týž člen . Po jeho vynechání obdržíme lineární diskriminační skór pro i-tou skupinu – tzv. Andersonovu diskriminační statistiku - ve tvaru , i = 1, 2. Objekt s vektorem pozorování x tedy zařadíme do 1. skupiny, když λ[1](x) > λ[2](x), jinak ho zařadíme do 2. skupiny. Vzhledem k tomu, že máme jen dvě skupiny objektů, lze rozhodnutí o zařazení objektu do skupiny učinit na základě rozdílu λ(x) = λ[1](x) - λ[2](x) = . Funkce λ(x) se nazývá Fisherova lineární diskriminační funkce. Označíme-li β' = β'(μ[1] + μ[2]) + ln π[1] - ln π[2], můžeme Fisherovu lineární diskriminační funkci psát ve tvaru λ(x) = β'x + γ. Znamená to, že jsme našli takovou lineární kombinaci vektoru pozorování x, která nám umožní minimalizovat celkovou pravděpodobnost mylného zařazení objektu do skupiny. Objekt s vektorem pozorování x tedy zařadíme do 1. skupiny, když λ(x) > 0, jinak ho zařadíme do 2. skupiny. Posouzení účinnosti diskriminace resubstituční metodou Resubstituční metoda spočívá v uplatnění zkonstruovaného rozhodovacího pravidla na informativní výběr. Uvažujeme postupně všechny objekty z informativního výběru a jejich zařazení podle rozhodovacího pravidla porovnáme se skutečnou příslušností ke skupině. Stanovíme podíl správně a mylně zařazených objektů. skutečnost zařazení součet 1. skupina 2. skupina 1. skupina n[11] n[12] n[1. ]= n[1] 2. skupina n[21] n[22] n[2. ]= n[2] součet n[.1] n[.2] n Podíl správně zařazených objektů: Podíl mylně zařazených objektů: Modifikace pro případ neznámých parametrů Při praktickém použití diskriminační analýzy většinou neznáme parametry μ[1], μ[2], Σ ani apriorní pravděpodobnosti π[1], π[2]. V takovém případě používáme odhady: μ[i] → M[i], i = 1, 2 Σ → S = π[i] → , i = 1, 2. Odhad Fisherovy lineární diskriminační funkce: L(x) = b'x + g, kde b' = (M[1] - M[2])'S^-1, g = b'(M[1] + M[2]) + ln p[1] – ln p[2]. Postup při lineární diskriminační analýze 1. Vzhledem k povaze úlohy určíme veličiny X[1], ..., X[p] a pořídíme n[1] + n[2] p-rozměrných pozorování tak, aby n[1] objektů pocházelo z 1. skupiny a n[2] objektů z 2. skupiny. 2. Na zvolené hladině významnosti α testujeme hypotézy o normalitě rozložení v obou skupinách. 3. Vypočteme odhady M[1], M[2], S[1], S[2], S, p[1], p[2]. 4. Na zvolené hladině významnosti α testujeme hypotézy o shodě variančních matic a vektorů středních hodnot v obou skupinách. 5. Vypočteme odhad L(x) Fisherovy lineární diskriminační funkce. Objekt s vektorem pozorování x přiřadíme k 1. skupině, když L(x) > 0, jinak ho přiřadíme ke 2. skupině. 6. Účinnost diskriminace posoudíme metodou resubstituce. Příklad V souboru 50 rodin byly zjišťovány tyto údaje: - zda v posledních dvou letech rodina navštívila jistou rekreační oblast (veličina ID, nabývá hodnoty 0 pro odpověď „ne“, hodnoty 1 pro odpověď „ano“) - roční příjem v tisících dolarů (veličina X[1]) - postoj k cestování (veličina X[2], devítibodová škála, 1 = naprosto odmítavý, 9 = veskrze kladný) - význam přičítaný rodinné dovolené (veličina X[3], devítibodová škála, 1 = nejnižší, 9 = nejvyšší) - počet členů rodiny (veličina X[4]) - věk nejstaršího člena rodiny (veličina X[5]). Pro uvedená data sestrojte Fisherovu lineární diskriminační funkci, která pomocí veličin X[1], …, X[5] umožní rozlišit rodiny navštěvující uvedenou rekreační oblast od rodin, které do této oblasti nejezdí. Datový soubor: číslo ID X[1] X[2] X[3] X[4] X[5] číslo ID X[1] X[2] X[3] X[4] X[5] 1. 0 32,1 5 4 6 58,0 26. 0 48,2 3 5 4 43,0 2. 0 40,0 4 4 3 42,0 27. 0 54,5 7 3 3 37,0 3. 0 36,2 4 3 2 55,0 28. 0 38,2 2 5 3 49,0 4. 0 43,2 2 5 2 57,0 29. 0 41,7 4 2 3 40,0 5. 0 50,4 5 2 4 37,0 30. 1 50,2 5 8 3 43,0 6. 0 45,2 4 4 4 42,0 31. 1 70,3 6 7 4 61,0 7. 0 44,1 6 6 3 42,0 32. 1 62,9 7 5 6 52,0 8. 0 38,3 6 6 2 45,0 33. 1 48,5 7 5 5 36,0 9. 0 55,0 1 5 4 57,0 34. 1 52,7 6 6 4 55,0 10. 0 56,1 3 5 5 51,0 35. 1 75,0 8 7 5 68,0 11. 0 48,2 4 3 6 47,0 36. 1 46,2 5 3 3 62,0 12. 0 35,0 6 4 5 64,0 37. 1 57,0 2 4 6 51,0 13. 0 37,3 2 7 3 54,0 38. 1 64,1 4 5 4 57,0 14. 0 41,8 5 1 5 56,0 39. 1 68,1 4 6 5 45,0 15. 0 57,0 8 3 4 36,0 40. 1 73,4 6 7 5 44,0 16. 0 33,4 6 8 4 50,0 41. 1 71,6 5 8 4 64,0 17. 0 41,5 5 6 3 38,0 42. 1 56,2 1 8 6 54,0 18. 0 39,8 4 5 4 42,0 43. 1 49,3 4 2 3 56,0 19. 0 37,5 3 2 3 48,0 44. 1 62,0 5 6 2 58,0 20. 0 41,3 3 3 2 42,0 45. 1 50,8 4 7 3 45,0 21. 0 35,0 4 3 4 54,0 46. 1 63,6 7 4 7 55,0 22. 0 49,6 5 5 5 39,0 47. 1 54,0 6 7 4 58,0 23. 0 45,5 4 4 4 41,0 48. 1 49,0 5 4 3 60,0 24. 0 39,4 6 5 3 44,0 49. 1 68,0 6 6 6 46,0 25. 0 37,0 2 6 5 51,0 50. 1 62,1 5 6 3 56,0 Řešení: Testování normality náhodných veličin X[1], …, X[5] v daných dvou skupinách rodin pomocí S - W testu: Pro skupinu rodin, které danou rekreační oblast nenavštěvují: Statistiky – Základní statistiky/tabulky – Select cases – ID=0 – OK – Tabulky četností – Proměnné X1 až X5 – OK – Normalita – zaškrtneme S-W test – Testy normality Pro skupinu rodin, které danou rekreační oblast navštěvují: Statistiky – Základní statistiky/tabulky – Select cases – ID=1 – OK – Tabulky četností – Proměnné X1 až X5 – OK – Normalita – zaškrtneme S-W test – Testy normality Na hladině významnosti 0,05 zamítáme hypotézu o normalitě u veličiny X[4] ve skupině rodin, které danou rekreační oblast nenavštěvují. N-P ploty: Grafy – 2D Grafy – Normální pravděpodobnostní grafy – Proměnné X1 až X5 – OK – na záložce Kategorizovaný zaškrtneme Kategorie X Zapnuto – Změnit proměnnou – ID – OK – OK Odhad vektorů středních hodnot M[1] a M[2] lze získat více způsoby, uvedeme např. tento: Statistiky – Základní statistiky/tabulky – Select cases – ID=0 - Popisné statistiky – Proměnné X1 až X5 – Grupovací proměnná ID=0 – OK – Detailní výsledky – zaškrtneme pouze N a průměr – Souhrn Krabicové grafy: Grafy – 2D Grafy – Krabicové grafy – Vícenásobný – Závisle proměnné X1 až X5 – OK – OK Nyní změníme podmínku ID = 1 Odhad varianční matice S[1]: Statistiky – Vícerozměrná regrese – Select cases ID=0 – OK – Proměnné - Závislá proměnná X5, Seznam nezávisle proměnných X1 až X4 – OK – OK - Residua/předpoklady/předpovědi – Popisné statistiky – Další statistiky - Kovariance Odhad varianční matice S[2]: Změníme podmínku ID=1 Odhad společné varianční matice S: V systému STATISTICA tento odhad nelze získat přímo, matice S se musí počítat podle vzorce . V systému SPSS postupujeme takto: Analyze – Classify – Discriminant – Grouping Variable ID – Define Range 0, 1 – Continue – Statistics – v Matrices zaškrtneme Within –group covariances – Continue – OK Boxův test shody variančních matic: Statistika M = (n[1] + n[2] – 2) ln (det S) – (n[1] – 1) ln (det S[1]) - (n[2] – 1) ln (det S[2]) = 26,6179 Konstanta zlepšující aproximaci =0,8847 Testová statistika MC[p] = 23,5468 Kritický obor: W = = . Protože testová statistika neleží v kritickém oboru, nezamítáme na asymptotické hladině významnosti 0,05 hypotézu o shodě variančních matic Σ[1], Σ[2]. Tento test není v systému STATISTICA implementován. Lze ho provést pomocí systému SPSS: Analyze – Classify – Discriminant – Grouping Variable ID – Define Range 0, 1 – Continue – Statistics – v Descriptives zaškrtneme Box’s M – Continue – OK Test shody vektorů středních hodnot: Testová statistika ( M[1 ]- M[2])' S^-1(M[1 ]- M[2]) = 14,2194 Kvantil F[1-α](p, n[1]+n[2]-p-1) = F[0,95](5,44) = 2,427 Protože testová statistika se realizuje v kritickém oboru, zamítáme na hladině významnosti 0,05 hypotézu o shodě vektorů středních hodnot μ[1], μ[2]. Výpočet testové statistiky v systému STATISTICA: Statistiky – Vícerozměrné průzkumné techniky – Diskriminační analýza - Proměnné – Grupovací proměnná ID, Seznam nezávislých proměnných X1 až X5 –– OK – OK Upozornění: Test shody vektorů středních hodnot lze v systému STATISTICA provést i jinak: Statistiky – Základní statistiky/tabulky – t-test, nezávislé, dle skupin – OK – Proměnné – Závisle proměnné X1 až X5, Grupovací proměnná ID – OK – na záložce Možnosti zaškrtneme Vícerozměrný test. V záhlaví výstupní tabulky se zobrazí realizace testové statistiky a příslušná p-hodnota. Individuální t-testy Statistiky – Základní statistiky/tabulky – t-test, nezávislé, dle skupin – OK – Proměnné – Závisle proměnné X1 až X5, Grupovací proměnná ID – OK - Výpočet Vidíme, že na hladině významnosti 0,05 jsou odlišné střední hodnoty proměnných X[1], X[3], X[5]. U proměnných X[2] a X[4] se odlišnost neprokázala, z dalšího zpracování je však vyřazovat nebudeme. Stanovení odhadů apriorních pravděpodobností: Stanovení odhadu Fisherovy lineární diskriminační funkce: b' = (M[1] - M[2])'S^-1 = (-0,2865 -0,2556 -0,4169 0,0736 -0,1527) g = b'(M[1] + M[2]) + ln p[1] – ln p[2] = 24,7666 L(x) = b'x + g = = -0,2685X[1] – 0,2556X[2] – 0,4169X[3] + 0,0736X[4] – 0,1527X[5] + 24,7666 Statistiky – Vícerozměrné průzkumné techniky – Diskriminační analýza - Proměnné – Grupovací proměnná ID, Seznam nezávislých proměnných X1 až X5 –– OK – OK – na záložce Klasifikace zvolíme Klasifikační funkce. Dostaneme tabulku tvaru: Abychom získali odhad Fisherovy lineární diskriminační funkce, přidáme do této tabulky novou proměnnou a do jejího Dlouhého jména napíšeme =v1-v2 Posouzení účinnosti diskriminace resubstituční metodou: skutečnost zařazení součet návštěva ne návštěva ano návštěva ne 27[] 2 29 návštěva ano 5 16 21 součet 32 18 50 Podíl správně zařazených objektů: Podíl mylně zařazených objektů: Na záložce Klasifikace zvolíme Klasifikační matice. Pro určení chybně zařazených případů zvolíme na záložce Klasifikace možnost Klasifikace případů. Zjistíme, že v 1. skupině došlo k mylnému zařazení u rodin č. 9 a 10, ve 2. skupině u rodin číslo 33, 36, 45. Porovnání s náhodnou klasifikací Kdybychom zařazovali rodiny do skupin náhodně, pouze s ohledem na apriorní pravděpodobnosti π[1], π[2], tak bychom s pravděpodobností π[1 ]našli rodinu patřící do 1. skupiny, avšak s pravděpodobností π[2] bychom ji mylně zařadili do 2. skupiny. Naopak s pravděpodobností π[2] najdeme rodinu patřící do 2. skupiny, kterou s pravděpodobností π[1] mylně zařadíme do 1. skupiny. Celková pravděpodobnost mylné klasifikace je tedy: π[1]π[2 ]+ π[2]π[1] = 2π[1](1- π[1]). Nahradíme-li apriorní pravděpodobnosti π[1], π[2] jejich odhady p[1], p[2] , dostaneme odhad celkové pravděpodobnosti mylné klasifikace 2p[1](1- p[1]) = = 0,4872. Použitím diskriminační analýzy jsme tedy dosáhli výrazného zlepšení, pravděpodobnost mylné klasifikace klesla na 0,14. Grafické znázornění případů na ploše prvních dvou hlavních komponent Literatura [1] J. Anděl: Matematická statistika, SNTL/Alfa, Praha 1978 [2] J. Anděl: Statistické metody, Matfyzpress, Praha 1993 [3] P. Hebák, J. Hustopecký, E. Jarošová, I. Pecáková: Vícerozměrné statistické metody (1), Informatorium, Praha 2004