330 likes | 468 Views
R eferalni centar za analizu podataka i statistiku za potrebe akademske i istraživačke zajednice (RC APIS). Trasformacije za postizanje normaliteta. % SYMBOX macro Autor: Nataša Tepić, NCVVO e-mail: ntepic@ncvvo.hr. Uvod.
E N D
Referalni centar za analizu podataka i statistiku za potrebe akademske i istraživačke zajednice (RC APIS) Trasformacije za postizanje normaliteta %SYMBOX macro Autor: Nataša Tepić, NCVVO e-mail: ntepic@ncvvo.hr
Uvod • velik broj statističkih metoda zahtjeva normalno distribuirane podatke • ukoliko oni to nisu, moguće ih je podvrgnuti nekoj transformaciji koja će ih transformirati na takav način da njihova distribuciju postane normalna • najčešće se koriste transformacije za uklanjanje asimetrije (lijevi/desni rep)
Uvod • za uklanjanje lijevog repa koristi se kvadriranje, tj. potenciranje na potenciju 2 • za uklanjanje desnog repa koriste se transformacije kao što su: • korijen • logaritam log Y • inverz 1/Y • poredak transformacija po jačini sabijanja desnog repa prema manjim vrijednostima je: • korijen • logaritam log Y • inverz 1/Y • Inverzi potencija višeg reda 1/Yn
ovisno o jačini asimetrije empirijske distribucije, potrebno je naći prikladnu transformaciju
transformacije se ISKLJUČIVO smiju primjeniti tako da se primjenjuju JEDNAKO na sve podatke, odnosno da su MONOTONE • navedene transformacije mogu se primjeniti samo na podacima koji su pozitivni i nisu jednaki 0 (logaritamska i inverz transformacija) pa je podatke potrebno skalirati prije primjene transformacije
Simetričnost empirijske distribucije SAS %SYMBOX macro Autor: Michael Friendly, York University; verzija 1.2 (13.01.2006.) http://euclid.psych.yorku.ca/ftp/sas/macros/symbox.sas
Uvod • SYMBOX macro program olakšava pronalaženje prikladne transformacije za smanjivanje asimetrije empirijske distribucije • taj macro program može istovremeno nekoliko varijabli transformirati na nekoliko načina
Uvod • u BOXPLOT macro programu (sastavni dio SYMBOX programa) može se koristiti i varijabla za grupiranje koja može biti numerička ili kategorijalna te se mogu prikazati grupni stratificirani boxplot dijagrami • kao rezultat rada, SYMBOX macro program kreira boxplot dijagram s transformiranim i “sirovim” podacima za svaku pojedinu varijablu
Uvod • SYMBOX macro program pronalazi sljedeće transformacije: • POWERS = -n inverz potencije n • POWERS = md korijen m-tog reda prikazan kao decimalni broj (pr. 0.5 za drugi korijen) • POWERS = 0 dekadski logaritam • prikaz “sirovih” podataka definira se naredbom: • POWERS = 1
Uvod interkvartilni raspon IQR 3. kvartil Q3 • boxplot dijagram za svaku grupu prikazuje mjere lokacije kao što su medijan, kvartili i aritmetička sredina, dok whisker linije prikazuju vrijednosti koje su udaljene 1,5 puta više od interkvartilnog raspona (taj faktor se može promijeniti naredbom OFACTOR=) • opservacije koje su izvan boxplot dijagram, prikazuju se zasebno simbolom medijan sredina 1. kvartil Q1 whisker linija najmanja ne-atipična vrijednost Q1−1,5*IQR
Uvod • pomoću macro programa traži se transformacija koja će dati simetrični boxplot dijagram (medijan i aritmetička sredina na istom mjestu, udaljenosti između Q1 i Q2 kao i Q2 i Q3 identične, whisker linije iste dužine, bez postojanja atipičnih vrijednosti)
boxplotovi se mogu međusobno uspoređivati obzirom da su svi standardizirati, odnosno prikazuju distribucije čija je aritmetička sredina 0 i standardna devijacija 1 Uvod
uspoređujući sirove podatke koji imaju izraziti desni rep s predloženim transformacijama, može se uočiti kako je korijen (Sqrt) transformacija nedovoljno jaka za ove podatke te su whisker linije različitih duljina. Inverz transformacije (inverz -1/X i inverz korijena -1/Sqrt) na ovim podacima su neprikladne te povećavaju asimetriju u lijevu stranu. Primjer
od predloženih transformacija, logaritamska transformacija (Log) čini se najprikladnija za umanjivanje asimetrije prikazanih podataka je li odabrana transformacija, u ovom slučaju logaritamska, dovoljna za postizanje normalne distribucije podataka potrebno je ispitati prikladnim testom za normalitet; recimo u SAS/INSIGHT modulu Primjer
Postupak korištenja: • snimite SYMBOX.SAS datoteku u kojoj se nalazi macro program na željenu lokaciju na tvrdom disku • zatim u programu SAS otvorite SYMBOX_EX.SAS datoteku i modificirajte ju prema vlastitim potrebama te ju submitirate
Postupak korištenja: • ako vaši podaci imaju negativne vrijednosti, potrebno ih je prvo skalirati, odnosno svesti ih na pozitivne vrijednosti (ne uključujući 0 jer inverz i logaritamska transformacija nisu definirane za 0) • najjednostavnije je oduzeti vrijednost minimuma uvećanu za neku malu vrijednost (pr. 1%, ali izražen kao broj, a ne kao postotak zbog slučajeva kada je minimum jednak 0) Primjer. xs= xi-(max(xi)-0,01)
Program symboxPRIMJER %inc "<lokacijadatoteke/symboxRCAPIS.sas>"; %symbox (data=biblioteka.datoteka-s-podacima, var=popis-varijabli-za-testiranje) Primjer: %inc “C:\SASuser\symboxRCAPIS.sas"; %outlier(data=work.podaci, var=salinitet temperatuta gustoca) • program SYMBOX_EX.SAS je vrlo jednostavan i dovoljne su samo 2 linije koda; jedna za pozivanje macro programa i druga za određivanje dataseta kao i varijable koja će se transformirati
Program symboxPRIMJER • osim osnovnih postavki, program SYMBOX_EX.SAS je moguće dodatno modificirati • opcije za modifikaciju se unose u zagradu u naredbi %symbox( ) i odjeljuju se međusobno zarezom • opcije za modifikaciju se odnose na: • analizu (naredba %symbox) • grafički prikaz (naredba %boxplot)
Modifikacija programa • DATA= naredba u kojoj se definira smještaj i ime datoteke (Default: DATA=_LAST_) • VAR= lista numeričkih varijabli koje će biti transformirane (Default: VAR=_NUMERIC_) • POWERS= -1 0.5 0 1 (negativne vrijednosti se odnose na inverze, 0 na dekadski logaritam, manje od 1 na korjene, a 1 na “sirove” podatke) • OUT= izlazni dataset za izradu grafikona (Default: OUT=SYMOUT) • NAME= ime grafikona (Default: NAME=SYMBOX)
Skaliranje podataka • u drugom dijelu programa SYMBOX_EX.SAS svaka numerička varijabla koja će biti transformirana prvo je svedena na domenu pozitivnih brojeva (bez uključene 0) • procedurom PROC SQL sve su varijable iz tablice PODACI prenesene u tablici SKALAR te im je određena minimalna vrijednost naredba: min(ime-originalne-varijable) as ime-varijable-koja-je-minimum-originalne-varijable Primjer: min(pH) as minpH,
Skaliranje podataka • nakon toga se stvara tablica PODACI koja je identična tablici SKALAR te se u njoj pod imenom originalne varijable kreira varijabla čijim je vrijednostima oduzet njezin minimum naredba: ime-originalne-varijable = ime-originalne-varijable – (ime-varijable-koja-je-minimum-originalne-varijable --0.0001); Primjer: pH= pH - (minpH-0.0001);
Modifikacija programa – BOXPLOT macro • SYMBOX macro program koristi BOXPLOT macro program za izradu boxplot dijagrama • za promijenu njegovih standardnih opcija potrebno je izmijeniti postavke unutar samog macro programa koji se nalazi u SYMBOX.SAS datoteci (između 158. i 917. linije programskog koda)
Modifikacija programa – BOXPLOT macro • SYMBOX macro program koristi i BOXPLOT macro program kojem se mogu mijenjati sljedeće opcije: • DATA= naredba u kojoj se definira smještaj i ime datoteke (Default: DATA=_LAST_) • CLASS= varijabla za grupiranje; može biti numerička ili kategorijalna; moguće je korištenje više varijabli istovremeno • VAR= lista numeričkih varijabli koje će biti prikazane na ordinati (ORIENT=V) ili apscisi (ORIENT=H) boxplota;
Modifikacija programa – BOXPLOT macro • ID= karakterna varijabla za označavanje svake atipične opservacije (outlier) • SORTBY= varijabla ili ključna riječ po kojoj se sortiraju grupe/kategorije iz CLASS varijabli • WIDTH=.5 širina pojedinog boxplota; vrijednost 0.5 znači da će boxplot biti širok polovici razmaka između 2 boxplota • CBOX= definira boju linija boxplota (Default: BLACK) • CFILL= definira boju unutrašnjosti boxplota
Modifikacija programa – BOXPLOT macro • LBOX= definira vrstu linije za boxplot (Default: 1) • ORIENT= orijentacija boxplota; V – vertikalno, H - horizontalno, (Default: V) • CONNECT=0 definira vrstu linije za povezivanje medijana svakog boxplota, opcija CONNECT=0 ne povezuje medijane • FN= faktor koji određuje proporcionalnu veličinu, FN=1 znači da su svi boxplotovi jednako široki, FN=sqrt(n) znači da su boxplotovi široki proporcionalno korijenu veličine uzorka; moguće su i druge funkcije veličine uzorka
Modifikacija programa – BOXPLOT macro • VARFMT= ime formata za varijablu koja će biti prikazana • CLASSFMT= ime formata za varijablu prema kojoj se vrši grupiranje • VARLAB= labela za varijablu koja će biti prikazana; ako nije navedena u ovoj naredbi, umjesto labele koristiti će se ime varijable • CLASSLAB= labela za varijablu grupiranja, prikazuje se na osi
Modifikacija programa – BOXPLOT macro • ANNO= ime anotacijskog dataseta • OUT= izlazni dataset u kojem su snimljene sve potrebne statistike (N, _MEAN_, _MEDIAN_, _Q1_, _Q3_, _IQR_, LO_NOTCH, HI_NOTCH, LO_WHISK, HI_WHISK) za izradu grafikona (Default: OUT=BOXSTAT) • NAME= ime grafikona (Default: NAME=BOXPLOT)
Napomena • ukoliko izvodite program skinut direktno sa internetske stranice autora, za njegovo potpuno izvođenje potrebno je aktivirati i dodatne macro programe istog autora • SYMBOX macro program (datoteka SYMBOX.SAS) pripremljen od strane Referalnog centra za analizu podataka i statistiku za potrebe akademske i istraživačke zajednice (RC APIS) ne zahtjeva aktivaciju nikakvih dodatnih programa
Napomena • boxplot koji je rezultat SYMBOX macro programa prikazat će na vodoravnoj osi i transformacije koje im niste zadali, a boxplotove transformiranih podataka poredat će prema veličini reda potencije
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