11
Anal´ yza hlavn´ıch komponet
Tato u ´loha prov´ad´ı transformaci mˇeˇren´ ych dat na menˇs´ı poˇcet tzv. fiktivn´ıch dat tak, aby vˇetˇsina informace obsaˇzen´a v p˚ uvodn´ıch datech z˚ ustala zachov´ana. Jedn´a se tedy o u ´lohu redukce dat, potˇrebn´ ych pro popis sledovan´eho znaku. ˇ ´ı k l a d: Pr Stav dopravn´ı oblasti lze urˇcovat na z´akladˇe detektor˚ u, um´ıstˇen´ych v bl´ızkosti kˇriˇzovatek oblasti. Tyto detektory jsou vˇetˇsinou um´ıstˇeny v kaˇzd´em dopravn´ım pruhu a ˇcasto v nˇekolika vzd´alenostech od kˇriˇzovatky. Je zˇrejm´e, ˇze takov´ych mˇeˇr´ıc´ıch m´ıst je v oblasti velk´e mnoˇzstv´ı. Pˇritom ale, informace kterou nesou mus´ı b´yt z´avisl´a – napˇr. u dvou detektor˚ u postaven´ych za sebou jsou sign´aly jen zpoˇzdˇen´e. Naˇs´ım c´ılem je redukovat ”skuteˇcn´e detektory” oblasti na menˇs´ı poˇcet ”fiktivn´ıch detektor˚ u”, kter´e obdrˇz´ıme ”kombinac´ı skuteˇcn´ych detektor˚ u”. Pˇritom poˇzadujeme, aby tyto fiktivn´ı detektory nesly t´emˇeˇr stejnou informaci o stavu oblasti, jako detektory skuteˇcn´e.
V n´asleduj´ıc´ıch odstavc´ıch uvedeme dva moˇzn´e zp˚ usoby jak zm´ınˇenou redukci prov´est. Budeme se pˇri nich op´ırat o rozklad matice pomoc´ı vlastn´ıch a singul´arn´ıch ˇc´ısel. Proto nejprve struˇcnˇe uvedeme ty v´ ysledky, kter´e budeme d´ale potˇrebovat. D e f i n i c e 11.1 (Rozklad pomoc´ı vlastn´ıch ˇ c´ısel) Pro pozitivnˇe definitn´ı, symetrickou matici R existuje rozklad R = V L V 0,
(37)
kde L je diagon´aln´ı matice s diagon´alou tvoˇrenou vlastn´ımi ˇc´ısly matice R, V je ˇctvercov´a matice jej´ıch sloupce jsou tvoˇreny vlastn´ımi vektory matice R, odpov´ıdaj´ıcmi vlastn´ım ˇc´ısl˚ um matice L. Matice V je ortogon´aln´ı, tj. plat´ı pro ni V V 0 = V 0 V = I s jednotkovou matic´ı I. Z vlastnosti ortogonalita plyne, ˇze plat´ı V −1 = V 0 •|• ^
V programu O c t a v e lze pro tento rozklad pouˇz´ıt funkci [V,L]=eig(R).
D e f i n i c e 11.2 (Rozklad pomoc´ı singul´ arn´ıch ˇ c´ısel) Pro matici D typu N × n existuje rozklad D = U S V 0,
(38)
kde U , resp. S, jsou ortogon´aln´ı matice typu N × N , resp. n × n, S je matice typu N × n, kter´a m´a na hlavn´ı diagon´ale tzv. singul´arn´ı ˇc´ısla matice D a jinak sam´e nuly. Pokud v matici S vynech´ame nulov´e ˇra´dky a sloupce matic U a V , kter´e by se v souˇcinu ”potkali” s nulami matice S, budou m´ıt matice U , S a V rozmˇery N × n, n × n a n × n. Ty naz´ yv´ame zkr´acen´e vyj´adˇren´ı rozkladu. 42
•|• ^
V programu O c t a v e lze pro tento rozklad pouˇz´ıt funkci [U,S,V]=svd(D).
11.1
Rozklad kovarianˇ cn´ı matice
Prvn´ı zp˚ usob, kter´ y uvedeme je zaloˇzen na rozkladu v´ ybˇerov´e kovarianˇcn´ı matice dat podle (37). V ˇcasov´ ych okamˇzic´ıch t = 1, 2, . . . , N mˇeˇr´ıme datov´ y vektor dt = [d1;t , d2;t , . . . , dn;t ], napˇr. u ´daje z detektor˚ u podle zm´ınˇen´eho pˇr´ıkladu. Mˇeˇren´e datov´e vektory sestav´ıme do datov´e matice D, resp., centovan´e datov´e matice Dc D=
d1 d2 .. . dN
=
d1;1 d1;2 .. .
d2;1 d2;2 .. .
d1;N d2;N
... ...
dn;1 dn;2 .. .
... . . . dn;N ,
,
resp.,
Dc =
d1 − d d2 − d .. .
,
dN − d
P
kde d je vektor v´ ybˇerov´ ych pr˚ umˇer˚ u d = N1 N t=1 dt . D´ale urˇc´ıme v´ ybˇerovou kovarianˇcn´ı matici dat R=
N 1 X 1 D 0 Dc , (dt − d)0 (dt − d) = n − 1 t=1 n−1 c
kterou rozloˇz´ıme podle (37) takto R = V L V 0, kde V je matice typu n × n, kter´a m´a ve sloupc´ıch vlastn´ı vektory matice R, L je diagon´aln´ı matice stupnˇe n s vlastn´ımi ˇc´ısly matice R na diagon´ale. Zavedeme transformaci dat gt = (dt − d) V
nebo maticovˇe G = Dc V,
kde matice G m´a za ˇr´adky transformovan´a data gt , t = 1, 2, . . . , N . Snadno lze uk´azat, ˇze kovarianˇcn´ı matice transformovan´ ych dat G je diagon´aln´ı a na diagon´ale m´a vlastn´ı ˇc´ısla kovarianˇcn´ı matice R 1 1 G0 G = V 0 Dc0 Dc V = V 0 RV = V 0 (V LV 0 )V = L, n−1 n−1 protoˇze matice V je ortogon´aln´ı, tj. plat´ı V 0 V = I, kde I je jednotkov´a matice. Nov´a (transformovan´a) data jsou tedy navz´ajem nez´avisl´a a maj´ı v´ ybˇerov´e rozptyly rovny vlastn´ım ˇc´ısl˚ um matice R. 43
Kovarianˇcn´ı matici dat (podobnˇe jako rozptyl u regresn´ı anal´ yzy nebo anal´ yzy rozptylu) chceme nyn´ı vysvˇetlit. Protoˇze transformovan´e datov´e veliˇciny jsou nez´avisl´e, vysvˇetluj´ı kovarianˇcn´ı matici samostatnˇe, kaˇzd´a zvl´aˇst’ sv´ ym vlastn´ım rozptylem. Pokud jsou datov´e veliˇciny z´avisl´e, projev´ı se to t´ım, ˇze nˇekter´e transformovan´e veliˇciny budou m´ıt rozptyly vzhledem k ostatn´ım velmi mal´e. Tyto veliˇciny pak m˚ uˇzeme vynechat a pracovat jen s tˇemi, kter´e mˇely rozptyl vˇetˇs´ı. Pˇritom vˇetˇsinou poˇzadujeme, aby bylo vysvˇetleno napˇr. 99% cel´e kovarianˇcn´ı matice. Prakticky postupujeme napˇr. takto: 1. Vlastn´ı ˇc´ısla (prvky na diagon´ale matice L) uspoˇr´ad´ame podle velikosti od nejvˇetˇs´ıho k nejmenˇs´ımu. 2. Stejn´ ym zp˚ usobem, jako jsme pˇrehazovali vlastn´ı ˇc´ısla, pˇreh´azime i vlastn´ı vektory, tj. sloupce matice V . 3. Vlastn´ı ˇc´ısla normujeme tak, aby jejich souˇcet byl roven jedn´e. 4. Postupnˇe sˇc´ıt´ame normovan´a vlastn´ı ˇc´ısla od nejvˇetˇs´ıho a hl´ıd´ame, kdy jejich souˇcet pˇrekroˇc´ı stanovenou hranici (napˇr. 0.99). 5. Jako nov´e promˇenn´e vezmeme ty transformovan´e veliˇciny, jejichˇz rozptyly jsme v pˇredchoz´ım kroku posˇc´ıtali. ˇ ´ı k l a d: Pr
Zmˇeˇrili jsme 1000 vzork˚ u dopravn´ıch dat (intenzity a hustoty dopravn´ıho proudu ve strahovsk´em tunelu). Kaˇzd´e mˇeˇren´ı zahrnovalo 5 hodnot. Urˇcili jsme kovarianˇcn´ı matici dat R=
87.7 41.9 22.4 202.4 23.5 41.9 350.1 6.1 95.9 8.5 22.4 6.1 9.0 68.3 6.9 202.4 95.9 68.3 2194.0 53.7 23.5 8.5 6.9 53.7 10.6
Jej´ı rozklad R = V L V 0 je L=
2222.2 0 0 0 0 0 348.8 0 0 0 0 0 73.6 0 0 0 0 0 4.2 0 0 0 0 0 2.6
V =
0.096 0.111 0.921 −0.349 0.093 0.053 0.991 −0.119 0.015 −0.009 0.032 0.013 0.235 0.396 −0.887 0.993 −0.065 −0.097 −0.002 0.008 0.025 0.023 0.271 0.849 0.452
Normovan´a vlastn´ı ˇc´ısla a jejich kumulativn´ı souˇcet jsou Lnorm = [0.975 0.024 0.001 3.5e − 6 1.3e − 6] a Lcum = [0.975 0.999 1 1 1]. Z vektoru Lcum je patrn´e, ˇze pro pokryt´ı 99% cel´e kovarianˇcn´ı matice postaˇc´ı uvaˇzovat prvn´ı dvˇe transformovan´e promˇenn´e. Oznaˇc´ıme-li Dc matici 1000 × 5 s p˚ uvodn´ımi centrovan´ymi promˇenn´ymi d1 , . . . d5 ve sloupc´ıch, Gr matici 1000 × 2 vybran´ych transformovan´ych promˇenn´ych gr,1 , gr,2 a matici
44
Vr jako submatici matice V obsahuj´ıc´ı prv´e dva sloupce (tj. vlastn´ı vektory odpov´ıdaj´ıc´ı vybran´ym vlastn´ım ˇc´ısl˚ um) bude platit Gr = Dc Vr = [dc,1 , dc,2 , dc,3 , dc,4 , dc,5 ]
0.096 0.111 0.053 0.991 0.032 0.013 0.993 −0.065 0.025 0.023
Odtud je tak´e patrno, jak jsou p˚ uvodn´ı promˇenn´e kombinov´any. gr,1 je tvoˇrena pˇrev´aˇznˇe ze ˇctvrt´e a gr,2 z druh´e p˚ uvodn´ı veliˇciny. V tomto pˇr´ıpadˇe lze tedy m´ısto s dvˇema transformovan´ymi veliˇcinami pracovat s druhou a ˇctvrtou p˚ uvodn´ı veliˇcinou. Ostatn´ı jiˇz mnoho nov´e informace nenesou.
11.2
Rozklad datov´ e matice
Jin´ y zp˚ usob, jak prov´est redukci dat pˇr´ımo ve spojen´ı s regresn´ı anal´ yzou tˇechto dat, je zaloˇzen na rozkladu datov´e matice pomoc´ı tzv. SVD (Singular Value Decomposition) rozkladu (38). Uvaˇzujme regresi pro t = 1, 2, . . . , N yt = dt θ + et kde
Y =
y1 y2 ... yN
,
nebo maticovˇe Y = D θ + E,
d1;1 . . . dn,1 . .. D = .. ... . , d1;N . . . dn;N
θ=
θ1 θ2 ... θn
,
(39)
E=
e1 e2 ... eN
.
Datovou matici D typu N × n rozloˇz´ıme podle (38) D = U S V,
(40)
kde U , resp. V , jsou ortogon´aln´ı matice typu N × N , resp. n × n, S je matice typu N × n, kter´a m´a na hlavn´ı diagon´ale singul´arn´ı ˇc´ısla matice D a jinak nuly. Dosad´ıme-li tento rozklad do regresn´ı rovnice (39), dostaneme Y = (U S) (V θ) + E, kde U S = DV 0 (protoˇze V −1 = V 0 - ortogonalita) a V θ = θ˜ jsou modifikovan´e parametry. Nyn´ı je situace obdobn´a jako pro vlastn´ı ˇc´ısla kovarianˇcn´ı matice dat. Jsou-li datov´e veliˇciny z´avisl´e, budou nˇekter´a singul´arn´ı ˇc´ısla mal´a a lze je nahradit nulami. Poˇcet nenulov´ ych singul´arn´ıch ˇc´ısel oznaˇc´ıme r. Jestliˇze v regresn´ı rovnici vynech´ame sloupce a ˇr´adky jednotliv´ ych matic, kter´e by po vyn´asoben´ı byly stejnˇe nulov´e, bude (ponech´ame stejn´e n´azvy) U ortogon´aln´ı matice typu N × r, 45
S diagon´aln´ı matice typu r × r a V ortogon´aln´ı matice typu r × n. Vektor θ˜ = V θ dimenze r pˇredstavuje transformovan´e parametry regrese a matice G = U S typu N × r transformovan´a data. S vyuˇzit´ım rovnice (40) pro rozklad datov´e matice a skuteˇcnosti, ˇze matice V je ortogon´aln´ı, a tedy plat´ı V −1 = V 0 , lze ps´at U S = D V 0 . Matici transformovan´ ych dat G lze tedy vyj´adˇrit tak´e jako transformaci p˚ uvodn´ıch dat D s transformaˇcn´ı matic´ı V 0 , tj. G = DV0
typu N × r
tedy s r < n promˇenn´ ymi.
Tento model lze odhadovat podle n´asleduj´ıc´ıho algoritmu: 1. Z namˇeˇren´ ych dat sestav´ıme vektor Y a datovou matici D. 2. Matici D rozloˇz´ıme: D = U S V . 3. Rozhodneme, kter´a singul´arn´ı ˇc´ısla ponech´ame (poˇcet oznaˇc´ıme r) a kter´a zanedb´ame. 4. Provedeme redukci matice V tak, ˇze v n´ı ponech´ame je r sloupc˚ u, kter´e odpov´ıdaj´ı nenulov´ ym singul´arn´ım ˇc´ısl˚ um. 5. Pro odhad modelu pouˇzijeme vektor Y a transformovanou datovou matici G. Pro odhad nebo predikci z dalˇs´ıch dat (pro t = N + 1, N + 2, . . .) lze pˇredpokl´adat, ˇze transformaˇcn´ı matice V se ”pˇr´ıliˇs nemˇen´ı” a pouˇz´ıvat ji i d´ale. Obˇcas je moˇzno ji pro nov´a data pˇrepoˇc´ıtat opˇet podle uveden´eho algoritmu.
46