Analiza Multidimensional A a Datelor

download Analiza Multidimensional A a Datelor

of 20

Transcript of Analiza Multidimensional A a Datelor

Academia de Studii Economice

Proiect Analiza multidimensionala a datelor SAS

Cuprins I.Descrierea datelor II.Analiza componentelor principale III.Analiza factoriala IV.Metode nesupervizare de recunoastere a formelor A. Clusterizare prin metoda Ward B. Algoritmul de partitionare K-means V.Metode de recunoastere a fomelor supervizate.Analiza discriminanta VI.Concluzii

I.Descrierea datelorAnaliza datelor are ca obiectiv principal extragerea informatiei relevante , semnificative care este continuta in informatia primara, in date.Aceasta informatie este utilizata in continuare in interpretare, testatare, estimare, predictie fenomenelor economico-sociale sau financiare. Datele pentru acest studiu sunt preluate de pe site-ul http://www.sci.usq.edu.au/staff/dunn/Datasets/applications/popular/countries.html si furnizeaza informatii despre 38 de tari cu privire la urmatoarele variabile : Suprafata-masurata in km patrati Irigatii-suprafata irigata in km patrati Pop-populatia tarii respective in milioane Pers14-populatia care are sub 14 ani in milioane SV-speranta de viata la nastere Alfabet-gradul de alfabetizare Someri-rata somajului ISP-Internet Service Provider la un milion de persoane TVS-numarul televizoarelor pe persoana Caleferata-lungimea caiilor ferate in km Aeroporturi-numarul de aeroporturi din tara respectiva Aceste date sunt utile pentru modelarea unor fenomene economico-sociale, asupra carora vom aplica diverse tehnici de analiza multidimensioanala in scopul reducerii numarului de variabile, pentru determinarea unor cauze , a unor factori latenti care influentaza aceste date, a stabilirii cauzalitatii si legaturilor intre ele.De asemenea vom incerca sa le grupam , in functie de anumite variabile care o au putere de discriminare mai mare, sa determinam anumite clase de apartenenta pentru fiecare dintre variabile prin intemediul tehnicii de recunoastere a formelor nesupervizata, de determinarea unor functii de clasificare si in cele din urma de testarea calitatii acestor indicatori .

I.Analiza componentelor principaleAceasta tehnica are ca scop determinarea unor noi variabile numite componente principale si exprimate sub forma combinatiilor liniare de varibile originale astfel incat aceste noi combinatii sa aiba o variabilitate maxima, ceea ce se traduce prin faptul ca ele vor aduce un maxim de informatie posibila, fara sa existe informatie redundanta. Astfel in loc de 13 variabile originale vom incerca sa obtinem un nr mai mic (de regula 24) de noi variabile construite in asa fel incat ele sunt necorelate intre ele 2 cate 3 si suma patratelor coeficientilor este egala cu unitatea . Privite din punct de vedere geometric, componentele principale definesc un nou spatiu al obiectelor in care axele sunt componentele principale iar valorile sunt coordonatele acestor in spatiu numite si scoruri. Pe langa celelalte proprietati noile componente au si proprietatea ca suma variantelor este egala cu suma variantelor variabilelor originale. Inainte de a face aceasta analiza este de preferat ca variabilele sa fie standardizateproc distance data =work.prog method = euclid outsdz = work.fis; var ratio ( suprafata irigatii Pop Pers14 SV Alfabet Someri ISP TVS Caleferata Aeroporturi/std=std); run;

Determinam matricea de corelatie a indicatorilor si observam cuplurile de variabile puternic corelate care in cazul variabilelor standardizate este aceeasi cu matricea de covarianta.Aceasta ne va ajuta sa stabilim in continuare numarul de componente pricipale necesare, care mai pot fi privite si ca un numar de grupe de variabile puternic corelate intre ele.proc princomp data=work.fis cov out=Scoruri n=11 outstat=rez_ACP; var suprafata irigatii Pop Pers14 SV Alfabet Someri ISP TVS Caleferata Aeroporturi; title 'rezultate Analiza Componentelor Principale'; run;

