1 / 38

Testiranje multivari j at nog normalit eta

R eferalni centar za analizu podataka i statistiku za potrebe akademske i istraživačke zajednice (RC APIS). Testiranje multivari j at nog normalit eta. %MULTNORM macro Autor: Nataša Tepić, NCVVO e-mail: ntepic@ncvvo.hr. Varijante programa za test multivarijatnog normaliteta.

jerrod
Download Presentation

Testiranje multivari j at nog normalit eta

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Referalni centar za analizu podataka i statistiku za potrebe akademske i istraživačke zajednice (RC APIS) Testiranje multivarijatnog normaliteta %MULTNORM macro Autor: Nataša Tepić, NCVVO e-mail: ntepic@ncvvo.hr

  2. Varijante programa za test multivarijatnog normaliteta • SAS macroMardia-ev koeficijent asimetrije (skewness) i koeficijent zaobljenosti(kurtosis), Henze-Zirklerov test i 2kvantil-kvantil graf • Khattree-Naikov programMardia-ev koeficijent asimetrije (skewness) i koeficijent zaobljenosti(kurtosis) • SAS/CALIS proceduraIzabrani koeficijenti koeficijenti zaobljenosti(kurtosis)

  3. Uvod • ako su podaci multivarijatno normalno distribuirani, onda su i sve varijable univarijatno normalno distribuirane • obrat ne vrijedi pa nije dovoljno testirati podatke samo za univarijatni normalitet • razvijene su različite metode za testiranje multivarijatnog normaliteta

  4. Mardia-evi koeficijenti • u Mardia “Applications of some measures of multivariate skewness and kurtosis in testing normality and robustness studies”, Sankhya B. 1974; 36, 115-128 predloženo je testiranjemultivarijatnog normaliteta na temelju koeficijenta asimetrije (skewness) i koeficijenta zaobljenosti(kurtosis) dobivenih na uzorku • zamultivarijatno normalno distribuiranepodatke, očekivana vrijednost multivarijatnogkoeficijenta asimetrije je p(p+2)[(n+1)(p+1)-6] / (n+1)(n+3) • očekivana vrijednost multivarijatnogkoeficijenta zaobljenostije p(p+2)(n-1)/(n+1)

  5. Henze-Zirklerov test • drugi test je Henze-Zirklerov; on se temelji na nenegativoj funkciji kojamjeri udaljenostizmeđu dvije funkcije distribucija • njime se procjenjuje udaljenostizmeđu funkcije distribucije podataka i funkcije multivarijatne normale distribucije • pojedinosti o ovom testu mogu se naći u SAS dokumentaciji (SAS/ETS User's Guide)

  6. Henze-Zirklerov test • Henze-Zirklerov test izvodi se s %MULTNORM macro programom • hipoteza H0 o multivarijatnomnormalitetu se odbacuje ako je p-vrijednostH-Z test-statistike manje od praga značajnosti  • ako je p-vrijednostH-Z test-statistike veća od praga značajnosti , hipoteza se ne odbacuje te se na tom setu podataka smiju koristiti metode koje zahtijevaju multivarijatninormalitet

  7. Kvantil-kvantil graf • grubi indikator multivarijatnog normaliteta je i 2kvantil-kvantil graf (Q-Q plot) • na grafu su prikazane točke definirane kvadratima Mahalanobisovih udaljenosti pojedinih opservacija od vektora sredina i pripadnim 2kvantilima • graf jeosjetljiv na atipične vrijednosti (outlier)

  8. Univarijatni normalitet • univarijatni normalitet testira se s:- Shapiro-Wilkovim W testomili- Kolmogorov-Smirnovim testom (veliki uzorci) • pojedinosti o ovim testovima mogu se naći u SAS dokumentaciji (Tests for NormalityuThe UNIVARIATE Procedure) • Shapiro-Wilkov W test za univarijatni normalitet je vrlo snažan test sposoban otkriti odstupanje od univarijatnog normaliteta u uzorcima malih veličina

  9. %MULTNORM macro program Mardia-evi koeficijenti, Henze-Zirklerov test i 2kvantil-kvantil graf

  10. %MULTNORM macro program služi za testiranjei grafičko prikazivanje multivarijatnog normaliteta • također testira i univarijatni normalitet za svaku varijablu • grafički prikaz je2kvantil-kvantil graf (Q-Q plot)koji prikazuje kvadrate Mahalanobisovih udaljenosti pojedinih opservacija

  11. Zahtjevi • za testiranje multivarijatnog normaliteta potreban je SAS/IML modul inačice 7 ili novije; umjesto tog modula može se rabitii SAS/ETS modul inačice8 ili novije • za grafički prikazniske rezolucije potreban je SAS/STAT modul inačice 7 ili novije, a za grafički prikazvisoke rezolucije potreban je SAS/GRAPH modul • svi navedeni moduli dostupni su korisnicima SAS AAS  Academic Analysis Suite

  12. Uporaba • potrebno je samo pokrenuti program nakon njegove prilagodbe i odabira opcija

  13. Program %inc "<lokacijadatoteke s %MULTNORM macro programom>"; %multnorm(data=biblioteka.datoteka-s-podacima, var=popis-varijabli-za-testiranje, plot=both|mult|uni|none , hires=yes|no)

  14. Prilagodba programa • u prvom retku programa u području s znakovima navoda (“) potrebno je navesti lokaciju gdje je spremljen %MULTNORM macro program • uz lokaciju datoteke %MULTNORM macro potrebno je navesti njegovo ime

  15. Prilagodba programa • u drugom retku programa potrebno je navesti ime datoteke i varijable koje se želi testirati • ako se ne navede ime datoteke, testirat će se zadnja stvorena datoteka • imena varijabli koje će se testirati moraju biti odvojene razmakom • imena varijabli koje će se testirati ne smiju biti: VAR1-VAR10, ABC--XYZ, _NUMERIC_

  16. Prilagodba programa • u drugom retku programa potrebno je odabrati opcije naredbi plot i hires PLOT=BOTH | MULT | UNI | NONE HIRES=YES | NO

  17. Prilagodba programa • PLOT=BOTH | MULT | UNI | NONE • PLOT=MULT stvara multivarijatni Q-Q graf visoke iliniske rezolucije koji prikazuje kvadrate Mahalanobisovih udaljenosti pojedinih opservacija od vektora sredina (mean vector) • PLOT=UNI stvara univarijatne histogramevisoke rezolucijeza svaku varijablu s dodatnim prikazom normalne distribucije i univarijatnim testom normaliteta • uz opciju PLOT=UNI uvijek mora biti odabrana i opcija HIRES=YES; ako je odabrana opcija HIRES=NO neće doći do stvaranja univarijatnog prikaza

  18. Prilagodba programa • PLOT=BOTH | MULT | UNI | NONE • PLOT=BOTH (“defaulta” opcija) stvara multivarijatni Q-Q graf i univarijatne histograme • PLOT=NONE izostavljasvegrafičke prikazei univarijatne testove normaliteta; odabir opcije HIRES= nije bitan uz ovu opciju naredbe PLOT=

  19. Prilagodba programa • HIRES=YES | NO • HIRES=YES (“defaulta” opcija) grafički prikazi su visoke rezolucije • prije pokretanja programa potrebno je odabratigrafičke uređaje(graphics device) snaredbom GOPTIONS DEVICE= kao isve druge željene grafičke opcije koje su potrebne za stvaranje željenog grafičkog prikaza visoke rezolucije

  20. Prilagodba programa • HIRES=YES | NO • HIRES=NO grafički multivarijatni prikaz je niske rezolucije • univarijatni prikazi nisu mogući s opcijom HIRES=NO

  21. Primjer programa %inc "C:\macro\multnormmacro.sas"; %multnorm(data=obrada.cork, var=n e s w, plot=mult, hires=no) • ovaj program će osim multivarijatnog i univarijatnog testa normaliteta (plot=mult) stvoriti grafički prikaz multivarijatnog Q-Q plota niske rezolucije (hires=no)

  22. Rezultat MULTNORM macro: Univariate and Multivariate Normality Tests The MODEL Procedure Normality Test Equation Test Statistic Value Prob n Shapiro-Wilk W 0.91 0.0167 e Shapiro-Wilk W 0.90 0.0116 s Shapiro-Wilk W 0.89 0.0067 w Shapiro-Wilk W 0.94 0.1093 System Mardia Skewness 24.13 0.2369 Mardia Kurtosis -0.40 0.6904 Henze-Zirkler T 2.29 0.0222 • univarijatni test normaliteta

  23. Rezultat MULTNORM macro: Univariate and Multivariate Normality Tests The MODEL Procedure Normality Test Equation Test Statistic Value Prob n Shapiro-Wilk W 0.91 0.0167 e Shapiro-Wilk W 0.90 0.0116 s Shapiro-Wilk W 0.89 0.0067 w Shapiro-Wilk W 0.94 0.1093 System Mardia Skewness 24.13 0.2369 Mardia Kurtosis -0.40 0.6904 Henze-Zirkler T 2.29 0.0222 • multivarijatni test normaliteta

  24. Rezultat MULTNORM macro: Chi-square Q-Q plot Plot of mahdist*chisq. Legend: A = 1 obs, B = 2 obs, etc. ‚ ‚ 12 ˆ ‚ ‚ ‚ ‚ A 10 ˆ ‚ S ‚ q ‚ A u ‚ A a 8 ˆ r ‚ A e ‚ A d ‚ ‚ D 6 ˆ A i ‚ A s ‚ t ‚ A a ‚ n 4 ˆ A AAA c ‚ e ‚ AA ‚ AA ‚ BA 2 ˆ AA ‚ AAAA ‚ AAA ‚ ‚ 0 ˆ ‚ Šƒˆƒƒƒƒƒƒƒƒƒƒˆƒƒƒƒƒƒƒƒƒƒˆƒƒƒƒƒƒƒƒƒƒˆƒƒƒƒƒƒƒƒƒƒˆƒƒƒƒƒƒƒƒƒƒˆƒ 0.0 2.5 5.0 7.5 10.0 12.5 Chi-square quantile • multivarijatni Q-Q graf niske rezolucije

  25. Ograničenja • uporaba računalne memorije tijekom računanja multivarijatnog testa proporcionalna je četvrtoj potencijibroja opservacija • srednje velike datoteke (velika 1000 podataka) moguzahtjevati pretjerano dugo vrijeme za izvršavanje programa ili čak prekinuti rad uz javljanje greške (Unable to allocate sufficient memory)

  26. Ograničenja • u slučaju singularnosti matricekovarijanci podataka, macro program prekida s radom uz poruku: ERROR: Covariance matrix is singular. • procedura PRINCOMP (dio SAS/STAT modula)potrebna je za provjeravanje singularnosti, ako te procedure nema,pretpostavit će se nesingularnosti macro program će nastaviti dalje s radom

  27. Ograničenja • opservacijekod kojih nedostaje vrijednost barem jedne varijable(missing values)nisu uključene niti u analizu niti u grafički prikaz

  28. Alternativni pristup Mardia-evi koeficijenti

  29. Khattree-Naikov program • u slučaju velikih setova podataka kada nije moguće koristiti %MULTNORM macro program uslijed opterećenja računalne memorije, moguće je koristiti program iz Ravindra Khattree i Dayanand N. Naik “Applied Multivariate Statistics with SAS Software” 2nd Edition, 1999 SAS Institute Inc., Cary, NC, SAD, SAS Publications order 56903

  30. Khattree-Naikov program • testiranjemultivarijatnog normaliteta u ovom se programu temelji na Mardiaevomkoeficijentu asimetrije i koeficijentu zaobljenostidobivenih na uzorku • ovim se programom ne može dobiti Henze-Zirklerov test multivarijatnog normaliteta, kao ni testoviunivarijatnog normaliteta ni grafički prikazi

  31. Khattree-Naikov program proc iml; use cork; read all into y; n = nrow(y) ; p = ncol(y) ; dfchi = p*(p+1)*(p+2)/6 ; q = i(n) - (1/n)*j(n,n,1); s = (1/(n))*y`*q*y ; s_inv = inv(s) ; g_matrix = q*y*s_inv*y`*q; beta1hat = ( sum(g_matrix#g_matrix#g_matrix) )/(n*n); beta2hat =trace( g_matrix#g_matrix )/n ; kappa1 = n*beta1hat/6 ; kappa2 = (beta2hat - p*(p+2) ) /sqrt(8*p*(p+2)/n) ; pvalskew = 1 - probchi(kappa1,dfchi) ; pvalkurt = 2*( 1 - probnorm(abs(kappa2)) ); print s ; print s_inv ; print 'TESTS:'; print 'Based on skewness: ' beta1hat kappa1 pvalskew ; print 'Based on kurtosis: ' beta2hat kappa2 pvalkurt;

  32. Khattree-Naikov program • prije korištenja Khattree-Naikovog programa potrebno je u drugom redu programa navesti lokaciju i ime datoteke koja se želi testirati proc iml; use ‘biblioteka.datoteka-s-podacima’; read all into y; VAŽNO: datoteka smije sadržavati isključivo varijable koje se žele testirati

  33. Alternativni pristup 2 Mardia-evi koeficijenti i podaci s kovarijančnom strukturom

  34. Analizakovarijance • za modeliranje podataka s kovarijančnom strukturom, rabi se procedura CALIS • njome se modeliraju: • složenei multivarijantne linearne regresije • linearno mjerenje-pogreška modeli • “path” analizei modeliranje uzročnosti • faktorske analizebilo kojeg reda • kanoničkekorelacije • mnogi modeli (ne)linearnih latentnih varijabli

  35. Analizakovarijance • procedura CALIS izuzetno je osjetljiva na odstupanje od normalne distribucije i atipične vrijednosti • opcijom Kurtosis (KU) izračunavaju se različiti koeficijenti zaobljenosti, no ne i pripadajuće p-vrijednosti • programom TestMultNormCALIS.sas mogu se izračunati p-vrijednosti za koeficijente zaobljenosti dobijene pomoću procedure CALIS

  36. Analizakovarijance • u SAS dokumentaciji (The CALIS Procedure Measures of Multivariate Kurtosis) nalazi se popis svih koeficijente zaobljenosti koji se mogu izračunati s tom procedurom • dio programa koji sadrži proceduru CALIS potrebno je prilagoditi željenom modelu

  37. data osnovni; set labrary.datoteka; run; ods output 'Simple Statistics' = simstat; proc calis data = osnovni kurtosis; lineqs varijabla1 = e1, varijabla2 = e2, varijabla3 = e3; std e1=eps1, e2=eps2, e3=eps3; cov e1=eps1, e2=eps2, e3=eps3; run; quit; ods output close; data y; set simstat; if Label1 ne "Mardia's Multivariate Kurtosis" then delete; keep nValue1; run; proc iml; use osnovni; read all into y; p = ncol(y) ; n = nrow(y) ; dfchi = p*(p+1)*(p+2)/6 ; create df from dfchi[colname='df']; append from dfchi; close df; create n from n[colname='n']; append from n; close n; data chiprob; merge y df n; Value=nValue1*nValue1; sqrtKurt=sqrt(Value); Kurtosis=(sqrtKurt*n)/6; p = 1-PROBCHI(Kurtosis,df); keep p nValue1 Kurtosis; format p comma8.4; label nValue1="Mardia's Multivariate Kurtosis"; label Kurtosis="testna statistika"; run; proc print data = chiprob noobs LABEL ; title1 "testiranje multivarijatnog normaliteta" j=c; title2 "pomocu Mardiaevog koeficijenta zaobljenosti"; title3 "(Mardia's Multivariate Kurtosis)"; run;

  38. Referalni centar za analizu podataka i statistiku za potrebe akademske i istraživačke zajednice (RC APIS) E-mail: vesna.dobric@srce.hr Telefon:(01) 616 55 97 Faks:(01) 616 55 91 Mailing lista:stat-sas-l

More Related