M5VM05 Statistické modelování 6. Ověřování předpokladů v klasickém modelu lineární regrese — II Jan Koláček (kolacek@math.muni.cz) Ustav matematiky a statistiky, Přírodovědecká fakulta, Masarykova univerzita, Brno Jan Koláček (PřF MU) M5VM05 Statistické modelování 1/17 Multikolinearita Multikolinearitou se rozumí vzájemná lineární závislost vysvětlujících proměnných. Přesnou multikolinearitou se rozumí případ, kdy jednotlivé sloupce Xj, j = 1,... ,k matice plánu X jsou lineárně závislé, takže pro aspoň jednu nenulovou konstantu Cj platí cxxi H-----h ckxk = 0. V praxi bychom se s tímto případem neměli setkávat, neboť při rozumně sestaveném regresním modelu využijeme lineární kombinaci a zmenšíme počet vysvětlujících proměnných. Podobně nereálný je v praxi případ ortogonálních vysvětlujících proměnných, kdy matice X je ortogonální a platí, že X7X = 1^. V praxi se tedy multikolinearitou rozumí případ, kdy přibližně platí rovnice vyjadřující lineární kombinaci vysvětlujících proměnných. V případě silné multikolinearity je determinant informační matice X7X blízký nule, nejmenší vlastní číslo je rovněž blízké nule a matice X7X je „skoro singulární". O multikolinearitě svědčí i vysoké hodnoty poměru největšího a nejmenšího vlastního čísla. Jan Koláček (PřF MU) M5VM05 Statistické modelování 2/17 Důvody multikolinearity • Multikolinearitu způsobuje regresní rovnice obsahující nadbytečné vysvětlující proměnné. Statistickými technikami můžeme přebytečné proměnné identifikovat a vyloučit z regresní rovnice. • Multikolinearitu jen ztěží odstraníme v úlohách, kdy vzájemná spřaženost hodnot vysvětlujících proměnných je způsobena neuvažovanými veličinami nebo formou statistického zjišťování. Jde-li např. o údaje z časových řad, je podobný vývoj sledovaných veličin dostatečným důvodem vzniku multikolinearity. Vzhledem k tomu, že multikolinearitu hodnotíme výhradně na základě určitého souboru pozorování, stačí nesprávný výběr kombinací hodnot vysvětlujících proměnných, nereprezentujících obor možných hodnot, k existenci významné multikolinearity. 9 Závažným důvodem multikolinearity je skutečný vztah vysvětlujících proměnných v rámci sledovaného jevu, procesu nebo systému. V tomto případě je třeba využít všechny informace nevýběrového charakteru k zlepšení kvality regresních odhadů. Jan Koláček (PřF MU) M5VM05 Statistické modelování 3/17 Důsledky multikolinearity V případě přesné multikolinearity je matice X7X singulární a běžnou inverzí nepořídíme odhad neznámých parametrů jS metodou nejmenších čtverců. Pro přibližnou multikolinearitu jsme sice schopni matici X7X invertovat, ale kvalita pořízených odhadů je poměrně nízká. Snížení kvality se projeví « v kovarianční matici var(J3) = cr^X'X)-1 • v přesnosti prováděných výpočtů neboť důsledkem vysokých rozptylů odhadů jsou příliš široké intervaly spolehlivosti, a tedy malá přesnost odhadu. Logickým důsledkem multikolinearity je obtížné vyjádření individuálního vlivu jednotlivých vysvětlujících proměnných. Projeví se to nízkými hodnotami testových kritérií v ŕ-testech nedovolujícími potvrdit závažnost jednotlivých regresorů v regresní funkci. Závažným důsledkem je značná výpočetní nespolehlivost a nestabilní hodnoty regresních odhadů. Stačí malý zásah do statistických údajů a výsledné odhady jsou odlišné. Jan Koláček (PřF MU) M5VM05 Statistické modelování 4/17 Diagonální prvky matice (X'X) , tj. a = diagiX'X)-1 označované v literatuře jako VIF - variance inflarion factors úzce souvisí s vícenásobnými korelačními koeficienty, vyjadřující vztah j-té vysvětlující proměnné a lineární funkce ostatních vysvětlujících proměnných. Lze je zapsat jako 1 kde je koeficient mnohonásobné korelace. Vysoký stupeň multikolinearity se projevuje vysokými hodnotami korelačních koeficientů ry, ale i vysokými hodnotami některých jednoduchých korelačních koeficientů. Jan Koláček (PřF MU) M5VM05 Statistické modelování 5/17 Detekce multikolinearity Testujeme hypotézu Hq : R = \ proti H\ : R / Ij, kde R je korelační matice proměnných. Platí-li nulová hypotéza, pak K = - n-l--(2k + 7) o ln R X 2 Hypotézu Hq tedy na hladině významnosti « zamítáme, pokud ,2 fk(k-l) K>XÍ OL Jan Koláček (PřF MU) M5VM05 Statistické modelování 6/ Identifikace proměnných způsobujících multikolinearitu Pro identifikaci proměnných způsobujících multikolinearitu se doporučují statistiky Fv = n — k 1 ~ k kde djj jsou diagonální prvky matice D = R 1. V případě, že proměnná X, nezpůsobuje multikolinearitu, má veličina Fy Fisherovo - Snedecorovo rozdělení F(k-l,n-k). Jan Koláček (PřF MU) M5VM05 Statistické modelování 7/17 Odstranění multikolinearity Do modelu zařadíme jen ty regresory, které významně přispívají ke zlepšení kvality odhadu jS. K výběru nejlepší podmnožiny regresorů použijeme metodu postupné regrese. Algoritmus : O Spočteme korelační matici R a provedeme test hypotézy Hq : R = 1^. Je-li korelace prokázána, pokračujeme dalším krokem. O Spočteme korelační koeficienty Tyjt^. • • rľY,xk a vybereme ten regresor Xz-, jehož ľyfx. je v absolutní hodnotě největší. O Sestavíme model Y = /3q + j6iXz- a odhadneme jeho parametry. Vypočteme (n-2)s| (n—2)ID hodnotu statistiky F = —= i-jp » ^de ^ značí index determinace. Pokud F > Fi_a(l,n — 2), ponecháme regresor Xz- v modelu. O Spočteme parciální korelační koeficienty ^XrXf / • • • / ^Xf.rXf / ry,xifVXi, • • • / rY,XrXz- a vybereme ten regresor Xy, jehož ry7x xz Je v absolutní hodnotě největší. Jan Koláček (PřF MU) M5VM05 Statistické modelování 8/17 Odstranění multikolinearity O Sestavíme model Y = /3q + j6iXz- + /^Xy a odhadneme jeho parametry. Vypočteme hodnotu statistiky F = 3y^D, kde AID je přírůstek indexu determinace při zařazeníXy do modelu a ID je index determinace pro model Y = j6q + j6iXz- + /^Xy. Pokud F > Fi_a(2,n — 3), ponecháme regresor Xy v modelu. O Spočteme parciální korelační koeficienty ^x-^x^Xy)/ • • •/rY,xfc(xz/Xy) a vybereme ten regresor X/, jehož r^x^x^Xy) Je v absolutní hodnotě největší a tak pokračujeme dále. Jan Koláček (PřF MU) M5VM05 Statistické modelování 9/ Další možnosti Zlepšování podmíněnosti matice X7X • Model standardizovaných proměnných. Místo původních proměnných yt Xjj pracujeme s proměnnými ve tvaru n. y j -y _ xíj ~ *j kde Sy a $Xj Jsou směrodatné odchylky jednotlivých proměnných. Standardizací vysvětlujících proměnných dostáváme při použití metody nejmenších čtverců místo matice X7X korelační matici R = ZfZ/n. Vektor Z7q/n obsahuje jednoduché korelační koeficienty ľyX.. Standardizací proměnných se zmenšují zaokrouhlovací chyby a zlepšují se možnosti hodnocení individuálního vlivu proměnných pomocí regresních parametrů. Jan Koláček (PřF MU) M5VM05 Statistické modelování 10 Další možnosti • Model v kanonickém tvaru. Místo modelu ve tvaru Y = X7j6 + e pracujeme s modelem Y = U77 + e, kde matice U = XV, vektor 7 = V7j6 a V je matice standardizovaných vlastních vektorů odpovídajících vlastním číslům matice X7X. Odhady parametrů v kanonickém tvaru: 7 = L^U'Y, kde L je diagonální matice s vlastními čísly matice X7X. Kovarianční matice odhadů var(j) = cr2L-1 ukazuje, že i v tomto případě jsou odhady nezávislé. Residuální součet čtverců se transformací nemění. • Hřebenová regrese (ridge regression) - lm.ridge v balíku MASS Jan Koláček (PřF MU) M5VM05 Statistické modelování 11/17 Příklad V souboru „výdaje.Rdata" jsou uložena data o 20 náhodně vybraných domácnostech. Sloupce proměnné „domácnosti" obsahují postupně tyto údaje: výdaje za potraviny a nápoje (Y), počet členů domácnosti (Xi), počet dětí (X2), průměrný věk výdělečně činných (X3) a příjem domácnosti (X4). Metodou postupné regrese zkonstruujte model s nejlepší podmíněností regresorů. Řešení Uvažujme nejdřív model se všemi regresory. Spočtěme nejprve pro ilustraci 21,23 16,18 1,31 3,4 Testujeme-li hypotézu Hq : R I4, hodnota testové statistiky K = 19 15 ln R 64,94 6 výrazně převyšuje kritickou hodnotu x095 (6) = 12,59. Hypotézu Hq tedy na hladině významnosti 0,05 zamítáme. Jan Koláček (PřF MU) M5VM05 Statistické modelování 12/17 Řešení Pro identifikaci proměnných způsobujících multikolinearitu můžeme spočítat dílčí statistiky Fy clenu deti vek pri jem 107,88 80,94 1,66 12,83 které porovnáme s kritickou hodnotou ^95(3,16) = 3,24. Postupná regrese O Spočteme korelační koeficienty ryx^• • • /^y,x4 = (0/77;0,67;0,18;0,73). Vybereme regresor Xi, neboť jeho korelace je v absolutní hodnotě největší. O Sestavíme model Y = /3q + ^\X\. Vypočteme hodnotu statistiky r (n-2)ID 18-0,5897 oř ory -r . ■ F = v 1IJD = x-05897 = 25,87. Tato hodnota je vetsi nez ^0,95(1/18) = 4,41, takže regresor Xi ponecháme v modelu. O Spočteme parciální korelační koeficienty ^Xz-Xi/^y^-Xi/^YÄ-Xi = (0,36;0,499;0,32). Vybereme regresor X3l jehož parciální korelační koeficient je v absolutní hodnotě největší. Jan Koláček (PřF MU) M5VM05 Statistické modelování 13/17 Řešení O Sestavíme model Y = j6q + fi\X\ + ($2X3. Vypočteme hodnotu statistiky F = ^1 3jdID = V-l^ 6^ = 5,64. Tato hodnota je větší než £0,95(2,17) = 3,59, tedy ponecháme regresor X3 v modelu. Q Spočteme parciální korelační koeficienty rYfXr^i^)rrYfxK{xlfx^) = (0,19;0,17). Vybereme regresor X2, jehož parciální korelační koeficient je v absolutní hodnotě největší. O Sestavíme model Y = j6q + fi\X\ + $2X3 + ^3X2. Vypočteme hodnotu statistiky F = ^ 4j^ID = Í^q 704 = 0,63. Tato hodnota je menší než ^0,95(3/16) = 3,24, a tedy regresor X2 již nezahrneme do modelu. Výsledný model je tedy tvaru Y = j60 + i6iX1+i62X3. Jan Koláček (PřF MU) M5VM05 Statistické modelování 14/ Úlohy k procvičení Příklad 1 V souboru „ cement .RData" jsou uloženy údaje, které se týkají chemického složení portlandského cementu: y množství tepla v kaloriích na gram cementu X\ Tricalcium aluminate 3CaO.AI203 v % %2 Tricalciam silicate 3CaO.Si02 v % x3 Tetracalcium alumino ferrite 4CaO.AI203.Fe203 v % X4 Dicalcium silicate 2 Ca 0. S i 02 v % Testujte multikolinearitu v daném modelu. Metodou postupné regrese nalezněte vhodný model. Poté ověřte normalitu residuí. [Multikolinearita se nezamítá, vhodný model: y = j6q + jSiXi + ^2^2 + ^3X4, normalita residuí se nezamítá.] Jan Koláček (PřF MU) M5VM05 Statistické modelování 15/17 Úlohy k procvičení Příklad 2 V proměnné „mtcars"3 jsou uložena data pro modelování závislosti spotřeby paliva osobních automobilů (proměnná mpg, počet mil/galon) na vlastnostech motoru, které jsou popsány následujícími proměnnými: cyl počet válců disp objem válců (kubické palce) hp výkon (počet koní) drat převodový poměr zadní nápravy wt hmotnost vozidla (kilolibry) qsec zrychlení (počet sekund z 0 na 1/4 míle) vs uspořádání válců (1 - „ V", 0 - za sebou) am převodovka (0 - automat, 1 - manuál) g e ar počet převodových stupňů carb počet karburátorů Testujte multikolinearitu v daném modelu. Metodou postupné regrese nalezněte vhodný model. Ověřte také normalitu residuí. adatový soubor implementovaný v jazyce R Jan Koláček (PřF MU) M5VM05 Statistické modelování 16/ Úlohy k procvičení [Multikolinearita se nezamítá, vhodný model: mpg = j6q + /5iwt + /^cyl, normalita residuíse nezamítá.] Příklad 3 (pro náročné) Naprogramujte funkci „multicol .R", která pro zadaný model zjistí přítomnost multikolinearity v datech. V případě, že je multikolinearita přítomna, metodou postupné regrese nalezne vhodný model. Jan Koláček (PřF MU) M5VM05 Statistické modelování 17/17