Astfel se observa ca cel mai puternic corelate sunt : -suprafata cu irigatiile, populatia ,lungimea de cale ferata si numarul de aeorporturi - populatie cu irigatia -speranta de viata cu gradul de alfabetizare Pe de alta parte se poate observa ca variabila someri si populatia sub 14 ani si restul variabilelor sunt asociate indirect cu toate celelate variabile, exista o legatura indirecta. Determinarea numarului de componente principale( K): a)Criteriul pantei se bazeaza pe reprezenatarea grafica a celor n valori proprii intr-o repezentare de tip comercial in care abscisa:eticheta(Principal Component) iar ordonata reprezinta valorile(eigenvalues).Valoarea k se determina prin efectuarea unei taieturi astfel incat la dreapta sa ramana o portiune cu panta apropiata de 0.Numarul de componente principale este dat de primul numar de la stanga.Dupa cum se poate observa din graficul din imagine ne putem opri la k=3 componente principale.

b)Criteriul lui Kaiser se poate aplica in cazul de fata, deoarece am standardizat variabilele .Conform acestui criteriu numarul de compomente principale retinut in analiza este determinat de numarul de componente care au varianta mai mare decat unitatea.

Prima componenta principala este o combinatie liniara normalizata a carei varianta este maxima , cea de-a doua este urmatoarea cu varianta mare dar necorelata cu prima iar cea de-a treia este necorelata cu cele 2 anterior determinate.

Astfel prima componenta preia 39,7% din varianta initiala, a doua 23% iar cea de-a treia 13,13%, in total 76,59% ceea ce inseamna o pierdere informationala de 23%. Prin urmare ne vom opri tot la un numar de 3 componente principale.In locul observatiilor ce corespund celor 11 variabile in analiza pot fi luate observatiile corespunzatoare primelor 3 componente principale, adica scorurile. Aceste imagini sugereaza gruparea variabilelor in functie de componentele principale , adica noile coordonate ale variabilelor determinate dupa axele componentelor principale.Prima imagine este reprezentata de comp1 si 2 Dupa cum observam ISP,TVS si nr de aeroporturi sunt apropiate de axa comp2, restul variabilelor fiind destul de imprasitate.

In cazul reprezentarii variabilelor dupa componenta 1 si 3 vom observa gradul de alfabetizare ,suprafata, TVS, speranta de viata si populatia sub 14 ani sunt apropiate de componenta 1 .

Cea de-a treia imagine arata graficul distributiei variabilelor in functie de com2 si 3.Observam ca aici variabilele sunt mai apropiate de cele 2 axe.

Calculul scorurilor principale Matricea scorurilor pricipale reprezinta coordonatele celor 38 de observatii in raport cu axele din spatiul principal redus este de dimensiune kxT adica 3x38. Scorurile principale rezultate din analiza componentelor principale au urmoatoarele proprietati : sunt neredundante , adica datele nu se suprapun din punct de vedere informational si sunt mult mai fezabile , mai robuste, lipsite de erori. Elemenetele acestei matrici pot fi interpretate, in cazul in care variabilele sunt standardizate, ca masura a contributiei pe care fiecare variabila o are la formarea variantei componentei principale.Cu cat aceste elemente sunt mai mari cu atat este mai adecvata si mai completa exprimata informatia din variabilele initiale in componentele principale.Pe baza acestei matrici putem atribui semnificatii componentelor principale.

title2 'Graficul primelor doua componente principale'; %plotit(data=Scoruri,labelvar=tara, plotvars=Prin2 Prin1, color=black, colors=blue); run;

Aceasta matrice poate fi vizualizata in work.scoruri. Vizualizarea gruparii tarilor in noul spatiu determinat de primele 2 componente :

Se pot identifica cateva grupuri de tari mai apropiate, ceea ce arata oarecum anumite clase de tari, precum si cele 2 tari USA si China care sunt distantate de restul dupa suprafata si populatie aceastea se distanteaza de restul oservatiilor.O vizualizare mai buna se va face in cadrul analizei cluster. II.Analiza factoriala Analiza factoriala este o analiza multivariata care are ca scop explicarea corelatiilor manifestate intr-o serie de variabile numite indicator prin intermediul unui numar mai mic de factori ordonati si necorelati numiti factori comuni.In mod similar analizei componentelor principale, analiza factoriala isi propune sa reexprime variabilitatea continuta de spatiul initial in functie de rolul pe care il au in formarea acesteia factorii comuni si unici.Are ca scop masurarea indirecta a unor factori ascunsi,de cuantificare, a unor factori latenti Acesti factori de natura neobservabila se numesc factori comuni.Ei au natura similara cu a factorilor cauzali cu semnificatie stabila si consitenta a carui existenta influenteaza valorile unei intrebi multimi de variabile numite indicatori.Principala caracteristica a lor este ca sunt neobservabili. In cazul de fata vom incerca sa masuram nivelul de dezvoltare sociala , aceasta fiind o caracteristica comuna care insa este abstracta , sintetizatoare.Aceasta caracteristica nu poate fi apreciata in mod direct si vom incerca sa o sintetizam prin anumiti indicatori cum ar fi : speranta de viata la nastere, gradul de alfabetizare, dezvoltarea infrastructurii, rata somajului.Insa aceste observatii sunt influentate si de alti factori specifici, individuali, ce difera de la o tara la alta, cum ar fi climatul politic, coordonatele geografice etc. .Din randul acestor factori specifici fac parte si erorile.

Acest factor latent induce variatii asupra indicatorilor observabili in mod direct.Cu cat variiatile sunt mai puternice cu atat se poate afirma ca acesti indicatori ajuta mai mult la exprimarea indirecta a factorului latent.Vom utiliza variabilele initiale pe post de indicatori sau test.Observatiile esantionului reprezinta scorurile.Asadar se pune si problema identificarii factorilor unici, care au proprietatea ca sunt necorelati intre ei precum si cu factorul comun. Y=XB+E unde Y este nivelul de dezvoltare economica, X-matricea scorurilor iar Bmatricea patternurilor, E-matricea reziduurilor. Determinarea numarului de factori :proc factor data=work.fis data=work.fis method=principal scree mineigen=1 score priors=smc outstat=work.rez_facto; var suprafata irigatii pop pers14 SV alfabet someri ISP TVS caleferata aeroporturi;run;

Vom utiliza criteriul lui Kaiser( mineigen=1) care va selecta acele valori proprii ce sunt mai mari decat 1, in cazul nostru 3.

Avem in tabelul de mai sus comunalitatile initiale estimate care exprima cat din varianta fiecarei variabile se regaseste in varianta celorlalte.Dupa cum se observa aceste valori sunt mari ceea ce inseamna ca sunt influentate puternic de factori comuni si nu putem renunta la ele.Cei 3 factori exprima exprima 91,6% din varianta totala a variabilelor indicator. Aceasta este matricea factorilor initiala si varianta explicata de fiecare factor, varianta explicata de fiecare factor si comunalitatile finale :

Vedem contributiile initiale ale factorilor asupra vatiantei totale a variabilelor indicator sunt : 4.17, 2.45 respectiv 1.32.Citim coeficientii matricii factori ca fiind intensitatile factorilor asupra variabilelor. Observam ca variabilele asociate factorului 1 sunt :suprafata, irigatiile, populatia, speranta de viata, gradul de alfabetizare , nr de conexiuni la internet, numarul de televizoare , lungimea caii ferate si nr de aeroporturi.Numai variabilele someri si persoane sub 14 ani nu sunt asociate acestui factor. Variabilele asociate factorului 2 sunt :suprafata , irigatiile, populatia,nr.persoanelor sub 14 ani si nr de someri, calea ferata si nr de aoeroporturi. Asociate factorului 3 sunt :ISP,calea ferata si aeroporturi.Dupa cum se observa exista variabile care se ascociaza mai multor factori. Dupa rotatia structurii factor , prin metoda varimax , efectuata in scopul asigurarii unei interpretabilitati mai corecte pentru cei 3 factori .Variantele factorilor si contributiile lor la formarea variantei variabilelor indicator se modifica.proc factor data=work.rez_facto method=principal n=3 rotate=varimax score outstat=rez_facto_2f;

Dupa cum reiese din tabelul de mai sus variabilele signifiant influentate(>0.3) de factorul 1sunt : Speranta de viata, gradul de alfabetizare ,IPS,TV de unde putem clasifica aceast factor gradul de dezvoltare sociala. Observam ca legatura este inversa in raport cu rata somajului , suprafata de irigatii, respectiv nr persoanelor sub 14 ani.Cu alte cuvinte un grad ridicat de dezvtare socio-economica influenteaza in sens inversa ceste variabile. Factorul 2 este asociat cu variabilele : .suprafata,IPS,TVS,CF, si aeroporturi si il putem considera un indicator ce indica dezvoltarea tehnologica si a infrastructurii.La fel acest factor influenteaza in sens invers variabila rata somajului si persoanele sub 14 ani. Factorul 3 este asociat cu variabilele :suprafata, irigatii ,populatie, caleferata astfel il putem interpreta ca pe un indicator al influentei pozitiei geografice.Il putem interpreta ca pe un factor comun in acest caz :pozitionarea geografica are un efect asupra intinderii, suprafetei de irigatii, km de cale ferata precum si numarului de locuitori ai unei tari. Urmatorul tabel afiseaza si scorurile factorilor ce pot fi utilizati in analiza ulterioar in locul variabilelor originale.

III.Analiza clusterAnaliza cluster este o tehnica de clasificare in care afectarea formelor sau obiectelor se face progresiv si de asemenea ca nu se cunoaste numarul de clase.Criteriul general de clasificare se determina astfel incat acesta sa asigure a variabilitate minima in interiorul claselor si o variabilitate maxima intre clase. A.Clusterizare ierarhica folosind criteriul Ward. In cazul clusterizarii ierarhice numarul de clustere nu este cunoscut aprioric Regula de clasificare :Ward. Metoda Ward evalueaza distanta dintre 2 clustere ca suma totala a patratelor abaterilor la nivelul configuratiei cluster rezultate din comasarea celor 2 clustere pentru care se evalueaza distanta.Aceasta metoda exprima distantele din punct de vedere al minimizarii variabilitatii intracluster(sau maximizarii variabilitatii intercluster). Am folosit criteriul cubic clustering si pseudo F, si pseudo t squered ca optiuneproc cluster data=work.fis method=ward ccc pseudo print=15 outtree=rez_tree; var suprafata irigatii Pop Pers14 SV Alfabet Someri ISP TVS Caleferata Aeroporturi; id tara; format tara $12.; run;

Primele 2 variabile explica 63% din varianta totala, dupa cum se observa din tabelul de mai jos.

proc tree data=rez_tree out=fis_tree nclusters=3 haxis=axis1 horizontal; height _rsq_; copy can1 can2 ; id tara; title 'Arborele clasificarii - Dendrograma'; run;

Prin realizarea unor taieturi in dendograma obtinem diferite nivelulri de ierarhizare. Daca privim imaginea de la stanga spre dreapta pe masura ce R2 se apropie de 1 numarul de clustere creste. Pentru un prag de distante de 0.2 se obtin doua grupe :prima formata din China si Usa iar a doua formata din restul tarilor Daca pragul este de 0.5 se obtin 3 grupe :prima este formata tot din China si USA , a doua din Bangladesh, Camerun,Ghana, Africa de Sud,Namibia, Yemen,Egipt, Laos Pakistan,Kenya,Zambia, Zimbabve iar cea de-a treia din restul tarilor.Pe masura ce avansam in acest arbore se desprind mai multe clase.Dupa cum se poate observa legatura intre acestea este legata in mare masura si de suprafata si populatia tarilor respective, cu alte cuvinte de factorii geografici, dar si nivelul de dezvoltare economica, exprimat de celelalte variabile luate in calcul.Cu cat avansam in taietura in dendograma vom obtine mai multe clase si se poate observa mai bine cum s-au grupat tarile. B.Clusterizarea folosind algoritmiul de partitionare K-means.Algoritmii de clasificare prin partiotionare furnizeaza solutii unice. Spre deosebire de metoda de analiza cluster de tip ierarhic algoritmii de partitionare sunt mult mai performanti si se presupune ca se stie numarul de clase k aprioric(in functie de scopul urmarit).Folosind aceasta metoda de

partionare trebuie mai intai sa stabilim initializatorii de clase (seeds) si modalitatile de alocare a formleor la clase. Algoritmul K-means este o metoda de impartire a unui set de date intr-un numar de clustere k, dat de utilizator.Aceasta metoda de analiza cluster are scopul de a imparti n observatii in k clase in care fiecare observatie apartine clasei cu media cea mai aporpiata.Mai exact algoritmul asigneaza k centre ale claselor in n puncte. Daca privim observatiile {x1,x2...xn}ca fiind vectori de dimensiune T atunci clusterizarea k-means presupune impartirea acestui set in k partitii w={w1,w2..wk} astfel incat sa se minimizeze suma patratelor distantelor din interiorul clusterului. In prima etapa se realizazeaza initializarea care consta in alegerea numarului de clase.In etapa urmatoare are loc iterarea care presupune a) Arondarea celor t-k forme ramase la cele k clase in functie de cea mai mica distanta de la fiecare dintre acestia la initializatorii clasei b) Se calculeaza centroizii celor k clase , c) Se arondeaza toate cele T observatii in functie de dinstanta dintre ele si centroizii calculati anterior. d) Se recalculeaza centroizii claselor corespunzatoare acestei noi arondari, apoi se reia algoritmul de la pasul c). Algoritmul se opreste atunci cand modificarea centroizilor de la pasul curent la pasul anterior