statistika su sas i - Matematikos ir Informatikos fakultetas - Vilniaus ...
statistika su sas i - Matematikos ir Informatikos fakultetas - Vilniaus ...
statistika su sas i - Matematikos ir Informatikos fakultetas - Vilniaus ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
ĮVADASTikimybių teorijos <strong>ir</strong> matematinės statistikos metodai yra naudojami įva<strong>ir</strong>iose mokslo<strong>ir</strong> technikos srityse, pavyzdžiui, medicinoje, biologijoje, ekonomikoje, gamyboje <strong>ir</strong> kt.Statistika – tai mokslas, apimantis informacijos rinkimo, sisteminimo, analizavimo <strong>ir</strong>interpretavimo metodus. Statistinius metodus galima <strong>su</strong>sk<strong>ir</strong>styti į dvi pagrindines grupes:aprašomoji <strong>statistika</strong> <strong>ir</strong> matematinė (sprendžiamoji) <strong>statistika</strong>. Aprašomoji <strong>statistika</strong>, taiduomenų sisteminimo <strong>ir</strong> pateikimo metodai. Matematinė <strong>statistika</strong> nagrinėja duomenųanalizės <strong>ir</strong> interpretavimo metodus.Atliekant duomenų analizę <strong>ir</strong> turint didelius duomenų masyvus yra naudojamistatistikos paketai (duomenų analizės sistemos), pavyzdžiui, SAS, SPlus, STATISTIKA,SPSS <strong>ir</strong> kt. Kai kurie statistiniai metodai yra realizuoti Microsoft Excel programoje.Statistinių paketų pas<strong>ir</strong>inkimas yra labai didelis. Kokį paketą pas<strong>ir</strong>inkti priklauso nuosprendžiamų uždavinių <strong>su</strong>dėtingumo <strong>ir</strong> tipo, duomenų masyvo dydžio, vartotojokvalifikacijos, turimos įrangos <strong>ir</strong> finansinių galimybių. Statistinius paketus galima <strong>su</strong>sk<strong>ir</strong>styti įtris pagrindines grupes: profesionalūs, universalūs <strong>ir</strong> specializuoti. Profesionalios duomenųanalizės sistemos sk<strong>ir</strong>tos vartotojams, kurie d<strong>ir</strong>ba <strong>su</strong> dideliais duomenų masyvais <strong>ir</strong> naudojane tik klasikinius statistinius metodus, bet <strong>ir</strong> specializuotus statistinius algoritmus. Mažesnesgalimybes (realizuota mažiau statistinių algoritmų) turi universalūs paketai, tačiau <strong>ir</strong> kaina jųyra žymiai mažesnė negu profesionalių. Specializuoti paketai sk<strong>ir</strong>ti spręsti tik kai kuriuosstatistinius uždavinius.Didžiausias galimybes (plačiausias statistinių algoritmų pas<strong>ir</strong>inkimas) tarp profesionaliųduomenų analizės sistemų turi SAS. Sistema SAS (Statistical Analysis System)sparčiai vystoma nuo 1976 metų. Gali d<strong>ir</strong>bti įva<strong>ir</strong>iose operacinėse sistemose. Apima vi<strong>su</strong>sreikalingus duomenų analizės etapus: duomenų įvedimas, pertvarkymas, saugojimas,duomenų analizė, ataskaitų rašymas. Sistema <strong>su</strong>daryta iš <strong>su</strong>jungtų tarpusavyje modulių.Sistemos branduolys – modulis Base, kitus modulius galima pas<strong>ir</strong>inkti priklausomai nuovartotojo poreikių, pavyzdžiui, modulis STAT yra sk<strong>ir</strong>tas statistinei duomenų analizei,modulis OR – operacijų tyrimui, QC – kokybės kontrolės modulis, GRAPH – grafinioduomenų vaizdavimo modulis <strong>ir</strong> kt. Pagrindinis SAS privalumas: yra realizuota daugstatistinių algoritmų, be to, vartotojas pats ne<strong>su</strong>nkiai gali <strong>su</strong>kurti reikiamus algoritmus.Programą, parašytą vienoje operacinėje sistemoje, galima pernešti į kitą operacinę sistemą <strong>ir</strong> jiveiks, reikia tik pakeisti specifines komandas, sk<strong>ir</strong>tas darbui <strong>su</strong> bylomis <strong>ir</strong> katalogais. Taip patyra produktų, sk<strong>ir</strong>tų vartotojams, neturintiems programavimo įgūdžių, pavyzdžiui, „SASEnterprise Guide“ galima atlikti įva<strong>ir</strong>ią statistinę analizę nerašant programinio kodo.Ši mokymo priemonė yra sk<strong>ir</strong>ta visiems, kas nori išmokti d<strong>ir</strong>bti <strong>su</strong> SAS sistema <strong>ir</strong>įsisavinti statistinių metodų taikymą duomenų analizei. Ši knyga yra taikomojo pobūdžio,todėl ji gali būti naudinga ne tik statistikos specialybių studentams. Knygoje išdėstytamedžiaga apima pagrindinį statistikos kursą (aprašomoji <strong>statistika</strong>, taškiniai parametrųįverčiai <strong>ir</strong> pasikliautinieji intervalai, vienos <strong>ir</strong> dviejų imčių parametrinių hipotezių tikrinimouždaviniai, dažniausiai naudojami neparametriniai kriterijai), kuris tradiciškai būna skaitomasįva<strong>ir</strong>ių specialybių studentams, pavyzdžiui, ekonominių, gamtos mokslų specialybiųstudentams.Tai p<strong>ir</strong>moji knyga. Ji apima dalyko „Matematinė <strong>statistika</strong>“, kuris skaitomas„Matematinės statistikos“ katedros studentams, laboratorinių užsiėmimų, kuriuos jau keletąmetų vedu, p<strong>ir</strong>mųjų dviejų semestrų medžiagą. Antrojoje knygoje „Statistika <strong>su</strong> SAS ® , II“numatoma išdėstyti dispersinės, regresinės, koreliacinės analizės metodų, Hotelingostatistikos taikymų, klasifikavimo, faktorinės <strong>ir</strong> klasterinės analizės metodų taikymą duomenųanalizei naudojant SAS sistemą.Trumpai apžvelgsime šioje mokymo priemonėje pateiktą medžiagą.P<strong>ir</strong>majame skyriuje aprašyti pagrindiniai darbo <strong>su</strong> SAS sistema principai. Šiameskyriuje pateikiamos duomenų lentelių <strong>su</strong>kūrimo, pertvarkymo komandos, aprašomi duomenų6
importavimo <strong>ir</strong> eksportavimo būdai į kito formato bylas. Pateikiami makrokomandųnaudojimo principai.Antrajame skyriuje aprašytos specialios funkcijos. Pagrindinis dėmesys sk<strong>ir</strong>tasmatematinėms, tikimybinių sk<strong>ir</strong>stinių, atsitiktinių dydžių modeliavimo <strong>ir</strong> statistinėmsfunkcijoms.Trečiajame skyriuje pateikiami aprašomosios statistikos metodai: dažnių lentelės, skaitinėscharakteristikos <strong>ir</strong> grafiniai duomenų vaizdavimo metodai.Ketv<strong>ir</strong>tas skyrius sk<strong>ir</strong>tas parametrų taškinių įverčių <strong>ir</strong> pasikliautinųjų intervalųkonstravimo uždaviniams. Jame pateikiamos parametrų taškinių įverčių <strong>ir</strong> pasikliautinųjųintervalų išraiškos <strong>ir</strong> apskaičiavimo <strong>su</strong> SAS sistema būdai įva<strong>ir</strong>ių sk<strong>ir</strong>stinių atveju.Penktame skyriuje pateikiami parametrinių hipotezių tikrinimo kriterijai. Nagrinėjamivienos <strong>ir</strong> dviejų imčių uždaviniai.Šeštame skyriuje pateikiami dažniausiai naudojami neparametriniai kriterijai. P<strong>ir</strong>majamešio skyriaus skyrelyje nagrinėjamas chi-kvadrato kriterijus, kurį galima naudoti<strong>su</strong>derinamumo, homogeniškumo <strong>ir</strong> nepriklausomumo hipotezėms tikrinti. Antrajame pateiktikriterijai, grin-džiami emp<strong>ir</strong>inės <strong>ir</strong> teorinės pasisk<strong>ir</strong>stymo funkcijų sk<strong>ir</strong>tumu. Trečiasis skyrelisyra sk<strong>ir</strong>tas ranginiams kriterijams. Skyriaus pabaigoje pateikiami ženklų <strong>ir</strong> grubių klaidųišskyrimo kriterijai.Medžiagos dėstymas vi<strong>su</strong>ose skyriuose toks pats, t.y. pradedama nuo uždavinio formuluotės,tada pateikiamas uždavinio sprendimas, aprašoma kaip išspręsti uždavinį naudojantSAS (buvo naudojama SAS 9.1 versija), pateikiamas pavyzdys <strong>su</strong> duomenimis (realiais arbamodeliuotais) bei gautų rezultatų interpretacija. Naudojama ištisinė formulių, pavyzdžių,lentelių <strong>ir</strong> paveikslėlių numeracija kiekvieno skyriaus rėmuose; p<strong>ir</strong>masis skaitmuo žymiskyrių, o antrasis eilės numerį tame skyriuje.Skliaustuose yra pateikiami statistinių terminų angliški atitikmenys.Knygos pabaigoje pateiktas literatūros sąrašas. Jame aps<strong>ir</strong>ibota tik tomis knygomis,kurios tiesiogiai buvo naudojamos dėstant medžiagą. Pilnesnę literatūros apžvalgą galimarasti knygoje [3]-[5], o taip pat kartu <strong>su</strong> SAS sistema platinamame kompakte [9]. Naudingosinformacijos apie SAS sistemą, įva<strong>ir</strong>ius modulius galima <strong>su</strong>rasti interneto tinklapyjehttp://www.<strong>sas</strong>.com.7
I skyrius. DUOMENŲ PARUOŠIMAS STATISTINEI ANALIZEIŠiame skyriuje aprašomi pagrindiniai darbo <strong>su</strong> SAS sistema principai. Pateikiamiduomenų lentelių <strong>su</strong>kūrimo būdai, aprašomos komandos, sk<strong>ir</strong>tos duomenų pertvarkymui. Taippat pagalbinės procedūros, sk<strong>ir</strong>tos duomenų atspausdinimui, rūšiavimui, savo formato<strong>su</strong>kūrimui. Pateikiami makrokomandų naudojimo principai.1. Pagrindiniai SAS langaiSAS darbo sesijos pradžioje ekrane matome penkis langus (žr. 1.1 pav.): Explorer,Editor, Log, Output, Re<strong>su</strong>lts.1.1 pav. Pagrindiniai SAS langaiToliau pateikiamas kiekvieno iš paminėtų langų aprašymas.Explorer langas yra sk<strong>ir</strong>tas darbui <strong>su</strong> bylomis. Šis langas naudojamas SAS bibliotekų<strong>ir</strong> bylų kūrimui, bylų atidarymui <strong>ir</strong> tvarkymui (pvz., kopijuoti, ištrinti, perkelti iš vienos vietosį kitą), SAS duomenų lentelių kūrimui.Explorer lange matome kokios SAS bibliotekos yra <strong>su</strong>kurtos. Jos palengvina darbą <strong>su</strong>duomenų lentelėmis. Bibliotekose yra saugomos SAS duomenų lentelės. Biblioteka yranuoroda į katalogą <strong>su</strong> kuriuo ji yra <strong>su</strong>sieta. Pagal nutylėjimą <strong>su</strong>kuriamos bibliotekos: Sashelp,Sa<strong>su</strong>ser, Work. Vartotojas gali <strong>su</strong>kurti savo biblioteką.1.2 pav. Bibliotekos <strong>su</strong>kūrimasNaują biblioteką galima <strong>su</strong>kurti dviem būdais:I b ū d a s. Explorer lange aktyvuojame ikoną Libraries. Tada pagrindiniame meniupas<strong>ir</strong>enkame punktą File→New. Ekrane ats<strong>ir</strong>anda langas (žr. 1.2 pav.), kuriame įvedame:8
ibliotekos vardą (name), katalogo vardą nurodant pilną kelią iki jo (path), pavyzdžiui, jeiįvedame: c:\mano, tai bus <strong>su</strong>kurta biblioteka, <strong>su</strong>sieta <strong>su</strong> katalogu c:\mano. Jeigu pažymime„Enable at startup“, tai kitą kartą įėjus į SAS sistemą automatiškai bus <strong>su</strong>kurta bibliotekanurodytu pavadinimu.II b ū d a s. Editor lange <strong>su</strong>renkame komandą:LIBNAME vardas 'katalogas';čia vardas – bibliotekos vardas, path – katalogas (nurodant pilną kelią iki jo). Pavyzdžiui,Editor lange įvedusLIBNAME duomenys 'c:\mano';bus <strong>su</strong>kurta biblioteka „duomenys“ <strong>su</strong>sieta <strong>su</strong> katalogu „c:\mano“.P a s t a b a. Bibliotekos vardas turi tenkinti standartinius vardams taikomus apribojimus.Be to negali būti ilgesnis negu aštuoni simboliai.Editor lange yra rašomas programinis kodas. Toliau pateikiame pagrindinesprograminio kodo <strong>su</strong>kūrimo taisykles:1. Sudaromas iš dviejų tipų žingsnių: DATA žingsnis, PROC žingsnis. DATAžingsnis sk<strong>ir</strong>tas <strong>su</strong>kurti <strong>ir</strong> pertvarkyti duomenų lenteles. PROC žingsnis sk<strong>ir</strong>tas duomenųanalizei, rezultatų spausdinimui. Žingsniai yra <strong>su</strong>daromi iš komandų. Kai kurios komandosnaudojamos tik DATA žingsnyje (duomenų įvedimo <strong>ir</strong> pertvarkymo komandos), o kai kuriostik PROC žingsnyje (duomenų analizės komandos). Yra komandų, kurias galima naudoti <strong>ir</strong>DATA, <strong>ir</strong> PROC žingsnyje.2. Data žingsnis atliekamas eilutė po eilutės, stebėjimas po stebėjimo, t.y. imamasp<strong>ir</strong>mas stebėjimas <strong>ir</strong> <strong>su</strong> juo atliekamos visos komandas (eilutė po eilutės), nurodytos DATAžingsnyje, tada imamas antras stebėjimas <strong>ir</strong> t.t.3. Kiekviena SAS komanda baigiasi kabliataškiu.4. Galima rašyti <strong>ir</strong> mažosiomis, <strong>ir</strong> didžiosiomis raidėmis.5. Kelios komandos gali būti vienoje eilutėje.6. Vieną komandą galima <strong>su</strong>skaidyti į kelias eilutes, tačiau žodžių skaidyti negalima.7. Galima įterpti komentarus (paaiškinimus). Juos galima įterpti dviem būdais:a b ū d a s. Komentaras atsk<strong>ir</strong>oje eilutėje: prasideda žvaigždute (*), baigiasi kabliataškiu(;).b b ū d a s. Komentaras toje pačioje eilutėje kaip <strong>ir</strong> komanda: prasideda /* baigiasi*/ .Editor lange parašytą tekstą išsaugome pagrindiniame meniu pas<strong>ir</strong>inkę punktą File→Save arba Save as.Įvykdyti programą:a b ū d a s. Surinkti SUBMIT komandinėje eilutėje (po pagrindiniu meniu).b b ū d a s. Paspausti ikoną <strong>su</strong> nupieštu bėgančiu žmogumi.c b ū d a s. Pagrindiniame meniu pas<strong>ir</strong>inkti Run → Submit.Log lange spausdinami sisteminiai pranešimai apie SAS sesiją,komandas, klaidas.9vykdomas SASOutput lange spausdinami SAS procedūrų rezultatai. Jei norime išsaugoti Output langeesančius rezultatus, tai pagrindiniame meniu pas<strong>ir</strong>enkame File → Save as, jei norimeatspausdinti, tai pas<strong>ir</strong>enkame File → Print. Kaip rezultatai turi būti išdėstyti Output langegalima nurodyti <strong>su</strong> komanda:OPTIONS parinktys;kuri yra įvedama Editor lange. Toliau pateikiame keletą dažniausiai naudojamų pas<strong>ir</strong>inkčių:CENTER | NOCENTER – nurodome centruoti ar ne rezultatus Output lange;DATE | NODATE – nurodome ar kiekvieno puslapio v<strong>ir</strong>šuje spausdinti šios dienos datą;
NUMBER | NONUMBER – numeruoti ar ne puslapius;LINESIZE = n – čia n yra maksimalus simbolių skaičius eilutėje;PAGESIZE = n – čia n yra maksimalus eilučių skaičius puslapyje;PAGENO = n – p<strong>ir</strong>mojo puslapio numeris bus n;Pilną parinkčių sąrašą galima pasižiūrėti pagrindiniame meniu pas<strong>ir</strong>inkus Help →SAS Help and Documentation.Re<strong>su</strong>lts lange galima greitai <strong>su</strong>rasti konkretų procedūros rezultatą, išsaugoti <strong>ir</strong>atspausdinti gautus rezultatus arba konkrečią jų dalį.2. SAS duomenų lentelėsKaip jau minėjome SAS duomenų lentelės yra saugomos bibliotekose.SAS duomenų lentelė <strong>su</strong>sideda iš stulpelių (kintamųjų) <strong>ir</strong> eilučių (stebėjimų).Duomenys saugomi lentelėse gali būti dviejų tipų: skaitinio arba simbolinio. Skaitinio tipoduomenys yra skaičiai. Be skaitmenų skaitinio tipo lauke gali būti: „+“, „-“, „.“ (atsk<strong>ir</strong>iantistrupmeninę skaičiaus dalį) arba raidė „E“ (kitas trupmeninio skaičiaus užrašymo būdas).Simbolinio tipo duomenys <strong>su</strong>sideda iš skaitmenų, raidžių <strong>ir</strong> specialių simbolių (pavyzdžiui,“&”, “!”, “/”).Duomenys gali būti nepilni (yra praleistų reikšmių). SAS praleisti stebėjimai žymimitašku. SAS duomenų lentelėje praleisti stebėjimai žymimi taip: tašku, kai duomenys skaitiniotipo <strong>ir</strong> tarpu, kai duomenys simbolinio tipo.SAS duomenų lentelėje yra saugomi ne tik duomenys, bet <strong>ir</strong> papildoma informacija:lentelės pavadinimas, <strong>su</strong>kūrimo data, informacija apie kiekvieną kintamąjį (vardas, tipas,ilgis, skaitymo formatas, rašymo formatas).SAS duomenų lentelės yra dviejų tipų:1) laikinos lentelės – lentelės, išsaugotos Work bibliotekoje. Jos, pasibaigus SASsesijai, yra panaikinamos. Rašant kreipinį į laikiną lentelę, reikia nurodyti tik lentelės vardą.Pavyzdžiui, Editor lange įvedus kodą:DATA d1;INPUT k1;DATALINES;12;RUN;Work bibliotekoje bus <strong>su</strong>kurta laikina lentelė „d1“, kurioje bus vienas stulpelis (kintamasis) <strong>ir</strong>dvi eilutės (stebėjimai).2) pastovios lentelės – pasibaigus SAS sesijai jos nepanaikinamos. Šios lentelėspatalpinamos į vartotojo <strong>su</strong>kurtą biblioteką. Pastovių SAS duomenų lentelių išplėtimas:.<strong>sas</strong>7bdat. Pavyzdžiui, parašę Editor lange:DATA mano.d1;INPUT k1;DATALINES;12;RUN;<strong>su</strong>kuriame pastovią SAS duomenų lentelę „d1“, kuri bus bibliotekoje „mano“ (biblioteka jauturi būti <strong>su</strong>kurta, pavyzdžiui, <strong>su</strong> komanda LIBNAME).10
3. Duomenų lentelės <strong>su</strong>kūrimasDuomenis galima įvesti tiesiogiai <strong>su</strong>kuriant SAS duomenų lentelę (Viewtable langearba Editor lange Data žingsnyje) arba juos galima importuoti (iš tekstinės bylos, Excel,Access <strong>ir</strong> kt.).SAS duomenų lentelės <strong>su</strong>kūrimo būdai:1) tiesioginis duomenų įvedimas Editor lange. Šis būdas naudojamas, kai nedaugduomenų arba testuojame programą, pavyzdžiui,DATA lenteles_pavad;INPUT k1 $ k2 k3 ; /* trys kintamieji, k1 simbolinio tipo */DATALINES;a 2 5c 1 4;RUN;2) duomenų įvedimas Viewtable lange. Pagrindiniame meniu pas<strong>ir</strong>enkame Tools →Table Editor. Įvedame duomenis. Lentelę išsaugome pagrindiniame meniu pas<strong>ir</strong>inkę File →Save as.3) importavimas:a) iš tekstinės bylos data žingsnyje, pavyzdžiui:DATA lent_pavad;INFILE ’c:\mano\duomenys.txt’;INPUT k1 $ k2 k3;RUN;b) File → Import data (įva<strong>ir</strong>aus formato duomenų importas).c) IMPORT procedūra (rašoma Editor lange).Tolesniuose skyreliuose pateikiamas išsamus kiekvieno lentelės <strong>su</strong>kūrimo būdoaprašymas.3.1 Duomenų įvedimas Viewtable langePas<strong>ir</strong>inkus meniu punktą Tools→Table Editor ekrane ats<strong>ir</strong>anda Viewtable langas (žr.1.3 pav.), kuriame galima tiesiogiai įvesti duomenis. Šiame lange taip pat galima peržiūrėti <strong>ir</strong>koreguoti anksčiau <strong>su</strong>kurtas duomenų lenteles.1.3 pav. Viewtable langasPriklausomai nuo to kokius duomenis įvedame į stulpelį SAS automatiškai nustatostulpelio (kintamojo) tipą: simbolinis ar skaitinis.11
Galima keisti stulpelių charakteristikas: vardą (name), žymę (label), ilgį (length), tipą(type), skaitymo formatą (informat), rašymo formatą (format). Tuo tikslu paspaudžiamedešinį pelės klavišą ant stulpelio pavadinimo, ekrane ats<strong>ir</strong>anda meniu, jame pas<strong>ir</strong>enkameColumn Attributes. Atlikus šiuos veiksmus ekrane ats<strong>ir</strong>anda langas (žr.1.4 pav.), kuriamegalima keisti stulpelių charakteristikas.Lentelę išsaugome pagrindiniame meniu pas<strong>ir</strong>inkę punktą File→Save As.Kaip jau minėjome, galima peržiūrėti <strong>ir</strong> koreguoti anksčiau <strong>su</strong>kurtas duomenų lenteles.Pas<strong>ir</strong>enkame meniu punktą Tools→Table Editor, File→Open, tada pas<strong>ir</strong>enkame biblioteką <strong>ir</strong>lentelę, kurią norime atidaryti. Kitas, greitesnis būdas atidaryti duomenų lentelę: Explorerlange du kartus paspaudžiame ka<strong>ir</strong>į pelės klavišą ant lentelės pavadinimo. Atidarius lentelę <strong>ir</strong>naudojantis kontekstiniu meniu (ant stulpelio pavadinimo paspaudžiame dešinį pelės klavišą)galime keisti stulpelio charakteristikas (Column Attributes), šriftą (Fonts), spalvą (Colors),paslėpti stulpelį (Hide), <strong>su</strong>rūšiuoti (Sort) didėjimo arba mažėjimo tvarka.1.4 pav. Stulpelių charakteristikų keitimo langasViewtable lange galima pas<strong>ir</strong>inkti, kad rodytų tik tas eilutes, kurios tenkina tam tikrassąlygas: paspaudžiame dešinį pelės klavišą ant lentelės langelio (ne ant pavadinimo) <strong>ir</strong>ats<strong>ir</strong>adusiame kontekstiniame meniu pas<strong>ir</strong>enkame punktą Where. Atsidariusiame „WhereExpression“ lange įvedame sąlygą. Ekrane matysime tik eilutes, tenkinančias nurodytą sąlygą.Jeigu vėl norime matyti vi<strong>su</strong>s įrašus kontekstiniame meniu pas<strong>ir</strong>enkame Where Clear. Kitasbūdas: pagrindiniame meniu pas<strong>ir</strong>enkame Data→Where (Data→Where Clear).Pagal nutylėjimą lentelė yra atidaroma peržiūros režime (Browse Mode), norint keistiduomenis reikia pereiti į redagavimo režimą (Edit Mode): pas<strong>ir</strong>enkame meniu punktąEdit→Edit Mode.3.2. INPUT komandaKomanda INPUT naudojama Data žingsnyje, kai duomenų lentelė kuriama <strong>su</strong>DATALINES arba INFILE komandomis. Šioje komandoje yra nurodomi kintamųjų vardai,duomenų tipai (skaitinio ar simbolinio), skaitymo tipai.Duomenų skaitymo tipai:I. Skaitymas sąrašu (list input). Reikia tiesiog išvardinti kintamuosius, nurodant jųvardus <strong>ir</strong> pažymint kurie kintamieji yra simbolinio tipo. Sintaksė yra labai paprasta, tačiauduomenys turi tenkinti gana griežtus reikalavimus: reikšmės eilutėje turi būti atsk<strong>ir</strong>tos bent12
vienu tarpu, praleistas stebėjimas pažymėtas tašku, simbolinio tipo duomenys turi būtipaprasti (negali būti tarpų viduryje reikšmės <strong>ir</strong> ilgis ne daugiau 8 simbolių).1.1 p a v y z d y s.DATA d1;INPUT k1 $ k2; /* du kintamieji: k1,k2; k1 simbolinio tipo */DATALINES;aa 1bb 2; RUN;Trūkumai: negalime praleisti nereikalingų kintamųjų, negali būti datų ar kitų reikšmių,kurioms reikia specialių priemonių.II. Skaitymas stulpeliais (column input). Jei tarp reikšmių nėra tarpų arba taško,žyminčio praleistą stebėjimą, tai duomenų skaitymas sąrašu netinka.Skaitymo stulpeliais privalumai:1) nebūtini tarpai tarp reikšmių;2) praleistos reikšmės vietoje gali būti tarpas;3) simbolinio tipo duomenyse gali būti tarpai;4) galima praleisti nereikalingus kintamuosius;Naudojant šį būdą reikia išvardinti kintamuosius, nurodant jų vardus <strong>ir</strong> pažymint kuriekintamieji yra simbolinio tipo, be to, reikia nurodyti nuo kurios pozicijos prasideda kintamojoreikšmė <strong>ir</strong> kuria baigiasi, pavyzdžiui,INPUT Vardas $ 1-10 Amzius 11-13 Aukstis 14-18;P a s t a b a. Visose eilutėse kintamųjų reikšmės turi būti tose pačiose pozicijosevisose eilutėse.III. Formatuotas skaitymas (formatted input). Naudojant šį būdą reikia išvardintikintamuosius <strong>ir</strong> nurodyti skaitymo formatą (informat). Jis sk<strong>ir</strong>tas nestandartinių duomenųįvedimui, pavyzdžiui, datos; 1,000,000. Yra trys skaitymo formatų tipai:simbolinioskaitiniodatos$informatw.informatw.dinformatw.čia informat – skaitymo formato pavadinimas, w - simbolių skaičius, d - skaitmenų pokablelio skaičius.1.1 lentelėje yra pateikti skaitymo formatų pavyzdžiai (žr.[7]).P a s t a b a. Vi<strong>su</strong>s tris išvardintus skaitymo tipus galima naudoti <strong>ir</strong> viename INPUTsakinyje, t.y. kai kurie kintamieji skaitomi sąrašu, kiti stulpeliais, o dar kiti – panaudojantskaitymo formatus.1.2 p a v y z d y s.DATA d1;INPUT numeris kodas $char5. data yymmdd8. t1 t2;DATALINES;1 M13 96.12.11 5 32 M14 97.08.12 2 43 M15 98.01.28 6 8; RUN;Šiame pavyzdyje kintamasis „kodas“ skaitomas panaudojant simbolinio tipo skaitymoformatą, kintamasis „data“ – datos tipo formatą, o kintamieji „t1“ <strong>ir</strong> „t2“ skaitomi sąrašu, t.y.tiesiog nurodant jų pavadinimus.INPUT sakinyje galima naudoti specialius simbolius. Pateiksime keletą dažniausiainaudojamų:13
1) @n perkelia kursorių duomenų eilutėje į n-tą poziciją.2) +n perkelia kursorių duomenų eilutėje per n pozicijų.3) Tegu vienas pradinių duomenų stebėjimas <strong>su</strong>skaidytas į kelias eilutes. Tadanaudojami tokie simboliai:/ pereiti į kitą pradinių duomenų eilutę;#n pereiti į n-tą eilutę (pvz.: #2 pereiti į 2-ą eilutę).P a s t a b a. Iš pradžių galima skaityti trečią eilutę, o paskui antrą.4) Jei keli stebėjimai vienoje eilutėje (pradinėje byloje), tai naudojame @@.P a s t a b a. P<strong>ir</strong>mame <strong>ir</strong> antrame punkte aprašyti specialūs simboliai naudingi,pavyzdžiui, tada, kai naudojamas formatuotas skaitymas <strong>ir</strong> kintamųjų reikšmės atsk<strong>ir</strong>tosdaugiau negu vienu tarpu arba keleteas vienas po kito esančių kintamųjų skaitomipanaudojant skaitymo formatą. Rekomenduojama skaitant kintamąjį naudojant formatąkursorių pastatyti prieš p<strong>ir</strong>mąjį to kintamojo simbolį.1.2 pavyzdžio tęsinys.DATA d1;INPUT numeris @3 kodas $char3. @8 data yymmdd8. t1 t2;FORMAT data yymmdd10.;DATALINES;1 M13 96.12.11 5 32 M14 97.08.12 2 43 M15 98.01.28 6 8; RUN;Kitas būdas:DATA d1;INPUT numeris +1 kodas $char3. +2 data yymmdd8. t1 t2;FORMAT data yymmdd10.;DATALINES;1 M13 96.12.11 5 32 M14 97.08.12 2 43 M15 98.01.28 6 8; RUN;FORMAT sakinys nurodo kokiu pavidalu kintamąjį matysime duomenų lentelėje (žr. Iskyriaus 15 skyrelį).1.3 p a v y z d y s. Tarkime, kad keli stebėjimai vienoje eilutėje (pradinėje byloje):Jonas 15 16 Petras 18 20Tadas 6 17Editor lange parašome tokią programą:DATA m1;INFILE ’c:\mano\duomenys.txt’;INPUT vardas $ k1 k2 @@;RUN;14
1.1 lentelė. Skaitymo formatų pavyzdžiaiSkaitymo Aprašymas Duomenys INPUT sakinys RezultatasformatasSimbolinio tipo$CHARw. Skaito simbolinio tipo duomenis, duom 1 INPUT k1 $CHAR10.; duom 1$w.Datos, laiko, datos-laikoDATEw.nepanaikina tarpų pradžioje <strong>ir</strong> pabaigojeSkaito simbolinio tipo duomenis, panaikinatarpus pradžiojeSkaito datą pavidalo: ddmmmyy arbaDdmmmyyyyDATETIMEw. Skaito datos-laiko duomenis pavidalo:ddmmmyy hh:mm:ssduom 1duom 1duom 1DDMMYYw. ddmmyy arba ddmmyyyy 01.01.6102/01/611jan19611jan611jan1960 10:30:151jan1961 10:30:15MMDDYYw. mmddyy arba mmddyyyy 01-01-6101/01/61YYMMDDw. yymmdd arba yyyymmdd 61.01.01TIMEw.Skaitinio tipoCOMMAw.dLaikas pavidalo: hh:mm:ss(valandos:minutės:sekundės, 24 valandųlaikrodis)Panaikina kablelius <strong>ir</strong> $, skliaustuspakeičia minuso ženklu1961.01.0110:3010:30:15$1,000,001(1,234)PERCENTw. Konvertuoja procentus į skaičius 5%(20%)w.d Skaito standartinius skaičius 1234-12.3P a s t a b a. SAS datos reikšmė yra dienų skaičius nuo 1960.01.01.SAS laiko reikšmė yra sekundžių skaičius po vidurnakčio.SAS datos-laiko reikšmė yra sekundžių skaičius nuo 1960.01.01 vidurnakčio.duom 1INPUT k1 $CHAR10.; duom 1duom 1INPUT d1 DATE10.; 366366INPUT dt DATETIME18.; 378153166021INPUT d1 DDMMYY8.; 366367INPUT d1 MMDDYY8.; 366366INPUT d1 YYMMDD8.; 366INPUT d1 YYMMDD10.; 366INPUT laikas TIME8.; 3780037815INPUT pajamos COMMA10.; 100001-1234INPUT d1 PERCENT5.; 0.05-0.2INPUT d1 5.1; 123.4-12.315
3.3. INFILE komandaJei duomenis turime tekstinėje byloje <strong>ir</strong> duomenų lentelę norime <strong>su</strong>kurti Editor langerašydami Data žingsnį, tai vietoje komandos DATALINES naudojame komandą INFILE.Šioje komandoje reikia nurodyti bylos, kurioje yra duomenys, pavadinimą (<strong>su</strong> pilnu keliu ikitos bylos), o taip galima nurodyti įva<strong>ir</strong>ias pas<strong>ir</strong>inktis.1.4 p a v y z d y s. Tarkime, kad duomenys (du skaitinio tipo kintamieji k1 <strong>ir</strong> k2) yratekstinėje byloje „mano.txt“, kuri įrašyta diske „c“. Tada lentelę galime <strong>su</strong>kurti Editor langeparašę:DATA lent_pavad;INFILE ’c:\mano.txt’;INPUT k1 k2;RUN;Pas<strong>ir</strong>inktys naudojamos INFILE komandoje:1) FIRSTOBS=n, čia n eilutės, nuo kurios reikia pradėti skaityti duomenis, numeris. Šipas<strong>ir</strong>inktis naudojama, kai turime duomenų bylą, kurios pradžioje yra duomenų aprašymasarba kokia nors kita informacija.1.5 p a v y z d y s. Tarkime, kad turime tekstinę bylą „prekes.txt“ diske „c“, kataloge„mano“. Šioje byloje p<strong>ir</strong>mos dvi eilutės yra tekstas.Duomenys apie prekes, parduotas 2004 metais.Prekės_pavadinimas ParduotaPrekė1 205Prekė2 154Prekė3 361Lentelę galima <strong>su</strong>kurti <strong>su</strong> tokiu Data žingsniu:DATA prekes_2004;INFILE ’c:\mano\prekes.txt’ FIRSTOBS=3;INPUT preke $ parduota;RUN;1) OBS=n, čia n nurodo kiek eilučių iš pradinės bylos reikia perskaityti. Šis skaičiusnebūtinai <strong>su</strong>tampa <strong>su</strong> stebėjimų skaičiumi <strong>su</strong>kurtoje lentelėje, pavyzdžiui, jei pradinėje bylojevienas stebėjimas užima dvi eilutes, tai nurodžius OBS=100, bus perskaityta 100 eilučių, t.y.lentelėje bus 50 stebėjimų. Ši pas<strong>ir</strong>inktis naudojama, kai reikia perskaityti dalį duomenų.1.6 p a v y z d y s. Tarkime, kad turime tekstinę bylą, kurioje yra tokie duomenys:Duomenys apie prekes, parduotas 2004 metais.Prekės_pavadinimas ParduotaPrekė1 205Prekė2 154Prekė3 361Duomenis pateikusio darbuotojo numeris: 1254.Šioje byloje p<strong>ir</strong>mos dvi <strong>ir</strong> paskutinė eilutė yra tekstas. Lentelę galima <strong>su</strong>kurti <strong>su</strong> tokiu Datažingsniu:DATA prekes_2004;INFILE ’c:\mano\prekes.txt’ FIRSTOBS=3 OBS=5;INPUT preke $ parduota;RUN;Šio Data žingsnio rezultatas yra lentelė „prekes_2004“. Joje bus duomenys iš 3-5 pradinėsbylos eilučių.3) MISSOVER. Jei pradinių duomenų eilutėje yra mažiau reikšmių negu nurodytakintamųjų INPUT sakinyje, tai pagal nutylėjimą trūkstamos reikšmės imamos iš kitos eilutės.16
Su šia pas<strong>ir</strong>inktimi yra nurodoma, kad kintamiesiems, kuriems neužteko reikšmių, turi būtiprisk<strong>ir</strong>ta praleisto stebėjimo reikšmė.1.7 p a v y z d y s. Duoti testo rezultatai. Ne visi atliko vi<strong>sas</strong> užduotis, todėl vieni gavodaugiau taškų, kiti mažiau. Duomenys:Ramunė 78 76 90 85Rytis 66 71 83 74 72Rasa 69 68 80Lentelę galima <strong>su</strong>kurti <strong>su</strong> tokiu Data žingsniu:DATA testas;INFILE ’c:\mano\taskai.txt’ MISSOVER;INPUT vardas $ t1 t2 t3 t4 t5;RUN;4) TRUNCOVER pas<strong>ir</strong>inktis naudojama, kai paskutinis INPUT sakinyje nurodytaskintamasis skaitomas stulpeliais arba naudojant skaitymo formatą <strong>ir</strong> eilutės pradinėje bylojeyra nevienodo ilgio.1.8 p a v y z d y s. Duota: vaiko vardas, kokį būrelį lanko:Ramunė pramoginiai šokiaiRytis krepšinisRasa dailėLentelę galima <strong>su</strong>kurti <strong>su</strong> tokiu Data žingsniu:DATA burelis;INFILE ’c:\mano\bureliai.txt’ TRUNCOVER;INPUT vardas $ burelis $ 8-26;RUN;5) DLM=’sk<strong>ir</strong>tukas’. Kai reikšmės tekstinėje byloje atsk<strong>ir</strong>tos ne tarpais, o kitokiaissimboliais (pavyzdžiui, ’&’ ’-’ <strong>ir</strong> kt.) <strong>ir</strong> INPUT komandoje kintamieji tiesiog išvardinami(skaitymas sąrašu), tai INFILE komandoje reikia nurodyti DELIMITER=’sk<strong>ir</strong>tukas’ arbaDLM=’sk<strong>ir</strong>tukas’.1.9 p a v y z d y s. Tegu pradinėje byloje reikšmės atsk<strong>ir</strong>tos kableliais. Duomenys:Ramunė,7,8,7,6Rytis,6,6,7,8Rasa,6,9,8,8Lentelę galima <strong>su</strong>kurti <strong>su</strong> tokiu Data žingsniu:DATA lentele1;INFILE ’c:\mano\rezultatai.txt’ DLM=’,’;INPUT vardas $ t1 t2 t3 t4;RUN;P a s t a b a. Pagal nutylėjimą du ar daugiau vienas po kito parašyti sk<strong>ir</strong>tukai traktuojamikaip vienas sk<strong>ir</strong>tukas. Jei byloje yra praleistų stebėjimų <strong>ir</strong> du vienas po kito parašytisk<strong>ir</strong>tukai reiškia praleistą stebėjimą, tai kartu <strong>su</strong> DLM pas<strong>ir</strong>inktimi reikia naudoti <strong>ir</strong> DSDpas<strong>ir</strong>inktį.Panaudojus INFILE komandoje DSD pas<strong>ir</strong>inktį: 1) ignoruojami sk<strong>ir</strong>tukai duomenųreikšmėse, kurios yra kabutėse (jie traktuojami kaip paprasti simboliai); 2) tariama, kadkabutės nėra duomenys; 3) tariama, kad du vienas po kito parašyti sk<strong>ir</strong>tukai reiškia praleistąstebėjimą.3.4. Import procedūraIMPORT procedūra rašoma Editor lange <strong>ir</strong> sk<strong>ir</strong>ta importuoti duomenis iš įva<strong>ir</strong>ausformato bylų (Microsoft Excel, Microsoft Access, tekstinės bylos (reikšmės atsk<strong>ir</strong>tos17
kableliais, Tab simboliais, kitais simboliais) <strong>ir</strong> kt.) į SAS duomenų lenteles. IMPORTprocedūra atlieka tokias funkcijas:1) skanuoja duomenų bylą <strong>ir</strong> automatiškai nustato kintamojo tipą (skaitinis arsimbolinis);2) prisk<strong>ir</strong>ia tinkamus ilgius simbolinio tipo kintamiesiems;3) gali atpažinti kai kuriuos datos formatus;4) traktuoja du vienas po kito parašytus sk<strong>ir</strong>tukus (simbolius, kurie atsk<strong>ir</strong>ia reikšmes)pradinėje byloje kaip praleistą stebėjimą;5) skaito reikšmes, parašytas kabutėse;6) prisk<strong>ir</strong>ia praleisto stebėjimo reikšmę kintamiesiems, kuriems neužtenka duomenųeilutėje;7) duomenų bylos p<strong>ir</strong>moje eilutėje galima nurodyti kintamųjų vardus;Paprasčiausia procedūros IMPORT sintaksė yra tokia:PROC IMPORT DATAFILE=’bylos_vardas’ OUT=duomenu_lentele;Bylos vardas nurodomas <strong>su</strong> pilnu keliu iki jos <strong>ir</strong> išplėtimu, pavyzdžiui,DATAFILE=’c:\mano\d1.txt’.SAS nustato bylos tipą pagal išplėtimą:Bylos tipas Išplėtimas DBMS identifikatoriusComma-delimited .csv CSVTab-delimited .txt TABKitokie atsk<strong>ir</strong>iamiejiDLMsimboliai (sk<strong>ir</strong>tukai)Excel (2000 Windows) .xls Excel2000P a s t a b a. Jei bylos išplėtimas nurodytas netiksliai arba byla yra tipo DLM, tai reikiaIMPORT procedūroje naudoti pas<strong>ir</strong>inktį DBMS=identifikatorius.Jei lentelė nurodytu pavadinimu jau egzistuoja <strong>ir</strong> norime ją pakeisti, tai naudojameREPLACE.PROC IMPORT DATAFILE=’bylos_vardas’ OUT=duomenu_lenteleDBMS=identifikatorius REPLACE;Import procedūra pagal nutylėjimą ima kintamųjų vardus iš p<strong>ir</strong>mos pradinės duomenųbylos eilutės. Jei byloje kintamųjų vardų nėra, tai rašome GETNAMES=NO. Tadakintamiesiems bus prisk<strong>ir</strong>ti vardai VAR1, VAR2 <strong>ir</strong> t.t.Jei duomenų byla yra DLM tipo, tai pagal nutylėjimą sk<strong>ir</strong>tukas yra tarpas. Jeisk<strong>ir</strong>tukas yra kitoks simbolis, tai reikia naudoti DELIMITER=’sk<strong>ir</strong>tukas’ pas<strong>ir</strong>inktį.PROC IMPORT DATAFILE=’bylos vardas’ OUT=duomenu_lenteleDBMS =DLM REPLACE;GETNAMES=no;Delimiter=’sk<strong>ir</strong>tukas’;RUN;SAS yra numatyta galimybė importuoti duomenis iš įva<strong>ir</strong>aus formato bylų į SASduomenų lentelę nerašant programinio kodo. Pagrindiniame meniu pas<strong>ir</strong>enkame punktąFile→Import Data. Ekrane ats<strong>ir</strong>anda langas, kuriame pas<strong>ir</strong>enkame bylos, iš kurios norimeimportuoti duomenis, tipą. Galima pas<strong>ir</strong>inkti iš sąrašo standartinį formatą (Standard datasource): Microsoft Excel, Microsoft Access, tekstinė byla (reikšmės atsk<strong>ir</strong>tos kableliais(Comma separated values), Tab simboliais (Tab delimited), kitais simboliais (Delimited)),dBASE, JMP, Lotus. Taip pat galima pas<strong>ir</strong>inkti nestandartinį formatą (User-defined formats),šiuo atveju vartotojas turi daugiau galimybių valdyti duomenų importą. Pas<strong>ir</strong>inkus bylosformatą, kituose languose reikia pas<strong>ir</strong>inkti bylos, iš kurios importuosime duomenis, vardą,įvesti SAS lentelės, kurią norime <strong>su</strong>kurti, vardą, bei nurodyti biblioteką, kurioje norime18
lentelę išsaugoti. Priklausomai nuo pradinių duomenų bylos formato galimos įva<strong>ir</strong>ios kitospas<strong>ir</strong>inktys. Pavyzdžiui, jei duomenys yra Microsoft Excel formato byloje, tai galimanurodyti, ar imti kintamųjų vardus iš p<strong>ir</strong>mos eilutės, ar konvertuoti skaitinio tipo duomenis įsimbolinio tipo, jei stulpelyje yra <strong>ir</strong> simbolinio, <strong>ir</strong> skaitinio tipo reikšmių <strong>ir</strong> kt.1.10 p a v y z d y s. Tarkime, kad duomenys iš 1.8 pavyzdžio yra Excel byloje„duom1.xls“, kuri yra diske „c“. Pagrindiniame meniu pas<strong>ir</strong>enkame punktą File→ImportData. Ekrane ats<strong>ir</strong>anda langas, kuriame pas<strong>ir</strong>enkame „Standard data source“ <strong>ir</strong> „MicrosoftExcel“ (žr. 1.5 pav.).1.5 pav. Duomenų importavimas iš Excel bylos (p<strong>ir</strong>mas žingsnis)Paspaudus mygtuką „Next“ yra atidaromas langas, kuriame reikia įvesti bylos, kuriojeyra duomenys vardą (žr. 1.6 pav.).1.6 pav. Duomenų importavimas iš Excel bylos (antras žingsnis)Kitame lange reikia pas<strong>ir</strong>inkti iš kurio Excel darbo knygos lapo imti duomenis.1.7 pav. Duomenų importavimas iš Excel bylos (trečias žingsnis)Paspaudus mygtuką Options galima pas<strong>ir</strong>inkti (žr. 1.7 pav.): imti stulpelių vardus išp<strong>ir</strong>mos eilutės (Use data in the f<strong>ir</strong>st row as SAS variable names), konvertuoti skaitinio tiporeikšmes į simbolinio tipo reikšmes mišraus tipo stulpeliuose (Convert numeric values tocharacters in a mixed types column), kintamajam sk<strong>ir</strong>ti tiek pozicijų, kiek užima ilgiausiastekstas (Use the largest text size in a column as SAS variable length), panaudoti DATE.formatą datos / laiko stulpeliuose (Use DATE. format for a Date/Time column), panaudotiTIME. formatą, jeigu stulpelyje yra tik laiko reikšmės (Use TIME. format if only time values19
found in a column), o taip pat galima nurodyti maksimalų simbolių skaičių stulpelyje (Thelargest text size allowed in a column). Importuojamoje byloje p<strong>ir</strong>moje eilutėje nėra kintamųjųvardų, todėl nuimkime pažymėjimą prie p<strong>ir</strong>mos eilutės, vi<strong>sas</strong> kitas pas<strong>ir</strong>inktis palikime.Kitame lange (žr. 1.8 pav.) reikia įvesti SAS bibliotekos vardą (library) <strong>ir</strong> SASlentelės, kurią norime <strong>su</strong>kurti, vardą (member).pav.).1.8 pav. Duomenų importavimas iš Excel bylos (ketv<strong>ir</strong>tas žingsnis)Paskutiniame lange galima nurodyti, kad išsaugotų procedūros IMPORT kodą (žr. 1.91.9 pav. Duomenų importavimas iš Excel bylos (penktas žingsnis)Paspaudžiame mygtuką Finish. Sukurtą lentelę galime atidaryti taip: Explorer langepaspaudžiame ikoną Libraries, tada pas<strong>ir</strong>enkame biblioteką Work <strong>ir</strong> lentelę „lentele1“.Lentelė yra atidaroma Viewtable lange (žr. 1.10 pav.).1.10 pav. Importuoti duomenysPradinės bylos p<strong>ir</strong>moje eilutėje nebuvo stulpelių vardų, todėl stulpeliai pagalnutylėjimą buvo pavadinti F1, F2. Stulpelių pavadinimus galima pakeisti taip, kaip buvoaprašyta 3.1 skyrelyje.20
1.11 p a v y z d y s. Iliustruosime kaip importuoti duomenis naudojant EFI langą.Tarkime, kad turime duomenis iš 1.3 pavyzdžio byloje „duom1.txt“, kuri yra diske „c“.Pagrindiniame meniu pas<strong>ir</strong>enkame punktą File→Import Data. Ekrane ats<strong>ir</strong>anda langas,kuriame pas<strong>ir</strong>enkame „User-defined formats“. Paspaudus mygtuką Next yra atidaromaslangas, kuriame reikia įvesti bylos, iš kurios importuosime duomenis pavadinimą. Kitamelange reikia įvesti bibliotekos vardą <strong>ir</strong> duomenų lentelės, kurią norime <strong>su</strong>kurti, vardą.Paspaudus mygtuką Next yra atidaromas EFI langas (žr. 1.11 pav).1.11 pav. Duomenų importasŠio lango ka<strong>ir</strong>iajame v<strong>ir</strong>šutiniame kampe matome pradinius duomenis, o dešiniajame,-kaip atrodys <strong>su</strong>kurta lentelė. Kiekvienam stulpeliui galime nurodyti: stulpelio vardą (FieldName), žymę (Descriptive Label), skaitymo formatą (Informat), rašymo formatą (Format),duomenų tipą (skaitinio – character, simbolinio - numeric), poziciją nuo kurios prasidedastulpelio reikšmė (position). Paspaudus mygtuką Options atidaromas duomenų importopas<strong>ir</strong>inkčių langas (žr. 1.12 pav.), kuriame galima pas<strong>ir</strong>inkti: kaip yra išdėstyti stebėjimaipradinėje byloje (One record per SAS row – pradinėje byloje kiekvienas stebėjimas atsk<strong>ir</strong>ojeeilutėje, Multiple SAS rows per record - pradinėje byloje keli stebėjimai vienoje eilutėje);skaitymo tipą (style of input; column – skaitymas stulpeliais (žr. 3.2 II punktą), list –skaitymas sąrašu (žr. 3.2 I punktą)); <strong>su</strong> kokiais simboliais yra atsk<strong>ir</strong>tos reikšmės pradinėjebyloje (Delimiter(s)); įrašo ilgį (Record Length); kintamųjų <strong>su</strong>kūrimo būdą (Variablecreation); koks pagal nutylėjimą kintamojo tipas (Default type); p<strong>ir</strong>mą duomenų eilutę(Starting record); kiek stebėjimų reikia importuoti (Number of records).1.12 pav. Duomenų importo pas<strong>ir</strong>inktysŠiame lange pažymėkime automatinį kintamųjų <strong>su</strong>kūrimo būdą (Variable creation:Automatic), keli stebėjimai vienoje eilutėje pradinėje duomenų byloje (Multiple SAS rowsper record). Paspaudę OK grįšime į ankstesnį langą. Jo v<strong>ir</strong>šutiniame dešiniame kampe21
matome kaip atrodys <strong>su</strong>kurta lentelė (žr. 1.13 pav.). Galime pakeisti stulpelių pavadinimus:pažymime stulpelį <strong>ir</strong> lauke „Field name“ įvedame pavadinimą, pavyzdžiui, pažymėkimep<strong>ir</strong>mą stulpelį, įveskime „Vardas“ <strong>ir</strong> paspauskime mygtuką Update, stulpelio pavadinimaspasikeis. Analogiškai galima pakeisti <strong>ir</strong> kitų stulpelių vardus. Atlikę vi<strong>su</strong>s pakeitimuspagrindiniame meniu pas<strong>ir</strong>enkame File→Save. Duomenų importas atliktas, <strong>su</strong>kurtą lentelęgalime peržiūrėti, pavyzdžiui, Viewtable lange.1.13 pav. Duomenų importas4. Duomenų eksportasSAS yra numatyta galimybė duomenis iš SAS duomenų lentelės perkelti į įva<strong>ir</strong>ausformato bylas (galimi tokie patys formatai kaip <strong>ir</strong> importuojant duomenis (žr.3.4 skyrelį)).Duomenų eksportui yra sk<strong>ir</strong>ta procedūra EXPORT.Procedūra EXPORT rašoma Editor lange. Sintaksė:PROC EXPORT DATA=duomenu_lentele OUTFILE=’bylos vardas’ REPLACE;pavyzdžiui,PROC EXPORT DATA=lentele OUTFILE=’c:\mano\duomenys.csv’;Kokio formato bylą reikia <strong>su</strong>kurti yra nustatoma pagal išplėtimą. Bylos formatągalima nurodyti <strong>su</strong> DBMS=identifikatorius pas<strong>ir</strong>inktimi.Bylos tipas Išplėtimas DBMS identifikatoriusComma-delimited .csv CSVTab-delimited .txt TABSpace-delimitedDLMP a s t a b a. „Space-delimited“ formato bylos neturi standartinio išplėtimo, todėlreikia naudoti DBMS=identifikatorius pas<strong>ir</strong>inktį.REPLACE nurodo, kad bylą reikia pakeisti, jei jau yra byla tokiu pačiu pavadinimu.Jei turime SAS/ACCESS modulį, tai galima eksportuoti SAS duomenų lentelę įMicrosoft Excel, Microsoft Access, dBase, Lotus bylas. Sintaksė tokia pati.SAS yra numatyta galimybė eksportuoti duomenis iš SAS duomenų lentelės į įva<strong>ir</strong>ausformato bylas nerašant programinio kodo. Pagrindiniame meniu pas<strong>ir</strong>enkame punktąFile→Export Data. Ekrane ats<strong>ir</strong>anda langas, kuriame pas<strong>ir</strong>enkame formatą į kurį norimeeksportuoti duomenis, SAS lentelę, kurios duomenis norime eksportuoti.1.12 p a v y z d y s. Tarkime, kad turime duomenų lentelę „lentele“, <strong>su</strong>kurtą 1.11pavyzdyje, eksportuosime duomenis į Excel bylą <strong>su</strong> Export procedūra. Editor lange parašome:PROC EXPORT DATA=lentele OUTFILE=’c:\mano\duomenys.xls’;22
Gauname tokią Excel lentelę:vardas k1 k2Jonas 15 16Petras 18 20Tadas 6 175. Duomenų pertvarkymo komandosKuriant duomenų lentelę <strong>su</strong> Data žingsniu galima tame pačiame Data žingsnyjepertvarkyti duomenis, pavyzdžiui, <strong>su</strong>kurti naujus kintamuosius, pakeisti kintamųjų reikšmes.Kintamųjų pertvarkymo komandos rašomos prieš komandą DATALINES arba po komandosINPUT, jeigu naudojama komanda INFILE:DATA d1; DATA d1;INPUT k1 k2;INFILE ’c:\mano.txt’;Duomenų pertvarkymo komandos; arba INPUT k1 k2;DATALINES;Duomenų pertvarkymo komandos;Duomenys;RUN;RUN;Duomenų pertvarkymo komandos: priskyrimo sakinys, sąlyginis sakinys, ciklai.5.1 Priskyrimo sakinysPriskyrimo sakinys naudojamas, kai norime <strong>su</strong>kurti naują kintamąjį arba pakeistianksčiau <strong>su</strong>kurto kintamojo reikšmę. Sintaksė:kintamojo_vardas=reiškinys;čia reiškinys – konstanta, kintamasis, matematinis reiškinys, funkcija; kintamasis – naujo arbaseno kintamojo vardas.Jeigu nurodome naujo kintamojo vardą, tai jo tipas bus toks pats kaip <strong>ir</strong> reiškinio,nurodyto dešinėje pusėje, t.y., jei reiškinys simbolinio tipo, tai bus <strong>su</strong>kurtas simbolinio tipokintamasis nurodytu vardu <strong>ir</strong> jam prisk<strong>ir</strong>ta nurodyto reiškinio reikšmė; jei skaitinio, tai bus<strong>su</strong>kurtas skaitinio tipo kintamasis.1.13 p a v y z d y s. Editor lange įveskime:DATA dd;x=10;sk=’du’;y=x+1;y=2*y;RUN;P<strong>ir</strong>muoju priskyrimo sakiniu yra <strong>su</strong>kuriamas naujas skaitinio tipo kintamasis „x“ <strong>ir</strong>jam prisk<strong>ir</strong>iama reikšmė 10. Antruoju priskyrimo sakiniu yra <strong>su</strong>kuriamas naujas simboliniotipo kintamasis „sk“ <strong>ir</strong> jam prisk<strong>ir</strong>iama reikšmė „du“. Trečiuoju priskyrimo sakiniu yra<strong>su</strong>kuriamas naujas skaitinio tipo kintamasis „y“ <strong>ir</strong> jam prisk<strong>ir</strong>iama reikšmė x+1, t.y. 11.Ketv<strong>ir</strong>tuoju priskyrimo sakiniu yra pakeičiama anksčiau <strong>su</strong>kurto kintamojo „y“ reikšmė.1.14 p a v y z d y s. Tarkime, kad tekstinėje byloje „c:/egzaminai.txt“ yra duomenysapie egzaminų rezultatus (numeris, trijų egzaminų rezultatai):251 10 9 9256 8 7 8254 6 7 5287 9 8 8Reikia <strong>su</strong>kurti duomenų lentelę „rezultatai“, kurioje būtų duomenys iš pradinėstekstinės bylos bei egzaminų vidurkis. Editor lange įvedame:DATA rezultatai;INFILE ’c:/egzaminai.txt’;23
INPUT numeris $ egz1 egz2 egz3; /*nurodome kintamuosius iš pradinės bylos*/vidurkis=(egz1+egz2+egz3)/3;RUN;5.2. Sąlyginiai sakiniaiPaprasčiausia sąlyginio sakinio sintaksė:IF sąlyga THEN veiksmas;Nurodytas veiksmas atliekamas tik stebėjimams, kurie tenkina nurodytą sąlygą.Sąlygoje galima naudoti palyginimo operatorius: =, ∧= (nelygu), >,
Šio Data žingsnio rezultatas yra duomenų lentelė „duom1“:k1 intervalas1.5 11.7 11.9 12.0 2. .2.5 23.1 3Sąlyginį sakinį galima panaudoti stebėjimų poaibio išrinkimui. Jei parašysimeIF sąlyga;tai lentelėje bus palikti tik stebėjimai, kurie tenkina nurodytą sąlygą; jei parašysimeIF sąlyga THEN DELETE;tai tenkinantys nurodytą sąlygą stebėjimai nebus įrašomi į lentelę.1.16 p a v y z d y s. Tegu turime duomenis iš 1.15 pavyzdžio. Editor lange įveskime:DATA duom1;INPUT k1 @@;IF k1>=2;DATALINES;1.5 1.7 1.9 2.0 . 2.5 3.1;RUN;Gautoje lentelėje bus tik tie stebėjimai, kurie tenkina sąlygą: k1>=2, t.y. tik trysstebėjimai.1.17 p a v y z d y s. Komandos LENGTH panaudojimas <strong>su</strong> sąlyginiu sakiniu.Su komanda LENGTH galima nurodyti kiek simbolių sk<strong>ir</strong>ti kintamajam. Nagrinėkimetokį Data žingsnį:DATA pvz;INFILE ’c:\duom.txt’;INPUT numeris $ tipas;IF tipas=1 THEN pavad=’pradinė’;ELSE if tipas=2 THEN pavad=’pagrindinė’;ELSE pavad=’vidurinė’;RUN;Ši programa veiks blogai, nes kintamojo „pavad“ ilgis yra 7 simboliai <strong>ir</strong> jo reikšmė„pagrindinė“ bus <strong>su</strong>trumpinta iki „pagrind“, o reikšmė „vidurinė“ - iki „vidurin“. Taipatsitinka todėl, kad SAS nustato: 1) kintamasis „pavad“ yra simbolinio tipo, nes prisk<strong>ir</strong>iamasimbolinio tipo konstanta; 2) iš to pačio sąlyginio sakinio SAS nustato, kad kintamojo„pavad“ reikšmė bus neilgesnė už 7 simbolius. Šios išvados padaromos iš priskyrimo sakiniopavad=’pradinė’, nes jame yra p<strong>ir</strong>mą kartą panaudotas kintamojo „pavad“ vardas, net jeigupradinėje duomenų byloje p<strong>ir</strong>mas stebėjimas yra <strong>su</strong> reikšme „pagrindinė“ <strong>ir</strong> todėl p<strong>ir</strong>masisELSE sakinys atliekamas p<strong>ir</strong>mas, kintamojo „pavad“ ilgis vis tiek bus 7 simboliai. Vienas išsprendimo būdų:DATA pvz;LENGTH pavad $10;INFILE ’c:\duom.txt’;INPUT numeris $ tipas;IF tipas=1 THEN pavad=’pradinė’;ELSE if tipas=2 THEN pavad=’pagrindinė’;ELSE pavad=’vidurinė’;RUN;25
SAS yra trijų tipų ciklai:I) DO ciklas. Sintaksė:5.3. CiklaiDO ciklo_kintamasis=išraiška_1 ;SAS komandos;END;čia išraiška – tokio pavidalo reiškinys (arba reiškinių aibė):pradžia kur pradžia yra pradinė ciklo kintamojo reikšmė; pabaiga - paskutinė ciklo kintamojo reikšmė;žingsnis – teigiamas arba neigiamas skaičius (arba reiškinys, kurio reikšmė yra skaičius),nurodantis kaip turi kisti ciklo kintamojo reikšmės; WHILE(reiškinys) nurodytas reiškinys yratikrinamas prieš kiekvieną ciklo iteraciją <strong>ir</strong> ciklas yra atliekamas tol, kol reiškinys yrateisingas; UNTIL(reiškinys) nurodytas reiškinys yra tikrinamas po kiekvienos ciklo iteracijos<strong>ir</strong> ciklas yra atliekamas tol, kol reiškinys taps teisingas.1.18 p a v y z d y s.a) DO numeris=’p<strong>ir</strong>mas’, ’antras’, ’trečias’;b) DO skaičius=2, 3, 5, 7;c) n=3; DO i=n TO 1 BY -1;d) DO i=0.1 TO 0.9 BY 0.1, 1 TO 10 BY 1, 20 TO 100 BY 10;e) DO i=0.2 TO 0.8 BY 0.05;f) DO i=1 TO 10 UNTIL(x=8 THEN i=15; 3 6END; 4 8RUN;P a s t a b a. Komanda OUTPUT nurodo, kad kintamojo reikšmes reikia įrašyti įlentelę. Pagal nutylėjimą duomenys įrašomi į lentelę Data žingsnio pabaigoje. Taigi, jei ciklenepanaudosime komandos OUTPUT, tai į lentelę bus įrašytas tik paskutinės ciklo iteracijosrezultatas.II) DO UNTIL ciklas. Sintaksė:DO UNTIL(sąlyga);SAS_komandos;END;Sąlyga yra tikrinama ciklo pabaigoje. Jei sąlyga teisinga, tai ciklo pabaiga.1.20 p a v y z d y s.DATA duom1; Rezultatasy=1;yDO UNTIL(y
Sąlyga yra tikrinama ciklo pradžioje. Komandos atliekamos tol, kol sąlyga teisinga.1.21 p a v y z d y s.DATA duom; Rezultatasy=1;yDO WHILE(y
diena sk did bendras1 2 2 25 10 10 127 5 10 1712 15 15 3215 7 15 396. SAS duomenų lentelės keitimasSu komanda SET Data žingsnyje galime pertvarkyti jau <strong>su</strong>kurtą SAS duomenų lentelę,t.y. galima pašalinti esančius lentelėje kintamuosius, pridėti naujus kintamuosius, išrinktiduomenų poaibius <strong>ir</strong> pan. Sintaksė:DATA nauja_lentelė;SET sena_lentelė;duomenų koregavimo komandos;RUN;čia nauja_lentelė – lentelės, kurią norime <strong>su</strong>kurti, vardas; sena_lentelė – lentelės, kurią norimepertvarkyti, vardas; duomenų koregavimo komandos – priskyrimo sakiniai, sąlyginiai sakiniai<strong>ir</strong> pan. Jeigu po DATA <strong>ir</strong> SET nurodome tokį patį lentelės vardą, tai pakeitimai išsaugomi tojepačioje lentelėje.1.23 p a v y z d y s. Duota lentelė „duom“, kurioje yra keturi stulpeliai: tipas, k1, k2,k3. Reikia <strong>su</strong>kurti naują lentelę, kurioje būtų visi kintamieji iš pradinės lentelės, naujaskintamasis „<strong>su</strong>ma“ <strong>ir</strong> tik tie stebėjimai, kuriems tipas=’p<strong>ir</strong>mas’. Editor lange parašome:DATA nauja;SET duom;IF tipas=’p<strong>ir</strong>mas’;<strong>su</strong>ma=k1+k2+k3;RUN;7. Kelių lentelių <strong>su</strong>kūrimas viename Data žingsnyjeSu komanda OUTPUT galima <strong>su</strong>kurti kelias duomenų lenteles viename Data žingsnyje. JeiguEditor lange parašome, pavyzdžiui,DATA d1 d2 d3;tai bus <strong>su</strong>kurtos trys vienodas lentelės. Jeigu norime <strong>su</strong>kurti sk<strong>ir</strong>tingas lenteles, tai naudojameOUTPUT komandą. Komanda OUTPUT nurodo įrašyti einamojo stebėjimo kintamųjųreikšmes į kuriamą lentelę prieš grįžtant į Data žingsnio pradžią. Sintaksė:OUTPUT lentelė;P a s t a b a. Jeigu nenurodysime lentelės pavadinimo, tai stebėjimas bus įrašytas įvi<strong>sas</strong> lenteles išvardintas po žodžio DATA.OUTPUT komanda gali būti naudojama atsk<strong>ir</strong>ame sakinyje, sąlygos sakiniuose arbacikluose.1.24 p a v y z d y s. Tarkime, kad turime tokius duomenis:x yx1 ax2 rx3 vx4 vx5 ax6 rReikia įrašyti duomenis į dvi lenteles: jeigu y=’a’ arba y=’r’, tai į lentelę „d1“;jeigu y=’a’ arba y=’v’, tai į lentelę „d2“. Editor lange įvedame:28
DATA d1 d2;INFILE ’c:/duom.txt’;INPUT x $ y $;IF y=’r’ THEN OUTPUT d1;ELSE IF y=’v’ THEN OUTPUT d2;ELSE IF y=’a’ THEN OUTPUT;RUN;8. Kintamųjų pašalinimo <strong>ir</strong> pervardinimo komandosSAS vi<strong>su</strong>s kintamuosius, kurių vardai buvo panaudoti Data žingsnyje įrašo į duomenųlentelę. Pagalbinius kintamuosius galima panaikinti <strong>su</strong> komanda KEEP arba DROP. Josrašomos Data žingsnyje. Sintaksė:KEEP kintamųjų_sąrašas;DROP kintamųjų_sąrašas;Jei naudojame KEEP, tai duomenų lentelėje paliekami tik nurodyti kintamieji. Jeinaudojame DROP, tai nurodyti kintamieji yra pašalinami iš duomenų lentelės.P a s t a b a. Viename Data žingsnyje KEEP <strong>ir</strong> DROP naudoti negalima.1.25 p a v y z d y s.KEEP k1 k2; /* lentelėje liks tik kintamieji k1 <strong>ir</strong> k2 */DROP k1 k2; /* lentelėje neliks kintamųjų k1 <strong>ir</strong> k2 */Kintamojo vardą galima pakeisti <strong>su</strong> komanda RENAME. Sintaksė:RENAME senas_vardas=naujas_vardas;Komandos KEEP, DROP, RENAME gali būti naudojamos bet kurioje Data žingsniovietoje.1.26 p a v y z d y s. Editor lange parašykime tokį Data žingsnį:DATA dd;DO i=1 TO 10;x=i*i; y=x+1;OUTPUT;END;DROP i; RENAME y=z;RUN;Šio Data žingsnio rezultatas yra lentelė „dd“, kurioje bus du kintamieji „x“ <strong>ir</strong> „z“.9. Lentelių apjungimo komandos9.1. Lentelių apjungimas <strong>su</strong> komanda SETKomanda SET naudojama, kai norime apjungti kelias lenteles <strong>su</strong> tais pačiaiskintamaisiais, bet sk<strong>ir</strong>tingais stebėjimais. Sintaksė:DATA lentelė;SET lent_1 ... lent_n;RUN;čia lentelė – naujos lentelės vardas; po SET nurodome lenteles, kurias norime apjungti.Stebėjimų skaičius naujoje lentelėje lygus senų lentelių stebėjimų <strong>su</strong>mai. Stebėjimų tvarkapriklauso nuo to, kaip išvardiname lenteles SET sakinyje. Jei lentelėje yra kintamasis, kurisneįeina į kitas lenteles, tai stebėjimuose iš tų lentelių to kintamojo reikšmė bus praleistasstebėjimas.29
1.27 p a v y z d y s. Tegu turime dvi lenteles „D1“ <strong>ir</strong> „D2“:D1D2K1 K2 K3 K1 K21 A C 4 E2 B DReikia <strong>su</strong>kurti naują lentelę „nauja“, kurioje būtų duomenys iš abiejų pradinių lentelių.Editor lange parašykimeDATA nauja;SET D1 D2;RUN;Šio Data žingsnio rezultatas yra tokia lentelė:K1 K2 K31 A C2 B D4 EJei turime <strong>su</strong>rūšiuotus duomenis, tai anksčiau aprašytas apjungimas išardys<strong>su</strong>rūšiavimo tvarką. Galima apjungti, o paskui <strong>su</strong>rūšiuoti <strong>su</strong> procedūra SORT, bet tai užimalaiko. Galima daryti taip:DATA nauja;SET lent_1 ... lent_n;BY kintamieji;RUN;Atlikus šį Data žingsnį bus <strong>su</strong>kurta nauja lentelė „nauja“ <strong>ir</strong> nebus išardyta <strong>su</strong>rūšiavimotvarka pagal kintamuosius, nurodytus po komandos BY. Lentelės „lent_1“,...,“lent_n“ turibūti <strong>su</strong>rūšiuotos pagal kintamuosius, nurodytus po BY komandos.1.28 p a v y z d y s. Tegu turime dvi lenteles „D1“ <strong>ir</strong> „D2“:D1D2K1 K2 K3 K1 K21 A D 2 M3 B E 6 N5 C FReikia <strong>su</strong>kurti naują lentelę „nauja“, kurioje būtų duomenys iš abiejų pradinių lentelių.Editor lange parašykimeDATA nauja;SET D1 D2;BY K1;RUN;Šio Data žingsnio rezultatas yra tokia lentelė:K1 K2 K31 A D2 M3 B E5 C F6 N9.2. Lentelių apjungimas <strong>su</strong> komanda MERGEŠi komanda naudojama Data žingsnyje. Lentelėse turi būti bent vienas bendraskintamasis pagal kurį apjungsime lenteles. Prieš naudojant komandą MERGE reikia lenteles<strong>su</strong>rūšiuoti pagal bendrus kintamuosius. Sintaksė:30
DATA nauja_lentele; /* lentelės, kuri bus <strong>su</strong>kurta, vardas */MERGE lentele1 lentele2; /*lentelių, kurias apjungsime, vardai*/BY kintamieji; /* kintamieji pagal kuriuos apjungsime*/RUN;P a s t a b a. Jei norime apjungti dvi lenteles <strong>ir</strong> jose yra kintamųjų <strong>su</strong> tais pačiaisvardais (išimtis BY-kintamieji, t.y. kintamieji, nurodyti po BY), tai gautoje lentelėje tiemskintamiesiems duomenys bus iš antros nurodytos lentelės, kad neužrašytų ant v<strong>ir</strong>šaus priešnaudojant komandą MERGE reikia pervardinti.1.29 p a v y z d y s. a) Tarkime, kad turime dvi lenteles: „Duom1“ <strong>ir</strong> „Duom2“. Reikia<strong>su</strong>kurti lentelę „Abi“, kurioje būtų duomenys iš abiejų pradinių lentelių. Šią užduotį galimeatlikti Editor lange parašę:DATA Abi;MERGE Duom1 Duom2;BY numeris;RUN;Duom1 Duom2 AbiNumeris Z Numeris V Numeris Z V001 Z1 001 V1 001 Z1 V1002 Z2 004 V2 002 Z2004 Z3 005 V3 004 Z3 V2005 Z4 007 V4 005 Z4 V3007 V4b) Tarkime, kad turime dvi lenteles: „Duom1“ <strong>ir</strong> „Duom2“. Reikia <strong>su</strong>kurti lentelę„Nauja“, kurioje būtų duomenys iš abiejų pradinių lentelių. Šią užduotį galime atlikti Editorlange parašę:DATA Nauja;MERGE Duom1 Duom2;BY numeris;RUN;Duom1 Duom2 NaujaNumeris Z Numeris V Numeris Z V001 Z1 001 V1 001 Z1 V1002 Z2 001 V2 001 Z1 V2003 Z3 002 V3 002 Z2 V3004 V4 003 Z3004 V49.3. Duomenų lentelės atnaujinimas <strong>su</strong> komanda UPDATEŠi komanda naudojama Data žingsnyje. Komanda UPDATE naudojama, kai turimepagrindinę lentelę <strong>ir</strong> norime ją pakeisti naudodami duomenis iš kitos lentelės.P a s t a b o s. 1) Praleisti stebėjimai iš papildymų lentelės neužrašomi ant pagrindinėslentelės stebėjimų.2) Galima nurodyti tik dvi lenteles: pagrindinę <strong>ir</strong> papildymų.3) Abi lentelės turi būti <strong>su</strong>rūšiuotos pagal bendrus kintamuosius.4) Pagrindinėje lentelėje kintamųjų, nurodytų po BY, reikšmės turi būti sk<strong>ir</strong>tingos;jeigu bus kelios vienodos, tai papildymai bus pritaikyti tik p<strong>ir</strong>mam stebėjimui <strong>su</strong> vienodomisreikšmėmis, o kiti bus ignoruojami.5) Jei papildymų lentelėje yra keli stebėjimai <strong>su</strong> vienodomis kintamųjų, nurodytų poBY, reikšmėmis, tai gautoje lentelėje bus tik vienas stebėjimas <strong>ir</strong> reikšmės bus iš paskutiniopapildymų lentelės stebėjimo.Sintaksė:31
DATA pagrindinė_lentelė;UPDATE pagrindinė_lentelė papildymų_lentelė;BY kintamųjų_sąrašas;RUN;1.30 p a v y z d y s. Tarkime, kad turime dvi lenteles: „Pagrind“ <strong>ir</strong> „Papild“. Reikiaatnaujinti lentelę „Pagrind“ <strong>su</strong> lentelės „Papild“ duomenimis. Editor lange parašome:DATA pagrind;UPDATE Pagrind Papild;BY Numeris;RUN;a) Pagrind Papild PagrindNumeris Z V Numeris Z V Numeris Z V008 Z1 V1 011 Z2 008 Z1 V1009 Z1 V1 012 Z2 V2 009 Z1 V1010 Z1 V1 + 013 Z2 = 010 Z1 V1011 Z1 V1 013 V2 011 Z2 V1012 Z1 V1 015 Z2 V2 012 Z2 V2013 Z1 V1 013 Z2 V2014 Z1 V1 014 Z1 V1015 Z2 V2Pajuodintos tos reikšmės, kurios buvo pakeistos.b) Pagrind Papild PagrindNumeris Z V T Numeris Z V Numeris Z V T008 Z1 V1 T1 009 V6 1988 Z1 V1 T1009 Z2 V2 T2 + 012 V7 V7 = 1989 Z2 V6 T2009 Z3 V3 T3 1989 Z3 V3 T3011 Z4 V4 T4 1991 Z4 V4 T41992 Z7 V7Pajuodintos tos reikšmės, kurios buvo pakeistos. Pagrindinėje lentelėje yra dvivienodos kintamojo, pagal kurį apjungiame, reikšmės, tačiau pakeitimas yra atliekamas tikp<strong>ir</strong>majam stebėjimui <strong>su</strong> vienodomis reikšmėmis (žr. 4 pastabą).10. Duomenų lentelės pas<strong>ir</strong>inktysSAS yra trys pagrindiniai pas<strong>ir</strong>inkčių tipai:1) sisteminės pas<strong>ir</strong>inktys;2) pas<strong>ir</strong>inktys, naudojamos komandose;3) duomenų lentelių pas<strong>ir</strong>inktys.Sisteminės pas<strong>ir</strong>inktys veikia visą SAS darbo sesijos laiką. Jas nurodome <strong>su</strong> globaliakomanda OPTIONS (žr. 1 skyrelį).Pas<strong>ir</strong>inktys, naudojamos komandose, veikia tik tame Data arba Proc žingsnyje,kuriame yra nurodytos. Pavyzdžiui, pas<strong>ir</strong>inktis DATA=lentelė, kuri yra naudojamaprocedūrose, nurodo, kokią duomenų lentelę naudoti.Duomenų lentelių pas<strong>ir</strong>inktys nurodo kaip duomenys skaitomi arba rašomi atsk<strong>ir</strong>ojeduomenų lentelėje. Duomenų lentelės pas<strong>ir</strong>inktis galima naudoti Data žingsnyje (<strong>su</strong> DATA,SET, MERGE arba UPDATE komandomis) arba Proc žingsnyje <strong>su</strong> DATA=lentelėpas<strong>ir</strong>inktimi. Duomenų lentelės pas<strong>ir</strong>inktys yra nurodomos skliaustuose po duomenų lentelėspavadinimo. Dažniausiai naudojamos tokios pas<strong>ir</strong>inktys:KEEP=kintamieji palikti nurodytus kintamuosius;DROP=kintamieji išmesti nurodytus kintamuosius;32
RENAME=(senas_kint=naujas_kint) pervardinti kintamąjį;FIRSTOBS=n pradėti skaityti nuo n-to stebėjimoOBS=nbaigti skaityti n-tu stebėjimu1.31 p a v y z d y s.DATA d1;SET d2 (KEEP=k1 k5);Šiuo Data žingsniu yra <strong>su</strong>kuriama lentelė „d1“, kurioje bus du kintamieji (k1 <strong>ir</strong> k5) iš lentelės„d2“.1.32 p a v y z d y s.DATA d1;SET d2 (RENAME=(k1=kint1 k3=kint3));Šiuo Data žingsniu yra <strong>su</strong>kuriama lentelė „d1“, kurioje bus visi duomenys iš lentelės „d2“,tačiau kintamojo „k1“ vardas bus pakeistas į „kint1“, o kintamojo „k3“ – į „kint3“.Yra analogiškos komandos KEEP, DROP, RENAME (žr. 8 skyrelį). Lentelėje 1.2 yrapateiktas duomenų lentelių pas<strong>ir</strong>inkčių <strong>ir</strong> atitinkamų komandų palyginimas.P a s t a b o s. 1) Jei pas<strong>ir</strong>inktis panaudota <strong>su</strong> pradine lentele, tai: a) pašalintųkintamųjų negalima naudoti Data žingsnyje (skaičiavimuose <strong>ir</strong> pan.); b) komandose <strong>ir</strong>kuriamos lentelės pas<strong>ir</strong>inktyse reikia naudoti naują vardą; reikia naudoti seną vardą kitosepradinės lentelės pas<strong>ir</strong>inktyse.2) Jei pas<strong>ir</strong>inktis panaudota <strong>su</strong> kuriama lentele, tai: a) vi<strong>su</strong>s kintamuosius galimanaudoti skaičiavimuose; b) reikia naudoti seną vardą programos komandose ar kitosekuriamos lentelės pas<strong>ir</strong>inktyse.1.2 lentelė. Duomenų lentelių pas<strong>ir</strong>inkčių <strong>ir</strong> atitinkamų komandų palyginimasKomandosDuomenų lentelių pas<strong>ir</strong>inktystaikomos tik kuriamoms lentelėms; taikomos <strong>ir</strong> pradinėms, <strong>ir</strong> kuriamoms lentelėms;veikia vi<strong>sas</strong> tame Data žingsnyje kuriamasveikia tik atsk<strong>ir</strong>ą lentelę;lenteles;naudojamos tik Data žingsnyje;naudojamos <strong>ir</strong> Data, <strong>ir</strong> Proc žingsniuose;rašomos bet kurioje Data žingsnio vietoje;rašomos iš karto po lentelės, kuriai taikomos,pavadinimo1.33 p a v y z d y s.a) DATA d2;SET d1 (DROP=k1 k2);k3=2*k4;RUN;Pas<strong>ir</strong>inktis panaudota <strong>su</strong> pradine lentele, todėl kintamųjų „k1“ <strong>ir</strong> „k2“ negalima naudotikomandose, jų nebus <strong>ir</strong> lentelėje „d2“.b) DATA d2 (DROP=k1 k2);SET d1;k3=2*k4;RUN;Pas<strong>ir</strong>inktis panaudota <strong>su</strong> kuriama lentele, todėl kintamųjų „k1“ <strong>ir</strong> „k2“ nebus lentelėje „d2“,bet juos galima naudoti skaičiavimuose.c) DATA d2 (RENAME=(x=naujas));SET d1;z=x+y;RUN;Pas<strong>ir</strong>inktis panaudota <strong>su</strong> kuriama lentele, todėl skaičiavimuose naudojame seną vardą.33
d) DATA d2;SET d1 (RENAME=(x=naujas));z=naujas+y;RUN;Pas<strong>ir</strong>inktis panaudota <strong>su</strong> pradine lentele, todėl skaičiavimuose naudojame naują vardą.e) PROC PRINT data=d1 (f<strong>ir</strong>stobs=101 obs=120);RUN;Nurodome, kuriuos stebėjimus spausdinti, t.y. spausdins pradedant 101 stebėjimu <strong>ir</strong> baigiant120 stebėjimu.11. Automatiniai kintamiejiAutomatiniai kintamieji – laikini kintamieji, kurie yra <strong>su</strong>kuriami Data žingsnio metu.Jie neįrašomi į duomenų lentelę. Sukuriami automatiškai Data žingsnio metu; laikinikintamieji, neįrašomi į SAS duomenų lentelę.Automatinis kintamasis _N_ parodo kiek kartų buvo atliktas Data žingsnis.1.34 p a v y z d y s. Tarkime, kad turime duomenų lentelę „duom“. Šią lentelę reikiapapildyti tokiu nauju kintamuoju „sk“: kintamojo reikšmė p<strong>ir</strong>miems penkiems stebėjimamsturi būti lygi 1, kitiems penkiems stebėjimams reikšmė turi būti lygi 2 <strong>ir</strong> t.t. Šią užduotįgalima atlikti Editor lange parašius tokią programą:DATA duom; SET duom;RETAIN sk 0;IF MOD(_N_,5)=1 THEN sk=sk+1; /* funkcijos MOD rezultatas yra liekana*/RUN; /* padalinus _N_ iš 5 */Automatiniai kintamieji FIRST.kint <strong>ir</strong> LAST.kint yra <strong>su</strong>kuriami, kai Data žingsnyjenaudojame BY komandą. Vietoje „kint“ reikia įrašyti kintamojo, nurodyto po BY, vardą. Šiekintamieji gali įgyti tik reikšmę 0 arba 1. FIRST.kint įgyja reikšmę 1, jei d<strong>ir</strong>bama <strong>su</strong>stebėjimu, kuriam keičiasi BY-kintamųjų reikšmė (t.y. p<strong>ir</strong>mas stebėjimas, kuriam yra naujaBY-kintamųjų reikšmė) <strong>ir</strong> reikšmę 0 kitiems stebėjimams. LAST.kint įgyja reikšmę 1paskutinei tai pačiai BY-kintamųjų reikšmei, o kitoms bus 0.1.35 p a v y z d y s. Tarkime, kad gaminant tam tikrą gaminį, gamybos operacija yrakartojama, jei gaminio parametrų matavimai neatitinka nustatytų normatyvų, t.y. duomenųlentelėje kai kuriems gaminiams gali būti po keletą stebėjimų. Reikia palikti tik paskutinįmatavimą. Editor lange parašome:DATA duom2;SET duom1;BY gaminio_nr;IF LAST.gaminio_nr =1;RUN;Šiame Data žingsnyje parašytas sąlyginis sakinys nurodo, kad reikia palikti tik tuosstebėjimus, kuriems automatinio kintamojo LAST.gaminio_nr reikšmė yra 1, t.y. tik paskutinįstebėjimą kiekvienam gaminiui.12. Kintamųjų vardų sąrašaiIšvardinant kintamuosius galima naudoti <strong>su</strong>trumpinimus, kurie yra vadinami SASkintamųjų vardų sąrašais. Juos galima naudoti įva<strong>ir</strong>iose SAS komandose, duomenų lenteliųpas<strong>ir</strong>inktyse, SAS procedūrose <strong>ir</strong> pan.Tegu turime aibė kintamųjų, kurių vardai yra tokie patys išskyrus paskutinį arba kelispaskutinius simbolius, kurie yra nuosekli skaičių seka, pavyzdžiui, vardas1, vardas2,…,vardasn, kur vardas yra kintamojo vardas. Tada galime naudoti tokį <strong>su</strong>trumpinimą: vardas1-vardasn. Pavyzdžiui, pilnas užrašymas: k5, k6, k7, k8; <strong>su</strong>trumpinimas: k5-k8.34
Kuriant lentelę kintamieji lentelėje yra išdėstomi tokia tvarka, kokia jie paminėti Datažingsnyje. Galima naudoti <strong>su</strong>trumpinimus atsižvelgiant į kintamųjų išdėstymą duomenųlentelėje:x--a visi kintamieji nuo x iki a;x-numeric-a visi skaitinio tipo kintamieji nuo x iki a;x-character-a visi simbolinio tipo kintamieji nuo x iki a;1.36 p a v y z d y s. Tarkime, kad lentelę <strong>su</strong>kūrėme <strong>su</strong> tokiu Data žingsniu:DATA pavyzdys;INFILE ’c:\duom.txt’;INPUT y a c $ h r;b=a+r;RUN;Tada duomenų lentelėje kintamieji bus išdėstyti tokia tvarka: y, a, c, h, r, b.Editor lange parašykime:Sutrumpinimas:Pilnas užrašymas:DATA rez1;DATA rez1;SET pavyzdys; SET pavyzdys;KEEP a--h; KEEP a c h;RUN;RUN;Atlikus šį Data žingsnį lentelėje „rez1“ bus kintamieji nuo a iki h, t.y. kintamieji a, c, h.Editor lange parašykime:DATA rez2;SET pavyzdys;DROP a-numeric-h;RUN;Atlikus šį žingsnį lentelėje „rez2“ nebus skaitinių kintamųjų nuo a iki h, t.y. kintamųjų a, h.Editor lange parašykime:DATA rez3;SET pavyzdys;DROP a-character-h;RUN;Atlikus šį Data žingsnį lentelėje „rez3“ nebus simbolinio tipo kintamųjų nuo a iki h, t.y.kintamojo c.P a s t a b a. Kokia tvarka kintamieji yra išdėstyti duomenų lentelėje galima pažiūrėti<strong>su</strong> procedūra CONTENTS:PROC CONTENTS DATA=duomenų_lentelė POSITION;RUN;Sutrumpinimus galima naudoti funkcijose. Šiuo atveju reikia nurodyti OF, pavyzdžiui,SUM(OF kint8-kint12) – kintamųjų k8, k9, k10, k11, k12 reikšmių <strong>su</strong>ma.Specialūs kintamųjų vardų sąrašai:_NUMERIC_ visi skaitinio tipo kintamieji;_CHARACTER_ visi simbolinio tipo kintamieji;_ALL_ visi kintamieji.Pavyzdžiui, SUM(OF _NUMERIC_) visų skaitinio tipo kintamųjų reikšmių <strong>su</strong>ma.Tarkime, kad turime aibę kintamųjų, kurių vardai prasideda tokiais pačiais simboliais,pavyzdžiui, kaina_sausio, kaina_vasario, kaina_kovo. Tada galima naudoti tokį <strong>su</strong>trumpinimą:MEAN(OF kaina:) – kintamųjų reikšmių vidurkis.35
13. Kintamųjų masyvaiSAS kintamųjų masyvas – <strong>su</strong>tvarkyta kintamųjų grupė. Visi kintamieji turi būti topačio tipo, t.y. arba visi skaitinio tipo, arba visi simbolinio tipo. Gali būti nauji arba anksčiau<strong>su</strong>kurti kintamieji. SAS kintamųjų masyvai yra dviejų tipų: vienmačiai <strong>ir</strong> daugiamačiai.Masyvas nėra išsaugomas duomenų lentelėje, jis yra <strong>su</strong>kuriamas tik Data žingsnio atlikimolaikotarpiui. Masyvai naudojami, kai tą patį veiksmą reikia atlikti daugeliui kintamųjų.Masyvas yra apibrėžiamas <strong>su</strong> ARRAY komanda, kuri rašoma Data žingsnyje. Sintaksė:ARRAY masyvo_vardas {masyvo_dydis} ;Masyvo dydį galima nurodyti laužtiniuose „[ ]“, figūriniuose „{ }“ arba paprastuoseskliaustuose „( )“.Masyvo vardas negali <strong>su</strong>tapti <strong>su</strong> kurio nors duomenų lentelės kintamojo vardu ar SASrezervuotu žodžiu.Masyvo dydį galima nurodyti keliais būdais:a) nurodant elementų skaičių kiekvienoje masyvo dimensijoje.1.37 p a v y z d y s.1) ARRAY m(3) k1 k2 k3; apibrėžiame vienmatį masyvą, kurio vardas yra „m“ <strong>ir</strong>kuris yra <strong>su</strong>darytas iš trijų kintamųjų k1, k2, k3.2) ARRAY m(5,3) T1-T15; dvimatis masyvas: penkios eilutės <strong>ir</strong> trys stulpeliai, išviso masyvą <strong>su</strong>daro 15 kintamųjų. Kintamieji masyve yra išdėstomi tokiu būdu: užpildomap<strong>ir</strong>ma eilutė iš ka<strong>ir</strong>ės į dešinę, tada antra eilutė <strong>ir</strong> t.t. Taigi, šiame pavyzdyje kintamiejimasyve bus išdėstyti tokiu būdu:T1 T2 T3T4 T5 T6T7 T8 T9T10 T11 T12T13 T14 T15b) nurodant kiekvienos masyvo dimensijos apatinį <strong>ir</strong> v<strong>ir</strong>šutinį rėžį:{ v<strong>ir</strong>šutinė_riba },1.38 p a v y z d y s.1) ARRAY mm{5,3} T1-T15; šis užrašas ekvivalentus: ARRAY mm{1:5,1:3} T1-T15;2) ARRAY mm{0:7} T0-T7; apibrėžiame vienmatį masyvą, kurio vardas yra „mm“ <strong>ir</strong>kuris yra <strong>su</strong>darytas iš kintamųjų T0, T1,...,T7.c) Jeigu nurodome {*}, tai masyvo dydis nustatomas <strong>su</strong>skaičiuojant kintamuosiusmasyve. Šis būdas naudojamas tik apibrėžiant vienmačius masyvus.Nebūtina pas<strong>ir</strong>inktis „$” naudojama, kai masyvą <strong>su</strong>darantys kintamieji yra simboliniotipo.Pas<strong>ir</strong>inktis „ilgis“ apibrėžia kintamųjų ilgį, jeigu jis nebuvo apibrėžtas anksčiau.Galima masyvo elementams prisk<strong>ir</strong>ti pradines reikšmes. Jas reikia išvardintiskliaustuose, atsk<strong>ir</strong>iant tarpais arba kableliais. Masyvo elementai <strong>ir</strong> nurodytos pradinėsreikšmės yra <strong>su</strong>sijusios, t.y. p<strong>ir</strong>majam elementui prisk<strong>ir</strong>iama p<strong>ir</strong>moji nurodyta pradinėreikšmė, antrajam elementui – antroji <strong>ir</strong> t.t. Jeigu masyvo elementų yra daugiau negu nurodytapradinių reikšmių, tai likusiems elementams prisk<strong>ir</strong>iama praleisto stebėjimo reikšmė.kintamajam prisk<strong>ir</strong>ta pradinė reikšmė pakeičiama priskyrus kitą reikšmę. Pradines reikšmesgalima tiesiog išvardinti arba naudoti <strong>su</strong>trumpinimą, t.y. nurodome reikšmę <strong>ir</strong> kiek kartų jąreikia pakartoti.1.39 p a v y z d y s.1) ARRAY m{5} k1-k5;2) ARRAY men{*} sausis vasaris kovas balandis;3) ARRAY testas(4) t1 t2 t3 t4 (90 80 70 70); ekvivalentus užrašymas:36
ARRAY testas(4) t1-t4 (90 80 2*70);4) ARRAY x{10} x1-x10 (10*5); kintamiesiems x1,...x10 prisk<strong>ir</strong>iama pradinėreikšmė 5;5) ARRAY testas2 {*} a1 a2 a3 (’a’, ’b’, ’c’);6) ARRAY naujas (2:5) T1-T4;7) ARRAY testas3 {3:4,3:7} T1-T10;Kreipinio į masyvą sintaksė:masyvo_vardas (indek<strong>sas</strong>)čia indek<strong>sas</strong> – skaičius, aritmetinis reiškinys.1.40 p a v y z d y s. Tarkime, kad lentelėje yra šimtas kintamųjų: x1,...,x100. Šiųkintamųjų reikšmę -1 reikia pakeisti į 0. Šį uždavinį galime atlikti <strong>su</strong> tokiu Data žingsniu:DATA rezultatas;SET pradiniai;ARRAY pag(100) x1-x100;DO i=1 TO 100;IF pag(i)=-1 THEN pag(i)=0;END;DROP i;RUN;Šio Data žingsnio sąlyginiame sakinyje pag(i) yra kreipinys į masyvą, t.y. imamas i-tasiskintamasis.14. SAS ProcedūrosSAS procedūros yra sk<strong>ir</strong>tos atlikti įva<strong>ir</strong>ią duomenų analizę, atspausdinti duomenis,<strong>su</strong>rūšiuoti <strong>ir</strong> pan. Visos procedūros prasideda žodžiu PROC, toliau rašomas procedūrospavadinimas <strong>ir</strong> įva<strong>ir</strong>ios pas<strong>ir</strong>inktys.1.41 p a v y z d y s.PROC CONTENTS DATA=lentelė;čia CONTENTS yra procedūros pavadinimas. Ši procedūra pateikia informaciją apieduomenų lentelę. Nebūtina pas<strong>ir</strong>inktis DATA=lentelė nurodo kokią duomenų lentelęanalizuojame. Jei šios pas<strong>ir</strong>inkties nenurodome, tai pagal nutylėjimą imama paskutinė <strong>su</strong>kurtalentelė, o ji nebūtinai <strong>su</strong>tampa <strong>su</strong> paskutine naudota lentele, taigi šią pas<strong>ir</strong>inktįrekomenduojama naudoti, kad būtų aišku, kokia duomenų lentelė yra analizuojama.SAS yra keletas sakinių, kuriuos galima naudoti bet kurioje procedūroje. Aprašysimedažniausiai naudojamus.BY kintamieji;Šis sakinys yra būtinas tik procedūroje SORT, kitose procedūrose – nebūtinas. Jisnurodo, kad turi būti atlikta atsk<strong>ir</strong>a duomenų analizė kiekvienam BY-kintamųjų reikšmiųderiniui, o ne bendra visų stebėjimų analizė. Pavyzdžiui, BY mokykla; bus atlikta atsk<strong>ir</strong>aduomenų analizė kiekvienai mokyklai.P a s t a b a. Jei naudojame sakinį BY, tai prieš tai duomenis reikia <strong>su</strong>rūšiuoti pagalkintamuosius, nurodytus po BY.TITLE <strong>ir</strong> FOOTNOTE sakiniai. Galima nurodyti iki 10 pavadinimų <strong>ir</strong> užrašų puslapioapačioje. Pavyzdžiui, FOOTNOTE3 ‘Rezultatai’. Nurodyti pavadinimai spausdinami tol, kolnepakeičiami naujais arba nepanaikinami <strong>su</strong> sakiniu TITLE. Kai nurodome naują pavadinimą,jis pakeičia anksčiau nurodytą <strong>ir</strong> panaikina vi<strong>su</strong>s pavadinimus <strong>su</strong> didesniu numeriu,pavyzdžiui, naujas TITLE2 panaikina egzistuojantį TITLE3. Sintaksė:TITLEn ’pavadinimas’;FOOTNOTEn ’pavadinimas’;37
čia n=2 iki 10 nurodo, kurioje eilutėje bus spausdinamas nurodytas pavadinimas.Sakinys WHERE nurodo, kad procedūroje turi būti panaudota tik dalis lentelėsduomenų. Sintaksė:WHERE sąlyga;Sąlygoje galima naudoti palyginimo operatorius: =, , =, ^=, OR, AND, o taippat tokius operatorius:IS NOT MISSING; pavyzdžiui, WHERE k1 IS NOT MISSING; analizuojami tiktie stebėjimai, kur k1 reikšmė nėra praleistas stebėjimas;BETWEEN AND; pavyzdžiui, WHERE k1 BETWEEN ‘reikšmė_1’ AND‘reikšmė_2’; analizuojami tik tie stebėjimai, kur k1 reikšmė yra tarp ‘reikšmė_1’ <strong>ir</strong>‘reikšmė_2’;CONTAINS; pavyzdžiui, WHERE k1 CONTAINS ‘ain’; analizuojami tik tiestebėjimai, kur k1 reikšmėje yra simbolių seka ‘ain’.IN (sąrašas); pavyzdžiui, WHERE k1 IN (‘reikšmė_1’, ‘reikšmė_2’, ‘reikšmė_3’);analizuojami tik tie stebėjimai, kur k1 reikšmė yra lygi kuriai nors iš nurodytų reikšmių.1.42 p a v y z d y s.PROC PRINT DATA=mano.d1;WHERE k1>10 AND k2 IN (011 012);TITLE ’Pavadinimas’;FOOTNOTE ’Prierašas’;RUN;Pas<strong>ir</strong>inktis DATA=mano.d1 nurodo, kad spausdinsime lentelės “d1”, esančios bibliotekoje“mano”, duomenis.Sakiniu WHERE nurodome, kad turi būti spausdinami tik stebėjimai, tenkinantysnurodytą sąlygą.Prieš duomenis bus atspausdinta “Pavadinimas”, o po duomenimis “Prierašas”.14.1. Duomenų rūšiavimasSAS procedūra SORT yra sk<strong>ir</strong>ta duomenų rūšiavimui. Sintaksė:PROC SORT DATA=lentelė OUT=lentelė_1;BY kintamųjų_sąrašas; RUN;DATA=lentelė pas<strong>ir</strong>inktis nurodo, kokios lentelės duomenys turi būti <strong>su</strong>rūšiuoti;OUT=lentelė_1 pas<strong>ir</strong>inktis nurodo, į kokią lentelę turi būti įrašyti <strong>su</strong>rūšiuoti duomenys;duomenys yra <strong>su</strong>rūšiuojami pagal po BY nurodytus kintamuosius.1.43 p a v y z d y s.PROC SORT DATA=pradiniai OUT=rezultatas;BY k1 k2 k3;RUN;Duomenys imami iš lentelės ‘pradiniai’, <strong>su</strong>rūšiuojami <strong>ir</strong> įrašomi į lentelę ‘rezultatas’.Iš pradžių <strong>su</strong>rūšiuojami pagal kintamąjį k1 didėjančia tvarka, paskui vienodos k1 reikšmės<strong>su</strong>rūšiuojamos pagal k2 didėjančia tvarka <strong>ir</strong> t.t.P a s t a b a. 1) Jei nenurodome pas<strong>ir</strong>inkties OUT= , tai <strong>su</strong>rūšiuoti duomenys įrašomi įtą pačią lentelę. 2) Pagal nutylėjimą rūšiuojama didėjančia tvarka, jei norime mažėjančiatvarka, tai prieš kintamąjį nurodome DESCENDING. 3) Praleistas stebėjimas visadamažiausia reikšmė.1.44 p a v y z d y s.PROC SORT DATA=pradiniai OUT=rezultatas;BY k1 DESCENDING k2;RUN;38
Duomenys imami iš lentelės ‘pradiniai’, <strong>su</strong>rūšiuojami <strong>ir</strong> įrašomi į lentelę ‘rezultatas’.Iš pradžių <strong>su</strong>rūšiuojami pagal kintamąjį k1 didėjančia tvarka, paskui vienodos k1 reikšmės<strong>su</strong>rūšiuojamos pagal k2 mažėjančia tvarka.SAS numatyta galimybė <strong>su</strong>rūšiuoti duomenis nerašant programinio kodo. Jeigunorime <strong>su</strong>rūšiuoti pagal vieną kintamąjį (stulpelį), tai ant stulpelio pavadinimo paspaudžiamedešinį pelės klavišą <strong>ir</strong> iš ats<strong>ir</strong>adusio kontekstinio meniu pas<strong>ir</strong>enkame Sort, paskui Ascending(didėjančia tvarka) arba Descending (mažėjančia tvarka). Jeigu norime <strong>su</strong>rūšiuoti pagal keliskintamuosius arba vieną kintamąjį, reikia atidaryti lentelę, kurios duomenis norime <strong>su</strong>rūšiuoti,tada pagrindiniame meniu pas<strong>ir</strong>inkti Data→Sort. Atsidariusiame „Sort“ lange (žr. 1.14 pav)pas<strong>ir</strong>enkame kintamuosius (arba vieną kintamąjį) pagal kuriuos norime <strong>su</strong>rūšiuoti be<strong>ir</strong>ūšiavimo tvarką (didėjanti arba mažėjanti). Pas<strong>ir</strong>inkę Save As nurodome į kokią lentelęįrašyti rūšiavimo rezultatą.1.14 pav. Rūšiavimo langasJei atidarome lentelę peržiūros režime (Browse Mode), tai <strong>su</strong>rūšiuotus duomenisgalime išsaugoti tik kitoje lentelėje. Jei atidarome lentelę redagavimo režime (Edit Mode), tai<strong>su</strong>rūšiuotus duomenis galime išsaugoti <strong>ir</strong> toje pačioje lentelėje (apie lentelės atidarymąredagavimo <strong>ir</strong> peržiūros režime žr.3.1 skyrelyje).1.15 pav. Papildomų rūšiavimo pas<strong>ir</strong>inkčių langasRūšiavimo lange paspaudus Advanced mygtuką yra atidaromas langas (žr.1.15 pav),kuriame galima pas<strong>ir</strong>inkti, pavyzdžiui: Equals - nurodo eilučių vietą <strong>su</strong>rūšiuotoje lentelėje. Šipas<strong>ir</strong>inktis nurodo, kad eilutės <strong>su</strong> vienodomis BY-kintamųjų reikšmėmis <strong>su</strong>rūšiuotoje lentelėjebus išdėstytos tokia pačia tvarka kaip <strong>ir</strong> pradinėje lentelėje; Force – nurodo <strong>su</strong>rūšiuoti <strong>ir</strong>išsaugoti toje pačioje lentelėje, kai nenurodome lentelės, į kurią reikia įrašyti pakeitimus,vardo Save As lange; No duplicate keys – eliminuoja eilutes <strong>su</strong> vienodomis BY-kintamųjųreikšmėmis; No duplicate – eliminuoja eilutes <strong>su</strong> vienodomis reikšmėmis.39
1.45 p a v y z d y s. Sukurkime duomenų lentelę „duomenys“ <strong>su</strong> tokiu Data žingsniu:DATA duomenys;INPUT x $ y z;DATALINES;x5 5 8x5 4 2x5 4 2x3 1 5x2 4 3x2 6 1x1 2 7;RUN;Surūšiuokime lentelės duomenis pagal kintamąjį x didėjančia tvarka, o paskuivienodas x reikšmės pagal kintamąjį y mažėjančia tvarka, be to panaikinkime vienodaseilutes. Atidarykime lentelę Viewtable lange. Pagrindiniame meniu pas<strong>ir</strong>inkime punktąEdit→Edit Mode, o paskui Data→Sort. Atsidariusiame Sort lange į Selected lauką perkelkimekintamuosius x <strong>ir</strong> y, pažymėkime y <strong>ir</strong> Sort Order pas<strong>ir</strong>inkime Descending (<strong>su</strong>rūšiuotimažėjančia tvarka). Paspauskime mygtuką Save As <strong>ir</strong> įveskime lentelės, kurioje norimeišsaugoti <strong>su</strong>rūšiuotus duomenis, vardą (pavyzdžiui, „rezultatas“). Paspauskime mygtukąAdvanced, atsidariusiame lange pažymėkime „No duplicates“ <strong>ir</strong> paspauskime mygtuką OK,bus <strong>su</strong>kurta lentelė „rezultatas“, kurioje bus tokie duomenys:Tokį patį rezultatą galime gauti parašę tokį kodą:PROC SORT DATA=duomenys OUT=rezultatas NODUPRECS;BY x DESCENDING y;RUN;čia NODUPRECS nurodo panaikinti vienodas eilutes; jeigu norėtume eliminuoja eilutes <strong>su</strong>vienodomis BY-kintamųjų reikšmėmis, tai reikėtų parašyti NODUPKEY.14.2. Duomenų spausdinimasDuomenų atspausdinimui Output lange yra sk<strong>ir</strong>ta SAS procedūra PRINT. Jeigu Editorlange parašysime tokį Proc žingsnį:PROC PRINT DATA=lentelė;tai Output lange bus atspausdinti nurodytos lentelės duomenys.Jeigu Editor lange parašysime:PROC PRINT DATA=lentelė NOOBS;tai Output lange bus atspausdinti nurodytos lentelės duomenys, tačiau priekyje nebusspausdinamas stebėjimo numeris.Procedūroje PRINT galima naudoti sakinius: BY, WHERE, TITLE, FOOTNOTE (žr.aprašymą 14 skyrelio pradžioje).Pagal nutylėjimą spausdinami visi kintamieji <strong>ir</strong> visi stebėjimai taip, kaip jie išdėstytilentelėje. Galime naudoti papildomus sakinius, kurie gali būti išdėstyti bet kokia tvarka:VAR kintamieji;ID kintamieji;SUM kintamieji;40
VAR sakinyje nurodome kuriuos kintamuosius spausdinti <strong>ir</strong> kokia tvarka. Jeigunenurodytas nei VAR, nei ID sakinys, tai visi kintamieji iš lentelės spausdinami tokia tvarkakaip jie išdėstyti lentelėje. Kai panaudojame ID sakinį, tai stebėjimų numeriai nespausdinami.Kintamieji nurodyti ID sakinyje yra spausdinami ka<strong>ir</strong>ėje puslapio pusėje. Jei panaudojame tikID sakinį, tai visi kintamieji bus spausdinami, tik po ID nurodyti kintamieji spausdinamika<strong>ir</strong>ėje pusėje. Jei panaudojame ID sakinį <strong>ir</strong> VAR sakinį, tai iš pradžių spausdinamikintamieji, nurodyti po ID, o paskui kintamieji, nurodyti po VAR. Nurodžius SUMspausdinama kiekvieno nurodyto po SUM kintamojo reikšmių <strong>su</strong>ma.1.46 p a v y z d y s.DATA d1;INPUT x y z Vardas $;DATALINES;23 46 5 Jonas32 77 234 Petras4 4 88 Tomas;PROC PRINT DATA=d1;PROC PRINT DATA=d1;ID Vardas;VAR z y;SUM y;RUN;P<strong>ir</strong>mosios procedūros PRINT rezultatas: visi kintamieji <strong>ir</strong> stebėjimai iš lentelės „d1“atspausdinti Output lange tokia tvarka kaip jie yra išdėstyti lentelėje.Antrosios procedūros PRINT rezultatas: kintamieji z, y, Vardas iš lentelės „d1“atspausdinti Output lange (pradžioje spausdinamos kintamojo Vardas reikšmės; spausdinamakintamojo y reikšmių <strong>su</strong>ma):Vardas z yJonas 5 46Petras 234 77Tomas 88 4----12714.3 Duomenų lentelės transponavimasDuomenų transponavimą atlieka SAS procedūra TRANSPOSE. Sintaksė:PROC TRANSPOSE ;BY kintamasis_1 ;COPY kintamieji;ID kintamieji;IDLABEL kintamasis;VAR kintamieji;RUN;čia lentelė_1 – duomenų lentelės, kurią norime transponuoti, vardas; lentelė_2 – duomenųlentelės, kurioje bus įrašyti transponuoti duomenys, vardas.PREFIX=simboliai nurodo kokiais simboliais turi prasidėti transponuotų kintamųjųvardai, pavyzdžiui, jeigu nurodome PREFIX=VAR, tai transponuotų kintamųjų vardai busVAR1, VAR2,... Jeigu pas<strong>ir</strong>inktis PREFIX=simboliai yra naudojama kartu <strong>su</strong> ID sakiniu, taisimboliai, nurodyti pas<strong>ir</strong>inktyje PREFIX=simboliai yra rašomi prieš ID kintamojo reikšmes.VAR sakinyje nurodome kintamuosius, kuriuos norime transponuoti. Galime nurodytivieną arba kelis kintamuosius. Jei VAR sakinio nenurodome, tai transponuojami visi skaitiniotipo kintamieji iš pradinės duomenų lentelės, kurie nebuvo nurodyti kituose sakiniuose. Jeigunorime transponuoti simbolinio tipo kintamuosius, tai juos reikia nurodyti VAR sakinyje.41
Jeigu nurodome BY sakinį, tai yra <strong>su</strong>formuojamos stebėjimų grupės. ProcedūraTRANSPOSE netransponuoja šių grupių, o kiekvienai grupei <strong>su</strong>kuria po vieną stebėjimąkiekvienam transponuojamam kintamajam.COPY sakinyje nurodyti kintamieji nėra transponuojami, o tiesiog perkopijuojami.Jeigu nurodome ID sakinį, tai transponuoti kintamieji bus pavadinti kintamojo,nurodyto po ID, reikšmėmis, t.y. kintamajame, nurodytame ID sakinyje, yra vardaitransponuotiems kintamiesiems. Jei ID sakinio nenurodome, tai pagal nutylėjimątransponuotų kintamųjų vardai bus COL1, COL2,... Jei po ID nurodome skaitinio tipokintamąjį, tai priekyje rašomas simbolis „_“, nes SAS kintamųjų vardai negali prasidėtiskaitmeniu.IDLABEL sakinys gali būti naudojamas po ID sakinio. Jame nurodytame kintamajameyra žymės transponuotiems kintamiesiems. IDLABEL sakinyje nurodytas kintamasisgali būti skaitinio arba simbolinio tipo.1.47 p a v y z d y s.1) Tarkime, kad duomenų lentelę „duom1“ <strong>su</strong>kūrėme <strong>su</strong> tokiu Data žingsniu:DATA duom1;INPUT pavadinimas $ k1-k10;DATALINES;x 2 3 4 6 4 5 8 1 7 4y 3 2 7 7 2 5 4 4 1 8z 4 4 8 8 9 4 5 6 7 9;RUN;Reikia transponuoti lentelės „duom1“ kintamuosius k1,..., k10; vardai transponuotiemskintamiesiems yra kintamajame „pavadinimas“. Editor lange parašome:PROC TRANSPOSE DATA=duom1 OUT=rezultatas;ID pavadinimas; VAR k1-k10;RUN;Pas<strong>ir</strong>inktis DATA=duom1 nurodo, kad transponuoti reikia lentelę „duom1“; pas<strong>ir</strong>inktisOUT=rezultatas nurodo, kad transponuoti duomenys bus išsaugoti lentelėje „rezultatas“;transponuotų kintamųjų vardai bus kintamojo „pavadinimas“ reikšmės; sakinys VAR nurodo.kad bus transponuoti kintamieji k1,..., k10. Taigi, šio Proc žingsnio rezultatas yra duomenųlentelė „rezultatas“:_NAME_ x y zk1 2 3 4k2 3 2 4k3 4 7 8k4 6 7 8k5 4 2 9k6 5 5 4k7 8 4 5k8 1 4 6k9 7 1 7k10 4 8 92) Tarkime, kad duomenų lentelę „duom2“ <strong>su</strong>kūrėme <strong>su</strong> tokiu Data žingsniu:DATA duom2;INPUT tipas $ kint1 kint2 kint3;DATALINES;x1 5 27 31x1 6 16 35x2 8 8 28x2 2 10 7x2 4 15 6;RUN;42
Editor lange parašykime:PROC TRANSPOSE DATA=duom2 OUT=rezultatas;BY tipas;VAR kint2 kint3;RUN;Šio Proc žingsnio rezultatas yra tokia duomenų lentelė:tipas _NAME_ COL1 COL2 COL3x1 kint2 27 16 .x1 kint3 31 35 .x2 kint2 8 10 15x2 kint3 28 7 6Sukurtoje lentelėje stebėjimų skaičius (keturi stebėjimai) yra lygus BY grupių skaičiui(dvi BY grupės) padaugintam iš transponuojamų kintamųjų skaičiaus (du kintamieji). BYsakinyje nurodytas kintamasis nėra transponuojamas. Jei BY grupėse stebėjimų skaičius yrask<strong>ir</strong>tingas, tai stulpeliuose, kuriems neužtenka reikšmių, bus praleisto stebėjimo reikšmė(pavyzdyje p<strong>ir</strong>moje BY grupėje yra du stebėjimai, antroje – trys stebėjimai, todėl gautojelentelėje p<strong>ir</strong>mos BY grupės stebėjimams trečiame stulpelyje yra praleistos reikšmės.15. Rašymo formataiRašymo formatas nurodo kaip duomenys rodomi atidarius duomenų lentelę, spausdinamiprocedūrų rezultatuose, jį galima panaudoti duomenų grupavimui <strong>ir</strong> pan. Pavyzdžiui,1) turime užkoduotus duomenis (pvz., amžiaus kategorijos užkoduotos skaičiais: 1 –paauglys, 2 – <strong>su</strong>augęs, 3 – senyvo amžiaus), tokius duomenis patogu įvesti <strong>ir</strong> analizuoti, betnepatogu, kai reikia interpretuoti rezultatus. Geriau <strong>su</strong>kurti savo rašymo formatą <strong>ir</strong>atspausdinti rezultatus <strong>su</strong> formatuotomis, o ne užkoduotomis reikšmėmis; 2) <strong>su</strong> rašymoformatu galime <strong>su</strong>grupuoti kintamojo reikšmes.SAS yra dviejų tipų rašymo formatai: a) standartiniai; b) <strong>su</strong>kurti vartotojo (<strong>su</strong>procedūra FORMAT).Standartiniai rašymo formatai yra trijų tipų:1) simbolinio tipo: $formatasw.2) skaitinio tipo: formatasw.d3) datos tipo: formatasw.čia formatas - rašymo formato vardas, w – simbolių skaičius, d – skaitmenų po kablelioskaičius.1.48 p a v y z d y s. 1) $w. standartinių simbolinio tipo duomenų rašymo formatas(pavyzdžiui, $8.); 2) yymmddw. datos rašymo formatas (pavyzdžiui, kai w=10, tai datapavidalo 1999.01.03, o kai w=8, tai data pavidalo 99.01.03); 3) dayw. mėnesio diena (pagalnutylėjimą w=2); 4) w.d standartinių skaitinio tipo duomenų rašymo formatas (pavyzdžiui 6.2iš viso šeši simboliai (įskaitant tašką, atsk<strong>ir</strong>iantį trupmeninę dalį) <strong>ir</strong> du skaitmenys pokablelio).P a s t a b a. Pilną standartinių rašymo formatų sąrašą galima pasižiūrėti pagrindiniamemeniu pas<strong>ir</strong>inkus Help→SAS Help and Documentation.Rašymo formatas <strong>su</strong>siejamas <strong>su</strong> kintamuoju sakiniu FORMAT, pavyzdžiui,FORMAT kaina pelnas 6.2 data yymmdd8.;P a s t a b a. FORMAT sakinys gali būti naudojamas Data arba Proc žingsnyje. Jeipanaudojame DATA žingsnyje, tai rašymo formatas saugomas kartu <strong>su</strong> SAS duomenų lentele.Jei panaudojame Proc žingsnyje, tai rašymo formatas taikomas tik to Proc žingsniorezultatams.Galima <strong>su</strong>kurti savo rašymo formatą <strong>su</strong> procedūra FORMAT. Paskui jį galime <strong>su</strong>sieti<strong>su</strong> kintamaisiais <strong>su</strong> FORMAT sakiniu.43
Procedūros FORMAT sintaksė:PROC FORMAT;VALUE vardas reikšmių_aibė_1=’formatuotas_tekstas_1’reikšmių_aibė_2=’formatuotas_tekstas_2’...reikšmių_aibė_n=’formatuotas_tekstas_n’;RUN;Gali būti keli VALUE sakiniai vienoje FORMAT procedūroje; vardas - formatovardas (negali būti ilgesnis nei 8 simboliai, negali prasidėti <strong>ir</strong> baigtis skaičiumi, negali būtispecialių simbolių, negali <strong>su</strong>tapti <strong>su</strong> standartinio formato vardu, jei formatas simbolinio tipo,tai turi prasidėti „$“ simboliu); reikšmių_aibė - kintamojo reikšmė arba reikšmės, kuriomsprisk<strong>ir</strong>iamas tekstas, esantis dešinėje lygybės pusėje.1.49 p a v y z d y s. 1) ‘A’ = ‘aukšta’; 2) 1,3,5,7,9 = ‘nelyginis’; 3) LOW – 7.5 =‘žemas’; 4) 13 -< 20 = ‘jaunuolis’; 5) 0
et kurioje programos vietoje, o lokalius tik makroprogramoje, kurioje jie yra apibrėžti. Kaikompiliuojamas programinis kodas, tai toje vietoje, kur yra makrokintamojo vardas, yratiesiog įstatoma makrokintamojo reikšmė.Vienas iš būdų prisk<strong>ir</strong>ti makrokintamajam reikšmę yra toks:%LET vardas = reikšmė;čia vardas – makrokintamojo vardas; reikšmė - makrokintamajam prisk<strong>ir</strong>iama nurodytareikšmė.1.51 p a v y z d y s.a) %LET skaicius = 1;b) %LET diena = P<strong>ir</strong>madienio;Kabučių rašyti nereikia, nors b) punkte prisk<strong>ir</strong>iama simbolinio tipo reikšmė.Kai norime makrokintamąjį panaudoti programoje, tai prieš jo vardą rašome simbolį„&“. Jei makrokintamojo vardą reikia panaudoti kabutėse, tai reikia rašyti dvigubas kabutes(žr. 1.51 pavyzdžio tęsinį, sakinį TITLE).1.51 p a v y z d y s (tęsinys). Aukščiau apibrėžtus makrokintamuosius galimapanaudoti, pavyzdžiui, taip:DATA duomenys;INFILE `c:\duom.txt`;INPUT tipas @;IF tipas=&skaicius;INPUT k1-k50;RUN;PROC PRINT DATA=duomenys;VAR k1-k0;TITLE „&diena skaičiavimo rezultatai“;RUN;Kai makroprocesorius <strong>su</strong>kompiliuoja šį kodą, jis atrodo taip:DATA duomenys;INFILE `c:\duom.txt`;INPUT tipas @;IF tipas=1;INPUT k1-k50;RUN;PROC PRINT DATA=duomenys;VAR k1-k0;TITLE „P<strong>ir</strong>madienio skaičiavimo rezultatai“;RUN;Norint pakeisti programą, pavyzdžiui, kad spausdintų antradienio skaičiavimorezultatus, reikia tik pakeisti makrokintamojo „diena“ reikšmę %LET sakinyje, o procedūrosPRINT keisti nereikia. Šiame pavyzdyje programa yra labai trumpa, todėl <strong>ir</strong> pačiojeprogramoje pakeitimus būtų ne<strong>su</strong>nku atlikti, tačiau kai ji ilga <strong>ir</strong> pakeitimus reikia atliktiįva<strong>ir</strong>iose vietose, tai makrokintamųjų panaudojimas žymiai palengvina darbą.Makroprogramos naudingos, kai dažnai reikia atlikti tą patį ar panašų veiksmą.Makroprogramos sintaksė:%MACRO makroprogramos_vardas; /* makroprogramos pradžia */SAS komandos /* makroprogramos tekstas;*/%MEND makroprogramos_vardas; /* makroprogramos pabaiga */Kreipinys į makroprogramą:% makroprogramos_vardas;Dažniau yra naudojamos makroprogramos <strong>su</strong> parametrais. Parametrai yra makrokintamieji,kurių reikšmes nurodome, kai kreipiamės į makroprogramą. Sintaksė:45
%MACRO vardas(parametras_1= , parametras_2= , parametras_n= );makroprogramos_tekstas;%MEND vardas;čia vardas – makroprogramos vardas.1.52 p a v y z d y s. Tegu turime duomenų lentelę „duomenys“, kurioje yra duomenysapie vienos sesijos metu studentų išlaikytus egzaminus. Lentelėje yra tokie kintamieji:studento pažymėjimo numeris (nr), kur<strong>sas</strong> (kur<strong>sas</strong>), grupė (grupe), disciplina (dalykas),įvertinimas (ivertinimas), čia skliaustuose yra nurodyti stulpelių vardai. Parašykimemakroprogramą, kuri atspausdintų norimo kurso studentų tam tikros disciplinos įvertinimus,<strong>su</strong>rūšiuotus pagal pas<strong>ir</strong>inktą kintamąjį.%MACRO rezultatai(kurso_nr=, dalyko_pav=, <strong>su</strong>r_kint=);PROC SORT DATA=duomenys OUT=pagalbine;BY &<strong>su</strong>r_kint;WHERE kur<strong>sas</strong>=&kurso_nr and dalykas=“&dalyko_pav“;PROC PRINT DATA = pagalbine;TITLE "&kurso_nr kurso egzamino rezultatai, disciplina: &dalyko_pav";%MEND rezultatai;%rezultatai(kurso_nr=2, dalyko_pav=informatika, <strong>su</strong>r_kint=grupe);%rezultatai(kurso_nr=1, dalyko_pav=geometrija, <strong>su</strong>r_kint=ivertinimas);RUN;P<strong>ir</strong>mojo kreipinio į makroprogramą rezultatas yra Output lange atspausdinti duomenys(<strong>su</strong>rūšiuoti pagal kintamojo „grupė“ reikšmes) apie antro kurso studentų informatikosegzamino rezultatus.Antrojo kreipinio į makroprogramą rezultatas yra Output lange atspausdinti duomenys(<strong>su</strong>rūšiuoti pagal kintamojo „ivertinimas“ reikšmes) apie p<strong>ir</strong>mo kurso studentų geometrijosegzamino rezultatus.Sąlyginės makrokomandos naudojamos tik makroprogramose. Jos sk<strong>ir</strong>iasi nuopaprastų sąlyginių sakinių tuo, kad veiksmas, kuris atliekamas, jeigu sąlyga teisinga, gali<strong>su</strong>sidėti iš pilnų Proc arba Data žingsnių. Sintaksė:%IF sąlyga %THEN veiksmas;%ELSE %IF sąlyga %THEN veiksmas;%ELSE veiksmas;Jei stebėjimams, tenkinantiems nurodytą sąlygą, reikia atlikti keletą veiksmų, tai rašome:%IF sąlyga %THEN %DO;veiksmas;veiksmas;%END;Makroprogramose galima naudoti automatinius makrokintamuosius, paminėsimekeletą (pilną sąrašą galima rasti pagrindiniame meniu pas<strong>ir</strong>inkus Help→SAS Help andDocumentation → SAS Products → SAS Macro Reference):Makrokintamojo vardas Aprašymas&SYSDATE SAS sesijos darbo pradžios data;&SYSDAYsavaitės diena (žodis, anglų kalba);&SYSLAST paskutinės <strong>su</strong>kurtos lentelės vardas tokiu pavidalu: biblioteka.lentelė.1.53 p a v y z d y s. Tarkime, kad lentelėje „duomenys“ turime tokius duomenis: data(metai, mėnuo, diena), prekės pavadinimas (kintamojo vardas – prekes_pavadinimas),parduotų vienetų skaičius (kintamojo vardas - parduota). Darbuotojas kiekvieną dieną turiatspausdinti kiek kokių prekių buvo parduota tą dieną, o trisdešimtą kiekvieno mėnesio dienąturi atspausdinti kiek kiekvieno tipo prekių buvo parduota per tą mėnesį. Galime parašytitokią makroprogramą:46
%macro ataskaita;%LET diena=%sysfunc(day("&sysdate"D));%LET menuo=%sysfunc(month("&sysdate"D));%if &diena=30 %then%do;title 'Menesio <strong>su</strong>vestine';proc sort data=duomenys; BY prekes_pavadinimas;proc means data=duomenys <strong>su</strong>m;var parduota; BY prekes_pavadinimas;WHERE &menuo= month(data);run;%end;%else%do;title 'Dienos duomenys';proc sort data=duomenys; BY prekes_pavadinimas;proc print data=duomenys noobs;var parduota; BY prekes_pavadinimas;WHERE &diena= day(data) and &menuo= month(data); run;%end;%mend ataskaita;%ataskaita;Su komanda CALL SYMPUT galima reikšmę iš Data žingsnio prisk<strong>ir</strong>timakrokintamajam <strong>ir</strong> šį makrokintamąjį naudoti tolesniuose žingsniuose. Sintaksė:CALL SYMPUT("vardas", reikšmė);čia vardas yra naujo arba anksčiau <strong>su</strong>kurto makrokintamojo vardas; reikšmė - kintamojovardas arba konstanta (simbolinio arba skaitinio tipo), parašyta kabutėse.CALL SYMPUT dažnai naudojama <strong>su</strong> sąlyginiu sakiniu IF-THEN, pavyzdžiui,1.54 p a v y z d y s.IF Dydis>=10 THEN CALL SYMPUT(”Tipas”, ”T1”);ELSE CALL SYMPUT(”Tipas”, ”T0”);Šiuo sakiniu makrokintamajam Tipas prisk<strong>ir</strong>iama reikšmė T1 arba T0, priklausomainuo kintamojo Dydis reikšmės.IF Suma
II skyrius. SPECIALIOS FUNKCIJOSSAS yra realizuota apie 450 įva<strong>ir</strong>ių funkcijų. Jas pagal pask<strong>ir</strong>tį galima <strong>su</strong>sk<strong>ir</strong>styti įtokias grupes (žr. [9]):1) matematinės funkcijos (mathematical functions);2) skaitinių charakteristikų funkcijos (descriptive characteristics functions);3) funkcijos, sk<strong>ir</strong>tos įva<strong>ir</strong>ių tikimybinių sk<strong>ir</strong>stinių tankio, sk<strong>ir</strong>stinio funkcijų reikšmiųapskaičiavimui (probability functions);4) kvantilių funkcijos (quantile functions);5) atsitiktinių dydžių modeliavimo funkcijos (random numbers functions);6) simbolinio tipo duomenų funkcijos (character functions);7) datos <strong>ir</strong> laiko funkcijos (date and time functions);8) masyvų funkcijos (array functions);9) finansinės funkcijos (financial functions);10) funkcijos, sk<strong>ir</strong>tos darbui <strong>su</strong> išorinėmis bylomis (external files);11) funkcijos, naudojamos makroprogramose (macro functions);12) SAS bylų įvesties/išvesties funkcijos (SAS files I/O);13) funkcijos, <strong>su</strong>teikiančios informacijos apie kintamuosius (variable information);14) interneto funkcijos (Web tools functions).SAS funkcijos dažniausiai naudojamos Data žingsnio priskyrimo, sąlyginiuosesakiniuose cikluose, Proc žingsnio WHERE sakinyje.Visų funkcijų sintaksė yra tokia pati:vardas(argumentas_1 )vardas(OF kintamųjų_sąrašas)vardas(OF masyvo_vardas {*})čia vardas – yra funkcijos pavadinimas; argumentas – kintamojo vardas, konstanta, funkcija,reiškinys; argumentai atsk<strong>ir</strong>iami kableliais.2.1 p a v y z d y s. 1) x=SQRT(25); šiame pavyzdyje funkcijos argumentas yraskaitinio tipo konstanta; funkcijos SQRT reikšmė yra kvadratinė šaknis iš argumento;2) IF MEAN(t1,t2,t3)>8 THEN lygis=1; šiame pavyzdyje funkcijos argumentai yrakintamųjų vardai; funkcijos MEAN reikšmė yra argumentų vidurkis;3) vardas=UPCASE(vardas); šiame pavyzdyje funkcijos argumentas yra kintamojovardas; šiuo priskyrimo sakiniu yra pakeičiama kintamojo „vardas“ reikšmė (visos mažosiosraidės pakeičiamos didžiosiomis);4) y=SUM(2*<strong>su</strong>ma1, <strong>su</strong>ma2+<strong>su</strong>ma3); šiame pavyzdyje funkcijos argumentai yrareiškiniai; funkcijos SUM reikšmė yra argumentų <strong>su</strong>ma.Kintamųjų sąrašas – bet kokio tipo kintamųjų vardų sąrašas (žr. I sk.,12 skyrelį), tametarpe <strong>ir</strong> atsk<strong>ir</strong>i kintamųjų vardai, pavyzdžiui,y=SUM(OF x1-x5); y=SUM(OF x1-x5, y1-y5);Masyvo_vardas{*} – anksčiau apibrėžto masyvo vardas (I sk., žr.13 skyrelį); imamivisi masyvo elementai, pavyzdžiui,ARRAY xx{5} x1-x5; z=MEAN(OF xx{*});Šiame skyriuje pateikiamas matematinių, tikimybinių, kvantilių, atsitiktinių dydžiųmodeliavimo, skaitinių charakteristikų funkcijų aprašymas <strong>ir</strong> funkcijų naudojimo pavyzdžiai,o taip pat aptariamos kai kurių simbolinio tipo duomenų, datos <strong>ir</strong> laiko, masyvų funkcijųpanaudojimo galimybės. Pilną SAS funkcijų sąrašą <strong>ir</strong> jų aprašymą galima pasižiūrėtipagrindiniame meniu pas<strong>ir</strong>inkus Help→SAS Help and Documentation.48
1. Matematinės funkcijosSAS matematines funkcijas galima <strong>su</strong>sk<strong>ir</strong>styti į tokias grupes: 1) standartinės, pavyzdžiui,skaičiaus modulis, logaritmas, šaknis; 2) specialios, pavyzdžiui, gama, beta; 3) trigonometrinės,4) hiperbolinės; 5) skaičių apvalinimo.2.1 lentelėje yra pateiktos SAS realizuotos matematinės funkcijos <strong>ir</strong> jų aprašymai, o2.2 lentelėje – funkcijų panaudojimo pavyzdžiai.2.1 lentelė. Matematinės funkcijosSintaksėAprašymasStandartinės <strong>ir</strong> specialios matematinės funkcijosABS(x)x modulis.(2)A<strong>ir</strong>y funkcija, t.y. sprendinys diferencialinės lygties: ω − x ω = 0 <strong>su</strong> sąlygomisAIRY(x)11ω (0) =<strong>ir</strong> ω ′(0)= − .2 / 31/ 33 Γ(2 / 3)3 Γ(1/3)BETA(a,b)1a−1b−1Beta funkcija: β ( a,b)= ∫ x (1 − x)dx,a > 0, b > 0.0Rezultatas yra neneigiamas necentriškumo parametras chi-kvadrato sk<strong>ir</strong>stinio, kurioparametrai yra x, n, λ, čia x ≥ 0 – taškas kuriame skaičiuojama, n>0 – laisvėslaipsniai, λ - necentriškumo parametras, 00 – vardiklio laisvės laipsniai, λ - necentriškumo parametras, 0
2.1 lentelės tęsinys. Matematinės funkcijosSintaksėAprašymasMOD(arg1, arg2) Liekana padalinus arg1 iš arg2; rezultato ženklas toks pats kaip arg1, arg2 ženklasignoruojamasn!PERM(n,r) PERM( n,r)= , n <strong>ir</strong> r neneigiami sveiki skaičiai ( r ≤ n ).( n − r)!⎧−1,jei x < 0;SIGN(x)⎪SIGN( x ) = ⎨0,jei x = 0;⎪⎩1,jei x > 0.SQRT(x) x , x - neneigiamas skaičius.Rezultatas yra neneigiamas necentriškumo parametras Stjudento T sk<strong>ir</strong>stinio, kurioparametrai yra x, n, λ, čia x ≥ 0 – taškas kuriame skaičiuojama, n>0 – laisvėslaipsniai, λ - necentriškumo parametras, 0
2. Skaitinių charakteristikų funkcijos2.3 lentelėje pateikiamos SAS realizuotos skaitinių charakteristikų funkcijos. Daugumąšių skaitinių charakteristikų galima apskaičiuoti <strong>ir</strong> <strong>su</strong> procedūra MEANS, skaičiavimometodas toks pats (žr. III sk., 2 skyrelį). Sk<strong>ir</strong>tumas tas, kad <strong>su</strong> funkcija galima apskaičiuotinurodytų reikšmių skaitinę charakteristiką, o <strong>su</strong> procedūra – kintamojo (stulpelio) nurodytųreikšmių skaitinę charakteristiką. 2.4 lentelėje pateikiami funkcijų panaudojimo pavyzdžiai.P a s t a b a. Skaičiuojant imamos tik nepraleistos argumentų reikšmės.2.3 lentelė. Skaitinių charakteristikų funkcijosSintaksėAprašymasCSS(argumentas1, argumentas2,...) Koreguota kvadratų <strong>su</strong>ma.CV(argumentas1, argumentas2,...) Variacijos koeficientas.Geometrinis vidurkis: n x 1 ,GEOMEAN(argumentas1, argumentas2,...) * x2*...* x n čia n – skaičius argumentų,kurių reikšmė nėra praleistas stebėjimas, o x 1 ,..., xntųargumentų reikšmės; argumentas – neneigiama konstanta, kintamasis,reiškinys.Harmoninis vidurkis: ),HARMEAN(argumentas1, argumentas2,...) /( −1−1... −1n x1+ x2+ + xnčia n – skaičiusargumentų, kurių reikšmė nėra praleistas stebėjimas, o x 1 ,..., xntų argumentų reikšmės; argumentas – neneigiama konstanta,kintamasis, reiškinys.IQR(argumentas1, argumentas2) Tarpkvartilinis plotis.KURTOSIS(argumentas1, argumentas2,...) Eksceso koeficientas.LARGEST(K, reikšmė1, reikšmė2,...) K-toji didžiausia nepraleista reikšmė; K <strong>ir</strong> nurodytos reikšmėsgali būti: skaitinė konstanta, kintamasis, reiškinys.MAX(argumentas1, argumentas2,...) Didžiausia reikšmė.MEAN(argumentas1, argumentas2,...) Aritmetinis vidurkis (vidutinė reikšmė).MEDIAN(argumentas1, argumentas2,...) Mediana (vidurinė reikšmė).MIN(argumentas1, argumentas2,...) Mažiausia reikšmė.skaitinio_tipo_reiškinys – apibrėžia skaitinio tipo duomenis;MISSING(skaitinio_tipo_reiškinys | simbolinio_tipo_ reiškinys – simbolinio tipo kintamojo vardassimbolinio_tipo_ reiškinys)arba reiškinys, kurio reikšmė yra simbolinio tipo; ši funkcijatikrina skaitinio arba simbolinio tipo reiškinį <strong>ir</strong> įgyja reikšmę 1,jei reikšmė praleista, reikšmę 0, jei nepraleista.N(argumentas1, argumentas2,...) Nepraleistų reikšmių skaičius.NMISS(argumentas1, argumentas2,...) Praleistų reikšmių skaičius.ORDINAL(K, reikšmė1, reikšmė2,...) K-oji pozicinė <strong>statistika</strong> (K-tas variacinės eilutės narys ); skaičiuoja<strong>ir</strong> praleistas reikšmes.PCTL(p, reikšmė1, reikšmė2,...) p-tas procentilis ( 0 ≤ p ≤ 100 ), n – procentilių apskaičiavimometodo numeris (n=1,2,…,5).RANGE(reikšmė1, reikšmė2,...)Sk<strong>ir</strong>tumas tarp didžiausios <strong>ir</strong> mažiausios reikšmės.2 2 2( x1 + x2+ ... + xn ) / n čia n – skaičius argumentų, kuriųRMS(argumentas1, argumentas2,...) reikšmė nėra praleistas stebėjimas, o x 1 ,..., xntų argumentųreikšmės; argumentas – neneigiama skaitinio tipo konstanta,kintamasis, reiškinys.SKEWNESS(argumentas1,argumentas2,...) Asimetrijos koeficientas.SMALLEST(K, reikšmė1, reikšmė2,...) K-toji mažiausia nepraleista reikšmė; K <strong>ir</strong> nurodytos reikšmėsgali būti: skaitinė konstanta, kintamasis, reiškinys.STD(argumentas1, argumentas2,...) Standartinis nuokrypisSTDERR(argumentas1, argumentas2,...) Standartinė vidurkio paklaida.SUM(argumentas1, argumentas2,...) Nepraleistų reikšmių <strong>su</strong>ma.USS(argumentas1, argumentas2,...) Nekoreguota kvadratų <strong>su</strong>ma.VAR(argumentas1, argumentas2,...) Dispersija.51
2.4 lentelė. Skaitinių charakteristikų funkcijų panaudojimo pavyzdžiai.Pavyzdys Rezultatas Pavyzdys RezultatasY=GEOMEAN(2, . , 1); Y=1.4142 Y=GEOMEAN(2, 5, 6); Y=3.9149Y=LARGEST(2, 5, 4, . , 6); Y=5 Y=SMALLEST(1, 5, 4, . , 6); Y=4Y=MEAN(1, . , 4); Y=2.5 X=5;Y=4Y=MEAN(2*5, X, X-2);X1=1; X2=. ; X3=. ;Y=1 X1=2; X2=3; X3=1;Y=0Y=MISSING(X1+X2+X3);Y=MISSING(X1+X2+X3);X1=2; X2=. ; X3=1;Y=2 Y=N(2, . , 3); 2Y=N(OF X1-X3);X1=5; X2=. ; X3=. ; X4=4; X5=6; Y=. X1=5; X2=. ; X3=. ; X4=4; X5=6; Y=5Y=ORDINAL(2, OF X1-X5);Y=ORDINAL(4, OF X1-X5);Y=SUM(2, 3, .); Y=5 Y=SUM(MEAN(1, 3), MEAN (4, 5)); Y=6.53. Tikimybinių sk<strong>ir</strong>stinių funkcijosSAS yra numatyta galimybė įva<strong>ir</strong>iems tikimybiniams sk<strong>ir</strong>stiniams apskaičiuoti tokiųfunkcijų reikšmes: 1) sk<strong>ir</strong>stinio funkcija (cumulative distribution function); 2) tankio funkcija(probability density (mass) function); 3) išgyvenimo funkcija (<strong>su</strong>rvival function). Sk<strong>ir</strong>stiniofunkcijos rekšmėms apskaičiuoti yra sk<strong>ir</strong>ta funkcija CDF, tankio funkcijos reikšmėms –funkcija PDF, o išgyvenimo funkcijos reikšmėms funkcija SDF (S(x)=1-F(x), čia F –sk<strong>ir</strong>stinio funkcija, o S – išgyvenimo funkcija). Visų šių funkcijų sintaksė yra tokia pati:CDF(’sk<strong>ir</strong>stinys’, argumentas )PDF(’sk<strong>ir</strong>stinys’, argumentas )SDF(’sk<strong>ir</strong>stinys’, argumentas )čia sk<strong>ir</strong>stinys – žodis, identifikuojantis sk<strong>ir</strong>stinį; galimi sk<strong>ir</strong>stiniai yra pateikti 2.5 lentelėje;argumentas – taškas, kuriame norime apskaičiuoti funkcijos reikšmę; parametras_1, ...,parametras_k – yra nebūtini formos, padėties, mastelio parametrai.2.6 lentelėje pateikiama funkcijos CDF sintaksė įva<strong>ir</strong>ių sk<strong>ir</strong>stinių atveju. FunkcijųPDF <strong>ir</strong> SDF sintaksė analogiška.2.5 lentelė. Sk<strong>ir</strong>stinius identifikuojantys raktiniai žodžiaiSk<strong>ir</strong>stinio pavadinimas Raktinis žodis Sk<strong>ir</strong>stinio pavadinimas Raktinis žodisBernulio ’BERNOULLI’ Logistinis ’LOGISTIC’Beta ’BETA’ Lognormalusis ’LOGNORMAL’Binominis ’BINOMIAL’ Neigiamas binominis ’NGBINOMIAL’Koši ’CAUCHY’ Normalusis ’NORMAL’Chi-kvadrato ’CHISQUARE’ Normalių mišinys ’NORMALMIX’Eksponentinis ’EXPONENTIAL’ Pareto ’PARETO’Fišerio ’F’ Puasono ’POISSON’Gama ’GAMMA’ Stjudento ’T’Geometrinis ’GEOMETRIC’ Tolygus ’UNIFORM’Hipergeometrinis ’HYPERGEOMETRIC’ Valdo (atv<strong>ir</strong>kštinis Gauso) ’WALD’|’IGAUSS’Laplaso ’LAPLACE’ Veibulo ’WEIBULL’52
2.6 lentelė. CDF funkcijos sintaksėSk<strong>ir</strong>stinysCDF funkcija (sk<strong>ir</strong>stinio funkcija)Bernulio⎧0,x < 0,⎪CDF(’BERN’,x,p)= ⎨1− p,0 ≤ x < 1, čia 0 ≤ p ≤ 1 sėkmės tikimybė;⎪⎩1,x ≥ 1.Beta⎧0,x ≤ 1,⎪ x a−1b−11 ( x −1)( r − x)CDF(’BETA’,x,a,b, l,r)= ⎨ ∫dx,l < x ≤ r,+ −⎪ β ( a,b)a b 1l ( r − l)⎪⎩1,x > r;čia a>0, b>0, r>l; parametrai r <strong>ir</strong> l nebūtini (pagal nutylėjimą l=0, r=1),Γ(a)Γ(b)∞a−1−xβ ( a,b)= , Γ( a)= ∫ x e dx ;Γ(a + b)0BinomialCDF(’BINOM’,m,p,n)= ∑m ⎛n⎞j n−j⎜⎟ p ( 1−p), čia m=0,1,...,n – sėkmių skaičius,j=0⎝i ⎠0 ≤ p ≤ 1 sėkmės tikimybė, n=0,1,... – nepriklausomų Bernulio eksperimentųskaičius;Koši1 1 −1⎛ x −θ⎞CDF(’CAUCHY’,x,θ,λ)= + tan ⎜ ⎟,parametrai θ, λ>0 nebūtini (pagal2 π ⎝ λ ⎠nutylėjimą θ=0, λ=1);Chi-kvadrato/ 2 ( / 2)CDF(’CHISQ’,x,ν,λ)= ∑ ∞ j−λλePc( x,ν + 2 j), x>0; čia ν >0 – laisvėsj=0 j!laipsniai, λ ≥ 0 - nebūtinas necentriškumo parametras, jei parametro λ nenurodome,tai centrinis chi-kvadrato sk<strong>ir</strong>stinys;Pc ( x,a)= Pg( x / 2, a / 2) - centrinio chi-kvadrato sk<strong>ir</strong>stinio tikimybė;y1 −vb−1Pg( y,b)= ∫ e v dv - gama sk<strong>ir</strong>stinio tikimybė;Γ(b)0Eksponentinis CDF(’EXPO’,x,λ)= 1− e −x / λ , x ≥ 0,λ > 0 - nebūtinas parametras (pagalFišerioGamaGeometrinisHipergeometrinisnutylėjimą λ = 1) ;/ 2 ( / 2)CDF(’F’,x, v 1,v2, λ)= ∑ ∞ j−λλePf( x,v1+ 2 j,v2),j=0 j!x ≥ 0, čia v 1 > 0 –skaitiklio laisvės laipsniai, v 2 > 0 – vardiklio laisvės laipsniai, λ ≥ 0 - nebūtinasnecentriškumo parametras, jei parametro λ nenurodome, tai centrinis Fišeriosk<strong>ir</strong>stinys;Pf ( x,u1,u2) = PB( u1x/( u1x+ u2), u1/ 2, u2/ 2) - centrinio Fišerio sk<strong>ir</strong>stinio tikimybė;P B ( x,a,b)- standartinio beta sk<strong>ir</strong>stinio tikimybė;x1 a−1−v/ λCDF(’GAMMA’,x,a,λ)= ∫ v e dv,aλ Γ(a)0nebūtinas parametras (pagal nutylėjimą λ = 1);x ≥ 0, čia a > 0 , λ > 0 -jCDF(’GEOM’,m,p)= ∑ ≤ mjp(1− p), čia m = 0,1,..., 0 ≤ p ≤ 1 sėkmės tikimybė;j=0x ⎛ R⎞⎛N − R⎞i∑⎜⎟⎜⎟oi=0⎝i ⎠⎝n − i ⎠CDF(’HYPER’,x,N,R,n,o)= , čiamin( R,n)⎛ R⎞⎛N − R⎞j∑⎜⎟⎜⎟oj=max(0, R+n−N) ⎝ j ⎠⎝n − j ⎠max( 0, R + n − N)< x < min( R,n),N = 1,2...- populiacijos dydis, R = 0,1,...N -elementų, turinčių dominančią savybę skaičius, n = 1,...N - imties dydis, o>0 –nebūtinas parametras;53
2.6 lentelės tęsinys. CDF funkcijos sintaksėSk<strong>ir</strong>stinysCDF funkcija (sk<strong>ir</strong>stinio funkcija)Laplaso⎧1( x−θ) / λ⎪ e , x < 0,CDF(’LAPLACE’,x,θ,λ)= 2⎨1⎪−(x−θ) / λ1−e , x ≥ 0,⎩ 2čia θ <strong>ir</strong> λ > 0 - nebūtiniparametrai (pagal nutylėjimą θ = 0,λ = 1);Logistinis1CDF(’LOGISTIC’,x,θ,λ)=−(x−θ ) / λ1+ečia θ <strong>ir</strong> λ > 0 - nebūtini parametrai(pagal nutylėjimą θ = 0,λ = 1);Lognormaluslog( x)⎛ 21⎞CDF(’LOGN’,x,θ,λ)= ∫⎜ ( v −θ)exp − ⎟dv,⎜ 2λ 2π⎟0 ⎝ 2λ⎠x > 0, čia θ <strong>ir</strong> λ > 0 -nebūtini parametrai (pagal nutylėjimą θ = 0,λ = 1);Neigiamas binominismn ⎛n+ j −1⎞jCDF(’NEGB’,m,p,n)= p ∑⎜⎟(1− p),j=0⎝j ⎠čia m=0,1,... – nesėkmių skaičius,n=0,1,... – sėkmių skaičius, 0 ≤ p ≤ 1 sėkmės tikimybė;Normalusisx ⎛ 21⎞CDF(’NORMAL’,x,θ,λ)= ∫⎜ ( v −θ)exp − ⎟dv,čia θ <strong>ir</strong> λ > 0 - nebūtini2 ⎜ 2λ π⎟−∞ ⎝ 2λ⎠parametrai (pagal nutylėjimą θ = 0,λ = 1);Normalių mišinys CDF(’NORMALMIX’,x, n, p 1 ,..., pn, m1,...,mn, s 1 ,..., sn)== ∑np CDF NORMAL x m i s ii=1 1 * (' ',, , ) , čia n = 1,2,...mišinių skaičius; p 1 ,..., pn-nproporcijos, p 1 ∑1 1 = ; m 1 ,..., mn- vidurkiai; s 1,...,sn- standartiniai nuokrypiai,i=s i > 0,i = 1,..., n;ParetoPuasonoStjudentoTolygusisValdo(atv<strong>ir</strong>kštinis Gauso)Veibulo⎧0,x < k;CDF(’PARETO’,x,a,k)= ⎨ a , čia a>0, k>0 – nebūtinas parametras⎩1− ( k / x), x ≥ k;(pagal nutylėjimą k = 1 );n im −mCDF(’POISSON’,n,m)= ∑ e , čia n = 0,1,..., m>0 – vidurkis;i=0 i!CDF(’T’,t,v,λ) čia v>0 – laisvės laipsniai, λ - necentriškumo parametras (nebūtinasparametras), nebūtinai sveikas skaičius, jei λ nenurodome, tai centrinis Stjudentosk<strong>ir</strong>stinys;⎧0,x < l,⎪CDF(’UNIFORM’,x,l,r)= ⎨(x − l)/( r − l),l ≤ x < r,čia l <strong>ir</strong> r (r>l) nebūtini⎪⎩1,x ≥ r;parametrai (pagal nutylėjimą l = 0,r = 1 );CDF(’WALD’,x,d)=CDF(’IGAUSS’,x,d) =⎛ ⎞2⎛ ⎞⎜d( 1) ⎟ d ⎜d= Φ x − + e Φ − ( x + 1) ⎟,x > 0; čia parametras d>0, Φ -⎝ x ⎠ ⎝ x ⎠standartinio normalaus sk<strong>ir</strong>stinio pasisk<strong>ir</strong>stymo funkcija;⎪⎧⎛ x ⎞a ⎪⎫CDF(’WEIBULL’,x,a,λ)= 1−exp⎨−⎜ ⎟ ⎬,x ≥ 0;čia a>0, nebūtinas parametras⎪⎩⎝ λ ⎠ ⎪⎭λ > 0 (pagal nutylėjimą λ = 1);54
2.2 p a v y z d y s.a) Apskaičiuokime normalaus sk<strong>ir</strong>stinio <strong>su</strong> vidurkiu 5 <strong>ir</strong> dispersija 1 sk<strong>ir</strong>stiniofunkcijos <strong>ir</strong> tankio reikšmę taške 3.1. Editor lange įvedame:data d1;s1=CDF(’NORMAL’,3.1,5,1); /*sk<strong>ir</strong>stinio funkcija*/t1=PDF(’NORMAL’,3.1,5,1); /*tankio funkcija*/run;Gauname s1=0,0287165598; t1=0.0656158148.b) Apskaičiuokime centrinio chi-kvadrato sk<strong>ir</strong>stinio <strong>su</strong> 6 laisvės laipsniais tankiofunkcijos reikšmę taške 5.1. Editor lange įvedame:data d2;s=PDF(’CHISQ’,5.1,6);run;Gauname s=0.1269315083.c) Apskaičiuokime necentrinio Stjudento sk<strong>ir</strong>stinio <strong>su</strong> 2 laisvės laipsniais <strong>ir</strong>necentriškumo parametru 3.6 tankio funkcijos reikšmę taške 6.8. Editor lange įvedame:data d3;t=PDF(’T’,6.8,2,3.6);run;Gauname t=0.0612465389.2.3 p a v y z d y s. Užduotis: kam lygi tikimybė, kad tris kartus metant idealią monetą,iškris: a) tris kartus skaičius; b) du kartus skaičius <strong>ir</strong> vieną kartą herbas?Sprendimas. Turime Bernulio schemos realizaciją. Bandymų skaičius n=3; jeigumoneta ideali, tai tikimybė, kad iškris skaičius yra lygi p=0.5. Taigi, reikia apskaičiuotiBinominio sk<strong>ir</strong>stinio tikimybes. Editor lange įvedame:data moneta;tik1=PDF(’BINOMIAL’,3,0.5,3); /* a punktas */tik2=PDF(’BINOMIAL’,2,0.5,3); /* b punktas */run;Gauname: tikimybė, kad tris kartus metant idealią monetą tris kartus iškris skaičiusyra lygi 0,125; tikimybė, kad tris kartus metant idealią monetą du kartus iškris skaičius <strong>ir</strong>vieną kartą herbas yra lygi 0,375.SAS funkcija PROBBNRM yra sk<strong>ir</strong>ta dvimačio normaliojo sk<strong>ir</strong>stinio <strong>su</strong> vidurkiu 0,dispersija 1 <strong>ir</strong> koreliacijos koeficientu r pasisk<strong>ir</strong>stymo funkcijos reikšmėms apskaičiuoti:x y221 ⎛ u − 2ruv+ v ⎞PROBBNRM(x,y,r)= P{ X ≤ x,Y ≤ y}= ∫ ∫ exp⎜−⎟dvdu,222π1−r −∞−∞⎝ 2(1 − r ) ⎠čia x <strong>ir</strong> y yra skaitiniai kintamieji, r – koreliacijos koeficientas ( −1 ≤ r ≤ 1).2.4 p a v y z d y s. Funkcijos PROBBNRM panaudojimo pavyzdžiaiPavyzdysRezultatasTik1= PROBBNRM(2, 3.1, 0.9); Tik1=0.9772359531Tik2= PROBBNRM(0.4, 0.8, 0.6); Tik2=0.58934697194. Kvantilių funkcijosSAS funkcija QUANTILE sk<strong>ir</strong>ta įva<strong>ir</strong>ių tikimybinių sk<strong>ir</strong>stinių p-tojo kvantilioapskaičiavimui. Sintaksė:QUANTILE(’sk<strong>ir</strong>stinys’, p )55
čia sk<strong>ir</strong>stinys – žodis, identifikuojantis sk<strong>ir</strong>stinį (žr. 2.5 lentelę); apskaičiuojamas p-tasiskvantilis ( 0 < p < 1); parametras_1, ..., parametras_k – yra nebūtini formos, padėties, mastelioparametrai (sk<strong>ir</strong>stinio parametrus nurodome taip pat, kaip <strong>ir</strong> funkcijoje CDF (žr.2.6 lentelę)).2.5 p a v y z d y s. Funkcijos QUANTILE panaudojimo pavyzdžiaiPavyzdys Paaiškinimas RezultatasQ1=QUANTILE(’EXPO’, 0.6); (0.6)- tasis standartinio eksponentinio Q1=0,9162907319sk<strong>ir</strong>stinio (t.y. vidurkis lygus 1)kvantilisQ2=QUANTILE(’T’, 0.8, 5); (0.8)- tasis centrinio Stjudento sk<strong>ir</strong>stinio<strong>su</strong> 5 laisvės laipsniais kvantilisQ2=0,91954378022.7 lentelė. Konkrečių sk<strong>ir</strong>stinių kvantilių funkcijos.Sk<strong>ir</strong>stinys Funkcija AprašymasBeta BETAINV(p,a,b) p-tasis kvantilis; a>0, b>0 Beta sk<strong>ir</strong>stinio parametrai;Chi-kvadrato CINV(p,ν,λ) p-tasis kvantilis; ν>0 - laisvės laipsniai, λ ≥ 0 (nebūtinasparametras) - necentriškumo parametras;Fišerio FINV(p, v 1,v2, λ) p-tasis kvantilis; v 1 > 0 – skaitiklio laisvės laipsniai, v 2 > 0 vardiklio laisvės laipsniai, λ ≥ 0 (nebūtinas parametras)-necentriškumo parametras;Gama GAMAINV(p,a) a > 0 gama sk<strong>ir</strong>stinio parametras;Standartinis PROBIT(p) p-tasis kvantilis;normalusisStjudento TINV(p,v,λ) p-tasis kvantilis; v>0 – laisvės laipsniai, λ - nebūtinasnecentriškumo parametras;56SAS yra keletas funkcijų sk<strong>ir</strong>tų konkrečių tikimybinių sk<strong>ir</strong>stinių kvantiliųapskaičiavimui, jos pateikiamos 2.7 lentelėje (sk<strong>ir</strong>stinių parametrų pažymėjimai <strong>ir</strong>apibrėžimai analogiški nurodomiems funkcijoje CDF (žr. 2.6 lentelę)).2.6 p a v y z d y s. Kvantilių funkcijų panaudojimo pavyzdžiaiPavyzdys Paaiškinimas Rezultatasb=BETAINV(0.5, 4, 2); 50-tasis Beta sk<strong>ir</strong>stinio <strong>su</strong> parametrais 4 <strong>ir</strong> 2b=0.6861898295procentilis;Chi1=CINV(0.95, 4); 95-tasis chi-kvadrato sk<strong>ir</strong>stinio <strong>su</strong> 4 laisvėsChi1=9.4877290368laipsniais procentilis;Chi2=CINV(0.95, 4.1, 4.8); 95-tasis chi-kvadrato sk<strong>ir</strong>stinio <strong>su</strong> 4.1 laisvės Chi2=18.793397996laipsniais <strong>ir</strong> necentiškumo parametru 4.8 procentilis;F1=FINV(0.9, 2, 6); (0.9)-tasis Fišerio sk<strong>ir</strong>stinio <strong>su</strong> 2 <strong>ir</strong> 6 laisvės laipsniaisF1=3.4633040701kvantilis;F2=FINV(0.9, 2, 6.1, 3); (0.9)-tasis Fišerio sk<strong>ir</strong>stinio <strong>su</strong> 2 <strong>ir</strong> 6.1 laisvės laipsniais,F2=8.1926587045<strong>ir</strong> necentiškumo parametru 3 kvantilis;Pavyzdys Paaiškinimas RezultatasG1=GAMINV(0.1, 3.2); (0.1)-tasis gama sk<strong>ir</strong>stinio <strong>su</strong> parametru 3.2 kvantilis; 1.2260018937=N=PROBIT(0.95);(0.95)-tasis standartinio normalaus sk<strong>ir</strong>stinioN=1.644853627kvantilis;T1=TINV(0.9, 5);(0.9)-tasis Stjudento sk<strong>ir</strong>stinio <strong>su</strong> 5 laisvės laipsniaisT1=1.4758840488kvantilis;T2=TINV(0.9, 3.2, 4); (0.9)-tasis Stjudento sk<strong>ir</strong>stinio <strong>su</strong> 3.2 laisvės laipsniais<strong>ir</strong> necentiškumo parametru 4 kvantilis;T2=9.11671289525. Atsitiktinių dydžių modeliavimasSu kompiuteriu galima generuoti pseudoatsitiktinius skaičius. Šie skaičiai nėra tikriatsitiktiniai skaičiai, nes apskaičiuojami naudojant tam tikrą algoritmą, tačiau jų savybėstokios pačios kaip <strong>ir</strong> tikrai atsitiktinių skaičių. SAS yra keletas funkcijų, sk<strong>ir</strong>tų atsitiktiniųdydžių modeliavimui. Funkcijose reikia nurodyti pradinį skaičių (seed). Šis pradinis skaičiusturi būti sveikas neneigiamas skaičius, mažesnis už 2 31 -1. Jeigu nurodome 0, tai modeliuojamaatsižvelgiant į kompiuterio laikrodį.
P a s t a b a. Jeigu nurodome skaičių, didesnį už 0, tai atlikę kelis kartus tą patį Datažingsnį gausime tą pačią skaičių seką, o jeigu 0, tai skaičių seka priklauso nuo laiko momento<strong>ir</strong> tos pačios sekos nebepakartosime.SAS funkcija RAND yra sk<strong>ir</strong>ta modeliuoti atsitiktinius dydžius įva<strong>ir</strong>ių sk<strong>ir</strong>stiniųatveju. Sintaksė:RAND(’sk<strong>ir</strong>stinys’, sk<strong>ir</strong>stinio_parametrai)čia sk<strong>ir</strong>stinys – žodis, identifikuojantis sk<strong>ir</strong>stinį; galimi sk<strong>ir</strong>stiniai yra pateikti 2.8 lentelėje;sk<strong>ir</strong>stinio_parametrai – sąrašas formos, padėties, mastelio parametrų. 2.9 lentelėje pateikiamafunkcijos RAND sintaksė įva<strong>ir</strong>ių sk<strong>ir</strong>stinių atveju.2.8 lentelė. Sk<strong>ir</strong>stinius identifikuojantys raktiniai žodžiaiSk<strong>ir</strong>stinioRaktinis žodis Sk<strong>ir</strong>stinio pavadinimas Raktinis žodispavadinimasBernulio ’BERNOULLI’ Hipergeometrinis ’HIPERGEOMETRIC’Beta ’BETA’ Lognormalus ’LOGNORMAL’Binominis ’BINOMIAL’ Neigiamas binominis ’NEGBINOMIAL’Koši ’CAUCHY’ Normalus ’NORMAL’|’GAUSSIAN’Chi-kvadrato ’CHISQUARE’ Puasono ’POISSON’Erlango ’ERLANG’ Stjudento ’T’Eksponentinis ’EXPONENTIAL’ Diskretus ’TABLE’Fišerio ’F’ Trikampio ’TRIANGLE’Gama ’GAMMA’ Tolygus ’UNIFORM’Geometrinis ’GEOMETRIC’ Veibulo ’WEIBULL’P a s t a b a. Jei norime, kad pakartoję tą patį Data žingsnį gautume tą pačią seką, taiData žingsnyje prieš funkciją RAND reikia panaudoti komandą CALL STREAMINT, kuriojenurodomas pradinis skaičius, jei šios komandos nepanaudojame, tai kelis kartus kartojant tąpatį Data žingsnį gausime vis kitą seką. Sintaksė:CALL STREAMINT(sk);čia sk - skaičius didesnis už 0 <strong>ir</strong> mažesnis už 2 31 -1.2.9 lentelė. Funkcijos RAND sintaksėSintaksėX tankio funkcija (tolydus sk<strong>ir</strong>stinys) / tikimybė (diskretus sk<strong>ir</strong>stinys)RAND(’BERN’,x,p)⎧0,p = 0, x = 0,⎪ x 1−xP { X = x | p}= ⎨ p (1 − p), 0 < p < 1, x = 0,1, čia p - sėkmės tikimybė;⎪⎩1,p = 1, x = 1,RAND(’BETA’,a,b)Γ(a + b)a−1b−1f ( x)= x (1 − x), 0 < x < 1, a > 0, b > 0 ;Γ(a)Γ(b)RAND(’BINOMIAL’,p,n)RAND(’CAUCHY’)RAND(’CHISQUARE’,ν)RAND(’ERLANG’,a)⎧0p = 0, x = 0,⎪ x x n−xP { X = x | p,n}= ⎨Cnp (1 − p), x = 0,1,..., n,čia x – sėkmių skaičius,⎪⎩1p = 1, x = 1,p - sėkmės tikimybė, n=0,1,... – nepriklausomų Bernulio eksperimentųskaičius;1f ( x)= , − ∞ < x < +∞;2π (1 + x )−ν/ 22 v / 2−1−x/ 2f ( x)= x e , x > 0; čia ν >0 – laisvės laipsniai;Γ(v / 2)1f ( x)= xΓ(a)a−1−xRAND(’EXPONENTIAL’) ( ) = − xf x e , x > 0;e, x > 0, a = 1,2,... ;57
2.9 lentelės tęsinys. Funkcijos RAND sintaksėSintaksėX tankio funkcija (tolydus sk<strong>ir</strong>stinys) / tikimybė (diskretus sk<strong>ir</strong>stinys)RAND(’F’, v1,v 2 )⎛ v1+ v2⎞Γ⎜⎟ v1/ 2 v2/ 2 v12−1⎝ 2 ⎠ v1v2xf ( x)= , x > 0,čiaΓ(v / 2) ( / 2) ( v ) / 21 Γ v2( 1 2 ) 1+vv 1 > 0 – skaitikliov + v 2laisvės laipsniai, v 2 > 0 – vardiklio laisvės laipsniai;RAND(’GAMMA’,a)1 a−1 −xf ( x)= x e , x > 0,a > 0 ;Γ(a)RAND(’GEOMETRIC’,p)⎪⎧x−1(1 − p)p,0 < p < 1, x = 1,2,...,P{X = x | p}= ⎨čia p - sėkmės tikimybė;⎪⎩ 1,p = 1, x = 1;RAND(’HYPER’,N,R,n)RAND(’LOGNORMAL’)RAND(’NEGBIN’,p,k)58⎛ R⎞⎛N − R⎞⎜⎟⎜⎟⎝ x ⎠⎝n − x ⎠P{X = x}=, čia x = max( 0, ( n − ( N − R))),...,min( n,R),⎛ N ⎞⎜⎟⎝ n ⎠N = 1,2... - populiacijos dydis, R = 0,1,...N - elementų, turinčių dominančiąsavybę, skaičius, n = 1,...N - imties dydis;2exp{ − ln ( x)/ 2}f ( x)= , x ≥ 0;x 2π⎧⎛x + k −1⎞x k⎪ −< < =⎨⎜⎟(1p)p , 0 p 1, x 0,1,...,P{X = x}=⎝ k −1⎠⎪⎩1,p = 1, x = 0,sėkmių skaičius, 0 < p ≤ 1 sėkmės tikimybė;čia k=1,2,... –RAND(’NORMAL’ )1 ⎛ 2( ) ⎞( ) exp⎜x −θf x− ⎟,čia θ - vidurkis, λ > 0 standartinis nuokrypis2λ 2π⎜ 2 ⎟⎝ λ ⎠( nebūtini parametrai; pagal nutylėjimą θ = 0,λ = 1);RAND(’POISSON’,m)xm −mP{X = x}= e , čia x = 0,1,..., m>0 – vidurkis;x!RAND(’T’,v)⎛ v + 1⎞Γ⎜⎟−(v+1) / 22⎝ 2 ⎠ ⎛ ⎞( )⎜ xf x =1 + ⎟ ,vπΓ(v / 2) ⎜ ⎟⎝v⎠− ∞ < x < +∞,čia v > 0 – laisvėslaipsnių skaičius;RAND(’TABLE’, 1, p 2 ,... p 1 , p2,..., pnn( 0 ≤ p 1,p2,..., pn≤ 1); ∑ p i = 1;i=1RAND(’TRIANGLE’,h)⎧2x/ h,0 ≤ x ≤ h,⎪P { X = x}= ⎨2(1− x)čia 0 ≤ x ≤ 1,, h < x ≤ 1,⎪⎩ 1−h0 ≤ h ≤ 1 ;RAND(’UNIFORM’) f ( x)= 1, 0 < x < 1 ;RAND(’WEIBULL’,a,b)af ( x)=ab1 ⎪⎧ a⎪⎫a−⎛ x ⎞x exp⎨−⎜ ⎟ ⎬,x ≥ 0, čia a>0, b>0;⎪⎩⎝ b ⎠ ⎪⎭2.7 p a v y z d y s. Tarkime, kad reikia <strong>su</strong>modeliuoti atsitiktinio dydžio, kuriosk<strong>ir</strong>stinys yra Stjudento sk<strong>ir</strong>stinys <strong>su</strong> 6 laisvės laipsniais, dydžio 200 imtį. Editor langeįvedame:%LET ll=6; %LET n=200;DATA modeliavimas;DATA modeliavimas;DO i=1 TO &n; arba DO i=1 TO 200;t=RAND(’T’,&ll);t=RAND(’T’,6);
OUTPUT;END;RUN;OUTPUT;END;RUN;Toliau yra pateikiamas kitų SAS atsitiktinių dydžių modeliavimo funkcijų aprašymas,jose be sk<strong>ir</strong>stinio parametrų reikia nurodyti pradinį skaičių (sk), aprašytą šio skyreliopradžioje.Funkcijos UNIFORM(sk) <strong>ir</strong> RANUNI(sk) yra sk<strong>ir</strong>tos modeliuoti tolygų intervale (0,1)atsitiktinį dydį. Tolygų intervale (a,b) atsitiktinį dydį galime modeliuoti taip:kint=(b-a)*uniform(sk)+a; arba kint=(b-a)*ranuni(sk)+a;2.8 p a v y z d y s. Modeliuoti atsitiktinio dydžio, pasisk<strong>ir</strong>sčiusio pagal tolygų dėsnįintervale (0,1), dydžio n=100 imtį.DATA tolygus;DO i=1 TO 100;Y=UNIFORM(0);OUTPUT;END;RUN;Funkcija NORMAL(sk) yra sk<strong>ir</strong>ta modeliuoti standartinį normalų atsitiktinį dydį (t.y.vidurkis lygus 0, o standartinis nuokrypis 1. Atsitiktinį dydį, kurio sk<strong>ir</strong>stinys yra normalus <strong>su</strong>vidurkiu θ <strong>ir</strong> standartiniu nuokrypiu λ (žr. 2.9 lentelę), galime modeliuoti taip:Y=θ+λ*NORMAL(sk);Funkcija RANBIN(sk,n,p) yra sk<strong>ir</strong>ta modeliuoti atsitiktinį dydį, kurio sk<strong>ir</strong>stinys yrabinominis <strong>su</strong> parametrais n <strong>ir</strong> p (n – nepriklausomų Bernulio eksperimentų skaičius, p –sėkmės tikimybė; žr.2.9 lentelę).Funkcija RANEXP(sk) yra sk<strong>ir</strong>ta modeliuoti atsitiktinį dydį, kurio sk<strong>ir</strong>stinys yraeksponentinis <strong>su</strong> vidurkiu 1 (žr. 2.9 lentelę). Atsitiktinį dydį, kurio sk<strong>ir</strong>stinys yra−eksponentinis <strong>su</strong> vidurkiu 1/λ, t.y. tankio funkcija yra ( ) = λ λ xf x e , x > 0, λ > 0 , galimemodeliuoti taip:y=RANEXP(sk)/ λ;Funkcija RANGAM(sk,a) yra sk<strong>ir</strong>ta modeliuoti atsitiktinį dydį, kurio sk<strong>ir</strong>stinys yragama <strong>su</strong> parametru a (žr. 2.9 lentelę). Atsitiktinį dydį, kurio sk<strong>ir</strong>stinys yra gama <strong>su</strong>parametrais a <strong>ir</strong> λ, t.y. tankio funkcija yra1 a−1−x/ λf ( x)= x e ,aλ Γ(a)x > 0, λ > 0, a > 0galime modeliuoti taip:y=λ*RANGAM(sk,a);Funkciją RANGAM galime panaudoti atsitiktinio dydžio, kurio sk<strong>ir</strong>stinys yra chikvadratosk<strong>ir</strong>stinys <strong>su</strong> 2*η (sveikas skaičius) laisvės laipsnių, modeliavimui:X=2*RANGAM(sk, η);Funkciją RANGAM galime panaudoti atsitiktinio dydžio X∼Be(γ, η), t.y. X sk<strong>ir</strong>stinysyra Beta sk<strong>ir</strong>stinys <strong>su</strong> parametrais γ <strong>ir</strong> η, modeliavimui:y1=RANGAM(sk, γ); y2=RANGAM(sk, η);X=y1/(y1+y2);Funkcija RANPOI(sk, λ) yra sk<strong>ir</strong>ta modeliuoti atsitiktinį dydį, kurio sk<strong>ir</strong>stinys yraPuasono sk<strong>ir</strong>stinys <strong>su</strong> vidurkiu λ (žr. 2.9 lentelę).Diskretų atsitiktinį X, įgyjantį reikšmės 1,2,...,n <strong>su</strong> tikimybėmis p p ,...,( p1+ p2+ ... + pn= 1) galime modeliuoti <strong>su</strong> funkcija RANTBL(sk, p1, p2,..., pn).1,2pn59
2.9 p a v y z d y s. Tegu reikia modeliuoti atsitiktinio dydžio, įgyjančio reikšmes 2, 4,6 <strong>su</strong> tikimybėmis 0.3, 0.1, 0.6, dydžio 50 imtį. Editor lange įveskime:DATA diskretus;ARRAY m{3} m1-m3 (2 4 6); ARRAY p{3} p1-p3 (0.3 0.1 0.6);DO i=1 TO 50;x=m{RANTBL(0, of p1-p3)}; OUTPUT;END;RUN;Tą patį uždavinį galime išspręsti <strong>ir</strong> nenaudojant funkcijos RANTBL. Galimepanaudoti tokią procedūrą. Tegu X diskretus a.d., įgyjantis reikšmes x1, x2,..., xn<strong>su</strong>tikimybėmis p = P{X = xi }, i 1,2,...,n . Daliname intervalą (0,1) į nesikertančius ilgio1=1, p2p nintervalus. Generuojame tolygaus intervale (0,1) atsitiktinio dydžio realizaciją; įp ,...,kurį intervalą pateko generuota reikšmė, tokią reikšmę <strong>ir</strong> įgijo atsitiktinis dydis X.Naudodami šią procedūrą modeliuokime atsitiktinio dydžio, įgyjančio reikšmes 2, 4, 6<strong>su</strong> tikimybėmis 0.3, 0.1, 0.6, dydžio 50 imtį. Editor lange įveskime:DATA diskretus;DO i=1 TO 50;u=UNIFORM(0);if 0
2.11 lentelė. Funkcijų naudojimo pavyzdžiai.Pavyzdys Rezultatas Pavyzdys RezultatasY=REPEAT(‘Dd’,3); Y=‘DdDdDd‘ Y=REPEAT(‘0’,3); Y=‘000‘a=’ ddd’;X=’ddd ’ A=’ mano’;Y=’mano ’X=LEFT(a);Y=LEFT(a);a=’ddd’;X=3 A=’ mano ’;Y=5X=LENGTH(a);y=LENGTH(a);a=’(916)734-6281’; X=’916’ Y=SUBSTR(‘abc’,2); Y=’bc’X=SUBSTR(a,2,3);a=’6/16/99’;X=’6-16-99’ A=’bc bc’;Y=’bb bb’X=TRANSLATE(a,’-’,’/’);Y=TRANSLATE(a,’b’,’c’);a=’vienas ’; b=’du’; X=’vienasdu’ A=’du ’;Y=’du’X=TRIM(a)||b;Y=TRIM(a);a=’Rasa’;X=’RASA’ Y=UPCASE(’raSa’); Y=’RASA’X=UPCASE(a);X=PROPCASE(’aAAa ’); X=’Aaaa’ Y=PROPCASE(’rasa rasytė ’); Y=’Rasa Rasytė’7. Datos <strong>ir</strong> laiko funkcijosŠios funkcijos yra sk<strong>ir</strong>tos darbui <strong>su</strong> laiko <strong>ir</strong> datos duomenimis. 2.12 lentelėje yrapateikti funkcijų pavyzdžiai. Pilną funkcijų sąrašą galima pasižiūrėti pagrindiniame meniupas<strong>ir</strong>inkus punktą Help→SAS Help and Documentation.2.12 lentelė. Funkcijų pavyzdžiaiSintaksėApibrėžimasDAY(arg)Mėnesio diena; arg – SAS datos reikšmė;QTR(arg)Metų ketv<strong>ir</strong>tis; arg – SAS datos reikšmė;TODAY( )Šios dienos data (SAS datos reikšmė)DATEPART(arg) Išsk<strong>ir</strong>ia datą iš SAS datos-laiko reikšmės;HOUR(arg)Išsk<strong>ir</strong>ia valandą iš SAS datos-laiko arba laikoreikšmės;TIME(arg)Dabartinio laiko reikšmė;P a s t a b a. SAS datos reikšmė – dienų skaičius nuo 1960.01.01; laiko reikšmė yraskaičius sekundžių po vidurnakčio; datos-laiko reikšmė yra sekundžių skaičius nuo1960.01.01 vidurnakčio.2.10 p a v y z d y s. Editor lange įveskime:DATA pavyzdys;INPUT data yymmdd10. +1 laikas hhmmss8.;diena=DAY(data);ketv<strong>ir</strong>tis=QTR(data);valanda=HOUR(laikas);DATALINES;1960.01.01 00:01:001960.01.02 00:00:121959.12.30 00:01:002005.02.01 12:00:00;RUN;PROC PRINT DATA=pavyzdys;RUN;Output lange gauname tokį rezultatą:Obs data laikas diena ketv<strong>ir</strong>tis valanda1 0 60 1 1 02 1 12 2 1 03 -2 60 30 4 04 16468 43200 1 1 1261
8. Masyvų funkcijosSAS yra trys funkcijos, sk<strong>ir</strong>tos darbui <strong>su</strong> masyvais (žr. I sk.,13 skyrelį):1) DIM funkcijos rezultatas yra masyvo elementų skaičius. Sintaksė:DIM(vardas) arba DIM(vardas )čia n nurodo daugiamačio masyvo dimensijos, kurioje norime <strong>su</strong>žinoti elementų skaičių,numerį; vardas – masyvo vardas.2.11 p a v y z d y s.a) DATA pavyzdys;ARRAY masyvas{4} el1-el4;DO i=1 TO DIM(masyvas);Y=2*i;END; RUN;Šiame pavyzdyje funkcijos DIM reikšmė yra 4, todėl ciklas atliekamas keturis kartus.b) I variantas II variantasDATA pavyzdys;ARRAY masyvas{4,8,3}el1-el4(14*1);X1=DIM(masyvas,1);X2=DIM(masyvas,2);X3=DIM(masyvas,3);DROP el1-el14; RUN;DATA pavyzdys;ARRAY masyvas{4,8,3}el1-el4(14*1);X1=DIM(masyvas);X2=DIM2(masyvas);X3=DIM3(masyvas);DROP el1-el14; RUN;Atlikę šį Data žingsnį gausime tokią duomenų lentelę „pavyzdys“:X1 X2 X34 8 32) HBOUND funkcijos rezultatas yra v<strong>ir</strong>šutinis nurodytos masyvo dimensijos rėžis.Sintaksė:HBOUND(vardas) arba HBOUND(vardas )čia n yra daugiamačio masyvo dimensijos numeris; vardas – masyvo vardas.3) LBOUND funkcijos rezultatas yra apatinis nurodytos masyvo dimensijos rėžis.Sintaksė:LBOUND(vardas) arba LBOUND(vardas )čia n yra daugiamačio masyvo dimensijos numeris; vardas – masyvo vardas.2.12 p a v y z d y s.DATA pavyzdys;ARRAY m(2:6,4:13,2) k1-k100;DO i=LBOUND(m,3) TO HBOUND(m,2);Y=2*i;END;RUN;Šiame Data žingsnyje užrašytas ciklas ekvivalentus tokiam ciklui:DO i=1 TO 13;Y=2*i;END; RUN;62
III skyrius. APRAŠOMOJI STATISTIKASurinkus duomenis prieš atliekant <strong>su</strong>dėtingesnę duomenų analizę naudinga atliktipradinę duomenų analizę, nes taia) leidžia <strong>su</strong>rasti duomenų įvedimo klaidas;b) daryti išvadas apie duomenų savybes <strong>ir</strong> sk<strong>ir</strong>stinio pavidalą.Aprašomoji <strong>statistika</strong>, tai duomenų sisteminimo <strong>ir</strong> grafinio vaizdavimo metodai,kuriuos naudojant galima daryti išvadas apie nagrinėjamos populiacijos savybes. Aprašomoji<strong>statistika</strong> apima dvi grupes metodų: skaitiniai <strong>ir</strong> grafiniai metodai. Derinant šiuos metodusgalima gauti daug naudingos informacijos apie t<strong>ir</strong>iamos populiacijos savybes. Kokius grafikusbraižyti <strong>ir</strong> kokias skaitines charakteristikas skaičiuoti priklauso nuo turimų duomenų tipo, t.y.buvo t<strong>ir</strong>ti kokybiniai ar kiekybiniai kintamieji. Yra keturios kintamųjų matavimo skalės.1) Nominalioji. Matuojami požymiai užkoduojami simbolių sekomis, kuriostarpusavyje nepalyginamos, pavyzdžiui, 1 – matematika, 2 – fizika, 3 – lietuvių kalba.Kintamieji matuojami nominalioje skalėje vadinami nominaliaisiais kintamaisiais. Atsk<strong>ir</strong>asnominalios matavimų skalės atvejis yra dichotominė matavimų skalė, kurioje yra tik dv<strong>ir</strong>eikšmės, pavyzdžiui, 1 – vyras, 0 - moteris.2) Ranginė. Matuojami požymiai žymimi simbolių sekomis, kurias galima tarpusavyjepalyginti, bet negalime pasakyti kokiu didumu sk<strong>ir</strong>iasi, pavyzdžiui, 1 – geriausiasstudentas, 2 – blogesnis, 3 – dar blogesnis. Kintamieji matuojami ranginėje skalėje vadinam<strong>ir</strong>anginiais kintamaisiais.3) Intervalinė. Parodo kokiu didumu sk<strong>ir</strong>iasi, bet nėra tikro nulio (atskaitos pradžios),pavyzdžiui, testo rezultatai (nulinis įvertinimas nebūtinai reiškia, kad nieko nežino). Kintamiejimatuojami intervalinėje skalėje vadinami intervaliniais kintamaisiais.4) Santykinė. Panaši į intervalinę, sk<strong>ir</strong>iasi tik tuo, kad yra absoliutus nulis (atskaitospradžia), kuris rodo t<strong>ir</strong>iamos savybės nebuvimą, pavyzdžiui, atstumas. Kintamieji matuojamisantykinėje skalėje vadinami santykiniais kintamaisiais.Ranginiai <strong>ir</strong> nominalieji kintamieji vadinami kokybiniais, o intervaliniai <strong>ir</strong> santykiniai– kiekybiniais kintamaisiais.Šio skyriaus p<strong>ir</strong>mame skyrelyje aprašomos dažnių lentelės, antrame – skaitinėskintamųjų charakteristikos, o trečiame – grafiniai duomenų vaizdavimo metodai.1. Dažnių lentelėsDažnių lentelės padeda lengviau pastebėti duomenų savybes, pavyzdžiui, kiek yrask<strong>ir</strong>tingų reikšmių, kokia didžiausia <strong>ir</strong> mažiausia reikšmė, kuri reikšmė pasikartojodaugiausiai kartų <strong>ir</strong> pan.Jei yra matuojamas tolydus kintamasis, pavyzdžiui ūgis, svoris, tai stebėjimus reikia<strong>su</strong>grupuoti į intervalus <strong>ir</strong> tada skaičiuoti dažnius. Duomenis <strong>su</strong>grupuoti galima <strong>su</strong> sąlyginiusakiniu (žr. I sk., 5.2 skyrelį), panaudojant vartotojo <strong>su</strong>kurtus formatus (žr. I sk., 15 skyrelį).Šiame skyrelyje nagrinėsime vieno kintamojo <strong>ir</strong> kryžmines dažnių lenteles.1.2. Vieno kintamojo dažnių lentelėsTarkime, kad t<strong>ir</strong>dami tam tikrą požymį išmatavome n objektų. Turime statistinę eilutęX1, X2,..., X n. Kai kurios reikšmės statistinėje eilutėje gali kartotis. Sudarykime variacinęeilutę, t.y. išdėstykime reikšmes X didėjančia tvarka: X X ,..., X , čiai( 1),(2) ( n)* * *X( 1)≤ X(2)≤ ... ≤ X( n). Tarkime, kad yra k sk<strong>ir</strong>tingų reikšmių X1, X2,..., Xk. Pažymėkime fi- i-tosios reikšmės pasikartojimų skaičių. Šis skaičius vadinamas reikšmės dažniu (frequency).Akivaizdu, kad f n.Dydisk∑i=1i=63
f*i=fin(3.1)yra vadinamas i-tosios reikšmės santykiniu dažniu (relative frequency).Tegu Fiyra i-tosios reikšmės <strong>su</strong>kauptas dažnis (cumulative frequency), jis parodokiek yra reikšmių mažesnių arba lygių i-tajai reikšmei.Dydis* FiFi =(3.2)nyra vadinamas i-tosios reikšmės santykiniu <strong>su</strong>kauptu dažniu (relative cumalative frequency).Sudarant dažnių lenteles dar yra skaičiuojami tokie dažniai:~čia f *iyra procentinis dažnis (percent), opercent).3.1 p a v y z d y s. Tegu turime tokius duomenis:Xi: 1, 2, 5, 4, 3, 2, 1, 2, 3, 2.Sudarome variacinę eilutę:X : 1, 1, 2, 2, 2, 2, 3, 3, 4, 5.(i)~ * fifi= *100,(3.3)n~ * FiFi = *100.(3.4)n~F *i- <strong>su</strong>kauptas procentinis dažnis (cumulativeIš viso reikšmių yra n=10, o sk<strong>ir</strong>tingų reikšmių yra k=5. Gauname tokią dažnių lentelę:~* *Xi fi*fi~*F*i Fi fi1 2 2/10=0.2 2 2/10=0.2 20 202 4 4/10=0.4 6 6/10=0.6 40 603 2 2/10=0.2 8 8/10=0.8 20 804 1 1/10=0.1 9 9/10=0.9 10 905 1 1/10=0.1 10 10/10=1 10 100Dažnius galima apskaičiuoti <strong>su</strong> SAS procedūra FREQ. Sintaksė:PROC FREQ pas<strong>ir</strong>inktys;TABLES kintamieji / pas<strong>ir</strong>inktys;RUN;P a s t a b a. Kintamieji, nurodyti TABLES sakinyje, gali būti skaitinio arba simboliniotipo. Sudaroma atsk<strong>ir</strong>a dažnių lentelė kiekvienam nurodytam kintamajam.TABLES sakinyje galima nurodyti tokias pas<strong>ir</strong>inktis:OUT=lentelė nurodo dažnius <strong>su</strong>rašyti į duomenų lentelę;MISSPRINT nurodo įtraukti į dažnių lentelę praleistus stebėjimus, t.y. skaičiuojantprocentinius, <strong>su</strong>kauptus <strong>ir</strong> <strong>su</strong>kauptus procentinius dažnius praleisti stebėjimai neįtraukiami įskaičiavimus, o tik spausdinamas praleistų stebėjimų dažnis;MISSING nurodo įtraukti praleistus stebėjimus į skaičiavimus;NOCUM nurodo neskaičiuoti <strong>su</strong>kauptų <strong>ir</strong> procentinių <strong>su</strong>kauptų dažnių;NOPERCENT nurodo neskaičiuoti procentinių dažnių.PROC FREQ sakinyje galima nurodyti:~F *i64
DATA=lentelė nurodome kokios lentelės duomenis analizuosime; jeigu ši pas<strong>ir</strong>inktisnėra nurodyta, tai analizuojami paskutinės <strong>su</strong>kurtos lentelės duomenys;ORDER=DATA | FORMATTED | FREQ | INTERVAL nurodo kokia tvarkaspausdinti dažnius. Ši pas<strong>ir</strong>inktis netaikoma praleistiems stebėjimams, kurie visadaspausdinami pradžioje; DATA nurodo išdėstyti dažnius tokia tvarka kaip išdėstytos reikšmėsduomenų lentelėje; FORMATTED nurodo dažnius išdėstyti pagal formatuotas reikšmes;FREQ nurodo išdėstyti reikšmes pagal mažėjantį dažnį; INTERVAL pagal neformatuotasreikšmes, t.y. tokia tvarka kaip <strong>su</strong>rūšiuotų procedūra SORT; šis dažnių išdėstymo būdas yrapagal nutylėjimą.Procedūroje FREQ galima nurodyti sakinįWEIGHT kintamasis;čia kintamasis – skaitinio tipo kintamasis, kurio reikšmės yra stebėjimų dažniai. Šiuo atvejuvienas stebėjimas atitinka n stebėjimų, kur n nurodyto kintamojo reikšmė. Nurodytokintamojo reikšmė nebūtinai sveikas skaičius, bet, kai reikšmė yra 0 arba praleista, taiatitinkamas stebėjimas ignoruojamas.3.2 p a v y z d y s. a) Tarkime, kad turime tokius pačius duomenis kaip 3.1 pavyzdyje.Apskaičiuokime dažnius <strong>su</strong> procedūra FREQ. Editor lange įvedame:DATA d1;INPUT x @@;DATALINES;1 2 5 4 3 2 1 2 3 2;PROC FREQ DATA=d1;TABLES x;RUN;Output lange gauname tokią dažnių lentelę:x Frequency Percent Cumulative Frequency Cumulative Percent1 2 20 2 202 4 40 6 603 2 20 8 804 1 10 9 905 1 10 10 100dažniaidažniaiP<strong>ir</strong>majame stulpelyje yra sk<strong>ir</strong>tingos reikšmėsfi, trečiajame stulpelyje procentiniai dažniai65X , antrajame stulpelyje – reikšmių*i~ *if (žr.(3.3)), ketv<strong>ir</strong>tajame – <strong>su</strong>kaupti~F *i(žr.(3.4)).Fi(žr.(3.2)), o paskutiniame stulpelyje – <strong>su</strong>kaupti procentiniai dažniaiIš dažnių lentelės matome, kad mažiausia reikšmė yra 1, didžiausia reikšmė yra 5, daugiausiaikartų pasikartojo reikšmė 2 <strong>ir</strong> t.t.b) DATA d1;INPUT x @@;DATALINES;1 2 1 . 2 1 1 1 . 2;PROC FREQ DATA=d1;TABLES x;RUN;Output lange gauname tokią dažnių lentelę:x Frequency Percent Cumulative Frequency Cumulative Percent1 5 62.50 5 62.502 3 37.50 8 100Frequency missing = 2
Šiame pavyzdyje stebėjimų yra n=10, sk<strong>ir</strong>tingų reikšmių k=3. Pagal nutylėjimąpraleisti stebėjimai nėra įtraukiami į dažnių lentelę, tik apačioje parašoma kiek tokiųstebėjimų yra, todėl dažniai yra skaičiuojami tik kintamojo x reikšmėms 1 <strong>ir</strong> 2, be to, pagal~ *inutylėjimą skaičiuojant procentinius ( f ), <strong>su</strong>kauptus Fi<strong>ir</strong> <strong>su</strong>kauptus procentinius dažnius~F *ipraleisti stebėjimai į skaičiavimus neįtraukiami, t.y. juos skaičiuojant naudojamasnepraleistų stebėjimų skaičius, kuris šiame pavyzdyje yra 8, pavyzdžiui, reikšmės x=1procentinis dažnis apskaičiuojamas taip: 5/8*100=62.50.c) Tegu turime tokius pačius duomenis kaip punkte b.PROC FREQ DATA=d1;TABLES x / MISSPRINT;RUN;Output lange gauname tokią dažnių lentelę:x Frequency Percent Cumulative Frequency Cumulative Percent. 2 . . .1 5 62.50 5 62.502 3 37.50 8 100Frequency missing = 2Kadangi nurodėme pas<strong>ir</strong>inktį MISSPRINT, tai praleisti stebėjimai yra įtraukiami įdažnių lentelę (spausdinamas jų dažnis), tačiau skaičiuojant procentinius, <strong>su</strong>kauptus <strong>ir</strong> <strong>su</strong>kauptusprocentinius dažnius naudojamas nepraleistų stebėjimų skaičius, t.y. kaip <strong>ir</strong> punkte b.d) Tegu turime tokius pačius duomenis kaip punkte b.PROC FREQ DATA=d1;TABLES x / MISSING MISSPRINT;RUN;Output lange gauname tokią dažnių lentelę:x Frequency Percent Cumulative Frequency Cumulative Percent. 2 20 2 201 5 50 7 702 3 30 10 100Frequency missing = 2Kadangi panaudojome MISSING <strong>ir</strong> MISSPRINT, tai praleisti stebėjimai yraįtraukiami į procentinių, <strong>su</strong>kauptų <strong>ir</strong> <strong>su</strong>kauptų procentinių dažnių skaičiavimą.e) Tegu turime tokius pačius duomenis kaip punkte b.PROC FREQ DATA=d1;TABLES x / MISSING MISSPRINT OUT=d2;RUN;Rezultatai bus ne tik Output lange, bet <strong>ir</strong> bus įrašyti į duomenų lentelę „d2“. Gausimetokią lentelę:x Frequency Count Percent of total frequency. 2 201 5 502 3 30f) DATA d1;INPUT x @@;DATALINES;2 1 1 . 2 4 1 1 . 2;PROC FREQ DATA=d1 ORDER=DATA;TABLES x;RUN;66
Output lange gauname tokią dažnių lentelę:x Frequency Percent Cumulative Frequency Cumulative Percent2 3 37.5 3 37.51 4 50.0 7 87.54 1 12.5 8 100Frequency missing = 2Kadangi nurodėme ORDER=DATA, tai kintamojo x reikšmės dažnių lentelėjeišdėstytos taip, kaip jos yra išdėstytos duomenų lentelėje.g) Tegu duomenys tokie patys kaip punkte f.PROC FREQ DATA=d1 ORDER=FORMATTED;TABLES x;FORMAT x words10.;RUN;Output lange gauname tokią dažnių lentelę:x Frequency Percent Cumulative Frequency Cumulative Percentfour 1 12.5 1 12.5one 4 50.0 5 62.5two 3 37.5 8 100Frequency missing = 2Kadangi nurodėme ORDER=FORMATTED, tai kintamojo x reikšmės dažniųlentelėje išdėstytos pagal formatuotas reikšmes.h) Tegu duomenys tokie patys kaip punkte f.PROC FREQ DATA=d1 ORDER=FREQ;TABLES x / missprint;RUN;Output lange gauname tokią dažnių lentelę:x Frequency Percent Cumulative Frequency Cumulative Percent. 2 . . .1 4 50.0 4 50.2 3 37.5 7 87.54 1 12.5 8 100Frequency missing = 2Kadangi nurodėme ORDER=FREQ, tai kintamojo x reikšmės dažnių lentelėjeišdėstytos mažėjančio dažnio tvarka, išskyrus praleistus stebėjimus, kurie visada spausdinamipradžioje.i) Tarkime, kad duomenys yra tekstinėje byloje „duomenys.txt“. Duomenys yra tokie:kintamojo x reikšmės: a b . a a a b c . akintamojo y reikšmės: 1 2 1 2 1 2 1 1 1 1Sudarykime atsk<strong>ir</strong>ą dažnių lentelę kiekvienai kintamojo y reikšmei.DATA d2;INFILE ’c:\duomenys.txt’;INPUT x $ y;PROC SORT DATA=d2;BY y;PROC FREQ DATA=d2;TABLES x / missprint;BY y;RUN;Kadangi nurodėme BY sakinį, tai Output lange gauname atsk<strong>ir</strong>as lenteles kiekvienaikintamojo y reikšmei:67
--------------------------------y=1-------------------------------x Frequency Percent Cumulative Frequency Cumulative Percent2 . . .a 3 60 3 60b 1 20 4 80c 1 20 5 100Frequency missing = 2--------------------------------y=2-------------------------------x Frequency Percent Cumulative Frequency Cumulative Percenta 2 66.67 2 66.67b 1 33.33 3 100Kadangi procedūroje FREQ naudojame sakinį BY, tai prieš tai reikia <strong>su</strong>rūšiuotipradinę duomenų lentelę pagal BY kintamuosius.j)DATA d1;INPUT x $ y @@;DATALINES;a 1 b 2 a 1 a 2 c 1 . 1 b 3 . 4 b 1 a 1;PROC FREQ DATA=d1;TABLES x; WEIGHT y; RUN;Output lange gauname tokią dažnių lentelę:x Frequency Percent Cumulative Frequency Cumulative Percenta 5 41.67 5 41.67b 6 50.00 11 91.67c 1 8.33 12 100Frequency missing = 5WEIGHT sakinyje nurodytame kintamajame y yra stebėjimo dažnis.1.2. Kryžminės dviejų kintamųjų dažnių lentelėsKryžminės dažnių lentelės <strong>su</strong>daromos, kai turime du kintamuosius <strong>ir</strong> norimeapskaičiuoti kiek kartų pasikartojo kintamųjų reikšmių deriniai. Kryžminėms dažniųlentelėms taip pat naudojama procedūra FREQ. Sk<strong>ir</strong>iasi tik TABLES sakinio sintaksė:TABLES kintamasis_1 * kintamasis_2 / pas<strong>ir</strong>inktys;čia kintamasis_1, kintamasis_2 – kintamieji, kurių kryžminę dažnių lentelę norime <strong>su</strong>daryti.Galima naudoti tokias pačias pas<strong>ir</strong>inktis kaip <strong>ir</strong> <strong>su</strong>darant vieno kintamojo dažniųlenteles, be to, TABLES sakinyje galima nurodyti tokias papildomas pas<strong>ir</strong>inktis:NOCOL – neskaičiuoti stulpelių procentinių dažnių;NOROW - neskaičiuoti eilučių procentinių dažnių;NOFREQ - neskaičiuoti dažnių kiekvienam lentelės langeliui;NOPERCENT - neskaičiuoti procentinių dažnių (t.y. spausdinti tik dažnį, eilučių <strong>ir</strong> stulpeliųprocentinius dažnius).Taip pat galima naudoti WEIGHT <strong>ir</strong> BY sakinius kaip <strong>ir</strong> <strong>su</strong>darant vieno kintamojodažnių lenteles.3.3 p a v y z d y s. Pateiksime kryžminės dviejų kintamųjų dažnių lentelės pavyzdį.Editor lange įveskime:DATA pavyzdys;INPUT x $ y @@;DATALINES;a 1 b 2 a 1 a 2 . 1 b 3 . 4 b 1 a 1;PROC FREQ DATA=pavyzdys;TABLES x*y; RUN;68
Output lange gauname tokią dažnių lentelę:x yFrequencyPercentRow PctCol Pct 1 2 3 4 Totala 3 1 0 0 442.86 14.29 0.00 0.00 57.1475.00 25.00 0.00 0.0075.00 50.00 0.00 .b 1 1 1 0 314.29 14.29 14.29 0.00 42.8633.33 33.33 33.33 0.0025.00 50.00 100.00 .Total 4 2 1 0 757.14 28.57 14.29 0.00 100.00Frequency Missing = 2Šioje lentelėje kiekvienam kintamųjų x <strong>ir</strong> y reikšmių deriniui yra spausdinamas dažnis,procentinis dažnis, procentinis eilutės dažnis <strong>ir</strong> procentinis stulpelio dažnis.2. Skaitinės charakteristikosSkaitines charakteristikas galima <strong>su</strong>sk<strong>ir</strong>styti į tokias tris grupes:1) duomenų padėties;2) duomenų sklaidos;3) dažnių sk<strong>ir</strong>stinio formos.Pagrindinės duomenų padėties charakteristikos yra vidurkis, moda, mediana,kvantiliai. Pagrindinės duomenų sklaidos charakteristikos yra dispersija, standartinis nuokrypis,duomenų aibės plotis, koreguota <strong>ir</strong> nekoreguota kvadratų <strong>su</strong>ma, variacijoskoeficientas. Pagrindinės dažnių sk<strong>ir</strong>stinio formos charakteristikos yra asimetrijos <strong>ir</strong> ekscesokoeficientai.Šiame skyrelyje aprašysime įva<strong>ir</strong>ias skaitines charakteristikas, pateiksime jų statistinęinterpretaciją, formules skaitinių charakteristikų apskaičiavimui bei paaiškinsime kaip jasapskaičiuoti naudojant SAS procedūras MEANS <strong>ir</strong> UNIVARIATE.2.1. Skaitinės charakteristikos <strong>su</strong> procedūromis MEANS <strong>ir</strong> UNIVARIATESu procedūra MEANS galima apskaičiuoti įva<strong>ir</strong>ias skaitines kintamųjų charakteristikas.Procedūros MEANS sintaksė:PROC MEANS ;VAR kintamieji;RUN;Nebūtina pas<strong>ir</strong>inktis DATA=lentelė nurodo, kokios lentelės duomenis analizuosime.Pagal nutylėjimą procedūra MEANS apskaičiuoja: stebėjimų, panaudotų skaičiavimuose,skaičių N (t.y. nepraleistų stebėjimų skaičių), vidurkį (mean), standartinį nuokrypį(standard deviation), didžiausią (max) <strong>ir</strong> mažiausią (min) reikšmę. Jeigu išvardiname skaitinescharakteristikas, tai apskaičiuos tik nurodytas. 3.1 lentelėje yra pateiktas sąrašas skaitiniųcharakteristikų, kurias galima apskaičiuoti <strong>su</strong> procedūra MEANS.P a s t a b a. Procedūra MEANS modos neskaičiuoja.69
3.1 lentelė. Skaitinių charakteristikų sąrašasRaktinis žodisSkaitinė charakteristikaCSSkoreguota kvadratų <strong>su</strong>maCVvariacijos koeficientas (procentais)KURTOSIS | KURT eksceso koeficientasMAXmaksimali reikšmėMEANaritmetinis vidurkisMINminimali reikšmėMODEModaNstebėjimų, panaudotų skaičiavimuose, skaičiusNMISSpraleistų stebėjimų skaičiusNOBSstebėjimų skaičius, t.y. N+NMISSRANGEduomenų aibės plotisSKEWNESS | SKEW asimetrijos koeficientasSTD | STDstandartinis nuokrypisSTDERR | STDMEAN standartinė vidurkio paklaidaSUMstebėjimų <strong>su</strong>maSUMWGTsvorių <strong>su</strong>maUSSnekoreguota kvadratų <strong>su</strong>maVARDispersijaMEDIANMedianaP1p<strong>ir</strong>mas procentilisP5denktas procentilisP10dešimtas procentilisP90devyniasdešimtas procentilisP95devyniasdešimt penktas procentilisP99devyniasdešimt devintas procentilisQ1p<strong>ir</strong>mas kvartilisQ3trečias kvartilisQRANGEtarpkvartilinis plotisJeigu procedūroje MEANS nenurodome sakinio VAR, tai skaitinės charakteristikosbus apskaičiuotos visiems skaitinio tipo kintamiesiems iš pradinės duomenų lentelės. Jeigunurodome VAR sakinį, tai skaitinės charakteristikos bus apskaičiuotos tik nurodytiemskintamiesiems.P a s t a b a. Procedūra MEANS nenaudoja skaičiavimuose stebėjimų, kuriems analizuojamokintamojo reikšmė yra praleista.MEANS sakinyje galima nurodyti tokias pas<strong>ir</strong>inktis:MAXDEC=n nurodo maksimalų skaičių skaitmenų po kablelio, kuris yraspausdinamas; galimos n reikšmės: nuo 0 iki 8.VARDEF=sk nurodo dispersijos daliklį, čia sk=n-1 (pagal nutylėjimą) arba sk=n, kurn – stebėjimų skaičius.3.4 p a v y z d y s.a) PROC MEANS DATA=d1 MAXDEC=3 VAR MEAN;Visiems skaitinio tipo kintamiesiems bus apskaičiuota dispersija <strong>ir</strong> vidurkis; rezultatai busspausdinami <strong>su</strong> dviem skaitmenimis po kablelio.b) PROC MEANS DATA=d1; VAR X Y;70
Kintamiesiems X <strong>ir</strong> Y bus apskaičiuotas stebėjimų, panaudotų skaičiavimuose, skaičius;vidurkis; standartinis nuokrypis; didžiausia <strong>ir</strong> mažiausia reikšmė.Procedūroje MEANS galima nurodyti tokius sakinius:BY kintamieji;Bus atliekama atsk<strong>ir</strong>a analizė kiekvienai kintamųjų, nurodytų po BY, reikšmių grupei; jeinaudojame BY sakinį, tai prieš tai reikia <strong>su</strong>rūšiuoti pagal kintamuosius, nurodytus po BY. Jeinurodyto kintamojo (kintamųjų) reikšmė praleista, tai <strong>su</strong> ja elgiamasi kaip <strong>su</strong> bet kuria kitareikšme.CLASS kintamieji;Bus atliekama atsk<strong>ir</strong>a analizė kiekvienai kintamųjų, nurodytų po CLASS, reikšmių grupei.Rezultatai spausdinami kompaktiškesne forma negu <strong>su</strong> BY sakiniu, be to, duomenų prieš tainereikia <strong>su</strong>rūšiuoti. Kai nurodome CLASS sakinį, tai pagal nutylėjimą yra skaičiuojama darviena papildoma skaitinė charakteristika „N Obs“ – stebėjimų skaičius kiekvienoje CLASSkintamųjų reikšmių grupėje. Jei nurodyto kintamojo (kintamųjų) reikšmė yra praleista, taiatitinkamas stebėjimas neįtraukiamas į analizę, nebent nurodome MISSING pas<strong>ir</strong>inktį PROCarba CLASS sakinyje.FREQ kintamasis;Nurodyto kintamojo reikšmės yra stebėjimų dažniai, t.y. vienas stebėjimas atitinka kelisstebėjimus. Jeigu kintamojo reikšmė nesveikas skaičius, tai trupmeninė dalis atmetama. Je<strong>ir</strong>eikšmė mažesnė už vienetą arba praleistas stebėjimas, tai atitinkamas stebėjimas neįtraukiamasį skaičiavimus.WEIGHT kintamasis;Nurodome svorius. Kintamojo reikšmės nebūtinai sveiki skaičiai. Jeigu kintamojo reikšmė 0,tai stebėjimas įtraukiamas į bendrą stebėjimų skaičių. Jei kintamojo reikšmė mažesnė už 0, taiji konvertuojama į 0 <strong>ir</strong> atitinkamas stebėjimas įtraukiamas į bendrą stebėjimų skaičių. Jeigukintamojo reikšmė praleista, tai atitinkamas stebėjimas neįtraukiamas į analizę. Jei norimeišbraukti stebėjimus <strong>su</strong> neigiamais <strong>ir</strong> nuliniais svoriais iš analizės, tai reikia PROC sakinyjenurodyti pas<strong>ir</strong>inktį EXCLNPWGT.Procedūra UNIVARIATE apskaičiuoja tokias pačias skaitines kintamųjų charakteristikas(žr. 3.1 lentelę) kaip <strong>ir</strong> procedūra MEANS, tačiau pagal nutylėjimą ji spausdinapraktiškai vi<strong>sas</strong> skaitines charakteristikas:1) momentų lentelė (stebėjimų, panaudotų skaičiavimuose, skaičius, vidurkis,standartinis nuokrypis, asimetrijos <strong>ir</strong> eksceso koeficientai, koreguota <strong>ir</strong> nekoreguota kvadratų<strong>su</strong>mos, variacijos koeficientas, reikšmių <strong>su</strong>ma, svorių <strong>su</strong>ma, dispersija, standartinė vidurkiopaklaida);2) pagrindinių skaitinių charakteristikų lentelė (vidurkis, mediana, moda, standartinisnuokrypis, dispersija, duomenų aibės plotis, tarpkvartilinis plotis);3) kvantilių lentelė;4) ekstremalių reikšmių lentelė (pagal nutylėjimą penkios didžiausios <strong>ir</strong> penkiosmažiausios reikšmės).P a s t a b a. Paprastai procedūra MEANS yra naudojama, kai norime apskaičiuoti tikkeletą skaitinių charakteristikų, o procedūra UNIVARIATE, kai norime atlikti pilną kiekvienokintamojo analizę.Procedūros UNIVARIATE sintaksė:PROC UNIVARIATE ;VAR kintamieji;RUN;71
Procedūroje UNIVARIATE galima naudoti pas<strong>ir</strong>inktis VARDEF, EXCLNPWGT, beisakinius BY, FREQ, WEIGHT. Jų sintaksė <strong>ir</strong> pask<strong>ir</strong>tis tokia pati kaip <strong>ir</strong> procedūroje MEANS.Procedūros UNIVARIATE PROC sakinyje galima nurodyti pas<strong>ir</strong>inktį MODES, kurinurodo apskaičiuoti vi<strong>sas</strong> modas, nes pagal nutylėjimą yra spausdinama mažiausia moda.Galima nurodyti sakinįID kintamasis;tada nurodyto kintamojo reikšmės bus panaudotos identifikuoti ekstremalias analizuojamokintamojo reikšmes ekstremalių reikšmių lentelėje.3.5 p a v y z d y s.PROC UNIVARIATE DATA=duomenys;VAR svoris;ID nr;RUN;Šiame pavyzdyje analizuojamas kintamasis yra svoris. Kintamojo nr reikšmės buspanaudotos identifikuoti ekstremalias kintamojo svoris reikšmes ekstremalių reikšmiųlentelėje.P a s t a b a. Su praleistais stebėjimais procedūroje UNIVARIATE elgiamasi taip patkaip <strong>ir</strong> procedūroje MEANS.Toliau pateiksime formules, kurios naudojamos apskaičiuojant skaitines charakteristikasbei skaitinių charakteristikų savybes.Tegu x - analizuojamo kintamojo i-tojo stebėjimo reikšmė (imami tik nepraleistiistebėjimai); f i - i-tosios reikšmės x i dažnis, jeigu naudojame FREQ sakinį. Jei FREQsakinio nenaudojame, tai f i = 1 kiekvienam i; w i - i-tosios reikšmės x i svoris, jeigunaudojame WEIGHT sakinį. Jei WEIGHT sakinio nenaudojame, tai wi= 1 kiekvienam i; n –nepraleistų stebėjimų skaičius. Jei nurodome pas<strong>ir</strong>inktį EXCLNPWGT <strong>ir</strong> WEIGHT sakinį, tain nepraleistų stebėjimų <strong>su</strong> teigiamais svoriais skaičius.Duomenų padėties charakteristikos:1) vidurkis (mean):x w x w .(3.5)∑72/∑=i i iVidurkis – vidutinė stebėjimų reikšmė. Jis skaičiuojamas tik kiekybiniamsduomenims. Tai dažniausiai naudojama duomenų padėties skaitinė charakteristika.Vidurkis pasižymi tokiomis savybėmis. Tegu turime tokius duomenis: y1,...,yn.Pažymėkime y - aritmetinis vidurkis.a) Padauginkime kiekvieną reikšmę yiiš tam tikro skaičius u, t.y. vi= u * yi. Tadav1,...,v naritmetinis vidurkis yra v = u * y.b) Pridėkime (atimkime) prie kiekvienos reikšmės yitam tikrą skaičių u, t.y.vi = yi± u . Tada v1,...,vnaritmetinis vidurkis yra v = y ± u.Vidurkį nepatariama naudoti, kai yra viena ar keletas stipriai išsisk<strong>ir</strong>iančių (labai mažųarba labai didelių) reikšmių.2) Moda M0(mode) – reikšmė, kurios dažnis didžiausias. Moda gali būti skaičiuojama<strong>ir</strong> kiekybiniams, <strong>ir</strong> kokybiniams duomenims. Moda gali neegzistuoti – visos reikšmėspasikartoja vienodą skaičių kartų. Jei yra viena moda – tai dažnių sk<strong>ir</strong>stinys vadinama<strong>su</strong>nimodiniu, jei yra dvi modos – bimodiniu, jei daugiau negu dvi modos, tai multimodiniu.3) Procentiliai (percentile) – skaičiai, <strong>su</strong>sk<strong>ir</strong>stantys variacinę eilutę į 100 vienodųdalių; procentilis pa(a-tasis procentilis, a=1,...,100) yra skaičius variacinėje eilutėje, nuokurio į ka<strong>ir</strong>ę yra a% duomenų, o į dešinę (100-a) % duomenų (žr. 3.1 pav.).
3.1 pav. Procentilis paKvartiliai – skaičiai, <strong>su</strong>sk<strong>ir</strong>stantys variacinę eilutę į keturias lygias dalis (žr. 3.2 pav.).3.2 pav. KvartiliaiApatinis (p<strong>ir</strong>masis) kvartilis Q1- skaičius variacinėje eilutėje, nuo kurio į ka<strong>ir</strong>ę yra25% duomenų, o į dešinę 75% duomenų, jis yra 25-tasis procentilis. V<strong>ir</strong>šutinis (trečiasis)kvartilis Q3- skaičius variacinėje eilutėje, nuo kurio į ka<strong>ir</strong>ę yra 75% duomenų, o į dešinę25% duomenų, jis yra 75-tasis procentilis.Mediana Md- skaičius, už kurį 50% variacinės eilutės reikšmių yra nedidesnės <strong>ir</strong>50% nemažesnės (žr. 3.2 pav.), t.y. mediana yra vidurinė reikšmė. Mediana kaip <strong>ir</strong> vidurkischarakterizuoja duomenų centro padėtį. Ją patariama naudoti, kai duomenų aibėje yraekstremalių reikšmių (išsk<strong>ir</strong>čių).Kai dažnių sk<strong>ir</strong>stinys simetriškas <strong>ir</strong> unimodalus, tai X = M = dM 0.SAS yra realizuoti penki procentilių apskaičiavimo metodai. Metodas yra nurodomas<strong>su</strong> PCTLDEF=metodas (čia metodas=1, 2, 3, 4, 5) pas<strong>ir</strong>inktimi procedūros MEANS arbaUNIVARIATE PROC sakinyje.Tegu n yra analizuojamo kintamojo nepraleistų stebėjimųskaičius. Tarkime, kad reikšmes x1,..., xnišdėstėme į variacinę eilutę: x( 1)≤ x(2)≤ ... ≤ x(n).Reikia apskaičiuoti t-ąjį procentilį. pažymėkime p = t /100.Tegu j yra sveikoji np dalis, o gyra np arba (n+1)p trupmeninė dalis, t.y.np = j + g,( n + 1) p =j + g,kaikaiPCTLDEF = 1, 2, 3PCTLDEF = 4.Formulės procentilių apskaičiavimui pateiktos 3.2 lentelėje. Kai nurodome WEIGHTsakinį, tai t-asis procentilis y yra apskaičiuojamas taip:čiawiyra reikšmės(i)⎧⎪(x(⎨⎪x(i⎪⎩i)+ 1)+ x,( i+1)) / 2,kaikain∑ w ii=1i∑j=1i∑j=1wwjj=
3.2 lentelė. Procentilių apskaičiavimo metodaiPCTLDEF=Formulėy = ( 1−g)x + gx+x x ;1( j ) ( j 1),(0)=(1)23⎧x(i), kai g ≠ 1/ 2,⎪y = ⎨x(j), kai g = 1/ 2 <strong>ir</strong> j lyginis,⎪⎩x(j+ 1), kai g = 1/ 2 <strong>ir</strong> j nelyginis,čia i yra np +1/ 2 sveikoji dalis;⎧x(j), kai g = 0,y = ⎨⎩x(j+ 1), kai g > 0;y 1−g)x + gx x = x4 = (( j)( j+ 1),( n+1) ( n);5 (pagal nutylėjimą)⎧(xy = ⎨⎩x(( j)j+1)+ x,( j+1)) / 2,kaikaig = 0,g > 0;Duomenų sklaidos charakteristikos parodo duomenų išsidėstymą apie duomenųcentrą):1) duomenų aibės plotis (range) – sk<strong>ir</strong>tumas tarp didžiausios <strong>ir</strong> mažiausios reikšmės.Ši charakteristika labai jautri išsk<strong>ir</strong>tims.2) Tarpkvartilinis plotis (interquartile range):t.y. sk<strong>ir</strong>tumas tarp trečio <strong>ir</strong> p<strong>ir</strong>mo kvartilio.3) Dispersija (variance):s2IQR = Q 3− Q 1,(3.8)12= ∑ wi( xi− x), (3.9)dčia d yra dispersijos daliklis. Jis nurodomas <strong>su</strong> pas<strong>ir</strong>inktimi VARDEF=d procedūros MEANSarba UNIVARIATE PROC sakinyje. Galimos d reikšmės pateiktos 3.3 lentelėje, kurioje n -stebėjimų skaičius, o wi- i-tojo stebėjimo svoris. VARDEF=DF yra pagal nutylėjimą.Dispersija parodo reikšmių išsibarstymą apie vidurkį. Dispersijos savybės: a) jei vi<strong>sas</strong>kintamojo reikšmes padauginame iš to paties skaičiaus, tai gauta dispersija bus padauginta išto paties skaičiaus kvadrato; b) pridedant arba atimant tą patį skaičių iš kiekvienos reikšmės,dispersija nesikeičia.3.3 lentelė. Dispersijos daliklio reikšmėsKai VARDEF=d lyguNNDF n-1WEIGHTw∑ i∑ wiWDF −14) Vidutinis kvadratinis arba standartinis nuokrypis (standard deviation) kaip <strong>ir</strong>dispersija parodo duomenų sklaidą apie vidurkį. Tai dažniausiai skaičiuojama duomenųsklaidos charakteristika. Šios charakteristikos vienas iš privalumų, kad ji matuojama taispačiais matavimo vienetais kaip <strong>ir</strong> pradiniai duomenys, tuo tarpu dispersijos matavimovienetai yra duomenų matavimo vienetai kvadratu. Vidutinis kvadratinis nuokrypis gaunamasištraukus kvadratinę šaknį iš dispersijos, t.y.2s = s ,(3.10)74
čia2s yra dispersija.5) Standartinė vidurkio paklaida (standard error of mean):STDERR∑=is / w ,(3.11)čia s yra standartinis nuokrypis, wiyra reikšmės xidažnis. Ši charakteristika skaičiuojamatik tada, kai VARDEF=DF, kitais atvejais neskaičiuojama.6) Nekoreguota kvadratų <strong>su</strong>ma (uncorrected <strong>su</strong>m of squares):7) Koreguota kvadratų <strong>su</strong>ma (corrected <strong>su</strong>m of squares):2USS = ∑ w x i i.(3.12)∑2CSS = w ( x −x).(3.13)8) Variacijos koeficientas (coefficient of variation) procentais:ii100sCV = .(3.14)xVariacijos koeficientas bedimensinis dydis, jis naudojamas lyginant sk<strong>ir</strong>tingų duomenų aibiųsklaidas. Jis taip pat gali būti naudojamas, kai norime palyginti sk<strong>ir</strong>tingais matavimo vienetaismatuotų duomenų aibių sklaidą.Dažnių sk<strong>ir</strong>stinio formos charakteristikos:1) asimetrijos koeficientas (skewness) charakterizuoja dažnių sk<strong>ir</strong>stinio formossimetriškumą.Kai pas<strong>ir</strong>inktis VARDEF=DF, tai asimetrijos koeficientas apskaičiuojamas taip:čiaz ign( n −1)(n − 2)= 31 ∑ zi= ( x i− x)/ s standartizuoti stebėjimai.Kai pas<strong>ir</strong>inktis VARDEF=N, tai asimetrijos koeficientas apskaičiuojamas taip:g1n31= ∑ zi,,(3.15)(3.16)Kadangi asimetrijos koeficientas bedimensinis dydis, tai jį galime naudoti keliųduomenų aibių dažnių sk<strong>ir</strong>stinių asimetriškumui palyginti. Kai sk<strong>ir</strong>stinys simetriškas, taig 1≈ 0. Jeigu g1teigiamas, tai teigiama asimetrija (dešinioji), jei neigiamas – neigiamaasimetrija (ka<strong>ir</strong>ioji). 3.3 pav. pavaizduoti visi trys atvejai.3.3 pav. Simetriško <strong>ir</strong> asimetriškų sk<strong>ir</strong>stinių pavyzdžiaiJeigu g1arti nulio, bet <strong>su</strong>nku nuspręsti ar yra asimetrija, ar ne galima apskaičiuotip<strong>ir</strong>mąjį <strong>ir</strong> antrąjį P<strong>ir</strong>sono koeficientus (žr.[1]). P<strong>ir</strong>masis P<strong>ir</strong>sono asimetrijos koeficientasapskaičiuojamas taip:A(1)sX − M03( X − Md)= ≈ ,(3.17)s s75
čia X - aritmetinis vidurkis, M0- moda, Md- mediana, s - standartinis nuokrypis. Jeigu(1)| As| < 0,15, sk<strong>ir</strong>stinys simetriškas,(1)0,15 < | As| < 1, nedidelė asimetrija, (3.18)(1)| As| > 1, didelė asimetrija,arba(1)As≈ 0, sk<strong>ir</strong>stinys simetriškas,(1)As> 0, teigiama asimetrija, (3.19)(1)| A < 0, neigiama asimetrija,sAntrasis P<strong>ir</strong>sono asimetrijos koeficientas apibrėžiamas taip:A(2)sčia Q1<strong>ir</strong> Q3- p<strong>ir</strong>masis <strong>ir</strong> trečiasis kvartiliai,Q3+ Q1− 2Md= ,(3.20)Q − Q31Md- mediana. Asimetriškumo kriterijus tokspats kaip <strong>ir</strong> p<strong>ir</strong>majam P<strong>ir</strong>sono koeficientui.2) eksceso koeficientas (kurtosis) – dažnių sk<strong>ir</strong>stinio lėkštumo matas. KaiVARDEF=DF, tai eksceso koeficientas skaičiuojamas taip:čiaz ig2= n(n + 1)∑ 4 3( n −1)zi −,( n −1)(n − 2)( n − 3) ( n − 2)( n(3.21)− 3)= ( x i− x)/ s standartizuoti stebėjimai.Kai VARDEF=N, tai eksceso koeficientas apskaičiuojamas taip:g1= ∑ zin42−3.(3.22)Normaliojo sk<strong>ir</strong>stinio eksceso koeficientas g 2= 0.Jeigu g 1> 0 , tai dažnių sk<strong>ir</strong>stiniografikas smailesnis negu normaliojo sk<strong>ir</strong>stinio; jeigu g 1< 0 , tai – lėkštesnis. 3.4 pav.pavaizduoti visi trys atvejai.Teigiamas eksce<strong>sas</strong> Nulinis eksce<strong>sas</strong> Neigiamas eksce<strong>sas</strong>3.4 pav. Sk<strong>ir</strong>stinio <strong>su</strong> teigiamu, nuliniu <strong>ir</strong> neigiamu eksce<strong>su</strong> pavyzdžiaiKitos skaitinės charakteristikos, kurias skaičiuoja procedūros MEANS <strong>ir</strong> UNIVA-RIATE:1) maksimali reikšmė (MAX);2) minimali reikšmė (MIN);3) N – nepraleistų stebėjimų skaičius. Stebėjimai, kuriems dažnis mažesnis už 1,reikšmė praleista, svoris mažesnis arba lygus nuliui (kai naudojama pas<strong>ir</strong>inktisEXCLNPWGT), neįtraukiami į N skaičiavimą;76
4) NMISS – praleistų stebėjimų skaičius. Stebėjimai, kuriems dažnis mažesnis už 1,svoris mažesnis arba lygus nuliui (kai naudojama pas<strong>ir</strong>inktis EXCLNPWGT), neįtraukiami įNMISS skaičiavimą;5) NOBS – bendras stebėjimų skaičius, t.y. NOBS=N+NMISS;6) reikšmių <strong>su</strong>ma (<strong>su</strong>m): SUM = ∑ w ix i.∑=i7) svorių <strong>su</strong>ma (<strong>su</strong>m of weights): W w .3.6 p a v y z d y s. Buvo išmatuotas 20 vaikų ūgis.Gauti tokie rezultatai (cm):124 122 123 134 124 123 121 124 128 123 126 125 131 119 122 125 130 122 125 121Reikia apskaičiuoti vidurkį, dispersiją, standartinį nuokrypį, p<strong>ir</strong>mą kvartilį <strong>ir</strong> medianą.Interpretuoti gautus rezultatus. Analizę atliksime <strong>su</strong> procedūra MEANS. Editor langeįveskime:DATA vaikai;INFILE ’c:\vaikai.txt’;INPUT ugis @@;PROC MEANS DATA=vaikai MAXDEC=2 MEAN VAR STD Q1 MEDIAN;RUN;Output lange gauname tokius rezultatus:The MEANS ProcedureAnalysis Variable : ugisLowerMean Variance Std Dev Quartile Median124.60 13.62 3.69 122.00 124.00Kadangi nurodėme MAXDEC=DF, tai rezultatai spausdinami <strong>su</strong> dviem skaitmenimispo kablelio. Kadangi nurodėme statistikų sąrašą, tai buvo apskaičiuotos tik nurodytosskaitinės charakteristikos. Kai nenurodome VAR sakinio, tai skaitinės charakteristikosapskaičiuojamos visiems kintamiesiems iš pradinės duomenų lentelės. DATA=vaikai nurodokokios lentelės duomenis analizuosime.Gavome, kad vidutinis vaikų ūgis yra 124.6 cm; standartinis nuokrypis yra 3.69, odispersija yra 13.62, šios dvi skaitinės charakteristikos parodo duomenų išsidėstymą apievidurkį; p<strong>ir</strong>masis kvartilis lygus 122 cm, t.y. 5 (t.y. 25%) vaikų ūgis mažesnis už 122 cm <strong>ir</strong> 15(t.y.75%) vaikų ūgis didesnis už 122 cm.Tokius pačius rezultatus gautume <strong>ir</strong> <strong>su</strong> procedūra UNIVARIATE, Editor lange įvedę:PROC UNIVARIATE DATA=vaikai MAXDEC=2; RUN;3.7 p a v y z d y s. Tarkime, kad duota SAS duomenų lentelė „Kineskopai“, kuriojeyra 200 kineskopų (4 paletai po 50 kineskopų) parametrų matavimai dviejose gamybinėseoperacijos (I testeris <strong>ir</strong> II testeris). I testeryje buvo matuoti tokie parametrai: spindulio Rsrovės stiprumas (i_katodo_r), spindulio G srovės stiprumas (i_katodo_g), spindulio B srovėsstiprumas (i_katodo_b); II testeryje buvo matuoti tokie parametrai: spindulio R srovėsstiprumas (i_r), spindulio G srovės stiprumas (i_g), spindulio B srovės stiprumas (i_b). Bepaminėtų stulpelių lentelėje yra dar du stulpeliai: kineskopo numeris (kin_nr) <strong>ir</strong> paletonumeris (paleto_nr).Tarkime, kad reikia apskaičiuoti vidurkį, standartinį nuokrypį, minimalią <strong>ir</strong> maksimaliąreikšmę I testeryje matuotiems parametrams atsk<strong>ir</strong>ai kiekvienam paletui. Šio uždaviniosprendimui panaudosime procedūrą MEANS. Editor lange įveskime:PROC MEANS DATA=kineskopai MAXDEC=4;VAR i_katodo_r i_katodo_g i_katodo_b;CLASS paleto_nr;RUN;Output lange gauname tokį rezultatą:77
The MEANS ProcedureNpaleto_nr Obs Variable Label N Mean Std Dev Minimum Maximum1 50 i_katodo_r i_katodo_r 47 6.6915 0.3815 6.0000 9.0000i_katodo_g i_katodo_g 47 6.5851 0.3557 6.0000 8.8000i_katodo_b i_katodo_b 47 6.5617 0.3281 6.0000 8.60002 50 i_katodo_r i_katodo_r 49 6.6000 0.1555 6.3000 7.0000i_katodo_g i_katodo_g 49 6.5061 0.1298 6.3000 6.8000i_katodo_b i_katodo_b 49 6.5061 0.1376 6.1000 6.80003 50 i_katodo_r i_katodo_r 49 6.5898 0.1584 6.3000 6.9000i_katodo_g i_katodo_g 49 6.5184 0.1318 6.3000 6.9000i_katodo_b i_katodo_b 49 6.5245 0.1331 6.3000 6.80004 50 i_katodo_r i_katodo_r 49 6.6204 0.1323 6.2000 6.8000i_katodo_g i_katodo_g 49 6.5204 0.1369 6.2000 6.8000i_katodo_b i_katodo_b 49 6.5184 0.1467 6.2000 6.8000Kadangi nurodėme CLASS sakinį, tai stebėjimai buvo <strong>su</strong>sk<strong>ir</strong>styti į grupes pagalkintamojo, nurodyto po CLASS, reikšmes <strong>ir</strong> atlikta atsk<strong>ir</strong>a analizė kiekvienai grupei (t.y.atsk<strong>ir</strong>a analizė kiekvienam paletui). Sakinyje VAR nurodome kurių kintamųjų skaitinescharakteristikas reikia apskaičiuoti.Kiekvienam kintamajam gavome tokias skaitines charakteristikas:1) N Obs – stebėjimų skaičius;2) N – parodo kiek stebėjimų buvo panaudota apskaičiuojant kintamojo skaitinescharakteristikas, pavyzdžiui, apskaičiuojant kintamojo i_katodo_r skaitines charakteristikasantrajame palete buvo panaudoti 49 stebėjimai (vienas stebėjimas neįtrauktas į analizę, nes joreikšmė praleista);3) vidurkis (Mean); matome, kad, pavyzdžiui, i_katodo_r vidurkis antrajame paleteyra 6.6, o trečiajame palete yra 6.5898;4) standartinis nuokrypis (Std Dev); matome, kad, pavyzdžiui, i_katodo_r standartinisnuokrypis antrajame palete yra 0.1555, o trečiajame palete yra 0.1584;5) minimali reikšmė (Minimum); matome, kad, pavyzdžiui, p<strong>ir</strong>mame palete visųsrovių minimali reikšmė yra 6;6) maksimali reikšmė (Maximum); matome, kad, pavyzdžiui, ketv<strong>ir</strong>tajame palete visųsrovių maksimali reikšmė yra 6.8.Atlikime išsamesnę kurio nors kintamojo, pavyzdžiui, i_katodo_r, stebėjimų p<strong>ir</strong>majamepalete analizę. Editor lange įveskime:PROC UNIVARIATE DATA=kineskopai;VAR i_katodo_r;WHERE paleto_nr=1;RUN;Output lange gauname tokį rezultatą:The UNIVARIATE ProcedureVariable: i_katodo_r (i_katodo_r)MomentsN 47 Sum Weights 47Mean 6.69148936 Sum Observations 314.5Std Deviation 0.38154707 Variance 0.14557817Skewness 4.85337467 Kurtosis 30.3015408Uncorrected SS 2111.17 Corrected SS 6.69659574Coeff Variation 5.70197532 Std Error Mean 0.05565436LocationBasic Statistical Mea<strong>su</strong>resVariabilityMean 6.691489 Std Deviation 0.3815578
Median 6.700000 Variance 0.14558Mode 6.600000 Range 3.00000Interquartile Range 0.30000Quantiles (Definition 5)Quantile Estimate100% Max 9.099% 9.095% 6.990% 6.875% Q3 6.850% Median 6.725% Q1 6.510% 6.55% 6.41% 6.00% Min 6.0Extreme Observations----Lowest---- ----Highest---Value Obs Value Obs6.0 2 6.8 366.4 50 6.9 216.4 43 6.9 246.4 40 6.9 486.5 49 9.0 12Gavome, kad p<strong>ir</strong>majame palete vidutinis spindulio R srovės stiprumas yra6.69148936; standartinis nuokrypis yra 0.38154707; asimetrijos koeficientas yra 4.85337467,taigi, sk<strong>ir</strong>stinys asimetriškas; eksceso koeficientas yra 30.3015408, taigi, dažnių sk<strong>ir</strong>stinysžymiai smailesnis negu normaliojo sk<strong>ir</strong>stinio; trečiasis kvartilis lygus 6.8, t.y. 75% kineskopųspindulio R srovės stiprumas yra mažesnis už 6.8; mediana lygi 6.7, t.y. 50% kineskopųspindulio R srovės stiprumas yra mažesnis už 6.7.2.2. Standartizuotos reikšmėsTarkime, kad turime duomenų aibę x , ,...,1x2 xn.Tada standartizuotos reikšmės zi,i = 1,....,napskaičiuojamos taip:čia x yra reikšmiųx ,...,zxi− x= , i 1,..., n,(3.23)si=1, x2xnaritmetinis vidurkis, o s – standartinis nuokrypis.z , z2,..., znGautos duomenų aibės1aritmetinis vidurkis yra lygus 0, o standartinisnuokrypis lygus 1.Standartizuotos reikšmės yra bedimensiniai dydžiai <strong>ir</strong> gali būti panaudotos palygintisk<strong>ir</strong>tingas duomenų aibes.3.8 p a v y z d y s. Tarkime, kad turime duomenis iš 3.6 pavyzdžio, šiame pavyzdyjebuvome gavę, kad vaikų ūgių vidurkis yra 124.6, o standartinis nuokrypis 3.69.Standartizuokime duomenis. Editor lange įveskime:DATA vaikai;SET vaikai;st_ugis=(ugis-124.6)/3.69;RUN;Atlikus šį Data žingsnį lentelėje „vaikai“ bus <strong>su</strong>kurtas dar vienas stulpelis „st_ugis“,kuriame bus standartizuotos kintamojo „ugis“ reikšmės.79
2.3 Išsk<strong>ir</strong>tysIšsk<strong>ir</strong>tys – reikšmės stipriai išsisk<strong>ir</strong>iančios iš kitų reikšmių. Jos iškraiposkaičiavimus, apskaičiuotos charakteristikos yra nestabilios, todėl prieš atliekant duomenųanalizę reikėtų patikrinti ar nėra išsk<strong>ir</strong>čių. Jeigu yra, tai reikia nustatyti išsk<strong>ir</strong>ties ats<strong>ir</strong>adimopriežastį, galbūt, tai duomenų įvedimo klaida, pasikeitė eksperimento sąlygos, labai retasįvykis <strong>ir</strong> pan. Matavimo rezultatai <strong>su</strong> išsk<strong>ir</strong>timis kartais lengvai pastebimi, nes jie žymiaisk<strong>ir</strong>iasi nuo kitų. Abejotinais atvejais atliekama analizė, padedanti <strong>su</strong>rasti išsk<strong>ir</strong>tis.Kai duomenų sk<strong>ir</strong>stinys normalusis, duomenų aibės išsk<strong>ir</strong>tys nustatomos naudojantstandartizuotas reikšmes z1, z2,..., zn. Galima naudotis tokia taisykle: reikšmė xiyra sąlyginėišsk<strong>ir</strong>tis, jei atitinkama reikšmė zitenkina sąlygą: 2 < | z i| < 3;reikšmė xiyra išsk<strong>ir</strong>tis, jeiatitinkama reikšmė zitenkina sąlygą: | zi| > 3.Kai duomenų sk<strong>ir</strong>stinys nėra artimas normaliajam sk<strong>ir</strong>stiniui galima naudotis tokiataisykle (žr. [3]): reikšmė yra sąlyginė išsk<strong>ir</strong>tis, jei ji priklauso intervalui: [Q1-3*IQR, Q1-1.5*IQR) arba (Q3+1.5*IQR, Q3+3*IQR]; reikšmė yra išsk<strong>ir</strong>tis, jei ji mažesnė už Q1-3*IQRarba didesnė už Q3+3*IQR, čia Q1 – p<strong>ir</strong>masis kvartilis, Q3 – trečiasis kvartilis, IQR=Q3-Q1tarpkvartilinis plotis.3.9 p a v y z d y s. Buvo išmatuotas 20 vaikų ūgis.Gauti tokie rezultatai (cm):124 122 123 134 124 123 121 124 128 123 126 125 131 119 122 125 130 122 125 121Duomenų lentelę galime <strong>su</strong>kurti <strong>su</strong> tokiu Data žingsniu:DATA vaikai;INFILE ’c:\vaikai.txt’;INPUT ugis @@;RUN;Norint apskaičiuoti išsk<strong>ir</strong>tis <strong>ir</strong> sąlygines išsk<strong>ir</strong>tis, reikia žinoti p<strong>ir</strong>mojo Q1, trečiojo Q3kvartilio <strong>ir</strong> trapkvartilinio pločio IQR=Q3-Q1 reikšmes. Jas galima apskaičiuoti <strong>su</strong> procedūraMEANS:PROC MEANS DATA=vaikai Q1 Q3 QRANGE;var ugis;RUN;Output lange gauname:The MEANS ProcedureAnalysis Variable : ugisLower Upper QuartileQuartile Quartile Range122.0000000 125.5000000 3.5000000Apskaičiuojame sąlyginių išsk<strong>ir</strong>čių intervalus:[Q1-3*IQR, Q1-1.5*IQR)=[122-3*3.5, 122-1.5*3.5) =[111.5, 116.75) arba(Q3+1.5*IQR, Q3+3*IQR]=(125.5+1.5*3.5, 125.5+3*3.5] =(130.75, 136].Palyginę gautas reikšmes <strong>su</strong> pradiniais duomenimis matome, kad reikšmės 131 <strong>ir</strong> 134yra sąlyginės išsk<strong>ir</strong>tys.Reikšmė yra išsk<strong>ir</strong>tis, jei ji mažesnė už Q1-3*IQR=122-3*3.5=111.5 arba didesnė užQ3+3*IQR=125.5+3*3.5=136. Palyginę gautas reikšmes <strong>su</strong> pradiniais duomenimis matome,kad išsk<strong>ir</strong>čių nėra.2.4. Skaitinių charakteristikų įrašymas į duomenų lentelęVisose SAS procedūrose yra numatyta galimybė gautus rezultatus įrašyti į lentelę.Aprašysime kaip skaitines charakteristikas, apskaičiuotas <strong>su</strong> procedūra MEANS arbaUnivariate įrašyti į lentelę.80
Procedūroje MEANS galima naudoti sakinį OUTPUT, kuris nurodo, kad rezultatusįrašyti į SAS lentelę. Sintaksė:OUTPUT OUT = lentelė statistikų_sąrašas;čia lentelė – lentelės vardas, į kurią norime įrašyti rezultatus, statistikų_sąrašas - išvardinameskaitines charakteristikas, kurias norime įrašyti į lentelę.Galima naudoti kelis OUTPUT sakinius arba kelis statistikų sąrašus.Viena iš galimųstatistikų sąrašo formų:<strong>statistika</strong> (kintamieji)=vardų_sąrašasčia <strong>statistika</strong> – nurodome kokią skaitinę charakteristiką įrašyti (pavyzdžiui, jei norime įrašytividurkį, tai rašome MEAN; galimų raktinių žodžių sąrašą žr. 3.1 lentelėje), kintamieji –analizuojami kintamieji, vardų_sąrašas – kokiais vardais pavadinti stulpelius rezultatųlentelėje; analizuojamų kintamųjų <strong>ir</strong> vardų sąrašo tvarka <strong>su</strong>sijusi.3.10 p a v y z d y s.PROC MEANS DATA=d1 NOPRINT;VAR k1 k2 k3;OUTPUT OUT=nauja SUM(k1 k3)=<strong>su</strong>ma_k1 <strong>su</strong>ma_k3;RUN;Nebūtina pas<strong>ir</strong>inktis NOPRINT nurodo, kad rezultatus įrašyti į lentelę, bet Outputlange nespausdinti. Bus <strong>su</strong>kurta lentelė „nauja“ <strong>su</strong> dviem stulpeliais <strong>su</strong>ma_k1 <strong>ir</strong> <strong>su</strong>ma_k3 <strong>ir</strong>vienu stebėjimu (eilute), p<strong>ir</strong>mame stulpelyje bus kintamojo k1 reikšmių <strong>su</strong>ma, o antramekintamojo k3 reikšmių <strong>su</strong>ma.3.11 p a v y z d y s. Tarkime, kad turime tokius pačius duomenis kaip 3.7 pavyzdyje,t.y. duomenų lentelė „Kineskopai“, kurioje yra 200 kineskopų (4 paletai po 50 kineskopų)parametrų matavimai dviejose gamybinėse operacijos (I testeris <strong>ir</strong> II testeris). ApskaičiuokimeII testeryje matuotų parametrų (t.y. spindulio R srovės stiprumo (i_r), spindulio G srovėsstiprumo (i_g), spindulio B srovės stiprumo (i_b)) vidurkius atsk<strong>ir</strong>ai kiekvienam paletui <strong>ir</strong>įrašykime į lentelę „vidurkiai_1“.PROC MEANS NOPRINT DATA=Kineskopai;BY paleto_nr;VAR i_r i_g i_b;OUTPUT OUT=vidurkiai MEAN (i_r i_g i_b)=vid_i_r vid_i_g vid_i_b;RUN;Gausime tokią lentelę “vidurkiai_1”:paleto_nr _TYPE_ _FREQ_ vid_i_r Vid_i_g vid_i_b1 0 50 6.244 6.212 6.2682 0 50 6.202 6.174 6.2083 0 50 6.138 6.162 6.1864 0 50 6.238 6.188 6.266Stulpelio _TYPE_ reikšmė 0 reiškia, kad apskaičiuotas bendras vidurkis kiekvienamepalete; stulpelyje _FREQ_ yra stebėjimų, panaudotų skaičiuojant vidurkį, skaičius; kituosestulpeliuose yra analizuojamų kintamųjų vidurkiai.Procedūroje UNIVARIATE galima naudoti sakinį OUTPUT, kuris nurodo, kadrezultatus įrašyti į SAS lentelę. Sintaksė:OUTPUT OUT=lentelė statistikų_sąrašas=stulpelių_vardai;3.12 p a v y z d y s. Duota lentelė „Testas“, kurioje yra tokie duomenys: studentopažymėjimo numeris (nr), dviejų testų (testas_1 <strong>ir</strong> testas_2) <strong>ir</strong> egzamino (egzaminas)rezultatai. Apskaičiuosime p<strong>ir</strong>mo <strong>ir</strong> antro testo vidurkį, bei p<strong>ir</strong>mojo testo standartinį nuokrypį.Duomenis įrašysime į lentelę „Rezultatai“.81
DATA Testas;INPUT nr $ testas_1 testas_2 egzaminas @@;DATALINES;01145 6 8 7 01147 9 10 1001148 7 7 6 01149 6 6 701150 9 9 9 01152 8 9 801153 8 8 9 01154 9 9 801155 8 9 8 01156 9 10 1001157 9 10 8 01158 6 7 6;PROC UNIVARIATE DATA=Testas NOPRINT;VAR testas_1 testas_2;OUTPUT OUT=Rezultatai MEAN=vid_test1 vid_test2 STD=stand_nuokr_test1;RUN;Į lentelę įrašys p<strong>ir</strong>mo <strong>ir</strong> antro testų vidurkius (stulpeliai vadinsis vid_test1 <strong>ir</strong>vid_test2); kintamojo testas_1 standartinį nuokrypį (stulpelis vadinsis stand_nuokr_test1).Lentelėje ”Rezultatai” gausime: vid_test1=7.833, vid_test2=8.5,stand_nuokr_test1=1.2673.2.5. Skaitinių charakteristikų apjungimas <strong>su</strong> pradiniais duomenimisIliustruosime kaip <strong>su</strong> procedūra MEANS arba UNIVARIATE apskaičiuotas <strong>ir</strong> įrašytasį lentelę <strong>statistika</strong>s apjungti <strong>su</strong> pradinės lentelės duomenimis.3.13 pavyzdys. Duota lentelė ”Duomenys”, kurioje yra trys kintamieji: prekėspavadinimas (pavad), diena (diena), parduotų vienetų skaičius (kiekis). Reikia paruoštiataskaitą atsk<strong>ir</strong>ai kiekvienai dienai <strong>ir</strong> apskaičiuoti procentą parduotų to pavadinimo prekiųtarp tą dieną parduotų prekių. Editor lange įveskime:DATA Duomenys;INPUT pavad $ diena $ kiekis;LABEL pavad=’Prekės pavadinimas’diena=’Diena’kiekis=’Parduotų vienetų skaičius’;DATALINES;x1 1 15x2 1 20x3 2 31x4 1 22x5 3 41x6 2 18;PROC SORT DATA=Duomenys;BY diena;PROC MEANS NOPRINT DATA=Duomenys;VAR kiekis;BY diena;OUTPUT OUT=Rezultatai SUM(kiekis)=bendras_sk;PROC PRINT DATA=Rezultatai; RUN;Data žingsnyje yra <strong>su</strong>kuriama pradinių duomenų lentelė „Duomenys“. ProcedūraMEANS apskaičiuoja kiekvieną dieną parduotų prekių skaičių (bendras_sk) <strong>ir</strong> duomenis įrašoį lentelę „Rezultatai“. Kadangi procedūroje MEANS naudojame BY sakinį, tai prieš tai reikia<strong>su</strong>rūšiuoti (<strong>su</strong> procedūra SORT) pagal kintamąjį, nurodytą po BY. Rezultatas:DATA Procentai;MERGE Duomenys Rezultatai;BY diena;Obs diena _TYPE_ _FREQ_ bendras_sk1 1 0 3 572 2 0 2 493 3 0 1 4182
Procentai=kiekis/bendras_sk*100;PROC PRINT DATA=Procentai;BY diena; ID diena;VAR pavad kiekis bendras_sk procentai;RUN;Data žingsnyje yra apjungiama pradinių duomenų lentelė „Duomenys“ <strong>su</strong> lentelė„Rezultatai“, kurioje yra apskaičiuoti vidurkiai <strong>ir</strong> apskaičiuojami procentai. Rezultatas:diena pavad kiekis bendras_sk procentai1 x1 15 57 26.316x2 20 57 35.088x4 22 57 38.5962 x3 31 49 63.265x6 18 49 36.7353 x5 41 41 100.000Su procedūra MEANS arba UNIVARIATE galima <strong>su</strong>kurti lentelę, kurioje vietojegrupių <strong>su</strong>mų būtų bendra <strong>su</strong>ma. Tačiau šiuo atveju mes negalime naudoti MERGE, nes nėrabendrų kintamųjų. Daroma taip (žr. [7]):DATA nauja_lentelė;IF _N_=1 THEN SET bendra_<strong>su</strong>ma;SET pradinė_lentelė;RUN;čia bendra_<strong>su</strong>ma – lentelė <strong>su</strong> vienu stebėjimu, kurioje yra bendra <strong>su</strong>ma; pradinė_lentelė –lentelė <strong>su</strong> daugiau negu vienu stebėjimu (pradinė duomenų lentelė).P a s t a b a. Tokią procedūrą galima taikyti bet kada, kai reikia apjungti lentelę <strong>su</strong>vienu stebėjimu <strong>su</strong> lentelė, kurioje yra daugiau negu vienas stebėjimas <strong>ir</strong> lentelės neturibendrų kintamųjų.3.14 p a v y z d y s. Tarkime, kad turime tokius pačius duomenis kaip 3.9 pavyzdyje.Šiame pavyzdyje mes tikrinome ar duomenų aibėje yra sąlyginių išsk<strong>ir</strong>čių arba išsk<strong>ir</strong>čių,tačiau tai mes atlikome rankiniu būdu. Gavome, kad reikšmės 131 <strong>ir</strong> 134 yra sąlyginėsišsk<strong>ir</strong>tys. Parašykime programą, kuri <strong>su</strong>kurtų lentelę, kurioje būtų sąlyginės išsk<strong>ir</strong>tys. Išpradžių reikia apskaičiuoti p<strong>ir</strong>mą <strong>ir</strong> trečią kvartilius, juos įrašyti į lentelę, paskui šias skaitinescharakteristikas apjungti <strong>su</strong> pradiniais duomenimis <strong>ir</strong> lentelėje palikti tik tuos stebėjimus,kurie yra sąlyginės išsk<strong>ir</strong>tys. Editor lange įveskime:DATA vaikai;INPUT ugis @@;DATALINES;124 122 123 134 124 123 121 124 128 123 126 125 131 119122 125 130 122 125 121;RUN;PROC MEANS NOPRINT DATA=vaikai;VAR ugis;OUTPUT OUT=pagalbinis Q1(ugis)=Q1 Q3(ugis)=Q3;RUN;DATA rezultatas;IF _N_=1 THEN SET pagalbinis;SET vaikai;RUN;DATA rezultatas;SET rezultatas;IQR=Q3-Q1;IF Q1-3*IQR
Lentelėje „rezultatas“ bus tik tie stebėjimai iš pradinės duomenų lentelės, kurie yrasąlyginės išsk<strong>ir</strong>tys, t.y. reikšmės 131 <strong>ir</strong> 134.3. Grafiniai duomenų analizės metodaiGrafikai <strong>su</strong>teikia informacijos apie duomenų sk<strong>ir</strong>stinio formą, išsk<strong>ir</strong>tis, modą,didžiausią <strong>ir</strong> mažiausią reikšmes <strong>ir</strong> pan. Pavaizdavus duomenis grafiškai, lengviau juosinterpretuoti. Yra labai daug įva<strong>ir</strong>ių grafikų. Vieni grafikai braižomi kokybiniams, kitikiekybiniams duomenims, yra grafikų sk<strong>ir</strong>tų vienam kintamajam, poriniams stebėjimams <strong>ir</strong>pan. Šiame skyrelyje aprašysime kai kurių dažniausiai naudojamų grafikų <strong>ir</strong> diagramųbraižymą <strong>su</strong> SAS.3.1. Stulpelių diagramosStulpelių diagramos braižomos kokybiniams arba kiekybiniams kintamiesiems, kurieįgyja ne daug reikšmių. Šiose diagramose dažnį atitinka stulpelio aukštis. Braižomoshorizontalių <strong>ir</strong> vertikalių stulpelių diagramos. Galima braižyti dažnių, procentinių dažnių,<strong>su</strong>kauptų arba <strong>su</strong>kauptų procentinių dažnių diagramas. SAS taip pat yra numatyta galimybėbraižyti palyginamąsias stulpelių diagramas, o taip pat vidurkių <strong>ir</strong> <strong>su</strong>mų stulpelių diagramas.3.1.1. Dažnių stulpelių diagramosStulpelių diagramos (Bar charts) yra braižomos <strong>su</strong> SAS modulio BASE procedūraCHART arba <strong>su</strong> SAS modulio GRAPH procedūra GCHART. Su procedūra GCHART galimanubraižyti aukštesnės kokybės grafikus. Iš pradžių aprašysime kaip braižyti <strong>su</strong> procedūraCHART. Vertikalių stulpelių diagrama:PROC CHART DATA=lentelė;VBAR kintamieji / pas<strong>ir</strong>inktys;RUN;Horizontalių stulpelių diagrama :PROC CHART DATA=lentelė;HBAR kintamieji / pas<strong>ir</strong>inktys;RUN;čia lentelė – duomenų lentelės vardas; kiekvienam nurodytam kintamajam braižoma atsk<strong>ir</strong>adiagrama.VBAR <strong>ir</strong> HBAR sakinuose galima nurodyti tokias pas<strong>ir</strong>inktis:grafiko tipas: TYPE =FREQ dažnių grafikas;TYPE =PECENT procentinių dažnių grafikas;TYPE =CFREQ <strong>su</strong>kauptų dažnių grafikas;TYPE =CPERCENT <strong>su</strong>kauptų procentinių dažnių grafikas;MISSING - praleisti stebėjimai pavaizduojami atsk<strong>ir</strong>u stulpeliu.Pagal nutylėjimą tariama, kad skaitinio tipo kintamasis yra tolydus <strong>ir</strong> procedūra<strong>su</strong>grupuoja duomenis į intervalus. Jei skaitinio tipo kintamasis įgyja tik keletą reikšmių <strong>ir</strong>norime atsk<strong>ir</strong>o stulpelio kiekvienai reikšmei, tai nurodome pas<strong>ir</strong>inktį DISCRETE.Kaip duomenis <strong>su</strong>grupuoti į intervalus galima nurodyti <strong>su</strong> MIDPOINTS=reikšmės, čiareikšmės, tai grupavimo intervalo vidurio taškai (išdėstyti didėjančia tvarka), pavyzdžiui,MIDPOINTS=5.5 6.5 7.5; arba LEVELS=n, čia n – stulpelių skaičius.3.15 p a v y z d y s.DATA d1;INPUT x $ @@;DATALINES;a b c a a b a c b a;RUN;PROC CHART DATA=d1;84
HBAR x / TYPE=CFREQ;RUN;PROC CHART DATA=d1;VBAR x;RUN;P<strong>ir</strong>mosios procedūros CHART rezultatas yra kintamojo x <strong>su</strong>kauptų dažniųhorizontalių stulpelių diagrama (žr. 3.5 pav.), nes nurodėme TYPE=CFREQ.Antrosios procedūros CHART rezultatas yra kintamojo x dažnių vertikalių stulpeliųdiagrama (žr. 3.6 pav).3.5 pav. Sukauptų dažnių horizontalių stulpelių diagrama3.6 pav. Dažnių vertikalių stulpelių diagrama3.16 p a v y z d y s.DATA d2;INPUT x $ @@;DATALINES;a b c . a b . b b b;RUN;PROC CHART DATA=d2;VBAR x;RUN;PROC CHART DATA=d2;VBAR x / MISSING;RUN;Šių procedūrų rezultatai pateikti 3.7 pav. Antrojoje diagramoje praleisti stebėjimaipavaizduoti atsk<strong>ir</strong>u stulpeliu, nes procedūroje nurodėme MISSING.85
P<strong>ir</strong>mosios procedūros CHART rezultatas3.7 pav. Stulpelių diagramosAntrosios procedūros CHART rezultatasP a s t a b a. Procedūroje CHART kaip <strong>ir</strong> kitose SAS procedūrose galima naudotisakinius: BY (atsk<strong>ir</strong>as grafikas kiekvienai stebėjimų grupei), WHERE (grafikas imant dalįpradinių duomenų), žr. I sk. 14 skyrelį.Su procedūra GCHART galima nubraižyti geresnės kokybės grafikus. Galima naudotitokias pačias pas<strong>ir</strong>inktis kaip <strong>ir</strong> procedūroje CHART, be to, yra daug kitų pas<strong>ir</strong>inkčių, kuriųsąrašą galima pasižiūrėti pagrindiniame meniu pas<strong>ir</strong>inkus Help→SAS Help and Documentation.Pateiksime pavyzdį.3.17 p a v y z d y s.DATA d1;INPUT x @@;DATALINES;1 2 1 2 3 1 1;RUN;pattern color=blue;PROC GCHART DATA=d1;VBAR x / DISCRETE; /* atsk<strong>ir</strong>as stulpelis kiekvienai x reikšmei*/RUN;pattern color=green; /* nurodome stulpelių spalvą*/PROC GCHART DATA=d1;HBAR x / TYPE=CFREQ DISCRETE; /* <strong>su</strong>kauptų dažnių stulpelių diagrama*/RUN; QUIT;Šių procedūrų rezultatas pateiktas 3.8 pav. Kadangi nurodėme DISCRETE, taibraižomas atsk<strong>ir</strong>as stulpelis kiekvienai x reikšmei. Sakinyje PATTERN <strong>su</strong> COLORpas<strong>ir</strong>inktimi nurodėme stulpelio spalvą. Antrojoje procedūroje CHART nurodėmeTYPE=CFREQ, todėl nubraižė <strong>su</strong>kauptų dažnių diagramą.86
P<strong>ir</strong>mosios procedūros GCHART rezultatasAntrosios procedūros GCHART rezultatas3.8 pav. Stulpelių diagramosPaminėsime dar kelias pas<strong>ir</strong>inktis, naudojamas HBAR arba VBAR sakiniuose:ASCENDING – išdėsto stulpelius pagal aukštį didėjančia tvarka; DESCENDING – išdėstostulpelius pagal aukštį mažėjančia tvarka; SPACE=n – nurodome tarpų tarp stulpelių dydį (čian – neneigiamas skaičius; pavyzdžiui, SPACE=0 – nebus tarpų tarp stulpelių); WIDTH=n –nurodome stulpelių plotį (čia n - stulpelio plotis).3.18 p a v y z d y s.DATA d1;INPUT x @@;DATALINES;1 2 1 2 3 1 1;RUN;PATTERN COLOR=BLUE;PROC GCHART DATA=d1;VBAR x / DISCRETE;RUN;PATTERN COLOR=GREEN;PROC GCHART DATA=d1;VBAR x / DISCRETE ASCENDING WIDTH=1.5 ;RUN; QUIT;Rezultatas pateiktas 3.9 paveiksle.P<strong>ir</strong>mosios procedūros GCHART rezultatas3.9 pav. Stulpelių diagramosAntrosios procedūros GCHART rezultatas87
3.1.2. Sumų <strong>ir</strong> vidurkių stulpelių diagramosGalima stulpelių diagramoje pavaizduoti ne kintamojo dažnius, o tam tikro kito kintamojoreikšmių <strong>su</strong>mas arba vidurkius analizuojamo kintamojo reikšmėms. Sintaksė:PROC CHART DATA=lentelė;VBAR kintamieji / pas<strong>ir</strong>inktys;RUN;Nurodytų kintamųjų reikšmės atidedamos horizontalioje ašyje. Braižoma atsk<strong>ir</strong>adiagrama kiekvienam nurodytam kintamajam. Pas<strong>ir</strong>inktys:SUMVAR=kintamasis, čia kintamasis, kurio reikšmės <strong>su</strong>muojamos arbaskaičiuojamas reikšmių vidurkis; apskaičiuotos charakteristikos atidedamos vertikalioje ašyje;TYPE=MEAN | SUM, jei nurodome MEAN - braižoma vidurkių diagrama, jei –SUM, tai reikšmių <strong>su</strong>mų diagrama; pagal nutylėjimą, kai nurodyta pas<strong>ir</strong>inktisSUMVAR=kintamasis yra braižoma reikšmių <strong>su</strong>mų diagrama.Kaip <strong>ir</strong> dažnių stulpelių diagramose galima naudoti DISCRETE, MIDPOINTS,LEVELS pas<strong>ir</strong>inktis (žr. 3.1.1 skyrelį).3.19 pavyzdys.DATA d1;INPUT x y @@;DATALINES;1 4 2 5 1 3 3 5 2 1 1 1 1 3;RUN;PROC CHART DATA=d1;VBAR x / DISCRETE SUMVAR=y TYPE=MEAN;RUN;PATTERN COLOR=GREEN;PROC GCHART DATA=d1;VBAR x / DISCRETE SUMVAR=y TYPE=MEAN;RUN; QUIT;Rezultatas pateiktas 3.10 paveiksle. Horizontalioje ašyje yra atidėtos kintamojo xreikšmės: 1, 2, 3 <strong>ir</strong> braižomas atsk<strong>ir</strong>as stulpelis kiekvienai x reikšmei, nes nurodmeDISCRETE. Parinktis TYPE=MEAN nurodo, kad braižoma vidurkių stulpelių diagrama, oparinktis SUMVAR=y nurodo, kad vertikalioje ašyje atidedami kintamojo y reikšmiųvidurkiai kiekvienai x reikšmei (kai x=1, tai stulpelio aukštis yra (4+3+1+3)/4=2.75; kai x=2,tai stulpelio aukštis yra (5+1)/2=3; kai x=3, tai stulpelio aukštis yra 5).Procedūros CHART rezultatas3.10 pav. Stulpelių diagramosProcedūros GCHART rezultatas88
3.1.3. Grupės <strong>ir</strong> pogrupiai stulpelių diagramojeProcedūros CHART sakinyje HBAR arba VBAR galima nurodyti pas<strong>ir</strong>inktis:GROUP=kintamasis; braižomi keli stulpeliai vienas šalia kito, po vieną stulpelįkiekvienai nurodyto kintamojo reikšmei; kintamasis turi būti diskretus, gali būti skaitinioarba simbolinio tipo;SUBGROUP=kintamasis; stulpelis padalinamas nuodyto kintamojo reikšmėmis;p<strong>ir</strong>mas reikšmės simbolis naudojamas stulpeliui užpildyti.GROUP <strong>ir</strong> SUBGROUP galima naudoti <strong>ir</strong> kartu. Galima braižyti ne tik dažnių, bet <strong>ir</strong><strong>su</strong>mų bei vidurkių stulpelių diagramas (reikia nurodyti SUMVAR <strong>ir</strong> TYPE=MEAN | SUM).Tokias pačias pas<strong>ir</strong>inktis galima naudoti <strong>ir</strong> GCHART procedūroje.3.20 p a v y z d y s. Duota lentelė „Duomenys“, kurioje yra tokie kintamieji:parduotuvės numeris (numeris), prekių tipas (tipas), metai, parduotų prekių skaičius(parduota). Editor lange įveskime:DATA Duomenys;INPUT numeris $ tipas $ metai parduota ;DATALINES;15 tipas1 2004 25115 tipas1 2005 28015 tipas2 2004 15015 tipas2 2005 16816 tipas1 2004 31516 tipas1 2005 39016 tipas2 2004 28016 tipas2 2005 305;RUN;PROC GCHART DATA=Duomenys;VBAR tipas / SUBGROUP=numeris SUMVAR=parduota;RUN; QUIT;PROC GCHART DATA=Duomenys;VBAR tipas / GROUP=metai SUBGROUP=numeris SUMVAR=parduota TYPE=MEAN;RUN; QUIT;P<strong>ir</strong>mosios procedūros GCHART rezultatas3.11 pav. Stulpelių diagramosAntrosios procedūros GCHART rezultatasRezultatas pateiktas 3.11 paveiksle. P<strong>ir</strong>mosios GCHART procedūros rezultatas yravertikalių stulpelių diagrama: vienas stulpelis kiekvienai kintamojo „tipas“ reikšmei;89
stulpeliai padalinti kintamojo „numeris“ reikšmėmis; horizontalioje ašyje atidėtos kintamojo„parduota“ reikšmių <strong>su</strong>mos.Antrosios GCHART procedūros rezultatas yra vertikalių stulpelių diagrama:braižomos stulpelių grupės (kintamojo „metai“ reikšmės); kiekvienoje stulpelių grupėje povieną stulpelį kiekvienai kintamojo „tipas“ reikšmei; stulpeliai padalinti kintamojo „numeris“reikšmėmis; horizontalioje ašyje atidėti kintamojo „parduota“ reikšmių vidurkiai.Kai braižome horizontalių stulpelių diagramą, tai pagal nutylėjimą dažnių,procentinių, <strong>su</strong>kauptų procentinių dažnių diagramose spausdinamas dažnis, <strong>su</strong>kauptas,procentinis, <strong>su</strong>kauptas procentinis dažnis. Jeigu nurodysime kokias skaitines charakteristikasspausdinti, tai spausdins tik nurodytas <strong>ir</strong> dažnį. Galima nurodyti:CFREQ <strong>su</strong>kauptas dažniai;CPERCENT <strong>su</strong>kauptas procentinis dažnis;FREQ dažnis;PERCENT procentinis dažnis;MEAN vidurkis (galima naudoti tik <strong>su</strong> SUMVAR <strong>ir</strong> TYPE=MEAN);SUM <strong>su</strong>ma (galima naudoti tik <strong>su</strong> SUMVAR <strong>ir</strong> TYPE=SUM);NOSTATS nespausdinti statistikų horizontalių stulpelių diagramoje;P a s t a b a. Jei nurodėme TYPE=MEAN, tai galima apskaičiuoti tik vidurkį <strong>ir</strong> dažnį;jei nurodėme TYPE=SUM, tai galima apskaičiuoti tik <strong>su</strong>mą <strong>ir</strong> dažnį;Jei nurodome NOZEROS pas<strong>ir</strong>inktį, tai diagramoje nebus stulpelių <strong>su</strong> nuliniu dažniu.Ši pas<strong>ir</strong>inktis naudojama <strong>su</strong> HBAR <strong>ir</strong> VBAR sakiniais.Galima nurodyti FREQ=kintamasis pas<strong>ir</strong>inktį; čia kintamojo reikšmės nurodostebėjimo dažnį. Jei nenurodome, tai kiekvieno stebėjimo dažnis yra lygus 1. Jei FREQkintamojo reikšmės nėra sveiki skaičiai, tai trupmeninė dalis yra atmetama. Jei naudojameSUMVAR, tai <strong>su</strong>mos dauginamos iš nurodyto kintamojo reikšmių.3.2. Diagrama medisDiagrama medis (steam and leaf plot) parodo kiek kartų pasikartojo reikšmė. Iš josgalima spręsti apie duomenų sk<strong>ir</strong>stinį, modą, asimetriškumą, matomos išsisk<strong>ir</strong>iančios reikšmės<strong>ir</strong> pan. Šios diagramos privalumas lyginant <strong>su</strong> grupuotų duomenų stulpelių diagrama tas,kad neprarandama pradinė informacija, kuri dingsta grupuojant duomenis.Ši diagrama braižoma taip: jei skaičius <strong>su</strong>sideda iš dviejų ar daugiau skaitmenų, tai jįgalima išskaidyti į šaką <strong>ir</strong> lapą. Šaka yra p<strong>ir</strong>masis skaitmuo (p<strong>ir</strong>mieji skaitmenys). Lapas –paskutinis skaitmuo (paskutiniai skaitmenys), pavyzdžiui, skaičių 367 galima išskaidytidviem būdais: a) 3|67, čia 3 – šaka, 67 – lapas; b) 36|7, čia 36 – šaka, 7- lapas.3.21 p a v y z d y s. Tarkime, kad gavome tokią diagramą:3|2 0 1 45|5 6 3 2 97|1 0 4 3 6 710|5 4Iš diagramos matome, kad pas<strong>ir</strong>odė tokios kintamojo reikšmės: 32, 30, 31, 34, 55, 56<strong>ir</strong> t.t.Diagramą medį galima nubraižyti <strong>su</strong> procedūra UNIVARIATE, reikia nurodytipas<strong>ir</strong>inktį PLOTS.3.22 p a v y z d y s. Tarkime, kad <strong>su</strong>kūrėme lentelę <strong>su</strong> tokiu DATA žingsniu:DATA Duomenys;INPUT x @@;DATALINES;11 12 15 28 25 23 13 22 31 16 21 18; RUN;PROC UNIVARIATE DATA=Duomenys PLOTS;VAR x; RUN;90
Output lange gauname diagramą, pavaizduotą 3.12 paveiksle.3.12 pav. Diagrama medisIš diagramos matome, kad kintamasis x įgijo tokias reikšmes: 11, 12, 13, 15, 16, 18,21, 22, 23, 25, 28, 31.3.3 HistogramaHistograma (histogram) – emp<strong>ir</strong>inis tankio analogas. Ji sk<strong>ir</strong>iasi nuo stulpelių diagramostuo, kad histogramoje dažnį charakterizuoja stulpelio plotas, o ne stulpelių aukštis.Histograma braižoma tolydiems kintamiesiems. Duomenys yra <strong>su</strong>grupuojami į intervalus.Knygoje [1] intervalų skaičių rekomenduojama pas<strong>ir</strong>inkti taip: intervalų skaičius k=5, kaistebėjimų skaičius n ≤ 25 <strong>ir</strong> k ≈ n,kai n>25. Taip pat galima naudotis Sturgeso formule:k ≈ 1+3.22ln n.Pas<strong>ir</strong>inkę intervalų skaičių, apskaičiuojame grupavimo intervalo ilgį:h = ( xmax− xmin) / k,čia xmax- maksimali analizuojamo kintamojo reikšmė, o xmin-minimali. Suskaičiuojame kiek reikšmių pateko į kiekvieną intervalą, t.y. nagrinėjameintervalą [ xmin, xmin+h), <strong>su</strong>skaičiuojame kiek kintamojo x reikšmių pateko į šį intervalą;nagrinėjame intervalą [ xmin+h, xmin+2h], <strong>su</strong>skaičiuojame kiek kintamojo x reikšmių pateko įšį intervalą <strong>ir</strong> t.t. Braižome stulpelius, kurių plotis lygus intervalo ilgiui h, o j-tojo stulpelioaukštis p j/ h,čia pjyra į j-ąjį intervalą patekusių reikšmių skaičius padalintas iš visųreikšmių skaičiaus, t.y. santykinis dažnis. Taigi, j-tojo stulpelio plotas yra pj. 3.13 pav. yraschematiškai pavaizduotas emp<strong>ir</strong>inis tankio analogasˆ nif ( x)= , x ∈ I ,čia Iiyra i-tasis intervalas,ilgis, n – stebėjimų skaičius.ninhn - reikšmių, patekusių į i-tąjį intervalą skaičius, h – intervaloi3.13 pav. HistogramaHistogramą galima nubraižyti <strong>su</strong> procedūra UNIVARIATE. Pateiksime pavyzdį(žr.[9]).91
3.23 p a v y z d y s.DATA Duomenys;DROP i;LABEL n_x='Normalusis atsitiktinis dydis'e_x ='Exponentinis atsitiktinis dydis';DO i=1 TO 200;n_x=2*normal(0)+10;e_x=ranexp(0);OUTPUT;END;RUN;PROC UNIVARIATE DATA=Duomenys NOPRINT;VAR n_x;HISTOGRAM n_x / NORMAL(NOPRINT) CBARLINE=GREY;RUN;PROC UNIVARIATE DATA=Duomenys NOPRINT;VAR e_x;HISTOGRAM /EXP(FILL l=3) CFILL=YELLOWMIDPOINTS=.05 TO 5.55 BY .25;RUN;P<strong>ir</strong>mosios procedūros UNIVARIATE rezultatasAntrosios procedūros UNIVARIATE rezultatas3.14 pav. HistogramosPaaiškinimai:1) pas<strong>ir</strong>inktis NOPRINT procedūros UNIVARIATE PROC sakinyje nurodo nespausdintistatistikų lentelių;2) VAR sakinyje nurodome analizuojamą kintamąjį;3) HISTOGRAM sakinyje nurodome analizuojamą kintamąjį;4) HISTOGRAM sakinyje po “/” galime nurodyti įva<strong>ir</strong>ias pas<strong>ir</strong>inktis; NORMAL reiškia,kad histogramą norime palyginti <strong>su</strong> normalaus sk<strong>ir</strong>stinio tankiu; EXP, kad norimepalyginti <strong>su</strong> eksponentinio sk<strong>ir</strong>stinio tankiu (kiti galimi sk<strong>ir</strong>stiniai: beta, gamma,lognormal, weibull, žr. [9]); toliau skliausteliuose galime nurodyti tankio kreivėspas<strong>ir</strong>inktis: NOPRINT – braižyti tik grafiką (jei nenurodysime spausdins<strong>su</strong>derinamumo kriterijus); FILL – nurodo nuspalvinti plotą po tankio kreive <strong>su</strong> spalvanurodyta <strong>su</strong> CFILL=spalva pas<strong>ir</strong>inktimi; COLOR=spalva nurodome tankio kreivėsspalvą; L= nurodome tankio kreivės tipą; W= nurodome tankio kreivės storį;5) toliau (po skliaustų) galime nurodyti histogramos pas<strong>ir</strong>inktis: CBARLNE=spalvanurodome histogramos stulpelių linijų spalvą; MIDPOINTS=”nuo” TO “iki” BY“žingsnis” nurodome histogramos stulpelių vidurio taškus; CFILL=spalvahistogramos stulpelių spalva arba spalva, kuria nuspalvinamas plotas po tankio kreive,kai nurodome FILL skliaustuose po sk<strong>ir</strong>stinį identifikuojančio žodžio.P a s t a b a. Jei po HISTOGRAM nurodome tik kintamąjį, tai braižys tik histogramą,nelygins <strong>su</strong> tankiu.92
Jeigu procedūroje UNIVARIATE nurodome CLASS sakinį, tai braižomos palyginamosioshistogramos (po vieną histogramą kiekvienai po CLASS nurodyto kintamojoreikšmei). Pateiksime pavyzdį.3.24 p a v y z d y s. Tarkime, kad turime tokius pačius duomenis kaip 3.7 pavyzdyje(kineskopų parametrų matavimai; lentelė „Kineskopai“). Nubraižysime kintamojo i_rpalyginamąsias histogramas trečiam <strong>ir</strong> ketv<strong>ir</strong>tam paletui (po vieną histogramą kiekvienampaletui).PROC UNIVARIATE DATA=Kineskopai;VAR i_r;CLASS paleto_nr;HISTOGRAM i_r;WHERE paleto_nr=3 or paleto_nr=4;RUN;Gautos histogramos pateiktos 3.15 paveiksle.3.15 pav. Palyginamosios histogramos3.4. Tikimybinės kreivės grafikasTikimybinės kreivės grafikas sk<strong>ir</strong>tas palyginti emp<strong>ir</strong>inę pasisk<strong>ir</strong>stymo fukciją <strong>su</strong>teorine. Ašys transformuojamos taip, kad teorinė pasisk<strong>ir</strong>stymo funkcija transformuojama įtiesę. Jei taškai grafike išsidėstę apie tiesę, tai galime teigti, kad duomenys gauti stebintatsitiktinį dydį, kurio sk<strong>ir</strong>stinys yra tas, <strong>su</strong> kuriuo lyginome.3.25 p a v y z d y s.DATA Duomenys;DROP i;LABEL n_x='Normalusis atsitiktinis dydis';DO i=1 TO 200;n_x=2*normal(0)+10;OUTPUT;END;RUN;GOPTIONS HTITLE=1 HTEXT=1 FTEXT=swissb FTITLE=swissb;SYMBOL VALUE=star;PROC UNIVARIATE DATA=Duomenys NOPRINT;VAR n_x;PROBPLOT n_x /NORMAL(MU=est SIGMA=est);TITLE 'Pavyzdys, X~N(10,4)';RUN;Gautas tikimybinės kreivės grafikas pateiktas 3.16 paveiksle. Paaiškinimai:1) Globalioje komandoje GOPTIONS panaudoti HTITLE <strong>ir</strong> HTEXT apibrėžia šriftodydį; FTITLE <strong>ir</strong> FTEXT - šrifto tipą;93
2) SYMBOL sakinyje panaudotas VALUE=star nurodo kokie simboliai braižomi grafike(pagal nutylėjimą “+”; kadangi nurodėme „star, tai bus žvaigždutės“);3) PROBPLOT sakinyje reikia nurodyti <strong>su</strong> kokiu sk<strong>ir</strong>stiniu norime palyginti, pavyzdžiui,NORMAL(mu=est sigma=est) – normalusis sk<strong>ir</strong>stinys, LOGNORMAL(sigma=est) –lognormalusis sk<strong>ir</strong>stinys <strong>ir</strong> pan.3.16 pav. Tikimybinės kreivės grafikas3.5. Sklaidos diagramaSklaidos diagramos sk<strong>ir</strong>tos pastebėti sąryšį tarp dviejų kintamųjų. Sklaidos diagramągalima nubraižyti <strong>su</strong> SAS/BASE procedūra PLOT arba SAS/GRAPH procedūra GPLOT. Suprocedūra GPLOT galima nubraižyti aukštesnės kokybės grafikus (spalvoti, daugiau pas<strong>ir</strong>inkčių).Iš pradžių aprašysime kaip nubraižyti sklaidos diagramą <strong>su</strong> procedūra PLOT. Sintaksė:PROC PLOT DATA=lentelė;PLOT kintamieji / pas<strong>ir</strong>inktys;RUN;Kintamuosius galima nurodyti trimis būdais:a) kintamasis1*kintamasis2;b) kintamasis1*kintamasis2=‘simbolis‘;c) kintamasis1*kintamasis2=kintamasis3;čia kintamojo1 reikšmės atidedamos vertikalioje ašyje, kintamojo2 reikšmės – horizontaliojeašyje. Atveju a) taškai žymimi raide „A“, jei du taškai <strong>su</strong>tampa, tai raide „B“, jei trys taškai<strong>su</strong>tampa – raide „C“ <strong>ir</strong> t.t. Atveju b) visi taškai žymimi nurodytu simboliu. Atveju c) taškasžymimas nurodyto kintamojo (kintamasis3) atitinkamo stebėjimo reikšmės p<strong>ir</strong>mąja raide;jeigu keli taškai <strong>su</strong>tampa, tai bus pažymėtas pačio p<strong>ir</strong>mo (iš <strong>su</strong>tampančių) reikšme <strong>ir</strong> busparašyta pastaba, kad yra paslėptų stebėjimų.Galima nurodyti kelis PLOT sakinius arba kelis kintamųjų sąrašus, tada bus braižomikeli atsk<strong>ir</strong>i grafikai, pavyzdžiui, plot k1*k2 k3*k4; gausime du grafikus.PLOT sakinyje galima nurodyti tokias pas<strong>ir</strong>inktis:VAXIS=reikšmių_sąrašas apibrėžia vertikalios ašies gradaciją, pavyzdžiui,VAXIS=10 20 30 40 (arba VAXIS=10 TO 40 BY 10);HAXIS=reikšmių_sąrašas apibrėžia horizontalios ašies gradaciją, pavyzdžiui,HAXIS=5 TO 15 (pagal nutylėjimą žingsnis 1);VREF=reikšmių_sąrašas nurodo nubrėžti horizontalias linijas nurodytoms reikšmėms,pavyzdžiui, VREF=5;VREF=reikšmių_sąrašas nurodo nubrėžti vertikalias linijas nurodytoms reikšmėms,pavyzdžiui, HREF=6 TO 14 BY 2 brėžia vertikalias linijas horizontalios ašies reikšmėms 6, 8,10, 12, 14;94
OVERLAY nurodo, kad vertikalioje ašyje atidedamos kelių kintamųjų reikšmės (t.y.keli grafikai viename), pavyzdžiui, PLOT y1*x=’A’ y2*x=‘B‘ / OVERLAY.P a s t a b a. Jei nurodome BY sakinį, tai braižys atsk<strong>ir</strong>us grafikus stebėjimų grupėms.3.26 p a v y z d y s.DATA duomenys;INPUT x y;DATALINES;1.2 3.42.6 3.01.6 3.81.3 3.53.9 1.62.2 2.5;PROC PLOT DATA=duomenys;PLOT y*x='*'/VREF=1 TO 4; RUN;Šios procedūros rezultatas (žr. 3.17 pav.) yra kintamųjų y <strong>ir</strong> x sklaidos diagrama;kintamojo y reikšmės atidedamos ant vertikalios ašies, o x – ant horizontalios; nurodėme, kadtaškus žymėtų simboliu “*“; VREF nurodo nubraižyti horizontalias linijas kintamojo yreikšmėms 1, 2, 3, 4.3.17 pav. Kintamųjų x <strong>ir</strong> y sklaidos diagramaSklaidos diagramas galima braižyti <strong>ir</strong> <strong>su</strong> procedūra GPLOT. Pateiksime pavyzdį.3.26 p a v y z d y s (tęsinys). Nubraižysime tų pačių duomenų sklaidos diagramą <strong>su</strong>procedūra GPLOT. Editor lange parašome:PROC GPLOT DATA=duomenys;PLOT y*x / VREF=1 TO 4; RUN;Gauta sklaidos diagrama pateikta 3.18 paveiksle.3.18 pav. Sklaidos diagrama95
Pateiksime OVERLAY panaudojimo <strong>su</strong> procedūra GPLOT pavyzdį.3.27 p a v y z d y s. Editor lange įveskime:DATA duomenys;INPUT x y1 y2;DATALINES;1.2 3.4 4.12.6 3.0 4.51.6 3.8 2.91.3 3.5 3.23.9 1.6 2.52.2 2.5 3.4;RUN;GOPTIONS RESET=(axis, legend, pattern, symbol, title, footnote)INTERPOL=none;SYMBOL1 height=1.5 cv=red value=star;SYMBOL2 height=1.5 cv=green value=c<strong>ir</strong>cle;AXIS1 color=blue width=2.0 ORDER=(0 to 4 BY 1) MINOR=(NUMBER=4);AXIS2 color=blue width=2.0LABEL=(FONT='Times New Roman' HEIGHT=12pt JUSTIFY=Right 'y1,y2');PROC GPLOT DATA=duomenys;PLOT (y1 y2)*x /overlay HAXIS=AXIS1 VAXIS=AXIS2 FRAMELVREF=1 CVREF=BLACK VREF=2 4;RUN; QUIT;Sakinyje GOPTIONS panaudota komanda RESET atstato išvardintų skliaustuosesakinių pas<strong>ir</strong>inktis į tokias, kokios yra pagal nutylėjimą; INTERPOL=none nurodo, kadsimboliai nejungiami.SYMBOL1 sakinys nurodo kaip pavaizduojamos kintamojo y1 reikšmės, oSYMBOL2 – kintamojo y2 (SYMBOL sakinių turime nurodyti tiek, kiek kintamųjų norimeatidėti ant vertikalios ašies); VALUE nurodo kokiu simboliu bus pavaizduoti taškai grafike(šiame pavyzdyje taškai (x, y1) bus pavaizduoti žvaigždutėmis (star), o taškai (x, y2) –apskritimais (c<strong>ir</strong>cle)); CV nurodo simbolių spalvą; HEIGHT – simbolių aukštį.AXIS sakiniai apibrėžia koordinačių ašis; šiame pavyzdyje AXIS1 – horizontali ašis,AXIS2 – vertikali ašis; COLOR nurodo ašies spalvą, WIDTH – linijos storį, ORDER – kaip<strong>su</strong>numeruotos reikšmės ant ašies, MINOR – kiek mažų brūkšnelių tarp reikšmių ant ašies;LABEL – aprašo koordinačių ašies žymę.Procedūros GPLOT sakinyje PLOT nurodėme, kad kintamųjų y1, y2 reikšmėsatidedamos ant vertikalios ašies, o x – ant horizontalios; FRAME – nurodo braižyti rėmelįapie grafiką; VREF kokioms kintamojo, atidėto vertikalioje ašyje, reikšmėms braižomoshorizontalios linijos, CVREF – linijų spalva, LVREF – linijos tipas.Gautas grafikas pateiktas 3.19 paveiksle.3.19 pav. Sklaidos diagrama96
3.6. Linijinė diagramaLinijinės diagramos naudojamos, kai norime pavaizduoti kintamųjų (kintamojo)kitimą kito kintamojo atžvilgiu. Dažniausiai naudojamos laiko eilutėms. Galima palygintikelias laiko eilutes.Linijines diagramas galima nubraižyti <strong>su</strong> procedūra GPLOT (žr.3.5 skyrelį). Reikianurodyti, kad <strong>su</strong>jungtų taškus. Pateiksime pavyzdį.3.28 p a v y z d y s.DATA duomenys;INPUT metai parduota_1 parduota_2;DATALINES;1995 290 2601996 301 2901997 305 3001998 309 3151999 315 3002000 310 3052001 301 3102002 305 3002003 310 3152004 315 320;RUN;GOPTIONS RESET=(axis, legend, pattern, symbol, title, footnote)INTERPOL=JOIN;SYMBOL1 height=1 cv=red value=c<strong>ir</strong>cle;SYMBOL2 height=1 cv=green value=c<strong>ir</strong>cle;PROC GPLOT DATA=duomenys;PLOT (parduota_1 parduota_2)*metai /overlay FRAMELVREF=1 CVREF=BLACK VREF=270 290 310;RUN; QUIT;INTERPOL=JOIN nurodo, kad taškai <strong>su</strong>jungiami atkarpomis.3.20 pav. Linijinė diagramaP<strong>ir</strong>mosios procedūros GPLOT rezultatas pateiktas 3.20 paveiksle. Iš diagramosmatome kaip keičiasi kintamojo „parduota_1“ reikšmės priklausomai nuo kintamojo „metai“reikšmių.Antrosios procedūros GPLOT rezultatas pateiktas 3.21 paveiksle. Grafike pavaizduotosdvi laiko eilutės.97
3.21 pav. Linijinė diagrama3.7. Skritulinė diagramaSkritulinė diagrama naudojama, kai kintamasis įgyja nedaug reikšmių. Skritulinėsdiagramos vaizdžiai atspindi dažnių sk<strong>ir</strong>stinį tarp kategorijų. Skritulys atitinka visąpopuliaciją (100%), o išpjovos – kategorijas, proporcingai jų santykiniam dažniui. Skritulinėsdiagramos nevaizdžios, kai yra daug dalių <strong>ir</strong> dalys mažos.Skritulinės diagramos braižomos <strong>su</strong> SAS procedūra GCHART. Sintaksė:PROC CHART DATA=lentelė;PIE kintamieji / pas<strong>ir</strong>inktys;RUN;čia lentelė – duomenų lentelės vardas; kiekvienam nurodytam kintamajam braižoma atsk<strong>ir</strong>adiagrama. Pilną pas<strong>ir</strong>inkčių, naudojamų PIE sakinyje, sąrašą galima pasižiūrėti pagrindiniamemeniu pas<strong>ir</strong>inkus Help→SAS Help and Documentation, čia pateiksime tik keletą iš jų:TYPE =<strong>statistika</strong> nurodo kokia skaitinė charakteristika bus pavaizduota diagramoje,čia <strong>statistika</strong> gali būti: FREQ (dažnis), PERCENT (procentinis dažnis), MEAN (vidurkis),SUM (<strong>su</strong>ma); MEAN <strong>ir</strong> SUM galima naudoti tik tada, kai panaudota SUMVAR=kintamasispas<strong>ir</strong>inktis.SUMVAR=kintamasis, čia kintamasis, kurio reikšmės <strong>su</strong>muojamos arba skaičiuojamasreikšmių vidurkis.MISSING - praleisti stebėjimai pavaizduojami atsk<strong>ir</strong>a išpjova.Pagal nutylėjimą tariama, kad skaitinio tipo kintamasis yra tolydus <strong>ir</strong> procedūra<strong>su</strong>grupuoja duomenis į intervalus. Jei skaitinio tipo kintamasis įgyja tik keletą reikšmių <strong>ir</strong>norime atsk<strong>ir</strong>os išpjovos kiekvienai reikšmei, tai nurodome pas<strong>ir</strong>inktį DISCRETE.Kaip duomenis <strong>su</strong>grupuoti į intervalus galima nurodyti <strong>su</strong> MIDPOINTS=reikšmės, čiareikšmės, tai grupavimo intervalo vidurio taškai (išdėstyti didėjančia tvarka) arba LEVELS=n,čia n – išpjovų skaičius.GROUP=kintamasis, <strong>su</strong>grupuoja stebėjimus į grupes pagal nurodyto kintamojoreikšmes <strong>ir</strong> braižoma atsk<strong>ir</strong>a diagrama kiekvienai stebėjimų grupei.SUBGROUP=kintamasis, diagrama padalinama į žiedus pagal nurodyto kintamojoreikšmes.EXPLODE=reikšmių_sąrašas, atitraukia atitinkamas išpjovas nuo skritulio centro, čiareikšmių_sąrašas yra <strong>su</strong>darytas iš kai kurių braižomo kintamojo reikšmių (jei kiekviena<strong>ir</strong>eikšmei braižoma atsk<strong>ir</strong>a išpjova) arba kai kurių grupavimo intervalo vidurio taškų (jeiduomenys grupuojami).OTHER=procentas, nurodome kokias reikšmes apjungti į išpjovą „Kiti“; įtraukiamostos, kurioms skaičiuojamos charakteristikos reikšmės yra mažesnės arba lygios nurodytam98
procentui; pagal nutylėjimą 4%; <strong>su</strong> OTHERLABEL=‘simboliai‘ galime nurodyti kaipvadinsis išpjova.PERCENT=ARROW | INSIDE | NONE | OUTSIDE nurodome kurioje vietojespausdinamas procentas, kurį užima išpjova. Pagal nutylėjimą NONE (nespausdinamas). 3.6pav. parodyta kurioje vietoje spausdinama priklausomai nuo PERCENT pas<strong>ir</strong>inkties reikšmių.3.22 pav. Užrašų išdėstymo variantaiSLICE=ARROW | INSIDE | NONE | OUTSIDE nurodome kurioje vietojespausdinamos analizuojamo kintamojo reikšmė. Pagal nutylėjimą OUTSIDE.VALUE=ARROW | INSIDE | NONE | OUTSIDE nurodome kurioje vietojespausdinamos braižomos diagramoje statistikos reikšmės. Pagal nutylėjimą OUTSIDE.Galima nurodyti FREQ=kintamasis pas<strong>ir</strong>inktį; čia kintamojo reikšmės nurodostebėjimo dažnį. Jei nenurodome, tai kiekvieno stebėjimo dažnis yra lygus 1. Jei FREQkintamojo reikšmės nėra sveiki skaičiai, tai trupmeninė dalis yra atmetama.3.29 p a v y z d y s. Editor lange įveskime:DATA duom;INPUT x $ @@;DATALINES;a a b c b b c b b b . . d e b b a a a a c c;RUN;PROC GCHART DATA=duom;PIE x;RUN; QUIT;PROC GCHART DATA=duom;PIE x / TYPE=PERCENT MISSING;RUN; QUIT;PROC GCHART DATA=duom;PIE x / TYPE=PERCENT EXPLODE='a';RUN; QUIT;PROC GCHART DATA=duom;PIE x/PERCENT=INSIDE;RUN; QUIT;Gautos skritulinės diagramos pateiktos 3.23 paveiksle.Paaiškinsime skritulines diagramas, pateiktas 3.23 paveiksle. P<strong>ir</strong>mojoje skritulinėjediagramoje yra pateikti kintamojo x dažniai (reikšmės pasikartojimų skaičius), praleististebėjimai pagal nutylėjimą neįtraukiami į diagramą. Antrojoje skritulinėje diagramoje yrapateikti kintamojo x procentiniai dažniai (pavyzdžiui, kintamojo x reikšmės „a“ procentinisdažnis gaunamas taip: ( n a/ n) *100% = (6 / 22) *100% ≈ 27.27%,čia na- reikšmės „a“ pasikartojimųskaičius, n – bendras stebėjimų skaičius), nes nurodėme TYPE=PERCENT;nurodėme MISSING, todėl praleisti stebėjimai įtraukiami į diagramą. Trečiojoje skritulinėjediagramoje taip pat yra pateikti kintamojo x procentiniai dažniai, nes nurodėmeTYPE=PERCENT; nurodėme EXPLODE=‘a‘, todėl reikšmę „a“ atitinkanti išpjova yraatitraukta nuo skritulio centro. Ketv<strong>ir</strong>tojoje skritulinėje diagramoje yra pateikti kintamojo x99
dažniai, be to ant išpjovų yra parašyti procentiniai dažniai, nes nurodėmePERCENT=INSIDE.P<strong>ir</strong>mosios procedūros GCHART rezultatasAntrosios procedūros GCHART rezultatasTrečiosios procedūros GCHART rezultatas3.23 pav. Skritulinės diagramosPateiksime pas<strong>ir</strong>inkties SUMVAR panaudojimo pavyzdį.3.30 p a v y z d y s. Editor lange įveskime:DATA duom1;INPUT x $ y @@;DATALINES;a 5 a 10 b 3 c 2 b 12 b 1 c 9 b 4 b 3 b 1d 4 e 8 b 3 b 3 a 3 a 10 a 3 a 3 c 1 a 2;RUN;PROC GCHART DATA=duom1;PIE x/ SUMVAR=y;RUN; QUIT;PROC GCHART DATA=duom1;PIE x/ SUMVAR=y TYPE=MEAN;RUN; QUIT;Ketv<strong>ir</strong>tosios procedūros GCHART rezultatasGautos diagramos pateiktos 3.24 paveiksle.Paaiškinsime skritulines diagramas, pateiktas 3.24 paveiksle. P<strong>ir</strong>mojoje skritulinėjediagramoje yra pateiktos kintamojo y reikšmių <strong>su</strong>mos kiekvienai kintamojo x reikšmei, nesnurodėme SUMVAR pas<strong>ir</strong>inktį. Antrojoje skritulinėje diagramoje yra pateikti kintamojo yreikšmių aritmetiniai vidurkiai, kiekvienai kintamojo x reikšmei, nes nurodėme SUMVAR <strong>ir</strong>TYPE=MEAN.100
P<strong>ir</strong>mosios procedūros GCHART rezultatasAntrosios procedūros GCHART rezultatas3.24 pav. Kintamojo y <strong>su</strong>mų <strong>ir</strong> vidurkių skritulinės diagramos3.31 p a v y z d y s. Sukurkime duomenų lentelę <strong>su</strong> tokiu Data žingsniu:DATA duom2;INPUT x $ y $ @@; DATALINES;a I a I b I c I b I b I c I b I b I b Ic II c II b II b II a II a II a II a II c II a II; RUN;a) PROC GCHART DATA=duom2;PIE x/ GROUP=y across=2 percent=inside;RUN; QUIT;Šios procedūros GCHART rezultatas pateiktas 3.25 paveiksle; nurodėme GROUP=y,todėl braižoma atsk<strong>ir</strong>a skritulinė diagrama kiekvienai kintamojo y reikšmei (šiame pavyzdyjekintamasis y įgyja tik dvi reikšmes, todėl braižomos dvi skritulinės diagramos); ACROSS=2nurodo, kad vienoje eilutėje turi būti spausdinamos dvi skritulinės diagramos;PERCENT=INSIDE nurodo, kad ant išpjovų turi būti parašyti procentiniai dažniai.b) PROC GCHART DATA=duom2;PIE x/ SUBGROUP=y percent=inside;RUN; QUIT;3.25 pav. Skritulinės diagramosŠios procedūros GCHART rezultatas pateiktas 3.26 paveiksle; nurodėmeSUBGROUP=y, todėl skritulys yra padalinamas į žiedus, žiedų yra tiek, kiek yra sk<strong>ir</strong>tingųkintamojo y reikšmių (šiame pavyzdyje kintamasis y įgyja tik dvi reikšmes, todėl yra dužiedai); kiekvienas žiedas <strong>su</strong>sk<strong>ir</strong>stomas į sektorius, kurių dydžiai proporcingi kintamojo xreikšmių dažniams (šiame pavyzdyje kintamasis x įgyja tris reikšmes, todėl kiekvienas žiedaspadalinamas į tris dalis); PERCENT=INSIDE nurodo, kad ant išpjovų turi būti parašytiprocentiniai dažniai.101
3.26 pav. Skritulinė diagrama3.8. Stačiakampė diagramaStačiakampė diagrama (Box and Whiskers Plot) padeda nustatyti išsk<strong>ir</strong>tis, simetriškumą.Šioje diagramoje yra atidedamas vidurkis, mediana, p<strong>ir</strong>mas <strong>ir</strong> trečias kvartiliai.Schematiškai stačiakampė diagrama pavaizduota 3.27 pav. Brėžiamas stačiakampis, kuriov<strong>ir</strong>šutinis kraštas atitinka v<strong>ir</strong>šutinį (trečią) kvartilį (Q3), apatinis stačiakampio kraštas atitinkaapatinį (p<strong>ir</strong>mą) kvartilį (Q1), stačiakampio aukštis lygus tarpkvartiliniam pločiui (Q3-Q1).Horizontali linija viduje stačiakampio žymi medianą, pliuso ženklas (+) žymi vidurkį. Nuostačiakampio kraštų brėžiamos atkarpos: p<strong>ir</strong>moji atkarpa (į apačią nuo Q1) jungia Q1 <strong>su</strong>mažiausia reikšme, nutolusia ne daugiau kaip 1.5 tarpkvartilinio pločio nuo Q1; antrojiatkarpa (į v<strong>ir</strong>šų nuo Q3) jungia Q3 <strong>su</strong> didžiausia reikšme, nutolusia ne daugiau kaip 1.5tarpkvartilinio pločio nuo Q3. Reikšmės, esančios už atkarpų, yra išsk<strong>ir</strong>tys, jos žymimosatsk<strong>ir</strong>ais simboliais. Jei reikšmė yra tarp 1.5 <strong>ir</strong> 3 tarpkvartilinių pločių nuo v<strong>ir</strong>šutinio arbaapatinio stačiakampio krašto, tai žymima nuliu (0), t.y. sąlyginė išsk<strong>ir</strong>tis; žymima žvaigždute(*), jei reikšmė nutolusi daugiau negu per 3 tarpkvartilinius pločius (išsk<strong>ir</strong>tis).3.27 pav. Stačiakampė diagramaStačiakampę diagrama galima nubraižyti procedūroje UNIVARIATE nurodžiuspas<strong>ir</strong>inktį PLOTS. Jei nurodome BY sakinį, tai braižomos palyginamosios stačiakampėsdiagramos.102
3.32 p a v y z d y s.DATA duom;INPUT x @@;DATALINES;480 371 397 360 550 250 375 429 482 336 440 451 280 353 404368 373 520 446 385 433 426 450 407 412 645 366 329 700;RUN;PROC UNIVARIATE DATA=duom PLOTS;VAR x;RUN;Output lange gausime stačiakampę diagramą, pavaizduotą 3.28 pav.3.28 pav. Stačiakampė diagrama (dešinėje), nubraižyta <strong>su</strong> procedūra UNIVARIATEJeigu turime SAS/STAT modulį, tai stačiakampę diagramą galime nubraižyti <strong>su</strong>procedūra BOXPLOT.3.32 p a v y z d y s (tęsinys). Editor lange įveskime:DATA duom; /* pertvarkome lentelę */SET duom;pag=1;RUN;PROC BOXPLOT DATA=duom; /* braižome stačiakampę diagramą*/PLOT x*pag / BOXSTYLE=schematic;RUN; QUIT;PROC BOXPLOT DATA=duom; /* braižome stačiakampę diagramą*/PLOT x*pag / BOXSTYLE=skeletal;RUN; QUIT;Gausime kintamojo x stačiakampes diagramas, pavaizduotas 3.29 pav.P<strong>ir</strong>mosios procedūros BOXPLOT rezultatas3.29 pav. Stačiakampės diagramosAntrosios procedūros BOXPLOT rezultatas103
BOXSTYLE=schematic nurodo, kad braižoma tokio tipo diagrama kaip pavaizduota3.27 paveiksle; kai nurodome BOXSTYLE=skeletal, tai nuo stačiakampio kraštų brėžiamosatkarpos jungia: Q1 <strong>su</strong> mažiausia reikšme (apatinė atkarpa) <strong>ir</strong> Q3 <strong>su</strong> didžiausia reikšme(v<strong>ir</strong>šutinė atkarpa).Su procedūra BOXPLOT galime nubraižyti palyginamąsias stačiakampes diagramas.3.33 p a v y z d y s. Tarkime, kad turime tokius pačius duomenis kaip 3.7 pavyzdyje(duomenų lentelė „Kineskopai“, kurioje yra 200 kineskopų (4 paletai po 50 kineskopų)parametrų matavimai dviejose gamybinėse operacijos (I testeris <strong>ir</strong> II testeris)) Nubraižykimekintamojo i_r (spindulio R srovės stiprumas II testeryje) palyginamąsias stačiakampesdiagramas (grupuojantis kintamasis paleto numeris (paleto_nr). Editor lange įveskime:PROC BOXPLOT DATA=Kineskopai;PLOT i_r*paleto_nr / BOXSTYLE=schematic;RUN; QUIT;Gauname stačiakampes diagramas, pavaizduotas 3.30 paveiksle. Braižoma atsk<strong>ir</strong>astačiakampė diagrama kiekvienam paletui.3.29 pav. Palyginamosios diagramos (atsk<strong>ir</strong>a diagrama kiekvienam paletui)104
IV skyrius. TAŠKINIAI PARAMETRŲ ĮVERČIAI IRPASIKLIAUTINIEJI INTERVALAITrečiame skyriuje aptarėme aprašomosios statistikos metodus, t.y. duomenų sisteminimo<strong>ir</strong> jų pateikimo metodus. Šiame <strong>ir</strong> tolesniuose skyreliuose nagrinėsime matematinėsstatistikos metodus, t.y. parametrų vertinimo <strong>ir</strong> hipotezių tikrinimo uždavinius.P<strong>ir</strong>mame skyrelyje pateikiamos pagrindinės matematinės statistikos sąvokos:<strong>statistika</strong>, pilna, pakankama <strong>statistika</strong>; taškiniai parametrų įverčiai (nepaslinkti, <strong>su</strong>derinti,minimalios dispersijos); įverčių radimo metodai; pasikliautinieji parametrų intervalai.Antrajame skyrelyje pateikiamos taškinių parametrų įverčių <strong>ir</strong> pasikliautinųjųintervalų išraiškos bei kaip juos apskaičiuoti <strong>su</strong> SAS kai kurių sk<strong>ir</strong>stinių atveju (įverčiųišraiškas šiame skyriuje nepaminėtiems sk<strong>ir</strong>stiniams žr., pavyzdžiui, [5]). SAS yra realizuotinormalaus sk<strong>ir</strong>stinio parametrų vertinimo algoritmai, binominio sk<strong>ir</strong>stinio sėkmės tikimybėsvertinimo algoritmai, vertinant kitų sk<strong>ir</strong>stinių parametrus reikia išraiškas patiem<strong>su</strong>žprogramuoti. Tai ne<strong>su</strong>nku atlikti naudojant p<strong>ir</strong>mame <strong>ir</strong> antrame skyriuje aprašytaskomandas.1. Pagrindinės sąvokos <strong>ir</strong> apibrėžimaiPradžioje apibrėšime kai kurias matematinės statistikos sąvokas. Generaline aibe arbapopuliacija vadinama t<strong>ir</strong>iamų objektų aibė. Populiacija gali būti baigtinė arba begalinė.Kadangi dažnai visos aibės išt<strong>ir</strong>ti negalime arba toks tyrimas reikalauja daug laiko <strong>ir</strong> lėšų, taiiš populiacijos paimama dalis objektų <strong>ir</strong> juos analizuojant stengiamasi apibūdinti populiacijostikimybinį sk<strong>ir</strong>stinį. Matematinės statistikos metodai taikytini tik tada, kai stebėjimo rezultataiyra reprezentatyvūs, t.y. teisingai atspindi galimų reikšmių proporcijas generalinėje aibėje.Trumpai paminėsime kai kurias toliau naudojamas matematinės statistikos sąvokas.Tarkime, kad atliekant tam tikrą eksperimentą gaunamas stebėjimų vektoriusx = x , x ,..., x ) , kuris yra tam tikro a.v. X = X , X ,..., X ) realizacija. Atsitiktinį vektorių(1 2 n( X1,X2,...,Xn)x = ( x1,x2,...,xn(1 2 nX =vadinsime tūrio n atsitiktine imtimi, o jo konkrečiame eksperimente įgytąreikšmę ) ,- atsitiktinės imties realizacija. Parametriniuose matematinėsstatistikos modeliuose priimama prielaida, kad a.v. X tikimybinio sk<strong>ir</strong>stinio pavidalas yražinomas, tačiau jis priklauso nuo nežinomo parametro θ , t.y. tariama, kad a.v. X sk<strong>ir</strong>stinyspriklauso sk<strong>ir</strong>stinių šeimai { P , θ ∈ Θ}.θDiskrečiuoju atveju sk<strong>ir</strong>stinius Pθgalima vienareikšmiškai nusakyti tikimybėmisp ( x)= P{X = x | θ},θ ∈ Θ,x ∈ X ,(4.1)θnX ⊂ R yra a.v. X įgyjamų reikšmių aibė.čiaAbsoliučiai tolydžiu atveju sk<strong>ir</strong>stinius Pθgalima nusakyti n-mate pasisk<strong>ir</strong>stymofunkcija F ( x | θ)arba tankio funkcija f ( x | θ).Nepriklausomą nuo nežinomo parametro θ imties funkciją T = T (X)== T ( X1,...,Xn)vadiname <strong>statistika</strong>.Parametro γ = γ (θ)taškiniu įverčiu vadiname nepriklausomą nuo nežinomoparametro θ imties funkciją (statistiką), kurią žymėsime ˆ γ = ˆ( γ X)= γ ( X ,..., X ) . Funkcijąˆ1 nγˆ galima parinkti įva<strong>ir</strong>iai. Todėl yra kriterijai, kurie leidžia parinkti tam tikra prasme geresniusįverčius.Įvertį γˆ vadiname <strong>su</strong>derintu, jeigu didėjant imties dydžiui jis artėja prie tikrosparametro reikšmės γ , t.y. kiekvienam fik<strong>su</strong>otam ε>0P {| ( ˆ γ − γ | > ε}→ 0, kai n → ∞.105
Įvertį γˆ vadiname nepaslinktuoju (be poslinkio), jeigu jo vidurkis visoms parametroθ ∈ Θ reikšmėms <strong>su</strong>tampa <strong>su</strong> vertinamu parametru γ = γ (θ):E( ˆ γ | θ)≡ γ ( θ),∀θ∈ Θ.(4.2)Nepaslinktųjų įverčių <strong>ir</strong>gi gali būti daug. Išrinkime iš jų tarpo tokį, kuris turimažiausią išsibarstymą. Įvertį ˆ γ * vadiname nepaslinktuoju minimalios dispersijos (NMD)įverčiu, jeigu jis tenkina (4.2) <strong>ir</strong> jeigumin V(ˆ γ | θ)= V(ˆ*| γ θ),∀θ∈Θ.(4.3)Įverčių radimui yra svarbi pakankamosios statistikos sąvoka. Statistiką T = T (X)vadiname šeimos { Pθ,θ ∈ Θ}arba parametro θ ∈ Θ pakankamąja <strong>statistika</strong>, jeigu sąlyginisa.v. X sk<strong>ir</strong>stinys, kai T = t yra fik<strong>su</strong>ota, nepriklauso nuo nežinomo parametro. Kitaip sakant,žinant pakankamąją statistiką T imtyje nėra jokios papildomos informacijos apie nežinomąparametrą θ ∈ Θ . Pakankamoji <strong>statistika</strong> įgalina redukuoti imtį, t.y. <strong>su</strong>mažinti imtiesmatavimą, neprarandant informacijos. Tą faktą, kad ieškant NMD įverčių pakanka aps<strong>ir</strong>ibotifunkcijomis nuo pakankamos statistikos, patv<strong>ir</strong>tina pateikiama teorema.T e o r e m a. (Rao-Blekuelo). Tarkime, kad egzistuoja parametro γ = γ (θ)nepaslinktasįvertis γˆ <strong>ir</strong> T = T (X)yra pakankamoji parametro θ <strong>statistika</strong>. Tada egzistuoja kitasnepaslinktas įvertis~ γ =~ γ ( T ), kuris yra tik pakankamos statistikos T funkcija, <strong>ir</strong> kuris neblogesnis dispersijos minimizavimo prasme:V( ~ γ | θ)≤ V(ˆ γ | θ),∀θ∈ Θ.(4.4)NMD įverčių radimą žymiai palengvina pakankamos statistikos T savybė vadinamajos pilnumu. Pakankamoji <strong>statistika</strong> T vadinama pilnąja, jeigu egzistuoja vienintelė Tfunkcija tapatingai lygi 0, kuri yra nepaslinktas nulio įvertis, t.y. iš sąlygosE( ϕ ( T ) | θ)≡ 0, ∀θ∈ Θ,(4.5)išplaukia, kad ϕ ( t)= 0.Teisingas toks tv<strong>ir</strong>tinimas.T e o r e m a. Jeigu T yra pilnoji <strong>ir</strong> pakankamoji parametro θ <strong>statistika</strong> <strong>ir</strong> egzistuojanepaslinktas parametro γ = γ (θ)įvertis~ γ =~ γ ( T ), kuris yra funkcija tik nuo statistikos T, taijis yra vienintelis.Tokiu būdu, bet kuri pilnos <strong>ir</strong> pakankamos statistikos T funkcija φ (T ) yra savovidurkio E( φ ( T ) | θ)NMD įvertis. Iš čia galime <strong>su</strong>formuluoti tokį NMD įverčių radimometodą. Jeigu T yra pakankamoji <strong>ir</strong> pilnoji parametro θ <strong>statistika</strong>, tai norint rasti parametroγ = γ (θ) NMD įvertį, tereikia išspręsti funkcionalinę lygtįE( φ(T ) | θ)≡ γ ( θ),∀θ∈Θ,(4.6)funkcijos φ (T ) atžvilgiu. Tada~ γ ( T ) = φ(T ) yra parametro γ = γ (θ)NMD įvertis.Šį metodą galime naudoti, jeigu egzistuoja pilna <strong>ir</strong> pakankama <strong>statistika</strong>, tačiaupilnosios <strong>ir</strong> pakankamos statistikos ne visada egzistuoja.Aptarsime kitus įverčių radimo metodus.Momentų metodas. Tai paprasčiausias <strong>ir</strong> istoriškai p<strong>ir</strong>masis taškinių įverčių radimometodas.Tarkime, kad X = X ,..., X ) yra paprasčiausioji atsitiktinė imtis, gauta stebint a.d.X , t.y.X ,..., X(1 n1 nyra vienodai pasisk<strong>ir</strong>stę a.d., turintieji tą patį sk<strong>ir</strong>stinį, kaip <strong>ir</strong> a.d. X. Tegua.d. X sk<strong>ir</strong>stinys priklauso šeimai { P , θ ∈ Θ}, priklausančiai nuo k-mačio parametroθ106
jθ ( θ 1,..., θ ) ∈ Θ.Pažymėkime α = α ( θ 1,..., θ ) = EX, j = 1,2,..., a.d. X j-tąjį pradinį=kmomentą. Šių momentų emp<strong>ir</strong>iniai analogai (įverčiai) yrajajj1=nn∑i=1Xji107k,j = 1,2,...(4.7)P<strong>ir</strong>masis momentas a1(aritmetinis vidurkis) paprastai žymimas X . Emp<strong>ir</strong>iniųmomentų (4.7) p<strong>ir</strong>mųjų momentų išraiškos yra tokios:2α2j−αjαj + j′−αjαj′E aj= αj,Vaj= , cov( aj,aj′) =. (4.8)nnKadangi momentai (4.7) yra vienodai pasisk<strong>ir</strong>sčiusių nepriklausomų a.d. <strong>su</strong>mos, taijoms bendromis sąlygomis galioja centrinė ribinė teorema <strong>ir</strong> jų sk<strong>ir</strong>stinius prie pakankamaididelių n galima apytiksliai aproksimuoti normaliuoju sk<strong>ir</strong>stiniunaj−αα 2−αjj2j⇒ ZPagal momentų metodą teorinius momentusαjprilyginame atitinkamiems emp<strong>ir</strong>iniamsmomentamsaj. Gauname lygčių sistemą∼ N ( 0,1), n → ∞,j = 1,2,...(4.9)⎧a1= α1= α1(θ1,...,θk),⎪a2= α2= α2( θ1,...,θk),⎨⎪L⎪⎩ak= αk= αk( θ1,...,θk).Šios lygčių sistemos sprendiniai ˆ θj, j = 1,2,..., k,parametrų θ1, θ2,...,θkatžvilgiu yravadinami momentų metodu gautais įverčiais. Jie yra emp<strong>ir</strong>inių momentų (4.7) funkcijosˆ θ= ˆ θ ( a ,..., a),1,2,...,j j 1 kj = kŠių įverčių savybes galime gauti iš žemiau pateikiamo tv<strong>ir</strong>tinimo apie emp<strong>ir</strong>iniųmomentų funkcijas.T e o r e m a. Tegu H = H ( a 1,..., a k) yra emp<strong>ir</strong>inių momentų a1,...,akfunkcijatenkinanti sąlygą: ji yra tolydi <strong>ir</strong> turi tolydžias p<strong>ir</strong>mos <strong>ir</strong> antros eilės dalines išvestines savoargumentų atžvilgiu taško ( α 1,..., α k) aplinkoje. Tada funkcija H (kaip <strong>ir</strong> atsk<strong>ir</strong>as josargumentas) tenkina asimptotinio normalumo sąlygąčia.H Hn− 0 ⇒ Z ∼ N ( 0,1), n → ∞ ,(4.10)BHE H ∼ H = H ( α 1,..., α ),0 k2 kBH2V H ∼ = ∑ HjV aj+ ∑ HjHj′cov( aj, aj′),nH∂H∂aj=1j≠j′j===j|( a), 1,2,..., .1 = α 1 ,..., a k αj kkImdami vietoje H kurį nors įvertį iš (4.10) gauname
ˆ θj−θjnBˆ θj⇒ Z ∼ N ( 0,1), n → ∞,j = 1,2,..., k.(4.11)Maksimalaus tikėtinumo metodas. Įrašykime į sk<strong>ir</strong>stinį (4.1) vietoje argumentox = ( x 1,..., x n) atsitiktinę imtį X = ( X1,...,Xn). Gautąją funkciją vadiname maksimalaustikėtinumo funkcijaL ( θ | X)= p ( X).(4.12)Diskrečiuoju atveju p (x θ) yra tikimybė to, kad a.v. X realizacija yra lygix = ( x 1,..., x n) , kai tikroji parametro reikšmė yra θ . Pastumkime parametrą θ taip, kadtikimybė gauti tą imtį, kurią faktiškai gavome, būtų kuo didesnė, t.y. ieškome labiausiaitikėtinos parametro θ reikšmės. Tai <strong>ir</strong> yra maksimalaus tikėtinumo metodo esmė.Parametro θ įvertis ~ θ , kuris gaunamas iš sąlygos~max L ( θ | X)= L(θ | X),(4.13)vadinamas maksimalaus tikėtinumo įverčiu. Vietoje (4.13) dažnai yra patogiau maksimizuotifunkcijos L ( θ | X)logaritmą, t.y. ieškoti ~ θ iš sąlygosθ~maxln(L ( θ | X))= maxl(θ | X)= l(θ | X).(4.14)Jeigu funkcijos l ( θ | X)maksimumas pasiekiamas vidiniame srities Θ taške <strong>ir</strong>l ( θ | X)diferencijuojama pagal θ , ,..., 1θ2 θk, tai įvertis ~ θ tenkina maksimalaus tikėtinumolygčių sistemą :∂ln(L(θ | X )) ∂l(θ | X )= = 0,∂θ∂θjjj = 1,2,..., k.(4.15)Gauti iš (4.15) įverčiai tenkina asimptotinio normalumo sąlygą:~θj−θj1⇒ Z ∼ N ( 0,1), n → ∞,j = 1,2,..., k.(4.16)I(θ )jČia I( θ j) yra taip vadinamas Fišerio informacijos kiekis apie parametrą θjimtyjeX = X ,..., X ) :(1 n⎛ ln ( | ) ⎞ ⎛2ln ( | ) ⎞( ) ⎜∂ L θ X⎟ ⎜∂ L θ XI θ= −⎟j= E E.(4.17)2⎝ ∂θj ⎠ ⎝ ∂θj ⎠Funkcijos γ = γ (θ)maksimalaus tikėtinumo įvertis ~ γ yra~ ~γ = γ ( θ), jei ~ θ yraparametro θ maksimalaus tikėtinumo įvertis.Informacijos kiekis apie parametrą γ = γ (θ)(tariame, kad parametras θ yravienmatis) yra gaunamas tokiu būdu( θ )I ( γ ) = I .2( γ ′(θ ))Jeigu egzistuoja pakankama <strong>statistika</strong> T, tai maksimalaus tikėtinumo įvertis θ ~ yra tikpakankamos statistikos T funkcija. Šia prasme maksimalaus tikėtinumo įverčiai gali turėti2108
privalumą lyginant jį <strong>su</strong> momentų metodu gautais įverčiais, kurie yra emp<strong>ir</strong>inių momentųfunkcijos. Suprantama, kad pastarieji nebūtinai <strong>su</strong>tampa <strong>su</strong> pakankamąją <strong>statistika</strong>.Jeigu L ( θ | X)tenkina gana bendras reguliarumo sąlygas (žr. [5]), tai nepaslinktamparametro θjįverčiui galioja Rao-Kramero nelygybė: įverčio dispersija yra apribota išapačios:1V ˆ θj≥ .(4.18)I(θ )Praktikoje dažniausiai naudojamų sk<strong>ir</strong>stinių atveju lygčių sistema, gauta momentųmetodu yra paprastesnė <strong>ir</strong> lengviau išsprendžiama. Tuo tarpu sistema (4.15) dažnai būna<strong>su</strong>dėtinga <strong>ir</strong> ją tenka spręsti artutiniais iteraciniais metodais. Dažnai rekomenduojama elgtistokiu būdu: pradiniame etape rasti įverčius momentų metodu <strong>ir</strong> panaudoti juos kaip pradinįartinį tikslinant įverčius maksimalaus tikėtinumo metodu.Parametrų pasikliautinieji intervalai. Taškiniai parametrų įverčiai yra atsitiktinėsimties funkcijos, t.y. jie <strong>ir</strong>gi yra atsitiktiniai dydžiai. Todėl įverčių tikslumą galima apibūdintitik tikimybiškai. Pavyzdžiui, negalima tv<strong>ir</strong>tinti, kad <strong>su</strong>konstruotas parametro θ įvertis θˆ busnukrypęs nuo tikros parametro reikšmės mažiau už pas<strong>ir</strong>inktą skaičių ε > 0 , o galima kalbėtitik apie tokio įvykio tikimybę:P {| ˆ θ −θ| < ε | θ}> Q,kuri tam tikra prasme apibūdina įverčio tikslumą, jeigu Q yra artimas vienetui.Norint kad <strong>su</strong>rastas įvertis kartu charakterizuotų <strong>ir</strong> jo tikslumą, greta taškinių įverčiųmatematinėje statistikoje naudojami <strong>ir</strong> intervaliniai įverčiai (pasikliautinieji intervalai).Tarkime, kad paprasta atsitiktinė dydžio n imtis X = X ,..., X ) yra gauta stebint a.d.109j(1 nX, kurio sk<strong>ir</strong>stinys priklauso šeimai { P , θ ∈ Θ}. Pradžioje aptarsime paprastesnį atvejį, kai1θ yra vienmatis parametras.θ∈ Θ ⊂ RParametro θ pasikliautinuoju intervalu <strong>su</strong> reikšmingumo lygmeniu Q vadiname porąnepriklausančių nuo nežinomų parametrų imties X = X ,..., X ) funkcijų (statistikų), kurias(1 nžymėsime θ = θ(X)<strong>ir</strong> θ = θ (X), θ ≤ θ . Tikimybę Q, <strong>su</strong> kuria intervalas ( θ , θ ) uždengiatikrąją parametro reikšmę vadiname intervalo pasikliovimo lygmeniu (pasikliovimo lygmuoparenkamas iš anksto <strong>ir</strong>, paprastai, imama Q=0,9; 0,95; 0,99 <strong>ir</strong> pan.):P { θ ≤ θ ≤ θ | θ}≥ Q,∀θ∈ Θ.(4.19)Kai egzistuoja vienmatė pakankamoji <strong>statistika</strong> T = T (X), tai pakanka nagrinėti tiktokius intervalus, kurių rėžiai yra statistikos T funkcijos.Tegu T yra pakankamoji <strong>statistika</strong>, o jos pasisk<strong>ir</strong>stymo funkcija H ( t | θ ) yramonotoniškai mažėjanti parametro θ funkcija. Tada pasikliautinojo intervalo <strong>su</strong> pasikliovimolygmeniu Q rėžiai gaunami iš lygčių1−QH ( T | θ ) = 1−P,H ( T + 0 | θ ) = P,P = .(4.20)2Jeigu H ( t | θ ) yra monotoniškai didėjanti θ funkcija, tada intervalo rėžiai gaunami išlygčiųH ( T + 0 | θ ) = P,H ( T | θ ) = 1−P.(4.21)Kaip <strong>ir</strong> taškinių įverčių radimo atveju šis metodas nepritaikomas, kai pakankamoji<strong>statistika</strong> neegzistuoja, arba kai ne<strong>su</strong>gebame rasti jos sk<strong>ir</strong>stinio. Jeigu <strong>su</strong>rastas taškinisparametro θ įvertis θˆ , kurio sk<strong>ir</strong>stinys asimptotiškai normalus, tai apytikslį pasikliautinąjį
intervalą prie pakankamai didelių n galime rasti naudodami normaliąją aproksimaciją. Teguθˆ yra parametro θ įvertis, kuriam galioja centrinė ribinė teorema (žr., pavyzdžiui, momentųar maksimalaus tikėtinumo metodais rastus įverčius):Tada galime parašyti apytikslę lygybęˆ θ −θ⇒ Z ∼ N ( 0,1), n → ∞.V ˆ θ⎪⎧ˆ θ −θ⎪⎫P ⎨−zα/ 2< < zα/ 2 ⎬ ≈ Q = 1−α,(4.22)⎪⎩ V ˆ θ ⎪⎭čia zαyra standartinio normalaus sk<strong>ir</strong>stinio α lygmens kritinė reikšmė.Jeigu vardiklyje po šaknimi parašyta dispersija nepriklauso nuo nežinomo parametro,tai perrašę skliaustuose parašytas nelygybes θ atžvilgiu, gausime jo apytikslį pasikliautinąjįintervalą. Jeigu V θˆ priklauso nuo vienintelio vienmačio parametro θ , tai skliaustuoseparašytas nelygybes <strong>ir</strong>gi kartais galime perrašyti θ atžvilgiu.Kito metodo, kurį naudojant galima iš (4.22) rasti apytikslį pasikliautinąją intervalą,esmė yra ta, kad dispersija V θˆ keičiama jos įverčiu ˆV θˆ . Paprasčiausiu atveju dispersijosV θˆ išraiškoje esantys parametrai tiesiog pakeičiami jų įverčiais. Šiek tiek tikslesnį atsakymągauname, kai pavyksta <strong>su</strong>konstruoti dispersijosV θˆ nepaslinktą įvertį.2.Taškinių parametrų įverčių <strong>ir</strong> pasikliautinųjų intervalų pavyzdžiaiŠiame skyrelyje pateiksime kai kurių tikimybinių sk<strong>ir</strong>stinių parametrų taškinių įverčių<strong>ir</strong> pasikliautinųjų intervalų pavyzdžius (žr. [5]).2.1. Vienmatis normalusis sk<strong>ir</strong>stinysTegu imtis X1, X2,..., Xnyra gauta stebint a.d. X, kurio sk<strong>ir</strong>stinys yra normalusis <strong>su</strong>22vidurkiu µ <strong>ir</strong> dispersija σ , t.y. X ~ N(µ , σ ) .Vidurkio µ NMD įvertis yran1ˆ µ = X = ∑ X i.(4.23)nPraktikoje vidurkis dažniausiai nežinomas, todėl dispersijos <strong>ir</strong> standartinio nuokrypioįverčius pateiksime tik šiuo atveju (įverčių išraiškas, kai vidurkis žinomas žr. [5]). Dispersijos2σ NMD įvertis, kai vidurkis µ nežinomas yrai=1n2 2 12ˆ σ = s = ∑(X i− X ) .(4.24)n −12Standartinio nuokrypio σ įvertis ˆ σ = σˆ yra paslinktas. Standartinio nuokrypio σNMD įvertį, kai vidurkis nežinomas gauname taip:i=1s2 Γ(n / 2)ˆ σ = , Mn−1=.(4.25)Mn −1Γ((n 1) / 2)n−1 −110
4.1 p a v y z d y s. Modeliuokime a.d. X ~ N(5, 4)dydžio n = 100 imtį:%LET n=100;%LET miu=5;%LET sigma=2;DATA normalusis;DO i=1 TO &n;Y=&miu+&sigma*NORMAL(10);OUTPUT;END;RUN;Apskaičiuokime parametrų taškinius įverčius:PROC MEANS DATA=normalusis MEAN VAR STD;OUTPUT OUT=rezultatas MEAN(Y)=vid_y VAR(Y)=dispers_y STD(Y)=std_y;VAR Y; RUN;Output lange gauname tokį rezultatą:Mean Variance Std Dev5.0332621 3.9820280 1.99550192Taigi, vidurkio µ NMD įvertis (4.23) yra 5.0332621; dispersijos σ NMD įvertis(4.24) yra 3.9820280; standartinio nuokrypio σ įvertis (paslinktas) yra 1.9955019.Apskaičiuokime standartinio nuokrypio σ nepaslinktą įvertį. Editor lange įveskime:DATA std;SET rezultatas;pag=sqrt(2/(&n-1))*gamma(&n/2)/gamma((&n-1)/2);std_nepaslinktas=std_y/pag;KEEP std_nepaslinktas;RUN;Lentelėje „std“ gauname nepaslinktą standartinio nuokrypio įvertį: 2.0005473739.2Kai dispersija σ nežinoma, tai vidurkio µ pasikliautinasis intervalas <strong>su</strong> pasikliovimolygmeniu Q = 1−αyra:⎛ss ⎞µ , µ ) = ⎜ X − t( 1−α/ 2, n−1), X + t(1−α/ 2, n−1⎟,(4.26)⎝nn ⎠()čia t( 1−α / 2, n−1)- Stjudento sk<strong>ir</strong>stinio <strong>su</strong> n-1 laivės laipsniu (1-α/2)-tasis kvantilis, X <strong>ir</strong> sapibrėžti (4.23) <strong>ir</strong> (4.24) atitinkamai.2Kai vidurkis µ nežinomas, tai dispersijos σ pasikliautinasis intervalas <strong>su</strong> pasikliovimolygmeniu Q = 1−αyra:⎛22( 1) ( 1) ⎞2 2, ) ⎜s n − s n −σ σ = , ⎟,(4.27)2⎝ χ(1−α/ 2, n−1)χ( α / 2, n−1)⎠(2čia t( P,n−1)yra chi-kvadrato sk<strong>ir</strong>stinio <strong>su</strong> n-1 laivės laipsniu P-tasis kvantilis, s apibrėžtas(4.24).22Kadangi σ = σ yra monotoniška σ funkcija, tai standartinio nuokrypiopasikliautinąjį intervalą gauname (4.27) formulės:2 2( σ , σ ) = ⎜⎛σ , σ ⎟⎞.(4.28)⎝ ⎠111
Vidurkio µ pasikliautinąjį intervalą galima apskaičiuoti <strong>su</strong> SAS procedūra MEANS.Jeigu nurodome CLM, tai apskaičiuos dvipusį vidurkio µ pasikliautinąjį intervalą <strong>su</strong>pasikliovimo lygmeniu Q = 1−α(4.26).Pagal nutylėjimą pasikliovimo lygmuo 95%, t.y. α=0.05. Jeigu norime apskaičiuotipasikliautinąjį intervalą <strong>su</strong> kitokiu pasikliovimo lygmeniu, tai nurodome ALPHA=α,pavyzdžiui, jei parašysimePROC MEANS DATA=d1 ALPHA=0.1 CLM;VAR x; RUN;tai bus apskaičiuotas dvipusis vidurkio pasikliautinasis intervalas <strong>su</strong> pasikliovimo lygmeniu0.90.Jeigu nurodome LCLM, tai apskaičiuos apatinį vidurkio pasikliautinojo intervalo rėžį.Vidurkio vienpusio pasikliautinojo intervalo <strong>su</strong> pasikliovimo lygmeniu (1-α) apatinis rėžisyra:sµ = X − t(1−α, n−1).(4.29)nJeigu nurodome UCLM, tai apskaičiuos v<strong>ir</strong>šutinį vidurkio pasikliautinojo intervalorėžį. Vidurkio vienpusio pasikliautinojo intervalo <strong>su</strong> pasikliovimo lygmeniu (1-α) v<strong>ir</strong>šutinisrėžis yra:sµ = X + t(1−α, n−1).(4.30)n4.1 p a v y z d y s (tęsinys). Apskaičiuokime vidurkio pasikliautinąjį intervalą <strong>su</strong>pasikliovimo lygmeniu 0.99. Editor lange parašykime:PROC MEANS DATA=normalusis ALPHA=0.01 MEAN CLM;VAR Y; RUN;Output lange gauname:The MEANS ProcedureAnalysis Variable : YLower 99% Upper 99%Mean CL for Mean CL for Mean5.0332621 4.5091624 5.5573618Vidurkio taškinis įvertis yra 5.0332621, o vidurkio 99% pasikliautinasis intervalas yra(4.5091624, 5.5573618). Jeigu nebūtume nurodę ALPHA=0.01, tai būtų apskaičiuotasvidurkio 95% pasikliautinasis intervalas.Su procedūra UNIVARIATE galima apskaičiuoti vidurkio, dispersijos, standartinionuokrypio <strong>ir</strong> kvantilių pasikliautinuosius intervalus normaliajam sk<strong>ir</strong>stiniui, o taip patkvantilių pasikliautinuosius intervalus, kai sk<strong>ir</strong>stinys nėra normalusis. Procedūroje galimanurodyti tokias pas<strong>ir</strong>inktis:ALPHA=α, čia α=1-Q, Q – pasikliovimo lygmuo;CIBASIC ) > vidurkio, standartinio nuokrypio <strong>ir</strong>dispersijos pasikliautinasis intervalas. Tariama, kad duomenų sk<strong>ir</strong>stinys normalusis. Šiprielaida didelėms imtims nėra būtina, nes galime naudoti centrinę ribinę teoremą, t.y.aproksimuojame normaliu sk<strong>ir</strong>stiniu. Tipas=LOWER | UPPER | TWOSIDED (apatinisvienpusio pasikliautinojo intervalo rėžis | v<strong>ir</strong>šutinis vienpusio pasikliautinojo intervalo rėžis |dvipusis pasikliautinasis intervalas; pagal nutylėjimą TWOSIDED).CIPCTLNORMAL < ALPHA = α >) > kvantilių pasikliautiniejiintervalai. Tariama, kad duomenų sk<strong>ir</strong>stinys normalusis. Tipas=LOWER | UPPER |TWOSIDED (apatinis vienpusio pasikliautinojo intervalo rėžis | v<strong>ir</strong>šutinis vienpusio112
pasikliautinojo intervalo rėžis | dvipusis pasikliautinasis intervalas; pagal nutylėjimąTWOSIDED).CIPCTLDF kvantilių pasikliautinieji intervalai(nereikalaujama, kad duomenų sk<strong>ir</strong>stinys normalusis). Tipas=LOWER| UPPER |SYMMETRIC | ASYMMETRIC (apatinis vienpusio pasikliautinojo intervalo rėžis | v<strong>ir</strong>šutinispasikliautinojo intervalo rėžis | simetriškas dvipusis pasikliautinasis intervalas | asimetriškasdvipusis pasikliautinasis intervalas; pagal nutylėjimą SYMMETRIC), pavyzdžiui,1) PROC UNIVARIATE data=d1 CIBASIC; apskaičiuos vidurkio, dispersijos <strong>ir</strong>standartinio nuokrypio dvipusį pasikliautinąjį intervalą <strong>su</strong> pasikliovimo lygmeniu 0.95.2) PROC UNIVARIATE data=d1 CIBASIC (TYPE=LOWER ALPHA=0.1);apskaičiuos vidurkio, dispersijos <strong>ir</strong> standartinio nuokrypio apatinį vienpusio pasikliautinojointervalo <strong>su</strong> pasikliovimo lygmeniu 0.90 rėžį.4.1 p a v y z d y s (tęsinys). a) Apskaičiuokime vidurkio, dispersijos <strong>ir</strong> standartinionuokrypio dvipusį 95% pasikliautinąjį intervalą; b) vienpusio 95% pasikliautinojo intervalov<strong>ir</strong>šutinį rėžį; c) dvipusius kvantilių 90% pasikliautinuosius intervalus. Editor langeparašykime:PROC UNIVARIATE DATA=normalusis CIBASIC; /* a punktas */VAR Y; RUN;PROC UNIVARIATE DATA=normalusis CIBASIC(TYPE=UPPER) /* b,c punktai*/CIPCTLNORMAL(ALPHA=0.1);VAR Y; RUN;P<strong>ir</strong>mosios procedūros UNIVARIATE rezultatas (pateikiame tik dalį spausdinamųstatistikų):The UNIVARIATE ProcedureVariable: YBasic Statistical Mea<strong>su</strong>resLocationVariabilityMean 5.033262 Std Deviation 1.99550Median 4.841455 Variance 3.98203Basic Confidence Limits As<strong>su</strong>ming NormalityParameter Estimate 95% Confidence LimitsMean 5.03326 4.63731 5.42921Std Deviation 1.99550 1.75206 2.31813Variance 3.98203 3.06973 5.37370Antrosios procedūros UNIVARIATE rezultatas:The UNIVARIATE ProcedureVariable: YBasic Confidence Limits As<strong>su</strong>ming NormalityParameter Estimate Upper 95% CLMean 5.03326 5.36459Std Deviation 1.99550 2.26201Variance 3.98203 5.11667Quantiles (Definition 5)90% Confidence LimitsQuantile Estimate As<strong>su</strong>ming Normality100% Max 9.76870899% 9.714071 9.10420 10.3891195% 8.197070 7.85556 8.8776790% 7.850342 7.18178 8.0798975% Q3 6.364037 6.03320 6.7686150% Median 4.841455 4.70193 5.36459113
25% Q1 3.787134 3.29791 4.0333310% 2.279383 1.98663 2.884755% 1.727020 1.18885 2.210961% 0.927769 -0.32258 0.962330% Min 0.239332Gauname:a) vidurkio 95% dvipusis pasikliautinasis intervalas yra (4.63731, 5.42921); dispersijos95% dvipusis pasikliautinasis intervalas yra (3.06973, 5.37370); standartinio nuokrypio95% dvipusis pasikliautinasis intervalas yra (1.75206, 2.31813);b) vidurkio 95% vienpusio pasikliautinojo intervalo v<strong>ir</strong>šutinis rėžis yra 5.36459;dispersijos 95% vienpusio pasikliautinojo intervalo v<strong>ir</strong>šutinis rėžis yra 5.11667; standartinionuokrypio 95% vienpusio pasikliautinojo intervalo v<strong>ir</strong>šutinis rėžis yra 2.26201;c) dešimtojo procentilio 95% dvipusis pasikliautinasis intervalas yra (1.98663,2.88475); p<strong>ir</strong>mojo kvartilio 95% dvipusis pasikliautinasis intervalas yra (3.29791, 4.03333) <strong>ir</strong>t.t.2.2. Dvimatis normalusis sk<strong>ir</strong>stinysTarkime, kad ( Xi, Yi), i = 1,...,n yra dydžio n imtis, gauta stebint atsitiktinį vektorių,kurio sk<strong>ir</strong>stinys yra dvimatis normalusis <strong>su</strong> vidurkių vektoriumi µ <strong>ir</strong> kovariacijų matrica Σ ,t.y. ( X , Y ) ~ N2( µ , Σ), čia2⎛ σ11= σ1Σ = ⎜⎝σ12= ρσ1σ2µ = ( µ , µ ),12σ12= ρσ1σ⎞2⎟,2σ22= σ2 ⎠− ∞ < µ , µ < +∞,110 < σ , σ < +∞,11| ρ | < 1.(4.31)2 2Parametrų µ1, µ2, σ1, σ2taškiniai įverčiai randami panašiai kaip <strong>ir</strong> tuo atveju, kaisk<strong>ir</strong>stinys yra vienmatis normalusis (žr. 2.1 skyrelį):2ˆ σ = s121ˆ µ = X11=n −1n∑i=11=n( Xin∑i=1X− X )i2,,ˆ µ = Y22ˆ σ = s21=n22n∑i=1Y ,1=n −1in∑i=1( Yi− Y )2.(4.32)Koreliacijos koeficiento ρ įverčiu imamas jo emp<strong>ir</strong>inis analogas (P<strong>ir</strong>sono koreliacijoskoeficientas):( Xi− X )( Yi− Y )i=1ˆ ρ = r =,(4.33)n∑i=1n∑( Xi− X )n∑i=1( Yi− Y )čia X , Y apibrėžti (4.32).Koreliacijos koeficientą (4.33) galime apskaičiuoti <strong>su</strong> SAS procedūra CORR.Sintaksė:PROC CORR DATA=lentelė;VAR kintamieji;RUN;VAR sakinyje nurodome kintamuosius, kurių koreliacijos koeficientus norimeapskaičiuoti.114
4.2 p a v y z d y s. Modeliuokime a.v. ( X , Y ) ~ N2( µ , Σ)dydžio n = 100 imtį, čia⎛ 4 1.6⎞µ = ( 2,3), Σ = ⎜ ⎟,t.y. ρ = 0. 6 . Editor lange įveskime:⎝1.61 ⎠%LET n=100;%LET miu1=2; %LET miu2=3;%LET sigma1=2; %LET sigma2=1;%LET ro=0.6;DATA dvimatis;DO i=1 TO &n;X=&miu1+&sigma1*NORMAL(10);vid=&miu2+&ro*(&sigma2/&sigma1)*(X-&miu1);std=sqrt(&sigma2*(1-&ro*&ro));Y=vid+std*NORMAL(10);OUTPUT;END;RUN;Apskaičiuokime parametrųparašykime:2 2µ1, µ2, σ1, σ2, ρ taškinius įverčius. Editor langePROC MEANS DATA=dvimatis MEAN VAR;VAR X Y;RUN;PROC CORR DATA=dvimatis;VAR X Y;RUN;Output lange gauname:The MEANS ProcedureVariable Mean Std Dev VarianceX 1.6761400 1.8581382 3.4526775Y 2.9474044 1.0639310 1.1319491The CORR Procedure2 Variables: X YSimple StatisticsVariable N Mean Std Dev Sum Minimum MaximumX 100 1.67614 1.85814 167.61400 -1.38379 6.76871Y 100 2.94740 1.06393 294.74044 0.68343 5.55309Pearson Correlation Coefficients, N = 100Prob > |r| under H0: Rho=0X YX 1.00000 0.56355
M V1 1+rV = ln ,(4.35)2 1−r21 1+ρ ρ ⎛ 3 − ρ ⎞= ln + 1... ,2 1 2( 3)⎜ − +4( 3)⎟− ρ n − ⎝ n − ⎠22 41 ⎛ ρ 2 − 6ρ+ 3ρD Z = 123⎜ − −n − ⎝ 2( n − 3) 6( n − 3)⎞+ ...⎟.⎠Taikydami šią aproksimaciją <strong>ir</strong> aps<strong>ir</strong>ibodami p<strong>ir</strong>maisiais MV <strong>ir</strong> DV nariais, gaunameapytikslį koreliacijos koeficiento ρ pasikliautinąjį intervalą <strong>su</strong> pasikliovimo lygmeniuQ = 1−α :čiaV1 1+rln − z2 1−r2V12V21 1( , ) = ⎛ e − e − ⎞ρ ρ⎜ , ,2 12 21 1⎟(4.36)V⎝ e + eV + ⎠1 1 1+r 1α / 2, V2= ln + z1α / 2. (4.37)n − 3 2 1−r n − 31=1−−kur z1−α / 2yra standartinio normalaus sk<strong>ir</strong>stinio (1-α/2)-tasis kvantilis.Pasikliautinąjį koreliacijos koeficiento ρ intervalą galima apskaičiuoti <strong>su</strong> SASprocedūra CORR. Ši procedūra apskaičiuoja (4.36) intervalą arba intervalą <strong>su</strong> pataisa, t.y. tokįpasikliautinąjį intervalą:čiačiaV1 1+rln − w − z2 1−r2V1*2V*1 1, ) = 2⎛ e − e − ⎞ρ ρkoreg, ,koreg ⎜2 1*2 21 1⎟(4.38)V⎝ e + eV + ⎠(*1 1 1+r1α / 2, V2*= ln − w + z1α /. (4.39)n − 3 2 1−rn − 31* =1−− 2rw = .(4.40)2(n −1)Pasikliautinasis intervalas apskaičiuojamas, jeigu Proc sakinyje nurodomeFISHER, čia pas<strong>ir</strong>inktys:ALPHA=α, čia α=1-Q, Q – pasikliovimo lygmuo;TYPE=LOWER| UPPER | TWOSIDED (apatinis vienpusio pasikliautinojo intervalorėžis | v<strong>ir</strong>šutinis pasikliautinojo intervalo rėžis | dvipusis pasikliautinasis intervalas; pagalnutylėjimą TWOSIDED,BIASADJ=YES|NO, jeigu nurodome „NO“, tai apskaičiuojamas pasikliautinasisintervalas (4.36), jeigu nurodome „YES“ arba šios parinkties nenurodome, tai naudojamapataisa <strong>ir</strong> apskaičiuojamas pasikliautinasis intervalas (4.38); jeigu skaičiuojamas (4.38)intervalas, tai papildomai dar spausdinamas toks koreliacijos koeficiento įvertis:čia V <strong>ir</strong> w apibrėžti (4.35) <strong>ir</strong> (4.40) atitinkamai.2( V −w)e −1rkoreg= ,(4.41)2( V −w)e + 1116
4.2 p a v y z d y s (tęsinys). a) Apskaičiuokime koreliacijos koeficiento 95%pasikliautinąjį intervalą naudojant pataisą (žr. (4.38)). Editor lange įveskime:PROC CORR DATA=dvimatis FISHER;VAR X Y;RUN;Output lange gauname:Pearson Correlation Statistics (Fisher's z Transformation)With Sample Bias CorrelationVariable Variable N Correlation Fisher's z Adjustment EstimateX Y 100 0.56355 0.63802 0.00285 0.56160Pearson Correlation Statistics (Fisher's z Transformation)Withp Value forVariable Variable 95% Confidence Limits H0:Rho=0X Y 0.410464 0.682713
čia r - nurodyta reikšmė, nr- reikšmių r skaičius, n – bendras stebėjimų skaičius;2) tikimybės įverčio pˆ standartinį nuokrypįs = sp= pˆ(1− pˆ) / n;(4.43)ˆ3) asimptotinį pasikliautinąjį p intervalą, kuris gaunamas naudojant normaliąją aproksimaciją.Asimptotinis tikimybės p pasikliautinasis intervalas <strong>su</strong> pasikliovimo lygmeniuQ = 1−α yrap,p)= ( pˆ− z s,pˆz ),(4.44)(1− α / 2+1−α/ 2sčia z1−α / 2yra standartinio normalaus sk<strong>ir</strong>stinio (1-α/2)-tasis kvantilis. Pagal nutylėjimą yraskaičiuojamas 95% pasikliautinasis intervalas. Kokį pasikliautinąjį intervalą skaičiuoti galimanurodyti <strong>su</strong> ALPHA=α, čia α=1-Q, Q – pasikliovimo lygmuo (ši pas<strong>ir</strong>inktis rašoma TABLESsakinyje);čia4) tikslų pasikliautinąjį p intervalą( p,p)= ( Xα 2( nr, n − nr+ 1), X1−α/ 2( nr118+ 1, n − n/ rXvyra beta sk<strong>ir</strong>stinio v-tasis kvantilis, nr- apibrėžtas (4.42).Jeigu TABLES sakinyje nurodome BINOMIALC(LEVEL=reikšmė), tai skaičiuojantasimptotinį p pasikliautinąjį intervalą yra naudojama tolydumo pataisa 1/2n, t.y. asimptotinistikimybės p pasikliautinasis intervalas <strong>su</strong> pasikliovimo lygmeniu Q = 1−αyraapskaičiuojamas taip:p , p ) ( pˆ− ( z 1/ 2 , ˆαs + n p + ( zαs + 1/ 2n)),(4.45)(koreg=koreg1−/ 21−/ 2čia z1−α / 2yra standartinio normalaus sk<strong>ir</strong>stinio (1-α/2)-tasis kvantilis.4.3 p a v y z d y s. Modeliuokime a.d. X, kurio sk<strong>ir</strong>stinys yra binominis <strong>su</strong> parametrais1 <strong>ir</strong> p=0.4, t.y. X~B(1,p) dydžio n = 50 imtį. Editor lange įveskime:%LET n=50;%LET p=0.4;DATA binominis;DO i=1 TO &n;X=ranbin(10,1,&p);OUTPUT;END;RUN;Apskaičiuokime tikimybės p įvertį <strong>ir</strong> pasikliautinąjį intervalą <strong>su</strong> pasikliovimolygmeniu 0.9. Editor lange parašome:PROC FREQ DATA=binominis;TABLES x / BINOMIAL(LEVEL=’0’) ALPHA=0.1;RUN;Output lange gauname:The FREQ ProcedureCumulative CumulativeX Frequency Percent Frequency Percent0 24 48.00 24 48.001 26 52.00 50 100.00Binomial Proportion for X = 0Proportion 0.4800),
ASE 0.070790% Lower Conf Limit 0.363890% Upper Conf Limit 0.5962Exact Conf Limits90% Lower Conf Limit 0.357390% Upper Conf Limit 0.6046Sample Size = 50P<strong>ir</strong>ma spausdinama lentelė yra kintamojo x dažnių lentelė (tokias lentelės aptarėme IIIsk. 1 skyrelyje). Iš lentelės „Binomial Proportion for X=0“ gauname, kad tikimybės p įvertis(4.42) yra p ˆ = n0 / n = 24 / 50 = 0.48;tikimybės įverčio pˆ standartinis nuokrypiss s ˆ = 0.0707 (ASE; žr. (4.43)); asimptotinis pasikliautinasis p intervalas (žr. (4.44)) <strong>su</strong>= ppasikliovimo lygmeniu 0.9 yra ( p , p)= (0.3638, 0.5962);tikslus pasikliautinasis p intervalas(Exact Conf Limits) yra (0.3573, 0.6046).Tegu imtisX ,...,parametru λ. Parametro λ NMD įvertis yra2.4 Puasono sk<strong>ir</strong>stinys1, X2Xnyra gauta stebint a.d. X, kurio sk<strong>ir</strong>stinys yra Puasono <strong>su</strong>nˆ 1λ = X = ∑ X i.(4.46)ni=1Parametro λ įvertį galime apskaičiuoti <strong>su</strong> procedūra MEANS arba UNIVARIATE.4.4 p a v y z d y s. Modeliuokime a.d. X, kurio sk<strong>ir</strong>stinys yra Puasono <strong>su</strong> parametruλ=2 dydžio n = 100 imtį. Editor lange įveskime:%LET n=100;%LET lambda=2;DATA puasono;DO i=1 TO &n;X=ranpoi(10,&lambda);OUTPUT;END;RUN;Apskaičiuokime parametro λ taškinį įvertį. Editor lange parašome:PROC MEANS DATA=puasono MEAN;VAR X;RUN;Output lange gauname:The MEANS ProcedureTaigi, gauname, kad ˆ λ = 2.14.Analysis Variable : XMean2.1400000Parametro λ pasikliautinasis intervalas <strong>su</strong> pasikliovimo lygmeniuapskaičiuojamas taip:čia2PQ = 1−αyra⎛ 1 2 1 2⎞( λ , λ ) = ⎜ χ α / 2(2Sn), χ1−α/ 2(2Sn+ 2) ⎟,(4.47)⎝ 2n2n⎠χ yra chi-kvadrato sk<strong>ir</strong>stinio P-tasis kvantilis, S = X + ... + X .n1 n119
4.4 p a v y z d y s (tęsinys). Apskaičiuokime parametro λ pasikliautinąjį intervalą <strong>su</strong>pasikliovimo lygmeniu 0.95. Reikia parašyti programą, kuri apskaičiuotų ( λ , λ ) , apibrėžtą(4.47). Editor lange parašome:%LET n=100; /* stebėjimų skaičius*/%LET alpha=0.05; /* 0.95 pasikl. intervalas*/PROC MEANS NOPRINT DATA=puasono;VAR X; /*analizuojamas kintamasis*/OUTPUT OUT=intervalas SUM(X)=<strong>su</strong>ma; /*apskaičiuojame reikšmių <strong>su</strong>mą*/RUN;/*<strong>ir</strong> įrašome į lentelę intervalas*/DATA intervalas;SET intervalas;lambda_apat=CINV(&alpha/2,2*<strong>su</strong>ma)/2/&n; /*v<strong>ir</strong>šutinis intervalo rėžis */lambda_v<strong>ir</strong><strong>su</strong>t=CINV(1-&alpha/2,2*<strong>su</strong>ma+2)/2/&n; /*apatinis intervalo rėžis*/KEEP lambda_apat lambda_v<strong>ir</strong><strong>su</strong>t;RUN;Rezultatą gauname lentelėje „intervalas“; parametro λ pasikliautinasis intervalas <strong>su</strong>pasikliovimo lygmeniu 0.95 yra (1.8628677697, 2.4467383229).Tegu imtisX ,...,parametrais λ>0 <strong>ir</strong> a>0, t.y. X tankis yra2.5 Gama sk<strong>ir</strong>stinys1, X2Xnyra gauta stebint a.d. X, kurio sk<strong>ir</strong>stinys yra gama <strong>su</strong>aλ a−1 −λxf ( x | λ,a)= x e .(4.47)Γ(a)Parametrų λ <strong>ir</strong> a momentų metodu gauti įverčiai yra tokie (žr., pavyzdžiui, [5]):ˆ 222λ = X / s , aˆ= X / s ,(4.48)2čia X , s yra imties vidurkis <strong>ir</strong> dispersija.Parametrų λ <strong>ir</strong> a įverčius galime apskaičiuoti <strong>su</strong> procedūra MEANS arbaUNIVARIATE.4.5 p a v y z d y s. Modeliuokime a.d. X, kurio sk<strong>ir</strong>stinys yra gama <strong>su</strong> parametraisλ=0.5 <strong>ir</strong> a = 5 dydžio n = 200 imtį. Editor lange įveskime:DATA gama;DO i=1 TO 200;x=2*rangam(10,5);OUTPUT;END;RUN;Apskaičiuokime parametrų λ <strong>ir</strong> a momentų metodu gautus įverčius (žr.(4.48)). Editorlange parašykime:PROC MEANS NOPRINT DATA=gama;VAR X; /*analizuojamas kintamasis*/OUTPUT OUT=Param MEAN(X)=vid VAR(X)=disp; /*apskaičiuojame vidurkį <strong>ir</strong>*/RUN;/*dispersiją; įrašome į lentelę Param*/DATA Param;SET Param;lambda=vid/disp; /*parametro lambda įvertis */a=(vid**2)/disp; /*parametro a įvertis*/KEEP lambda a;RUN;Rezultatą gauname lentelėje „Param“; parametro λ įvertis ˆ = 0.4867363039,a ˆ = 4..λ parametroa įvertis 9916562109120
Ieškant parametrų įverčių maksimalaus tikėtinumo metodu reikia maksimizuotimaksimalaus tikėtinumo funkciją:n aλ a−1−λXiL = L(X1,X2,..., Xn;λ , a)= ∏ Xie .(4.49)Γ(a)Šis maksimizavimo uždavinys yra ekvivalentus tikėtinumo funkcijos L logaritmo maksimizavimouždaviniui, t.y. reikia maksimizuoti funkcijąčialin∑l ii=1i=1ln L = ,(4.50)= ( a −1)lnX − λ X + a ln λ − ln Γ(a).(4.51)iSAS yra procedūros, sk<strong>ir</strong>tos maksimizuoti (arba minimizuoti) funkcijas <strong>su</strong> tiesiniaisarba netiesiniais apribojimais. Viena iš jų yra SAS/IML modulio procedūra IML. Kitaprocedūra, sk<strong>ir</strong>ta funkcijų maksimizavimui (arba minimizavimui) yra SAS/OR modulioprocedūra NLP. Pilną šių procedūrų aprašymą galima pasižiūrėti pagrindiniame meniupas<strong>ir</strong>inkus punktą Help→SAS Help and Documentation.Pateiksime pavyzdį, iliustruojantį kaip <strong>su</strong> procedūra NLP apskaičiuoti gama sk<strong>ir</strong>stinioparametrų maksimalaus tikėtinumo įverčius.4.6 p a v y z d y s. Tarkime, kad turime 4.5 pavyzdyje modeliuotus duomenis.Apskaičiuokime parametrų λ <strong>ir</strong> a maksimalaus tikėtinumo įverčius.PROC NLP DATA=gama;MAX loglik;PARMS a=2, lambda=1;BOUNDS a > 1e-12, lambda > 1e-12;loglik=(a-1)*log(x)-x*lambda+a*log(lambda)-log(gamma(a));run;Naudojame sakinį MAX, nes reikia funkciją maksimizuoti; jame nurodome funkcijos,kurią maksimizuosime vardą; pati funkcija apibrėžiama vėliau (sakinyje prieš RUN).PARMS sakinyje nurodome parametrus (t.y. kintamuosius, kurių atžvilgiu maksimizuosimefunkciją).BOUNDS sakinyje nurodome apribojimus (gama sk<strong>ir</strong>stinio parametrai turi būtididesni už nulį, todėl nurodome labai mažą teigiamą skaičių 1e-12).Output lange gauname (pateikiame tik dalį spausdinamų charakteristikų):PROC NLP: Nonlinear MaximizationOptimization Re<strong>su</strong>ltsParameter EstimatesGradientObjectiveN Parameter Estimate Function1 a 5.162675 0.0000008062 lambda 0.503412 9.8321755E-8iTaigi, parametrų λ <strong>ir</strong> a maksimalaus tikėtinumo įverčiai yra ˆ λ = 0.503412,ˆ = 5.162675.a2.6 Beta sk<strong>ir</strong>stinysTegu imtis X1, X2,..., Xnyra gauta stebint a.d. X, kurio sk<strong>ir</strong>stinys yra beta <strong>su</strong>parametrais γ>0 <strong>ir</strong> η>0, t.y. X tankis yra121
Γ(γ + η)γ −1 η−1f ( x | γ , η)= x (1 − x).(4.52)Γ(γ ) Γ(η)Parametrų γ <strong>ir</strong> η momentų metodu gauti įverčiai yra tokie (žr., pavyzdžiui, [5]):⎛ X (1 − X ) ⎞⎛ X (1 − X ) ⎞ˆ γ = X ⎜ −1⎟,ˆ η = (1 − X ) ⎜ −1⎟,(4.53)2 2⎝ s ⎠⎝ s ⎠2čia X , s yra imties vidurkis <strong>ir</strong> dispersija.Parametrų γ <strong>ir</strong> η įverčius galime apskaičiuoti <strong>su</strong> procedūra MEANS arbaUNIVARIATE.4.6 p a v y z d y s. Modeliuokime a.d. X, kurio sk<strong>ir</strong>stinys yra beta <strong>su</strong> parametrais γ=1.5<strong>ir</strong> η = 3 dydžio n = 200 imtį. Editor lange įveskime:DATA beta;call streaminit(10);DO i=1 TO 200;x=rand(’BETA’,1.5,3);OUTPUT;END; RUN;Apskaičiuokime parametrų γ <strong>ir</strong> η momentų metodu gautus įverčius (žr.(4.53)). Editorlange parašykime:PROC MEANS NOPRINT DATA=beta;VAR X; /*analizuojamas kintamasis*/OUTPUT OUT=Param MEAN(X)=vid VAR(X)=disp; /*apskaičiuojame vidurkį <strong>ir</strong>*/RUN;/*dispersiją; įrašome į lentelę Param*/DATA Param;SET Param;gama=vid*(vid*(1-vid)/disp-1); /*parametro gama įvertis */eta=(1-vid)*(vid*(1-vid)/disp-1); /*parametro eta įvertis*/KEEP gama eta;RUN;Rezultatą gauname lentelėje „Param“; parametro γ įvertis ˆ = 1.3893051547,ˆ η = 2. .γ parametroη įvertis 80778468Ieškant parametrų įverčių maksimalaus tikėtinumo metodu reikia maksimizuotimaksimalaus tikėtinumo funkciją:nΓ(γ + η)γ −1η−1L = L(X1,X2,..., Xn;γ , η)= ∏ Xi(1 − Xi) . (4.54)Γ(γ ) Γ(η)i=1Šis maksimizavimo uždavinys yra ekvivalentus tikėtinumo funkcijos L logaritmo maksimizavimouždaviniui, t.y. reikia maksimizuoti funkcijąčialin∑l ii=1ln L = ,(4.55)= ln Γ(γ + η)− ln Γ(γ ) − ln Γ(η)+ ( γ −1)lnX + ( η −1)ln(1− X ). (4.56)Kaip <strong>ir</strong> gama sk<strong>ir</strong>stinio atveju (žr. 2.5 skyrelį) ieškant maksimalaus tikėtinumo įverčiųgalima naudoti procedūrą NLP.4.7 p a v y z d y s. Tarkime, kad turime 4.6 pavyzdyje modeliuotus duomenis.Apskaičiuokime parametrų γ <strong>ir</strong> η maksimalaus tikėtinumo įverčius.ii122
PROC NLP DATA=beta;MAX loglik;PARMS gama=2, eta=2;BOUNDS gama > 1e-12, eta > 1e-12;loglik=log(gamma(gama+eta))-log(gamma(gama))-log(gamma(eta))+(gama-1)*log(x)+(eta-1)*log(1-x);run;Naudojame sakinį MAX, nes reikia funkciją maksimizuoti; jame nurodome funkcijos,kurią maksimizuosime vardą; pati funkcija apibrėžiama vėliau (sakinyje prieš RUN).PARMS sakinyje nurodome parametrus (t.y. kintamuosius, kurių atžvilgiu maksimizuosimefunkciją).BOUNDS sakinyje nurodome apribojimus (beta sk<strong>ir</strong>stinio parametrai turi būti didesniuž nulį, todėl nurodome labai mažą teigiamą skaičių 1e-12).Output lange gauname (pateikiame tik dalį spausdinamų charakteristikų):PROC NLP: Nonlinear MaximizationOptimization Re<strong>su</strong>ltsParameter EstimatesGradientObjectiveN Parameter Estimate Function1 gama 1.499573 0.0000037482 eta 2.975147 0.000000557Value of Objective Function = 53.778768607Taigi, parametrų γ <strong>ir</strong> η maksimalaus tikėtinumo įverčiai yra ˆ γ = 1.499573,ˆ η = 2.975147.V skyrius. PARAMETRINIŲ HIPOTEZIŲ TIKRINIMO UŽDAVINIAI1. Pagrindinės sąvokos <strong>ir</strong> apibrėžimaiBet koks teiginys apie stebimo a.d. tikimybinio sk<strong>ir</strong>stinio parametrų reikšmes yravadinamas parametrine hipoteze.Tarkime, kad X1, X2,..., Xnyra imtis, gauta stebint a.d. X, kurio sk<strong>ir</strong>stinys priklausokšeimai P = { , θ ∈ Θ}, čia θ = θ ,..., θ ) nežinomas parametras, o Θ ⊂ R . Tarkime, kadP θ( 1 kΘ0yra aibės Θ poaibis. Parametrine hipoteze H0vadiname teiginį:H0: θ ∈ Θ0.Tv<strong>ir</strong>tinimą, kuris priešpastatomas hipotezei, vadiname alternatyva:H1 : θ ∉ Θ0.Priimdami arba atmesdami hipotezę H0galime padaryti dviejų rūšių klaidas. Josvadinamos p<strong>ir</strong>mos <strong>ir</strong> antros rūšies klaidomis. P<strong>ir</strong>mos (I) rūšies klaida: hipotezė H0atmetama,kai ji yra teisinga. Antros (II) rūšies klaida: hipotezė H0priimama, kai ji yra klaidinga.Taisyklė, kuria remiantis darome išvadą apie hipotezės teisingumą arba klaidingumą,vadinama statistiniu kriterijumi. Kriterijus yra tuo geresnis, kuo mažesnės abiejų rūšių klaidųtikimybės. Dažniausiai daroma taip: p<strong>ir</strong>mos rūšies klaidos tikimybė yra fik<strong>su</strong>ojama, t.y.pas<strong>ir</strong>enkamas skaičius α (reikšmingumo lygmuo; mažas teigiamas skaičius; dažniausiaiimama α = 0,1; 0,05; 0, 01) <strong>ir</strong> minimizuojama antros rūšies klaidos tikimybė <strong>su</strong> sąlyga, kad123
p<strong>ir</strong>mos rūšies klaidos tikimybė yra fik<strong>su</strong>ota <strong>ir</strong> lygi α. Reikšmingumo lygmuo, tai tikimybė <strong>su</strong>kuria <strong>su</strong>tinkame padaryti p<strong>ir</strong>mos rūšies klaidą, t.y. atmesti teisingą hipotezę. Pavyzdžiui, jeigupas<strong>ir</strong>enkame α = 0,05,tai daug kartų tikrindami hipotezę vidutiniškai penkis kartus iš šimtoteisingą hipotezę atmesime.Sprendimui priimti naudojama <strong>statistika</strong> T X , X ,..., X ) vadinama kriterijaus124(1 2 n<strong>statistika</strong>. Statistika T parenkama taip, kad jos sk<strong>ir</strong>stinys būtų žinomas, kai hipotezė H0teisinga. Priimti ar atmesti hipotezę yra sprendžiama atsižvelgiant į stebėtą statistikos reikšmę(realizaciją). Jeigu T realizacija patenka į kritinę (atmetimo) sritį W, tenkinančią tam tikrassąlygas, tai hipotezė H0atmetama.Dažniausiai yra skaičiuojama ne antrosios rūšies klaida, o jai priešingo įvykio tikimybė– kriterijaus galia 1-β (čia β - antros rūšies klaidos tikimybė), t.y. tikimybė atmestihipotezę H0, kai ji klaidinga. Geresnis (galingesnis) tas kriterijus, kurio galia yra didesnė.Yra du alternatyvūs tikrinimo būdai. Kai turime statistines lenteles, tai hipoteziųtikrinimui naudojame atitinkamo sk<strong>ir</strong>stinio kvantilius arba kritines reikšmes (α-toji kritinėreikšmė yra (1-α)-tasis kvantilis), kurias lyginame <strong>su</strong> stebėta statistikos reikšme. Statistiniaipaketai apskaičiuoja P-reikšmę (P-value). Apskaičiuota P-reikšmė nepriklauso nuo pas<strong>ir</strong>inktoreikšmingumo lygmens (t.y. turėdami P-reikšmę hipotezę galime tikrinti <strong>su</strong> kokiu norimereikšmingumo lygmeniu). P-reikšmė, tai tikimybė gauti didesnę statistikos reikšmę(alternatyvos kryptimi) negu iš tikrųjų buvo stebėta. Gautą P-reikšmę lyginame <strong>su</strong> pas<strong>ir</strong>inktureikšmingumo lygmeniu:jei P-reikšmė < α (reikšmingumo lygmuo), tai hipotezę atmetame; (5.1)jei P-reikšmė ≥ α (reikšmingumo lygmuo), tai hipotezė neatmetama;Kuo mažesnė P-reikšmė, tuo stipresnis akivaizdumas atmesti hipotezę.2. Hipotezė apie vidurkio reikšmę(1 2 nTegu imtis X = X , X ,..., X ) yra gauta stebint a.d. X, kurio sk<strong>ir</strong>stinys yra normalu-22sis <strong>su</strong> vidurkiu µ <strong>ir</strong> dispersija σ , t.y. X ~ N(µ , σ ) . Reikia patikrinti hipotezę H0, kad Xvidurkio µ reikšmė lygi skaičiui µ0, t.y. H0: µ = µ0.22Nagrinėsime du atvejus: 1) dispersija σ yra žinoma; 2) dispersija σ yra nežinoma.2.1. Hipotezė apie vidurkio reikšmę, kai dispersija žinoma22Tarkime, kad dispersijos σ reikšmė yra žinoma <strong>ir</strong> lygi σ0. Kritinė sritis <strong>su</strong>daromaremiantis tuo, kadX − µ0Z = n(5.2)σsk<strong>ir</strong>stinys yra standartinis normalusis (t.y. normalusis sk<strong>ir</strong>stinys <strong>su</strong> vidurkiu 0 <strong>ir</strong> dispersija 1),kai hipotezė H : 0µ = µ 0yra teisinga, čia 1 nX = ∑ X i.n i=11) Tarkime, kad reikia patikrinti hipotezę H : µ = µ (arba 0 0µ ≤ µ0) <strong>su</strong> alternatyvaH µ > µ (vienpusė alternatyva).1 :0Kritinė sritis W: hipotezė H0atmetama, kai Z> z α, čia Z – apibrėžta (5.2), zαyrastandartinio normalaus sk<strong>ir</strong>stinio α-toji kritinė reikšmė.5.1 pav. schematiškai yra pažymėta kritinė sritis, reikšmingumo lygmuo, kritinėreikšmė, P-reikšmė. 5.1 a) pav. pavaizduota situacija, kai statistikos reikšmė pateko į kritinęsritį, t.y. hipotezė atmetama. 5.1 b) pav. pavaizduota situacija, kai statistikos reikšmė0
nepateko į kritinę sritį, t.y. hipotezė priimama. Ši schema vaizdžiai iliustruoja tikrinimo būdą,kai P-reikšmė lyginama <strong>su</strong> pas<strong>ir</strong>inktu reikšmingumo lygmeniu α. Kai P-reikšmė < α, taistatistikos Z reikšmė pateko į kritinę sritį <strong>ir</strong> hipotezė atmetama (žr.5.1 pav., a); kai P-reikšmė> α, tai statistikos Z reikšmė nepateko į kritinę sritį <strong>ir</strong> hipotezė priimama (žr.5.1 pav., b).a)b)5.1 pav. Kritinė sritis, kritinė reikšmė, P-reikšmė5.2 pav. schematiškai pavaizduota kritinė sritis, reikšmingumo lygmuo, kriterijausgalia (pažymėjimai tokie patys kaip 1 skyrelyje).5.2 pav. Kritinė sritis, reikšmingumo lygmuo, kriterijaus galia2) Tarkime, kad reikia patikrinti hipotezę H : µ = µ (arba 0 0µ ≥ µ0) <strong>su</strong> alternatyvaH µ < µ (vienpusė alternatyva).1 :0Kritinė sritis W: hipotezė H0atmetama, kai Z z α / 2, čia Z – apibrėžta (5.2), zαyrastandartinio normalaus sk<strong>ir</strong>stinio α-toji kritinė reikšmė.125
5.1 p a v y z d y s. Sukurkime duomenų lentelę <strong>su</strong> tokiu Data žingsniu:DATA normalusis;DO i=1 TO 100;Y=5+NORMAL(10); OUTPUT;END; RUN;Patikrinkime hipotezę, kad vidurkis lygus 5 <strong>su</strong> alternatyva, kad nelygus; tariame, kaddispersija yra žinoma <strong>ir</strong> lygi 1; imkime reikšmingumo lygmenį 0,05. Editor lange parašykime:PROC MEANS DATA=normalusis N MEAN;OUTPUT OUT=rezultatas MEAN(Y)=vid_y N(Y)=N;VAR Y; RUN;DATA rezultatas;SET rezultatas;Z=sqrt(N)*(vid_y-5)/1;krit_r=PROBIT(1-0.05/2);KEEP Z krit_r;RUN;Lentelėje „rezultatas“ gauname, kad kriterijaus statistikos reikšmė Z = 0. 1663105735,o kritinė reikšmė z α= z 1.9599639845.Statistikos reikšmė nepateko į kritinę sritį,/ 2 0.05 / 2=todėl galime teigti: hipotezė H 0: µ = 5 <strong>su</strong> alternatyva H 1: µ ≠ 5 yra priimama <strong>su</strong>reikšmingumo lygmeniu α = 0.05.Hipotezę apie vidurkio lygybę skaičiui galima patikrinti naudojant vidurkiopasikliautinąjį intervalą.Tarkime, kad reikia patikrinti hipotezę H : µ = µ (arba 0 0µ ≤ µ0) <strong>su</strong> alternatyvaH µ > µ ; reikšmingumo lygmuo α . Tarkime, kad µ yra vienpusio vidurkio µ1 :0pasikliautinojo intervalo <strong>su</strong> pasikliovimo lygmeniu 1-α apatinis rėžis. Tada hipotezė H0atmetama <strong>su</strong> reikšmingumo lygmeniu α , jei µ0< µ .Tarkime, kad reikia patikrinti hipotezę H : µ = µ (arba 0 0µ ≥ µ0) <strong>su</strong> alternatyvaH µ < µ ; reikšmingumo lygmuo α . Tarkime, kad µ yra vienpusio vidurkio µ1 :0pasikliautinojo intervalo <strong>su</strong> pasikliovimo lygmeniu 1-α v<strong>ir</strong>šutinis rėžis. Tada hipotezė H0atmetama <strong>su</strong> reikšmingumo lygmeniu α , jei µ0> µ .Tarkime, kad reikia patikrinti hipotezę H : µ = µ <strong>su</strong> alternatyva H : µ ≠ µ ;0 01 0reikšmingumo lygmuo α . Tarkime, kad ( µ , µ ) yra vidurkio µ pasikliautinasis intervalas <strong>su</strong>pasikliovimo lygmeniu 1-α . Tada hipotezė H0atmetama <strong>su</strong> reikšmingumo lygmeniu α , jeiµ0< µ arba µ0> µ .5.1 p a s t a b a. Analogiškai galima patikrinti hipotezę apie bet kokio kito parametroreikšmes, t.y. jeigu <strong>su</strong>konstravome parametro pasikliautinąjį intervalą, tai galime patikrintihipotezę apie to parametro reikšmę.2.2. Hipotezė apie vidurkio reikšmę, kai dispersija nežinoma2Tarkime, kad dispersijos σ reikšmė yra nežinoma. Kritinė sritis <strong>su</strong>daroma remiantistuo, kadX − µ0T = n(5.3)ssk<strong>ir</strong>stinys yra Stjudento sk<strong>ir</strong>stinys <strong>su</strong> n-1 laisvės laipsniu, kai hipotezė H : µ = µ yra0 0nn12teisinga, čia X = ∑ X i, s = ∑(X i− X ) .n −1i=1i=1126
1) Tarkime, kad reikia patikrinti hipotezę H : µ = µ (arba 0 0µ ≤ µ0) <strong>su</strong> alternatyva: µ > .H1 µ0Kritinė sritis W: hipotezė H0atmetama, kai T> t α, čia T – apibrėžta (5.3), tαyraStjudento sk<strong>ir</strong>stinio <strong>su</strong> n-1 laisvės laipsniu α-toji kritinė reikšmė.2) Tarkime, kad reikia patikrinti hipotezę H : µ = µ (arba 0 0µ ≥ µ0) <strong>su</strong> alternatyva: µ < .H1 µ0Kritinė sritis W: hipotezė H0atmetama, kai T t α / 2, čia T – apibrėžta (5.3), tαyraStjudento sk<strong>ir</strong>stinio <strong>su</strong> n-1 laisvės laipsniu α-toji kritinė reikšmė.Su procedūra MEANS galima patikrinti hipotezę apie vidurkio lygybę nuliui, kaidispersija nežinoma. Jeigu norime patikrinti hipotezę H 0: µ = 0 <strong>su</strong> alternatyva H 1: µ ≠ 0 ,tai PROC sakinyje reikia nurodyti: T (spausdins kriterijaus statistikos reikšmę, žr.(5.3)),PROBT (spausdins dvipusę P-reikšmę; žr. 5.3 pav.).5.3 pav. Dvipusė P-reikšmė5.2 p a s t a b a. 1) Jeigu norime patikrinti hipotezę <strong>su</strong> vienpuse dešinine alternatyva(t.y. H : 1µ > µ 0), tai: a) kai apskaičiuota kriterijaus statistikos T reikšmė yra neigiama, taihipotezė priimama <strong>su</strong> bet kokiu reikšmingumo lygmeniu α mažesniu už 0.5 (žr. 5.4 pav); b)kai apskaičiuota kriterijaus statistikos T reikšmė yra teigiama, tai gautą dvipusę P-reikšmęPROBT daliname pusiau <strong>ir</strong> lyginame <strong>su</strong> pas<strong>ir</strong>inktu reikšmingumo lygmeniu α;2) Jeigu norime patikrinti hipotezę <strong>su</strong> vienpuse ka<strong>ir</strong>ine alternatyva (t.y. H : µ < µ ),1 0tai: a) kai apskaičiuota kriterijaus statistikos T reikšmė yra teigiama, tai hipotezė priimama <strong>su</strong>bet kokiu reikšmingumo lygmeniu α mažesniu už 0.5 (žr. 5.5 pav); b) kai apskaičiuotakriterijaus statistikos T reikšmė yra neigiama, tai gautą dvipusę P-reikšmę PROBT dalinamepusiau <strong>ir</strong> lyginame <strong>su</strong> pas<strong>ir</strong>inktu reikšmingumo lygmeniu α.5.4 pav. Dešininė alternatyva, T - neigiama127
5.5 pav. Ka<strong>ir</strong>inė alternatyva, T - teigiama5.2 p a v y z d y s. Sukurkime duomenų lentelę <strong>su</strong> tokiu Data žingsniu:DATA normalusis;DO i=1 TO 100;Y=5+NORMAL(10);OUTPUT;END;RUN;Patikrinkime hipotezę, kad vidurkis lygus nuliui <strong>su</strong> alternatyva, kad nelygus; tariame,kad dispersija yra nežinoma; imkime reikšmingumo lygmenį 0,05. Editor lange parašykime:PROC MEANS DATA=normalusis T PROBT;VAR Y; RUN;RUN;Output lange gauname tokį rezultatą:The MEANS ProcedureAnalysis Variable : Yt Value128Pr > |t|50.28 |t|) yra mažesnė už 0.0001, taigi, hipotezė H 0: µ = 0 yra atmetama <strong>su</strong> reikšmingumolygmeniu α = 0.05.Su procedūra UNIVARIATE galima patikrinti hipotezę apie vidurkio reikšmę, kaidispersija nežinoma. Jeigu norime patikrinti hipotezę H 0 : µ = µ 0 <strong>su</strong> alternatyva H 1 : µ ≠ µ 0 ,tai Proc sakinyje reikia nurodyti MU0= µ 0 , pagal nutylėjimą µ 0 =0. Jeigu norime patikrintihipotezę <strong>su</strong> vienpuse alternatyva, tai naudojame metodą, pateiktą 5.2 pastaboje.5.3 p a v y z d y s. Buvo išmatuotas 24 atsitiktinai atrinktų vaikų ūgis.Gauti tokierezultatai (cm):124 122 123 134 124 123 121 124 128 123 126 125131 119 122 125 130 122 125 121 132 128 131 127Sukurkime duomenų lentelę <strong>su</strong> tokiu Data žingsniu:DATA vaikai;INFILE ’c:\vaikai.txt’;INPUT ugis @@;a) Ar galime teigti, kad vidutinis vaikų ūgis yra nemažesnis už 127 cm? Taigi, reikiapatikrinti hipotezę H 0: µ ≥ 127 <strong>su</strong> alternatyva H 1: µ < 127.Tarkime, kad reikšmingumolygmuo α = 0.05.Naudosime procedūrą UNIVARIATE. Editor lange įveskime:PROC UNIVARIATE DATA=vaikai MU0=127; VAR ugis; RUN;
Output lange gauname lentelę „Tests for Location: Mu0=127“. P<strong>ir</strong>moje šios lentelėseilutėje (paryškinta) spausdinama kriterijaus <strong>statistika</strong> (5.3) <strong>ir</strong> dvipusė P-reikšmė, t.y. P-reikšmė, sk<strong>ir</strong>ta patikrinti hipotezę H : 0µ = µ 0<strong>su</strong> alternatyva H : 1µ ≠ µ0, µ = 127 . Pagaluždavinio sąlygą reikia patikrinti hipotezę <strong>su</strong> vienpuse ka<strong>ir</strong>ine alternatyva, todėl iš pradžiųžiūrime į kriterijaus statistikos ženklą; T neigiama; apskaičiuotą dvipusę P-reikšmę (p Value)0.0607 daliname iš 2 <strong>ir</strong> lyginame <strong>su</strong> pas<strong>ir</strong>inktu reikšmingumo lygmeniu α. Gauname0.03 |t| 0.6087Sign M -1.5 Pr >= |M| 0.6636Signed Rank S 8.5 Pr >= |S| 0.7749Hipotezę apie vidurkio reikšmę galima patikrinti <strong>ir</strong> <strong>su</strong> SAS modulio STAT procedūraTTEST. Sintaksė:PROC TTEST DATA=lentelė ;VAR kintamasis;RUN;čia kintamasis – analizuojamas kintamasis; nebūtina pas<strong>ir</strong>inktis H0=reikšmė nurodohipotetinę vidurkio reikšmę µ 0 , pagal nutylėjimą µ 0 =0. Jeigu norime patikrinti hipotezę <strong>su</strong>vienpuse alternatyva, tai naudojame metodą, pateiktą 5.2 pastaboje.5.3 p a v y z d y s (tęsinys). Patikrinkime hipotezę, kad vidutinis vaikų ūgis yra 125cm. Taigi, reikia patikrinti hipotezę H 0: µ = 125 <strong>su</strong> alternatyva H 1: µ ≠ 125.Tarkime, kadreikšmingumo lygmuo α = 0.05.Naudosime procedūrą TTEST. Editor lange įveskime:PROC TTEST DATA=vaikai H0=125;VAR ugis;RUN;129
Output lange gauname:The TTEST ProcedureStatisticsLower CL Upper CL Lower CL Upper CLVariable N Mean Mean Mean Std Dev Std Dev Std Dev Std Errugis 24 123.76 125.42 127.08 3.057 3.9333 5.5175 0.8029T-TestsVariable DF t Value Pr > |t|ugis 23 0.52 0.6087Procedūra spausdina stebėjimų skaičių (N), vidurkio taškinį įvertį (Mean, žr.(4.23)) <strong>ir</strong>pasikliautinąjį intervalą (Lower CL Mean, Upper CL Mean; žr. (4.26)); standartinionuokrypio vidurkio taškinį įvertį (Std Dev, žr.(4.24)) <strong>ir</strong> pasikliautinąjį intervalą (Lower CLStd Dev, Upper CL Std Dev; žr. (4.28)); pagal nutylėjimą yra apskaičiuojami pasikliautiniejiintervalai <strong>su</strong> pasikliovimo lygmeniu 0,95; jeigu norime, kad apskaičiuotų <strong>su</strong> kitu pasikliovimolygmeniu, tai Proc sakinyje nurodome ALPHA=1-Q, čia Q – pasikliovimo lygmuo.Lentelėje „T-Tests“ spausdinama kriterijaus statistikos reikšmė (t Value, žr.(5.3)), P-reikšmė (Pr>|t|), sk<strong>ir</strong>ta patikrinti hipotezę apie vidurkio reikšmę <strong>su</strong> dvipuse alternatyva.Kadangi P-reikšmė didesnė už pas<strong>ir</strong>inktą reikšmingumo lygmenį 0.05, tai hipotezė: vidutinisvaikų ūgis lygus 125 priimama <strong>su</strong> reikšmingumo lygmeniu 0.05.3. Hipotezė apie dispersijos reikšmę(1 2 nTegu imtis X = X , X ,..., X ) yra gauta stebint a.d. X, kurio sk<strong>ir</strong>stinys yra normalu-22sis <strong>su</strong> vidurkiu µ <strong>ir</strong> dispersija σ , t.y. X ~ N(µ , σ ) . Reikia patikrinti hipotezę H0, kad X222 2dispersijos σ reikšmė lygi skaičiui σ0, t.y. H0: σ = σ0.Nagrinėsime du atvejus: 1) vidurkis µ yra žinomas; 2) vidurkis µ yra nežinomas.3.1. Hipotezė apie dispersijos reikšmę, kai vidurkis žinomasTarkime, kad vidurkio µ reikšmė yra žinoma <strong>ir</strong> lygi µ0.Kritinė sritis <strong>su</strong>daromaremiantis tuo, kadY2=n∑i=1( Xiσ− µ )2002s n=σsk<strong>ir</strong>stinys yra chi-kvadrato sk<strong>ir</strong>stinys <strong>su</strong> n laisvės laipsnių, kai hipotezėn2 12teisinga, čia s0= ∑(X i− µ0) .nH : 1i=11) Tarkime, kad reikia patikrinti hipotezę2 2σ > σ 0(vienpusė dešininė alternatyva).H : 02020H : 0σ 2= σ 2(arba 2 20σ0(5.4)σ 2= σ 2yra 0σ ≤ ) <strong>su</strong> alternatyva2Kritinė sritis W: hipotezė H0atmetama, kai 22Y > χα( n), čia Y – apibrėžta (5.4),χ 2 ( n)yra chi-kvadrato sk<strong>ir</strong>stinio <strong>su</strong> n laisvės laipsnių α-toji kritinė reikšmė.αH : 12) Tarkime, kad reikia patikrinti hipotezę2 2σ < σ 0(vienpusė ka<strong>ir</strong>inė alternatyva).H : 0σ 2= σ 2(arba 2 20σ0σ ≥ ) <strong>su</strong> alternatyva2 22Kritinė sritis W: hipotezė H0atmetama, kai Y < χ1− α( n), čia Y – apibrėžta (5.4),χ 2 ( n)yra chi-kvadrato sk<strong>ir</strong>stinio <strong>su</strong> n laisvės laipsnių α-toji kritinė reikšmė.α130
23) Tarkime, kad reikia patikrinti hipotezę H : σ 2= σ alternatyva H : σ 2≠ σ 20 01 0(dvipusė alternatyva).2 22 2Kritinė sritis W: hipotezė H0atmetama, kai Y < χ1− α / 2( n)arba Y > χα/ 2( n), čia2Y – apibrėžta (5.4), χ 2 ( n v) yra chi-kvadrato sk<strong>ir</strong>stinio <strong>su</strong> n laisvės laipsnių v-toji kritinėreikšmė.5.4 p a v y z d y s. Sukurkime duomenų lentelę <strong>su</strong> tokiu Data žingsniu:DATA normalusis;DO i=1 TO 100;X=2*NORMAL(10);OUTPUT;END;RUN;Patikrinkime hipotezę, kad dispersija lygi 4 <strong>su</strong> alternatyva, kad nelygi (t.y.22H0: σ = 4 alternatyva H1 : σ ≠ 4 ); tariame, kad vidurkis yra žinomas <strong>ir</strong> lygus 0; imkimereikšmingumo lygmenį 0,05. Editor lange parašykime:%LET muo=0; /*vidurkio reikšmė žinoma <strong>ir</strong> lygi 0*/%LET disp_0=4; /* hipotetinė dispersijos reikšmė 4 */DATA normalusis;SET normalusis;U=X-&muo;RUN;PROC MEANS DATA=normalusis N USS;OUTPUT OUT=rezultatas USS(U)=kv_<strong>su</strong>ma N(U)=N;VAR U; RUN;DATA rezultatas;SET rezultatas;Y_2=kv_<strong>su</strong>ma/&disp_0; /* apskaičiuojame statistikos reikšmę*/krit_k=CINV(0.05/2,N); /*kritinė reikšmė ka<strong>ir</strong>ėje pusėje*/krit_d=CINV(1-0.05/2,N); /*kritinė reikšmė dešinėje pusėje*/KEEP Y_2 krit_k krit_d;RUN;<strong>su</strong>mąProcedūra MEANS apskaičiuoja <strong>ir</strong> įrašo į lentelę „rezultatas“ nekoreguotą kvadratųn2∑U ii=1USS = (čia U i= X i− µ0, µ0- žinomas vidurkis, Xi- pradiniai duomenys) <strong>ir</strong>stebėjimų skaičių n. Paskutiniame Data žingsnyje apskaičiuojame statistikos reikšmę <strong>ir</strong>kritinės srities kraštines reikšmes; funkcija CINV(v,n) apskaičiuoja chi-kvadrato sk<strong>ir</strong>stinio <strong>su</strong>n laisvės laipsnių v-tąjį kvantilį (apie kvantilių funkcijas žr.II sk., 4 skyrelį).Lentelėje „rezultatas“ gauname, kad kritinė sritis W yra tokia: hipotezė atmetama, kaigauta statistikos reikšmė mažesnė už 74.2219 arba didesnė už 129.5612; apskaičiuotastatistikos reikšmė yra 98.5829, todėl hipotezė priimama <strong>su</strong> reikšmingumo lygmeniu 0.05.kad3.2. Hipotezė apie dispersijos reikšmę, kai vidurkis nežinomasTarkime, kad vidurkio µ reikšmė yra nežinoma. Kritinė sritis <strong>su</strong>daroma remiantis tuo,Tn2∑(Xi− X )22 i= 1s ( n −1)==22σ0σ0(5.5)sk<strong>ir</strong>stinys yra chi-kvadrato sk<strong>ir</strong>stinys <strong>su</strong> n-1 laisvės laipsniu, kai hipotezėn2 12teisinga, čia s = ∑(X i− X ) .n −1i=1H : 0σ 2= σ 2yra 0131
2Kritinės sritys įva<strong>ir</strong>ių alternatyvų atveju pateiktos 5.1 lentelėje. Šioje lentelėje T ,apibrėžta (5.5); α - pas<strong>ir</strong>inktas reikšmingumo lygmuo; χ 2v( n −1)yra chi-kvadrato sk<strong>ir</strong>stinio<strong>su</strong> n-1 laisvės laipsniu v-toji kritinė reikšmė.5.1 lentelė. Kritinės sritysAlternatyva H Kritinė (atmetimo) sritis W:12 22 22 2σ ≠ σT < χ−( n −1)arba T > χ ( n −1)01 α / 22 22σ > σ0> χ2α( n −1)2 22 2σ < σ0< χ1−α( n −1)5.5 p a v y z d y s. Sukurkime duomenų lentelę <strong>su</strong> tokiu Data žingsniu:DATA normalusis;DO i=1 TO 100;X=2+1.5*NORMAL(10);OUTPUT;END;RUN;Ar galime teigti, kad standartinis nuokrypis nedidesnis už 1.5; reikšmingumo lygmuo0.05; tariame, kad vidurkis nežinomas. Taigi, reikia patikrinti hipotezę : σ ≤ 1. 5 <strong>su</strong>alternatyva H 1: σ > 1. 5 . Šis uždavinys ekvivalentus tokiam uždaviniui: reikia patikrinti22hipotezę H0: σ ≤ 2. 25 <strong>su</strong> alternatyva H1 : σ > 2. 25 (t.y. hipotezę apie dispersijosreikšmę).I būdas. Editor lange įveskime:%LET disp_0=2.25; /* hipotetinė dispersijos reikšmė 2.25 */PROC MEANS DATA=normalusis N VAR;OUTPUT OUT=rezultatas VARUSS(X)=disp N(X)=N;VAR X; RUN;DATA rezultatas;SET rezultatas;T_2=disp*(n-1)/&disp_0; /* apskaičiuojame statistikos reikšmę*/krit_r=CINV(1-0.05,N-1); /*kritinė reikšmė */KEEP T_2 krit_r;RUN;Lentelėje „rezultatas“ gauname, kad kritinė sritis W yra tokia: hipotezė atmetama, kaigauta statistikos reikšmė yra didesnė už 123.225; apskaičiuota statistikos reikšmė 98.555 yramažesnė už kritinę reikšmę, todėl hipotezė priimama <strong>su</strong> reikšmingumo lygmeniu 0.05.II būdas. Hipotezę galime patikrinti naudojant dispersijos pasikliautinąjį intervalą.Kadangi reikia patikrinti hipotezę <strong>su</strong> dešinine alternatyva (reikšmingumo lygmuo 0.05), tai2reikia apskaičiuoti vienpusio dispersijos σ pasikliautinojo intervalo <strong>su</strong> pasikliovimo2lygmeniu 1-α =1-0.05=0.95 apatinį rėžį σ (žr. 2.1 skyrelį). Kritinė sritis: hipotezė H0atmetama <strong>su</strong> reikšmingumo lygmeniu α =0.05, jeiguUNIVARIATE. Editor lange parašykime:132TT2 20σα / 2H 0σ < . Naudosime procedūrąPROC UNIVARIATE DATA=normalusis CIBASIC(TYPE=LOWER ALPHA=0.05);VAR X; RUN;Output lange gauname:Basic Confidence Limits As<strong>su</strong>ming NormalityParameter Estimate Lower 95% CLMean 2.02495 1.77645Std Deviation 1.49663 1.34147Variance 2.23989 1.79954
2Taigi, gavome, kad vienpusio dispersijos σ pasikliautinojo intervalo <strong>su</strong> pasikliovimo2lygmeniu apatinis rėžis σ =1.79954. Kadangi jis mažesnis už σ 2= 02. 25 , tai hipotezėpriimama <strong>su</strong> reikšmingumo lygmeniu 0.05.4. Hipotezė apie proporciją133Tegu imtis X = ( X1,X2,..., Xn) yra gauta stebint a.d. X, kurio sk<strong>ir</strong>stinys priklausobinominių sk<strong>ir</strong>stinių šeimai P = { B(1,p),0 < p < 1}, t.y. a.d. X gali įgyti tik dvi reikšmes.Reikia patikrinti hipotezę H : p = p0 0. Šiame skyrelyje pateikiami du kriterijai: 1) tiksluskriterijus; taikomas, kai imtis maža; 2) normalioji aproksimacija; taikoma, kai imtis didelė.4.1. Tikslus kriterijusKritinė sritis <strong>su</strong>daroma remiantis tuo, kadn∑S n= X ii=1(5.6)sk<strong>ir</strong>stinys yra binominis <strong>su</strong> parametrais n <strong>ir</strong> p0, kai hipotezė H : 0p = p 0yra teisinga.Kritinės sritys įva<strong>ir</strong>ių alternatyvų atveju pateiktos 5.2 lentelėje. Šioje lentelėje m –imties vienetų (įvykių) skaičius; α - pas<strong>ir</strong>inktas reikšmingumo lygmuo.5.2 lentelė. Kritinės sritysAlternatyva HKritinė (atmetimo) sritis W1p ≠ P { ≥ m}< α / 2 arba P { ≤ m}< α / 2p 0p 0S np > P { ≥ m} < αp < P { ≤ m} < αp 0Tikimybių iš 5.2 lentelės apskaičiavimui galima panaudoti SAS funkcijąPROBBNML( p0,n,m)= P( S n≤ m); P( Sn ≥ m)= 1−P(Sn≤ m −1).Patikrinti hipotezę apie proporciją galima <strong>su</strong> procedūra FREQ. Reikia EXACTsakinyje nurodyti pas<strong>ir</strong>inktį BINOMIAL.PROC FREQ DATA=lentelė;TABLES kintamasis / BINOMIAL (P=p0 LEVEL=’reikšmė’);EXACT BINOMIAL;RUN;čia kintamasis analizuojamas kintamasis (gali būti skaitinio arba simbolinio tipo), įgyjantisdvi reikšmes; reikšmė – nurodyto kintamojo reikšmė; <strong>su</strong> P=p0 nurodome hipotetinę reikšmęp (pagal nutylėjimą 0.5).0Ši procedūra apskaičiuoja dvipusę P-reikšmę P2<strong>ir</strong> vienpusę P-reikšmę P1(žr.5.2lentelę):P1 = min{ P { Sn ≤ m | p0},P{Sn≥ m | p0}};P2= 2P1.(5.7)5.6 p a v y z d y s. Modeliuokime a.d. X, kurio sk<strong>ir</strong>stinys yra binominis <strong>su</strong> parametrais1 <strong>ir</strong> p=0.4, t.y. X~B(1,p) dydžio n = 50 imtį. Editor lange įveskime:%LET n=50;%LET p=0.4;DATA binominis;DO i=1 TO &n;X=ranbin(10,1,&p);OUTPUT;END; RUN;S nS nS n
Patikrinkime hipotezę, kad reikšmių „1“ yra 55%, reikšmingumo lygmuo 0.05.Suformuluojame hipotezę <strong>ir</strong> alternatyvą: hipotezė H 0: p = 0. 55 , alternatyva H 1: p ≠ 0. 55 .Editor lange parašome:PROC FREQ DATA=binominis;TABLES x / BINOMIAL(P=0.55 LEVEL=’1’);EXACT BINOMIAL;RUN;Output lange gauname lentelę „Test of H0: Proportion = 0.55”. Žiūrime į “Exact tests”(tikslus kriterijus). Eilutėje „One-sided“ spaudinama vienpusė P-reikšmė, eilutėje „Twosided“spaudinama dvipusė P-reikšmė.Reikia patikrinti hipotezę <strong>su</strong> dvipuse alternatyva, todėl dvipusę P-reikšmę 0.7732lyginame <strong>su</strong> reikšmingumo lygmeniu 0.05, gauname, kad hipotezė neatmetama(0.7732>0.05).The FREQ ProcedureBinomial Proportion for X = 1Test of H0: Proportion = 0.55ASE under H0 0.0704Z -0.4264One-sided Pr < Z 0.3349Two-sided Pr > |Z| 0.6698Exact TestOne-sided Pr zα/ 2p > p 0Z > zαp < Z < −zαp 05.3 p a s t a b a. Nėra vieningos nuomonės kokioms n <strong>ir</strong> p 0 reikšmėms normaliojiaproksimacija yra pakankamai tiksli (žr. [3]). Kartais reikalaujama, kad tarp n <strong>ir</strong> p 0 galiotųtoks sąryšis:2n ⎛ 5 5 25(1 − 2 p ) ⎞0≥ max⎜ , ,,010 0(10)⎟⎝ p − p p − p(5.9)⎠134
pavyzdžiui, jei p = 0. 02 , tai n ≥ 57 ; jei p = 0. 5 0, tai n ≥ 10 . Kartais reikalaujama, kadmax( np0, n(1− p0)) ≥ 30 .Patikrinti hipotezę apie proporciją galima <strong>su</strong> procedūra FREQ. Reikia TABLESsakinyje nurodyti pas<strong>ir</strong>inktį BINOMIAL.PROC FREQ DATA=lentelė;TABLES kintamasis / BINOMIAL (P=p0 LEVEL=’reikšmė’);RUN;čia kintamasis analizuojamas kintamasis (gali būti skaitinio arba simbolinio tipo), įgyjantisdvi reikšmes, reikšmė – nurodyto kintamojo reikšmė; <strong>su</strong> P=p0 nurodome hipotetinę reikšmęp0(pagal nutylėjimą 0.5).Jeigu vietoje BINOMIAL nurodome BINOMIALC, tai taikoma tolydumo pataisa, t.y.pˆ− p0−1/2nZ = , kai p ˆ00p (1 − p ) / n− p >pˆ− p0+ 1/ 2n; priešingu atveju Z = . (5.10)p (1 − p ) / n00Ši procedūra apskaičiuoja dvipusę P-reikšmę P2<strong>ir</strong> vienpusę P-reikšmę P1. Kai Z>0, taiapskaičiuojama dešininė P-reikšmė, t.y. tikimybė gauti didesnę statistikos reikšmę negustebėta, kai hipotezė teisinga, t.y. P1= P { Y > Z};kai Z ≤ 0, tai apskaičiuojama ka<strong>ir</strong>inė P-reikšmė, t.y. tikimybė gauti mažesnę statistikos reikšmę negu stebėta, t.y.P = P { Y < }; čia Y~N(0,1). Dvipusė P-reikšmė: P = P {| Y | > | |}.1Z1Z5.7 p a v y z d y s. Modeliuokime a.d. X, kurio sk<strong>ir</strong>stinys yra binominis <strong>su</strong> parametrais1 <strong>ir</strong> p=0.4, t.y. X~B(1,p) dydžio n = 50 imtį. Editor lange įveskime:%LET n=50;%LET p=0.4;DATA binominis;DO i=1 TO &n;X=ranbin(10,1,&p);OUTPUT;END;RUN;Patikrinkime hipotezę, kad reikšmių „0“ yra ne mažiau kaip 60%, reikšmingumolygmuo 0,05. Suformuluojame hipotezę <strong>ir</strong> alternatyvą: hipotezė : p ≥ 0, 6 , alternatyvaH 1: p < 0,6 . Editor lange parašome:PROC FREQ DATA=binominis;TABLES x / BINOMIAL(P=0.6 LEVEL=’0’);RUN;Output lange gauname:Test of H0: Proportion = 0.60H 00ASE under H0 0.0693Z -1.7321One-sided Pr < Z 0.0416Two-sided Pr > |Z| 0.0833Sample Size = 50Kriterijaus statistikos reikšmė -1.7321. Ka<strong>ir</strong>inė vienpusė reikšmė 0.0416 yra mažesnėuž pas<strong>ir</strong>inktą reikšmingumo lygmenį 0.05, todėl hipotezė atmetama <strong>su</strong> reikšmingumolygmeniu 0,05.135
5. Dviejų dispersijų palyginimo hipotezėsTarkime, kad X = X , X ,..., X ) <strong>ir</strong> Y = Y , Y ,..., Y ) yra nepriklausomos(1 2 n(1 2 matsitiktinių dydžių X <strong>ir</strong> Y imtys, atsitiktinio dydžio X sk<strong>ir</strong>stinys yra normalusis <strong>su</strong> vidurkiu µ12<strong>ir</strong> dispersija σ1, atsitiktinio dydžio Y sk<strong>ir</strong>stinys yra normalusis <strong>su</strong> vidurkiu µ2<strong>ir</strong> dispersija222σ2, t.y. X~N( µ1,σ1), Y~N( µ2, σ2).2Reikia patikrinti hipotezę H : σ 2= k σ , čia konstanta 0 1 0 2k0>0. Kritinė sritis <strong>su</strong>daromaremiantis tuo, kadF =kn∑i=1m2( Xi− X ) ( m −1)s=2 k( Y − Y ) ( n −1)∑0j=12sk<strong>ir</strong>stinys yra Fišerio sk<strong>ir</strong>stinys <strong>su</strong> n-1 <strong>ir</strong> m-1 laisvės laipsniu, kai σ = , čiaj2120s221k0σ2nm2 12 2 12s1= ∑(X i− X ) , s2= ∑(Y i− Y ) .n −1m −1i=1j=1(5.11)Kritinės sritys įva<strong>ir</strong>ių alternatyvų atveju pateiktos 5.4 lentelėje. Šioje lentelėje F,apibrėžta (5.11); α - pas<strong>ir</strong>inktas reikšmingumo lygmuo; F v( n −1,m −1)yra Fišerio sk<strong>ir</strong>stinio<strong>su</strong> n-1 <strong>ir</strong> m-1 laisvės laipsniu v-toji kritinė reikšmė.5.4 lentelė. Kritinės sritysHipotezė H0Alternatyva H Kritinė (atmetimo) sritis W:12 2 2 22 2σ ≤ k σ ( σ = k ) σ > k> F ( n −1,m −1)1 0 2 1 0σ22 2σ ≥ k σ ( σ = k221 0 2 1 0σ2σ= k2 21 0σ2)σσ1 0σ22 21 0σ2Fα< k< F −( n −1,m 1)2 21 0σ2F1 α−≠ kF < F1 − α / 2( n −1,m −1)arba> F n −1,m 1)F ( α / 2−Atsk<strong>ir</strong>u atveju, kai k = 01 , gauname hipotezę apie dispersijų lygybę: H : σ 2= σ 2.0 1 22 2Kriterijaus <strong>statistika</strong> (5.11) šiuo atveju yra F = s 1/ s2. Kriterijaus statistiką galima apibrėžti<strong>ir</strong> taip:2 2max{ s1, s2}F ′ =.(5.12)2 2min{ s , s }Statistika F′ yra nemažesnė už 1.Hipotezę apie dispersijų lygybę galima patikrinti <strong>su</strong> SAS modulio STAT procedūraTTEST, ši hipotezė automatiškai tikrinama, kai lyginame dviejų nepriklausomų imčiųvidurkius. Sintaksė:PROC TTEST DATA=lentelė;CLASS kint1VAR kint2;RUN;čia kint1 – klasifikuojantis kintamasis, t.y. kintamasis kuris parodo, iš kurios imties yrastebėjimas; kint2 – analizuojamas kintamasis.2 2Procedūra spausdina dvipusę P-reikšmę, t.y. galime patikrinti hipotezę H σ = σ<strong>su</strong> alternatyvaH1:σ ≠ σ .2122120 :12136
5.8 p a v y z d y s. Tarkime, kad turime duomenis iš 3.7 pavyzdžio. Ar galime teigti,kad spindulio R srovės stiprumo dispersija antrajame testeryje p<strong>ir</strong>mo <strong>ir</strong> antro paleto yra tokiapati?Turime dvi nepriklausomas imtis (matuojami sk<strong>ir</strong>tingi kineskopai). Analizuojamaskintamasis „i_r“, kintamasis „paleto_nr“ parodo, kuriam paletui priklauso kineskopas.2Suformuluojame hipotezę <strong>ir</strong> alternatyvą: hipotezė H : σ 2= σ , alternatyva H : σ 2≠ σ 2.0 1 21 1 2Editor lange parašome:PROC TTEST DATA=kineskopai;CLASS paleto_nr;VAR i_r;WHERE paleto_nr=1 or paleto_nr=2;RUN;Output lange gauname:The TTEST ProcedureStatisticsLower CL Upper CL Lower CL Upper CLVariable paleto_nr N Mean Mean Mean Std Dev Std Dev Std Dev Std Erri_r 50 6.1946 6.244 6.2934 0.1453 0.174 0.2168 0.02461i_r 50 6.157 6.202 6.247 0.1323 0.1584 0.1974 0.02242i_r Diff (1-2) -0.024 0.042 0.108 0.146 0.1664 0.1934 0.0333T-TestsVariable Method Variances DF t Value Pr > |t|i_r Pooled Equal 98 1.26 0.2099i_r Satterthwaite Unequal 97.2 1.26 0.2099Equality of VariancesVariable MethodNum DF Den DF F Value Pr > Fi_r Folded F 49 49 1.21 0.5145Procedūra spausdina stebėjimų skaičių (N), vidurkio taškinį įvertį (Mean, žr.(4.23)) <strong>ir</strong>pasikliautinąjį intervalą (Lower CL Mean, Upper CL Mean; žr. (4.26)); standartinionuokrypio vidurkio taškinį įvertį (Std Dev, žr.(4.24)) <strong>ir</strong> pasikliautinąjį intervalą (Lower CLStd Dev, Upper CL Std Dev; žr. (4.28)); pagal nutylėjimą yra apskaičiuojami pasikliautiniejiintervalai <strong>su</strong> pasikliovimo lygmeniu 0,95; jeigu norime, kad apskaičiuotų <strong>su</strong> kitu pasikliovimolygmeniu, tai Proc sakinyje nurodome ALPHA=1-Q, čia Q – pasikliovimo lygmuo.Lentelėje „Equality of Variances“ (dispersijų lygybė) spausdinama kriterijausstatistikos reikšmė (F Value, žr.(5.12)), P-reikšmė (Pr>F), sk<strong>ir</strong>ta patikrinti hipotezę apiedispersijų lygybę <strong>su</strong> dvipuse alternatyva. Kadangi P-reikšmė (0,5145) didesnė už pas<strong>ir</strong>inktąreikšmingumo lygmenį 0.05, tai hipotezė priimama <strong>su</strong> reikšmingumo lygmeniu 0.05, t.y.galime teigti, kad spindulio R srovės stiprumo dispersija antrajame testeryje p<strong>ir</strong>mo <strong>ir</strong> antropaleto yra tokia pati.6. Dviejų vidurkių palyginimo hipotezėsNagrinėsime du atvejus: 1) nepriklausomos imtys, 2) priklausomos imtys.Prieš tikrinant hipotezę apie vidurkių lygybę reikia nustatyti ar imtys priklausomos, arnepriklausomos. Priklausomos imtys, jei tie patys objektai t<strong>ir</strong>iami kelis kartus, pavyzdžiui,lyginame studentų testo rezultatus semestro pradžioje <strong>ir</strong> pabaigoje. Nepriklausomos imtys, jeit<strong>ir</strong>iamos kelios objektų grupės, pavyzdžiui, lyginame dviejų studentų grupių testo rezultatus.Jeigu imtys nepriklausomos, tai prieš tikrinant vidurkių lygybę reikia patikrintidispersijų lygybę (žr. 5 skyrelį).137
6.1. Hipotezė apie vidurkių lygybę, kai imtys nepriklausomosTarkime, kad X = X , X ,..., X ) <strong>ir</strong> Y = Y , Y ,..., Y ) yra nepriklausomos(1 2 n(1 2 matsitiktinių dydžių X <strong>ir</strong> Y imtys, atsitiktinio dydžio X sk<strong>ir</strong>stinys yra normalusis <strong>su</strong> vidurkiu µ12<strong>ir</strong> dispersija σ1, atsitiktinio dydžio Y sk<strong>ir</strong>stinys yra normalusis <strong>su</strong> vidurkiu µ2<strong>ir</strong> dispersija222σ2, t.y. X~N( µ1,σ1), Y~N( µ2, σ2).Nagrinėsime kelis atvejus.2 21) Tarkime, kad dispersijos lygios, t.y. σ = . Reikia patikrinti hipotezę1σ2: µ − µ = ,(5.13)H0 1 2β0čia β0žinoma konstanta. Kritinė sritis <strong>su</strong>daroma remiantis tuo, kadt =X − Y − βs1 1+n m0,(5.14)sk<strong>ir</strong>stinys yra Stjudento sk<strong>ir</strong>stinys <strong>su</strong> n+m-2 laisvės laipsniais, kai hipotezė H : µ − µ = β0 1 2 0nm11teisinga; čia X = ∑ X i, Y = ∑Y i,nmi=1j=1s21=1n −1222 ( n −1)s1+ ( m −1)s2s =,n + m − 22 2 1( Xi− X ) , s2=m −1m∑j=1m∑j=1( Yi− Y )2.(5.15)Kritinės sritys įva<strong>ir</strong>ių alternatyvų atveju pateiktos 5.5 lentelėje. Šioje lentelėje t,apibrėžta (5.14); α - pas<strong>ir</strong>inktas reikšmingumo lygmuo; t v( n + m − 2)yra Stjudentosk<strong>ir</strong>stinio <strong>su</strong> n-2 laisvės laipsniais v-toji kritinė reikšmė.5.5 lentelė. Kritinės sritysHipotezė H0Alternatyva H Kritinė (atmetimo) sritis W:1µ µ ≤ β ( µ − µ = ) 0µ − µ >> t ( n + m − 2)1−2 0 1 2β1 2β0( )1− µ2≥ β0µ1− µ2β0µ1µ2< β0( µ )1− µ2= β0µ1µ2≠ β0µ =tα− < −t( n + m − 2)tα| tα / 2−− | > t ( n + m 2)2 22) Tarkime, kad dispersijos lygios, t.y. σ = . Reikia patikrinti hipotezę1σ2: µ = .(5.16)H0 1µ25.4 p a s t a b a. Hipotezė H : 0µ µ 1=2yra atsk<strong>ir</strong>as atvejis hipotezės, nagrinėtosp<strong>ir</strong>mame punkte, kai β = 00 . Hipotezę tikriname naudodami 5.5 lentelę.2 23) Tarkime, kad dispersijos nežinomos <strong>ir</strong> nelygios, t.y. σ1≠ σ2. Reikia patikrintihipotezę (5.16). Tada galima <strong>su</strong>konstruoti tik apytikslį kriterijų. Kriterijaus <strong>statistika</strong>čiaX − Yt′ = ,(5.17)w 1+ w 2138
22s1s2w1= , w2= .(5.18)n mTegu tikriname hipotezę H : µ = µ <strong>su</strong> alternatyva 0 1 2H1: µ1≠ µ2. Hipotezė atmetama<strong>su</strong> reikšmingumo lygmeniu α , jeigu | t ′ | > t 2( k α/) , čia t 2( k α/) yra Stjudento sk<strong>ir</strong>stinio <strong>su</strong> klaisvės laipsnių (α / 2)- toji kritinė reikšmė;2( w1+ w2)k =.(5.19)2 2w1w2+n −1m −1Vienpusėms alternatyvoms naudojama ta pati <strong>statistika</strong> (5.18). Vienpusei alternatyvaiH1: µ1> µ2kritinė sritis W: hipotezė atmetama <strong>su</strong> reikšmingumo lygmeniu α , kait′ > tα(k) . Vienpusei alternatyvai H1: µ1< µ2kritinė sritis W: hipotezė atmetama <strong>su</strong>reikšmingumo lygmeniu α , kai t′ < −t(k).αHipotezę apie vidurkių lygybę ( H0: µ1= µ2.) galima patikrinti <strong>su</strong> SAS modulioSTAT procedūra TTEST. Sintaksė:PROC TTEST DATA=lentelė;CLASS kint1VAR kint2;RUN;čia kint1 – klasifikuojantis kintamasis, t.y. kintamasis kuris parodo, iš kurios imties yrastebėjimas; kint2 – analizuojamas kintamasis.Procedūra lentelėje „T-Tests“ spausdina dvi <strong>statistika</strong>s <strong>ir</strong> atitinkamas P-reikšmes.Kurią eilutę naudoti nusprendžiame patikrinę hipotezę apie dispersijų lygybę (žr. 5 skyrelį).Jeigu dispersijos lygios, tai žiūrime į eilutę, kurioje parašyta „Equal“ (stulpelis„Variances“). Šioje eilutėje pateikiamas laisvės laipsnių skaičius n+m-2 (stulpelis „DF“),statistikos t reikšmė (stulpelis „t Value“) <strong>ir</strong> dvipusė P-reikšmė (stulpelis „Pr>|t|“).Jeigu dispersijos nelygios, tai žiūrime į eilutę, kurioje parašyta „Unequal“ (stulpelis„Variances“). Šioje eilutėje pateikiamas laisvės laipsnių skaičius k (žr.(5.19), stulpelis „DF“),statistikos t′ reikšmė (žr. (5.17), stulpelis „t Value“) <strong>ir</strong> dvipusė P-reikšmė (stulpelis „Pr>|t|“).2 2Procedūra spausdina dvipusę P-reikšmę, t.y. galime patikrinti hipotezę H σ = σ2<strong>su</strong> alternatyva H : 21σ σ 1≠2. Jeigu norime patikrinti hipotezę <strong>su</strong> vienpuse alternatyva, tainaudojame metodą, pateiktą 5.2 pastaboje.Su procedūra TTEST galima patikrinti hipotezę : µ − µ = . Šiuo atveju Proc139H0 1 2β0β = 0sakinyje reikia nurodyti H0= β 0. Pagal nutylėjimą 0 , t.y. tikrinama hipotezėH µ = µ .0 :120 :5.9 p a v y z d y s. Tarkime, kad turime duomenis iš 3.7 pavyzdžio. a) Ar galime teigti,kad vidutinis spindulio G srovės stiprumas antrajame testeryje p<strong>ir</strong>mo <strong>ir</strong> antro paleto yra tokspats? Reikšmingumo lygmuo 0.05.Turime dvi nepriklausomas imtis (matuojami sk<strong>ir</strong>tingi kineskopai). Analizuojamaskintamasis „i_g“, kintamasis „paleto_nr“ parodo, kuriam paletui priklauso kineskopas.Suformuluojame hipotezę <strong>ir</strong> alternatyvą: hipotezė H : µ = µ , alternatyva 0 1 2H1: µ1≠ µ2.Editor lange parašome:PROC TTEST DATA=kineskopai;CLASS paleto_nr;VAR i_g;WHERE paleto_nr=1 or paleto_nr=2;RUN;12
Output lange gauname:The TTEST ProcedureStatisticsLower CL Upper CL Lower CL Upper CLVariable paleto_nr N Mean Mean Mean Std Dev Std Dev Std Dev Std Erri_g 50 6.1696 6.212 6.2544 0.1247 0.1493 0.1861 0.02111i_g 50 6.1271 6.174 6.2209 0.1379 0.1651 0.2058 0.02342i_g Diff (1-2) -0.024 0.038 0.1005 0.1381 0.1574 0.183 0.0315T-TestsVariable Method Variances DF t Value Pr > |t|i_g Pooled Equal 98 1.21 0.2304i_g Satterthwaite Unequal 97 1.21 0.2304Equality of VariancesVariable MethodNum DF Den DF F Value Pr > Fi_g Folded F 49 49 1.22 0.4842Lentelėje „Statistics“ spausdinami vidurkio bei standartinio nuokrypio taškiniaiįverčiai bei pasikliautinieji intervalai; pagal nutylėjimą yra apskaičiuojami pasikliautiniejiintervalai <strong>su</strong> pasikliovimo lygmeniu 0,95; jeigu norime, kad apskaičiuotų <strong>su</strong> kitu pasikliovimolygmeniu, tai Proc sakinyje nurodome ALPHA=1-Q, čia Q – pasikliovimo lygmuo.Patikrinsime hipotezę apie vidurkių lygybę. Patikriname hipotezę apie dispersijųlygybę. Žiūrime į lentelę „Equality of Variances“. Kadangi P-reikšmė (stulpelis „Pr>F“)0.4842 yra didesnė už pas<strong>ir</strong>inktą reikšmingumo lygmenį 0.05, tai hipotezė priimama, t.y.dispersijos lygios. Tada žiūrime į lentelę „T-Tests“. Kadangi dispersijos lygios, tai imame P-reikšmę (stulpelis „Pr>|t|“) iš eilutės „Equal“ (stulpelis „Variances“). Kadangi P-reikšmė0.2304 yra didesnė už pas<strong>ir</strong>inktą reikšmingumo lygmenį 0.05, tai hipotezė priimama, t.y.duomenys neprieštarauja hipotezei, kad vidutinis spindulio G srovės stiprumas antrajametesteryje p<strong>ir</strong>mo <strong>ir</strong> antro paleto yra toks pats.b) Ar galime teigti, kad vidutinis spindulio R srovės stiprumas p<strong>ir</strong>majame testeryjep<strong>ir</strong>mo <strong>ir</strong> antro paleto yra toks pats? Reikšmingumo lygmuo 0.05Analizuojamas kintamasis „i_katodo_r“, klasifikuojantis kintamasis „paleto_nr“.Suformuluojame hipotezę <strong>ir</strong> alternatyvą: hipotezė H : µ = µ , alternatyva 0 1 2H1: µ1≠ µ2.Editor lange parašome:PROC TTEST DATA=kineskopai;CLASS paleto_nr;VAR i_katodo_r;WHERE paleto_nr=1 or paleto_nr=2;RUN;Output lange gauname:The TTEST ProcedureStatisticsLower CL Upper CL Lower CL Upper CLVariable paleto_nr N Mean Mean Mean Std Dev Std Dev Std Dev Std Erri_ 47 6.5795 6.6915 6.8035 0.3171 0.3815 0.4792 0.0557katodo_r 1i_ 49 6.5553 6.6 6.6447 0.1296 0.1555 0.1942 0.0222katodo_r 2i_ Diff (1-2) -0.026 0.0915 0.2087 0.253 0.2891 0.3373 0.059katodo_r140
T-TestsVariable Method Variances DF t Value Pr > |t|i_katodo_r Pooled Equal 94 1.55 0.1245i_katodo_r Satterthwaite Unequal 60.3 1.53 0.1320Equality of VariancesVariable Method Num DF Den DF F Value Pr > Fi_katodo_r Folded F 46 48 6.02 |t|“) iš eilutės „Unequal“ (stulpelis„Variances“). Kadangi P-reikšmė 0.1320 yra didesnė už pas<strong>ir</strong>inktą reikšmingumo lygmenį0.05, tai hipotezė priimama, t.y. duomenys neprieštarauja hipotezei, kad vidutinis spindulio Rsrovės stiprumas p<strong>ir</strong>majame testeryje p<strong>ir</strong>mo <strong>ir</strong> antro paleto yra toks pats.6.2. Hipotezė apie vidurkių lygybę, kai imtys priklausomosTarkime, kad X , Y ), i = 1,...,n yra dydžio n imtis, gauta stebint du priklausomus(i i22normaliuosius atsitiktinius dydžius: X ~ N(µ 1, σ 1) , Y ~ N(µ 2, σ 2) , vidurkiai <strong>ir</strong> dispersijosnežinomos.Reikia patikrinti hipotezę H 0 : µ 1 = µ 2 . Patikrinti šiai hipotezei yra naudojamasporinis (pa<strong>ir</strong>ed) t kriterijus. Jis grindžiamas tuo, kad dviejų normaliųjų atsitiktinių dydžiųsk<strong>ir</strong>tumas <strong>ir</strong>gi turi normalųjį sk<strong>ir</strong>stinį, t.y. Z = X − Y sk<strong>ir</strong>stinys yra normalusis <strong>su</strong> vidurkiuµd= µ 1− µ 2. Taigi, H : µ1= µ2yra ekvivalenti hipotezei H : µ d= µ1− µ2= 0 . Kaippatikrinti hipotezę apie vidurkio reikšmę, kai dispersija nežinoma aprašėme 2.2 skyrelyje.5.10 p a v y z d y s. Tarkime, kad turime duomenis iš 3.7 pavyzdžio. Ar galime teigti,kad vidutinis spindulio R srovės stiprumas p<strong>ir</strong>majame <strong>ir</strong> antrajame testeryje yra toks pats?Reikšmingumo lygmuo 0.05.Turime dvi priklausomas imtis, nes tie patys kineskopai matuojami du kartus.Analizuojami kintamieji i_katodo_r <strong>ir</strong> i_r. Reikia patikrinti hipotezę apie vidurkių lygybę.Sukuriame naują sk_r kintamąjį: sk<strong>ir</strong>tumai tarp i_katodo_r <strong>ir</strong> i_r <strong>ir</strong> tikriname hipotezę, kadkintamojo sk_r vidurkis lygus 0 <strong>su</strong> alternatyva, kad nelygus 0. Naudosime procedūrąUNIVARIATE. Editor lange parašome:DATA sk<strong>ir</strong>tumas;SET kineskopai;sk_r=i_katodo_r-i_r; /*<strong>su</strong>kuriame naują kintamąjį*/RUN;PROC UNIVARIATE DATA=sk<strong>ir</strong>tumas;VAR sk_r;RUN;Output lange gauname:The UNIVARIATE ProcedureVariable: sk_rMomentsN 194 Sum Weights 194Mean 0.42010309 Sum Observations 81.5Std Deviation 0.26203269 Variance 0.06866113Skewness 4.08555432 Kurtosis 35.7253939Uncorrected SS 47.49 Corrected SS 13.2515979Coeff Variation 62.373425 Std Error Mean 0.01881285141
Tests for Location: Mu0=0Test-Statistic- -----p Value------Student's t t 22.33065 Pr > |t| = |M| = |S| ρ0, H1 : ρ < ρ0, H1 : ρ ≠ ρ0tikrinimo kriterijai grindžiamiemp<strong>ir</strong>iniu koreliacijos koeficientu (P<strong>ir</strong>sono koreliacijos koeficientu)( Xi− X )( Yi− Y )i=1ˆ ρ = r =,(5.21)n∑i=1n∑( Xi− X )n∑i=1( Yi− Y )nn11čia X = ∑ X i, Y = ∑Y i.n i=1 n i=1Tarkime, kad ρ = 00 . Tada, <strong>su</strong>darydami kriterijus, galime remtis tuo, kad statistikoskai ρ = ρ = 00 . Hipotezės H (1) ,t = n − 2r~ S(n − 2),(5.22)21−r0H (2)0,(3)H0atmetamos, kai atitinkamait > tα ( n − 2); t < −tα( n − 2); | t | > tα/ 2( n − 2);(5.23)čia t v( n − 2)yra Stjudento sk<strong>ir</strong>stinio <strong>su</strong> n-2 laisvės laipsniais v-toji kritinė reikšmė.Tarkime, kad ρ ≠ 00 . Galima <strong>su</strong>daryti apytikslius kriterijus naudojant Fišeriopasiūlytą atsitiktinio dydžioV=1ln2aproksimaciją normaliuoju sk<strong>ir</strong>stiniu (žr. (4.35)). Kritinė sritis <strong>su</strong>daroma remiantis tuo, kad1+1−rr(5.24)1 1+r 1 1+ρ0ρ0ln − ln −(5.25)2 1−r 2 1−ρ02( n −1)turi normalųjį sk<strong>ir</strong>stinį <strong>su</strong> nuliniu vidurkiu <strong>ir</strong> dispersija 1/(n-3), kai hipotezė teisinga. Dydisρ /(2( n 1)) yra poslinkio pataisa.0−
Patikrinti hipotezę H : 0ρ = ρ 0galima <strong>su</strong> SAS procedūra CORR. Sintaksė:PROC CORR DATA=lentelė FISHER(pas<strong>ir</strong>inktys);VAR kintamieji;RUN;čia pas<strong>ir</strong>inktys:ALPHA=α, čia α=1-Q, Q – pasikliovimo lygmuo;RHO0=ro0, čia ro0= ρ 0hipotetinė koreliacijos koeficiento reikšmė;TYPE=LOWER| UPPER | TWOSIDED (apatinis vienpusio pasikliautinojo intervalorėžis <strong>ir</strong> P-reikšmė vienpusei dešininei alternatyvai | v<strong>ir</strong>šutinis pasikliautinojo intervalo rėžis <strong>ir</strong>P-reikšmė vienpusei ka<strong>ir</strong>inei alternatyvai | dvipusis pasikliautinasis intervalas <strong>ir</strong> P-reikšmėdvipusei alternatyvai; pagal nutylėjimą TWOSIDED.VAR sakinyje nurodome analizuojamus kintamuosius.Pataisa ρ0/(2( n −1))skaičiuojant P-reikšmes <strong>su</strong> procedūra CORR visada naudojama;pasikliautinuosius intervalus galima apskaičiuoti <strong>su</strong> pataisa arba be (žr. 4 sk., 2.2 skyrelį).5.11 p a v y z d y s. Tarkime, kad turime 4.2 pavyzdyje modeliuotus duomenis, t.y.⎛ 4 1.6⎞a.v. ( X , Y ) ~ N2( µ , Σ)dydžio n = 100 imtį, čia µ = ( 2,3), Σ = ⎜ ⎟,t.y. ρ = 0, 6 .⎝1.61 ⎠Patikrinkime hipotezę, kad koreliacijos koeficientas lygus 0,6. Reikšmingumo lygmuo0,05. Suformuluojame hipotezę <strong>ir</strong> alternatyvą: hipotezė H 0: ρ = 0, 6 , alternatyvaH 1: ρ ≠ 0,6. Editor lange parašome:PROC CORR DATA=dvimatis FISHER(RH0=0.6);VAR X Y;RUN;Output lange gauname:The CORR Procedure2 Variables: X YSimple StatisticsVariable N Mean Std Dev Sum Minimum MaximumX 100 1.67614 1.85814 167.61400 -1.38379 6.76871Y 100 2.94740 1.06393 294.74044 0.68343 5.55309Pearson Correlation Coefficients, N = 100Prob > |r| under H0: Rho=0XYX 1.00000 0.56355
Gavome, kad koreliacijos koeficiento taškinis įvertis r = 0, 56355 (SampleCorrelation, žr. (5.21)); koreguotas koreliacijos koeficiento taškinis įvertis naudojant pataisą(žr. (4.41)) r = 0.koreg56160 (žr. (4.41); Correlation Estimate); koreliacijos koeficiento 95%pasikliautinasis intervalas (žr. (4.38)) yra: , ρ ) = ( 0.410464, 0.682713)ρ .(koreg koregLentelėje “Pearson Correlation Coefficients” p<strong>ir</strong>masis skaičius yra imties koreliacijoskoeficientas (5.21), antrasis skaičius yra P-reikšmė hipotezei H 0: ρ = 0 <strong>su</strong> dvipusealternatyva. Kadangi P-reikšmė yra mažesnė už 0.0001, tai hipotezė apie koreliacijoskoeficiento lygybę nuliui atmetama.Lentelėje “Pearson Correlation Statistics (Fisher's z Transformation)” yra pateikiamaP-reikšmė (p Value) hipotezei H 0: ρ = 0, 6 <strong>su</strong> dvipuse alternatyva. Kadangi P-reikšmė0.5668 yra didesnė už pas<strong>ir</strong>inktą reikšmingumo lygmenį 0.05, tai hipotezė neatmetama.VI skyrius. Neparametriniai kriterijaiV skyriuje nagrinėjome parametrinių hipotezių tikrinimo uždavinius. Tarėme, kadstebimo atsitiktinio dydžio tikimybinis sk<strong>ir</strong>stinys priklauso šeimai P , kuri aprašoma žinomosanalizinės išraiškos pasisk<strong>ir</strong>stymo funkcija, priklausančia nuo k-mačio parametro, <strong>ir</strong> tikrinomehipotezes apie parametro reikšmes. Šiame skyriuje aptarsime hipotezių tikrinimo uždavinius,kai šeimos P sk<strong>ir</strong>stinių funkcinė išraiška nežinoma. Tarkime, kad X = ( X1,X2,..., Xn) yraatsitiktinio dydžio X imtis. Tegu a.d. X sk<strong>ir</strong>stinys priklauso šeimai P = { F , F ∈F}, čia F -tam tikra pasisk<strong>ir</strong>stymo funkcijų aibė. Tarkime, kad F0yra aibės F poaibis.Neparametrine hipoteze vadiname tv<strong>ir</strong>tinimą:H0 0 0F: X ~ F(x)∈F , F ⊂ ,(6.1)t.y. a.d. X pasisk<strong>ir</strong>stymo funkcija F (x)priklauso aibei F0.Pagrindiniai neparametrinių hipotezių tipai (žr. [5]):1) Suderinamumo hipotezės. Tarkime, kad X = ( X1,X2,..., Xn) yra atsitiktinio dydžioX imtis <strong>ir</strong> a.d. X sk<strong>ir</strong>stinys priklauso šeimai P = { F , F ∈F}. Paprastąją <strong>su</strong>derinamumo hipotezevadiname tv<strong>ir</strong>tinimą:: X ~ F(x)≡ F ( ),(6.2)H0 0xčia F 0( x ) - pilnai nusakyta aibės F pasisk<strong>ir</strong>stymo funkcija, t.y. aibė F0<strong>su</strong>sideda išvienintelio elemento F 0( x ) .Sudėtingąja <strong>su</strong>derinamumo hipoteze vadiname tv<strong>ir</strong>tinimą:H0 0 0F: X ~ F(x)∈F, F = { F(x,θ),θ ∈ Θ}⊂ ,(6.3)čia F ( x,θ)- žinomos analizinės išraiškos pasisk<strong>ir</strong>stymo funkcija, kuri priklauso nuoparametro θ .Pateiksime pavyzdį. Tv<strong>ir</strong>tinimas H 0: X ~ N(−2,4)(t.y. X sk<strong>ir</strong>stinys normalusis <strong>su</strong>vidurkiu -2 <strong>ir</strong> dispersija 4) yra paprastoji <strong>su</strong>derinamumo hipotezė. Tv<strong>ir</strong>tinimas2H0: X ~ F(x)∈F0, F0 = { N ( µ , σ ), − ∞ < µ < ∞,σ > 0}⊂ F (t.y. X sk<strong>ir</strong>stinys normalusis)yra <strong>su</strong>dėtingoji <strong>su</strong>derinamumo hipotezė.2) Nepriklausomumo hipotezė. Stebime ( X , Y ) ~ F(x,y). Tikriname:H 0: ( X , Y ) ~ F(x,y)≡ F(x)G(y), ∀ x, y(6.4)t.y. a.d. X <strong>ir</strong> Y nepriklausomi.3) Homogeniškumo hipotezė. Stebime X ~ F(x), Y ~ G(y). Tikriname:144
H 0: F(x)≡ G(x), ∀ x(6.5)t.y. X <strong>ir</strong> Y pasisk<strong>ir</strong>stymo funkcijos <strong>su</strong>tampa. Galima apibendrinti daugiau negu dviejųatsitiktinių dydžių atvejui.Neparametrinių hipotezių tikrinimo metodus galima <strong>su</strong>sk<strong>ir</strong>styti į dvi grupes:I) Keitimas parametrine hipoteze. Tikimybinių sk<strong>ir</strong>stinių šeimą P = { F , F ∈F}keičiame šeima P = { F(x,θ),θ ∈ Θ}, kurios pasisk<strong>ir</strong>stymo funkcijos F ( x,θ)analizinėišraiška yra žinoma. Neparametrinius hipotezių apytikslius kriterijus gauname tikrindamiparametrines hipotezes apie θ reikšmes.II) Su sk<strong>ir</strong>stiniais ne<strong>su</strong>sijusių kriterijų parinkimas. Ieškome tokių statistinių kriterijų,kuriuos galėtume taikyti, kai sk<strong>ir</strong>stinių šeima platesnė (pavyzdžiui, visi tolydieji sk<strong>ir</strong>stiniai).Tokius kriterijus vadiname ne<strong>su</strong>sijusiais <strong>su</strong> sk<strong>ir</strong>stiniais. Jų taikymo galimybės nepriklauso nuosk<strong>ir</strong>stinio išraiškos. Yra trys tokių kriterijų tipai:a) Chi-kvadrato kriterijus. Naudojame ne pradinius stebėjimus, o tik patekimo į tamtikrus intervalus dažnumus.b) Kriterijai, grindžiami statistikomis, kurios priklauso nuo emp<strong>ir</strong>inės <strong>ir</strong> teorinėspasisk<strong>ir</strong>stymo funkcijos sk<strong>ir</strong>tumo.c) Ranginiai kriterijai. Naudojami ne patys stebėjimai, bet jų išsidėstymo variacinėjeeilutėje numeriai.1. Chi-kvadrato kriterijus neparametrinėms hipotezėms tikrintiChi-kvadrato kriterijus yra universalus. Jį galima naudoti <strong>su</strong>derinamumo, nepriklausomumo<strong>ir</strong> homogeniškumo hipotezėms tikrinti. Šis kriterijus remiasi dviem teoremomis.Tarkime, kad atliekame bandymą, kurio metu įvyksta vienas iš ne<strong>su</strong>taikomų įvykiųA , A ,..., 2A , <strong>su</strong>darančių pilnąją įvykių grupę. Kiekviename bandyme tikimybė, kad įvyks1 kįvykisA lygiip ( i = 1,...,k,p ... + p 1) <strong>ir</strong> nepriklauso nuo kitų bandymų rezultatų.i1+k=A1, A2,..., Akskaičių pažymėkime V , V2,..., VkAtlikus n bandymų, įvykusių įvykių1. Tadaatsitiktinių dydžių V1, V2,..., V ( V + V + ... + V =1 2kn ) tikimybinis sk<strong>ir</strong>stinys yra polinominis:kn!n1n2nP { V1,2 2,..., }1 2... kk= n V = n Vk= nk= p p pk.(6.6)n ! n !... n !6.1 t e o r e m a. Tegu p > 0,i = 1,...,k.Apibrėžkimei12kk2 k2 ( Vi− npi) ViX = ∑ = ∑ − n.(6.7)np npi=1i2Tada atsitiktinio dydžio X tikimybinis sk<strong>ir</strong>stinys silpnai konverguoja į chi-kvadratosk<strong>ir</strong>stinį <strong>su</strong> k-l laisvės laipsniu, kai n → ∞ .6.2 t e o r e m a. Tarkime, kad tikimybės piyra tam tikros nežinomų parametrųθ1, θ2,..., θ sfunkcijos ( pi = p i( θ1,θ2,..., θs) ), kurios kiekviename s-mačio neišsigimusiointervalo Θ taške tenkina sąlygas:k∑a) p ( θ ,..., θ ) 1;i=1i1 s=2b) p ( θ ,..., θ ) > c 0,i = 1,...,k;i1 s>i=12i∂p c) egzistuoja tolydžios dalinės išvestinės i,∂θj∂ 2 p i( i = 1,...,k ;∂θ ∂θjlj , l = 1,...,s );145
d) matricos∂p D = i, i = 1,...,k,∂θjj = 1,...,s , rangas lygus s.Tarkime, kad n kartų atlikome prieš 6.1 teoremą aprašytą bandymą, kuriame tikimybė,00 00 0kad įvyks įvykis Ai, lygi pi = p i( θ1,..., θs), čia θ0= ( θ1,..., θs) yra vidinis intervalo Θtaškas.2Parametro θ įvertį galima gauti modifikuotuoju χ minimumo metodu (žr.[5]), t.y. θįvertis yra lygčių sistemosV − np ( θ ,..., θ )∂p∂pkki i 1 s ii i∑= ∑i= 1 pi( θ1,...,θs) ∂θj i=1 pi∂θjV= 0,j = 1,..., s,(6.8)sprendinys.Kai minėtos sąlygos patenkintos, tai lygčių sistema (6.8) turi vienintelį sprendinį θˆ ,kuris pagal tikimybę konverguoja į θ0, kai n → ∞ . StatistikaX21= X21k2( Vi− npi( ˆ θ1,...,ˆ θs))(ˆ) p = ∑(6.9)np ( ˆ θ ,..., ˆ θ )i=1 i 1asimptotiškai pasisk<strong>ir</strong>sčiusi pagal chi-kvadrato sk<strong>ir</strong>stinį <strong>su</strong> k-l-s laisvės laipsnių.1.1. Paprastosios <strong>su</strong>derinamumo hipotezės tikrinimasTarkime, kad X = ( X1,X2,..., Xn) yra atsitiktinio dydžio X imtis. Tegu a.d. Xsk<strong>ir</strong>stinys priklauso šeimai P = { F , F ∈F}.Tikriname paprastąją hipotezęH0 0Rs: F(x)≡ F ( x),x ∈ ,(6.10)čia F (x)yra X pasisk<strong>ir</strong>stymo funkcija, F0( x ) - pilnai nusakyta šeimos F pasisk<strong>ir</strong>stymofunkcija.X galimų reikšmių sritį <strong>su</strong>sk<strong>ir</strong>stykime į k intervalų. Tegu xiyra i-tojo intervalo viduriotaškas, o hiintervalo ilgis. Pažymėkime Aiįvykį, kuris reiškia, kad stebimasis dydis įgijoreikšmę iš i-tojo intervalo. Tada atsitiktinio dydžio V = ( V 1,..., V k) (čia Vi- imties reikšmių,patekusių į i-tąjį intervalą, skaičius) sk<strong>ir</strong>stinys yra polinominis (žr. aprašymą prieš 6.1teoremą).Hipotezė (6.10) keičiama hipoteze0H′ : p = p , i 1,..., ,(6.11)0 i i= kčia0piyra patekimo į i-tąjį intervalą, kai hipotezė teisinga, tikimybė;p0i= F x + h / 2) − F ( x − h / 2).(6.12)( 0 i i0ii0Alternatyva: H′ 1: pi≠ pi, bent vienam i = 1,...,k.Pagal 6.1 teoremą, jeigu hipotezė (6.11) teisinga, tai <strong>statistika</strong>k02 ( Vi− npi)X = ∑ 0npi=1i2=k∑i=1Vnp2i0i− n(6.13)asimptotiškai ( n → ∞ ) pasisk<strong>ir</strong>sčiusi pagal chi-kvadrato sk<strong>ir</strong>stinį <strong>su</strong> k-l laisvės laipsniu.146
2Hipotezė H′0atmetama <strong>su</strong> reikšmingumo lygmeniu α , kai X > χ 2α( k −1),čia2χ ( k −1)yra chi-kvadrato sk<strong>ir</strong>stinio <strong>su</strong> k-l laisvės laipsniu α -toji kritinė reikšmė.α6.1 p a s t a b a. Praktikoje rekomenduojama taikyti, kai np 0 i≥ 5 .Paprastąją <strong>su</strong>derinamumo hipotezę galima patikrinti <strong>su</strong> SAS procedūra FREQ (žr. IIIsk., 1 skyrelį). Reikia TABLES sakinyje nurodyti CHISQ.Pagal nutylėjimą tikrinama hipotezė (6.11) <strong>su</strong> p 0 = i1/k , i = 1,K,k , t.y.H′: p= 1/ k,147i = 1, K,00 i= pikt.y. vienodos tikimybės. Jei norime patikrinti hipotezę <strong>su</strong> sk<strong>ir</strong>tingomis tikimybėmisreikia papildomai nurodyti TESTP=(0p10p20p3...0k,p ) arba TESTF=( np00npk) , čia npi- tikėtinas dažnis, n – stebėjimų skaičius, k – įvykių skaičius,įvykio tikimybė.010np20pi, tai0np3...pi- i-tojo6.1 p a v y z d y s. Duomenys iš [5]. Per ilgą laikotarpį nustatyta, kad gamyklavidutiniškai pagamina 35% p<strong>ir</strong>mosios rūšies, 60% antrosios rūšies gaminių, o 5% produkcijos<strong>su</strong>daro brokas. Patikrinus 300 gaminių partiją buvo rasta 115 gaminių p<strong>ir</strong>mosios rūšies, 165 –antrosios <strong>ir</strong> 20 – <strong>su</strong> defektais. Ar galime teigti, kad gaminių kokybė nepasikeitė? Reikšmingumolygmuo 0.05.Šiame pavyzdyje V1= 115,V2= 165,V = 20 3; reikia patikrinti hipotezęH′ 0: p1= 0,35, p2= 0,6, p3= 0,05.Sukurkime duomenų lentelę. Editor lange parašykime:DATA duomenys;INPUT Rusis $ Kiekis;Label Rusis=’Rūšis’;DATALINES;p<strong>ir</strong>ma 115antra 165brokas 20;RUN;Naudosime procedūrą FREQ. Editor lange parašome:PROC FREQ DATA=duomenys ORDER=DATA;WEIGHT Kiekis;TABLES Rusis / NOCUM TESTP=(35 60 5);RUN;ORDER=DATA nurodo, kad atitinkamos tikimybės, nurodytos <strong>su</strong> TESTP, išdėstytostokia pačia tvarka kaip reikšmės duomenų lentelėje. Kintamasis „Kiekis“ nurodo reikšmiųdažnius. Output lange gauname:The FREQ ProcedureRušisTestRusis Frequency Percent Percentp<strong>ir</strong>ma 115 38.33 35.00antra 165 55.00 60.00brokas 20 6.67 5.00Chi-Square Testfor Specified ProportionsChi-Square 3.8690DF 2Pr > ChiSq 0.1445Sample Size = 300
P<strong>ir</strong>mojoje lentelėje spausdinamas (žr. III skyrius, 1 skyrelis) reikšmių dažnis (Frequency),procentinis dažnis (Percent) <strong>ir</strong> hipotetinės reikšmės p = 0,35, p = 0,6, p 0,000051481 23=2(procentais). Lentelėje „Chi-Square Test for Specified Proportions“ pateikiama statistikos Xreikšmė 3,869. Gauta P-reikšmė 0,1445 didesnė už pas<strong>ir</strong>inktą reikšmingumo lygmenį, todėlhipotezę neatmetama, t.y. galime teigti, kad gaminių kokybė nepasikeitė.1.2. Sudėtingosios <strong>su</strong>derinamumo hipotezės tikrinimasTarkime, kad X = ( X1,X2,..., Xn) yra atsitiktinio dydžio X imtis. Tegu a.d. Xsk<strong>ir</strong>stinys priklauso šeimai P = { F , F ∈F}. Reikia patikrinti <strong>su</strong>dėtingąją hipotezę:H0F0: F ( x)∈ ,(6.14)čia F (x)yra X pasisk<strong>ir</strong>stymo funkcija, F = { F ( x,θ),θ ∈ Θ}⊂ , F ( x,θ)- pasisk<strong>ir</strong>stymo0Fsfunkcija, kurios analizinės išraiškos žinoma, o θ = ( θ 1,..., θ ) ∈ Θ ⊂ R .X galimų reikšmių sritį <strong>su</strong>sk<strong>ir</strong>stykime į k intervalų. Tegu xiyra i-tojo intervalo viduriotaškas, o hiintervalo ilgis. Pažymėkime Aiįvykį, kuris reiškia, kad stebimasis dydis įgijoreikšmę iš i-tojo intervalo. Tada atsitiktinio dydžio V = ( V 1,..., V k) (čia Vi- imties reikšmių,patekusių į i-tąjį intervalą, skaičius) sk<strong>ir</strong>stinys yra polinominis (žr. aprašymą prieš 6.1teoremą).Hipotezė (6.14) keičiama hipotezečias′ : p = p ( θ ,..., θ ), i 1,..., ,(6.15)H0 i i 1 s= kp θ ,..., θ ) = F(x + h / 2, θ ,..., θ ) − F(x − h / 2, θ ,..., θ ). (6.16)i(1 si i 1 si i 1 sAlternatyva: ′ : p ≠ ( θ ,..., θ ), bent vienam i = 1,...,k.H1 ip i 1 s2Pagal 6.2 teoremą, jeigu hipotezė (6.15) teisinga, tai <strong>statistika</strong> X1, apibrėžta (6.9),asimptotiškai ( n → ∞ ) pasisk<strong>ir</strong>sčiusi pagal chi-kvadrato sk<strong>ir</strong>stinį <strong>su</strong> k-s-l laisvės laipsniu.2Hipotezė H′0atmetama <strong>su</strong> reikšmingumo lygmeniu α , kai X21> χα( k − s −1),čia2χα( k − s −1)yra chi-kvadrato sk<strong>ir</strong>stinio <strong>su</strong> k-s-l laisvės laipsniu α -toji kritinė reikšmė.6.2 p a s t a b a. Vertinant parametrą θ , tenka spręsti gana <strong>su</strong>dėtingą (6.8) sistemą.Tačiau praktikoje rasti tos sistemos apytikslius sprendinius palyginti ne<strong>su</strong>nku. Pavyzdžiui(žr.[5]), kai sk<strong>ir</strong>stinys yra Puasono, parametro λ apytiksliu įverčiu galime imti imties vidurkį22X ; kai sk<strong>ir</strong>stinys yra normalusis <strong>su</strong> vidurkiu µ <strong>ir</strong> dispersija σ , tai µ <strong>ir</strong> σ apytiksliaisįverčiais galime imti <strong>statistika</strong>s X <strong>ir</strong>rezultatais.2s , apskaičiuotas remiantis <strong>su</strong>grupuotais stebėjimo6.2 p a v y z d y s. Tarkime, kad turime duomenų lentelę, <strong>su</strong>kurtą <strong>su</strong> tokiu Datažingsniu:%LET n=300;DATA duom;DO i=1 to &n;X=3+2*NORMAL(10);OUTPUT;END;RUN;Patikrinkime <strong>su</strong>dėtingąją <strong>su</strong>derinamumo hipotezę: duomenys yra gauti stebint normalųjįatsitiktinį dydį. Reikšmingumo lygmuo 0,05.Imkime intervalų skaičių k = 8 . Apskaičiuokime intervalo ilgį. Editor langeparašykime:
%LET k=8;/*intervalų skaičius*/PROC MEANS DATA=duom MIN MAX;OUTPUT OUT=pag MIN(X)=min MAX(X)=max;VAR X;RUN;DATA pag;SET pag;CALL SYMPUT(”maksimali”, max); /* <strong>su</strong>kuriami makrokintamieji: */CALL SYMPUT(”minimali”, min); /* maksimali, minimali reikšmė */intervalas=(max-min)/&k; /* intervalo ilgis */CALL SYMPUT(”h”, intervalas);RUN;Sugrupuojame stebėjimus į intervalus <strong>ir</strong> <strong>su</strong>skaičiuojame kiek į kiekvieną intervaląpateko reikšmių. Editor lange parašome:DATA duom; /* lentelėje <strong>su</strong>kuriame stulpelį, kuriame būtų*/SET duom; /* intervalo numeris*/IF &minimali
RUN;DATA Rezultatas;SET Rezultatas;s=2; /* įvertintų parametrų skaičius*/kritine_reiksme=cinv(1-0.05,&k-s-1);RUN;X 2< 2χ (5) 11, 0705Lentelėje „Rezultatas“ gauname = 13, 2871neatmetama <strong>su</strong> reikšmingumo lygmeniu 0,05.Atlikime skaičiavimus <strong>su</strong> tokiais duomenimis:%LET n=300;DATA duom;DO i=1 TO 200;x=2*rangam(10,5);OUTPUT;END;RUN;0 .05=, todėl hipotezėLentelėje „Rezultatas“ gauname X 2= 149, 9789 > 2χ (5) 11, 07050 .05= , todėl hipotezėatmetama <strong>su</strong> reikšmingumo lygmeniu 0,05.1.3. Nepriklausomumo tikrinimasTarkime, kad X , Y ), i = 1,...,n,yra dydžio n imtis diskrečiojo atsitiktinio vektoriaus(i i( X , Y ), kurio galimos reikšmės yra ( xi, yj), i = 1,...,s,j = 1,...,r Pažymėkime Vijreikšmėsx , y ) pasikartojimų skaičių imtyje. Stebėjimo rezultatai pateikti 6.1 lentelėje.(i jČia6.1 lentelė. Reikšmių dažniaij y1y ...2yrix1V11V ...12V 1 rx2V21V ...22r.. . . ... . . ... . . .xsVs1s2Σ⋅1V2ΣV1⋅V 2V2⋅...V ... VsrVV ...⋅V ⋅nrs⋅rVi ⋅= ∑Vij, i = 1,..., s,V⋅j= ∑Vij, j = 1,..., r,(6.17)j=1n =s r∑∑V iji= 1 j=1si=1.Gali įvykti įvykiaiA11,..., A . Pažymėkimesrpij= P{X= x , Yi= y },= P{Xi = 1,..., s,j = 1,..., r,ipis∑i=1= x },pii=r∑j=1qqjj= P{Y= 1.=y },i(6.18)Nepriklausomumo hipotezė (6.4) keičiama hipoteze:′ : p = p q , i = 1,..., s,j 1,..., r.(6.19)H 0ij i j=150
Alternatyva: ′ : p ≠ p q , bent vienai porai (i,j).H 1ijijJeigu hipotezė (6.19) teisinga, tai pijyra s+r-2 parametrų p1,..., ps−1,q1,...,qr−1funkcijos (tikimybes ps<strong>ir</strong> qrgalima išreikšti tikimybėmis p1,..., ps−1,q1,...,qr−1). Tarkime,kad parametrų pi<strong>ir</strong> qj, i = 1 ,..., s,j = 1,...,r įverčiai pˆi<strong>ir</strong> qˆjyra (6.8) lygčių sistemos2sprendinys. Pagal 6.2 teoremą, kai hipotezė (6.19) teisinga, <strong>statistika</strong> X1, apskaičiuota pagal(6.9) formulę, asimptotiškai ( n → ∞ ) pasisk<strong>ir</strong>sčiusi pagal chi-kvadrato sk<strong>ir</strong>stinį <strong>su</strong> rs-1-(r+s-2)=(r-1)(s-1) laisvės laipsnių. Gauname<strong>ir</strong>pˆ i= V n i s qˆi⋅ / , = 1,..., ,j= V⋅j/ n,j = 1,...,r(6.20)s r22( V − ˆ ˆ ) ⎛ s r2 2( ˆ , ˆ )1 .11 1 ˆ ˆ⎟ ⎞ijnpiqjVijX = X p = ∑∑= ⎜iqjn−∑∑(6.21)i= j=npiqj ⎝ i= 1 j= 1 Vi⋅V⋅j ⎠2Hipotezė H′0atmetama <strong>su</strong> reikšmingumo lygmeniu α , kai X21> χα(( s −1)(r −1)),čia χ 2α(( s −1)(r −1))yra chi-kvadrato sk<strong>ir</strong>stinio <strong>su</strong> (s-1)(k-l) laisvės laipsniu α -toji kritinėreikšmė.Nepriklausomumą galima patikrinti <strong>su</strong> SAS procedūra FREQ. Sintaksė:a) tarkime, kad turime tris kintamuosius: kintamasis eilutė, kintamasis stulpelis,reikšmių skaičius, t.y. lentelė buvo <strong>su</strong>kurta, pavyzdžiui, <strong>su</strong> tokiu Data žingsniu:DATA lentelė;INPUT kint_eilutė $ kint_stulpelis $ skaičius;DATALINES;eilutės_reikšmė stulpelio_reikšmė skaičius_ląstelėje...eilutės_reikšmė stulpelio_reikšmė skaičius_ląstelėje;RUN;Tada naudojame tokią procedūros FREQ sintaksę:PROC FREQ DATA=lentelė;TABLES kint_eilute * kint_stulpelis / pas<strong>ir</strong>inktys;WEIGHT skaičius;RUN;b) tarkime, kad turime du kintamuosius (t.y. ne<strong>su</strong><strong>su</strong>muoti duomenys): kintamasiseilutė, kintamasis stulpelis, t.y. lentelė buvo <strong>su</strong>kurta , pavyzdžiui, <strong>su</strong> tokiu Data žingsniu:DATA lentelė;INPUT kint_eilutė $ kint_stulpelis $;DATALINES;eilutės_reikšmė stulpelio_reikšmė...eilutės_reikšmė stulpelio_reikšmė;RUN;Tada naudojame tokią procedūros FREQ sintaksę:PROC FREQ DATA=lentelė;TABLES kint_eilute * kint_stulpelis / pas<strong>ir</strong>inktys;RUN;čia kintamasis eilutė, kintamasis stulpelis - skaitinio arba simbolinio tipo kintamieji.Pas<strong>ir</strong>inktys:2ALL - įva<strong>ir</strong>ūs testai (tame tarpe <strong>ir</strong> χ ) bei sąryšio matai, bet ne visi atspausdintitinka, reikia atsižvelgti į matavimo skalę;151
2CHISQ - χ kriterijus nepriklausomumui <strong>ir</strong> homogeniškumui tikrinti, sąryšio matai.EXPECTED – spausdina tikėtinus ląstelių dažnius.6.3 p a v y z d y s. Tarkime, kad turime duomenis pateiktus 6.2 lentelėje. Reikiapatikrinti ar X <strong>ir</strong> Y yra priklausomi.6.2 lentelė. Duomenys (6.3 pavyzdys)y 5 4 3 2 Σxij4-5 110 70 60 10 2503 0 10 10 30 50Σ 110 80 70 40 300Patikrinsime <strong>su</strong> chi-kvadrato kriterijumi. Hipotezė: X <strong>ir</strong> Y yra nepriklausomi.Naudosime proce-dūrą FREQ. Editor lange parašome:DATA duomenys; /*<strong>su</strong>kuriame duomenų lentelę*/INPUT X $ Y $ sk;DATALINES;4-5 5 1104-5 4 704-5 3 604-5 2 103 5 03 4 103 3 103 2 30;RUN;PROC FREQ DATA=duomenys ORDER=DATA;TABLES X*Y / CHISQ;WEIGHT sk;RUN;Output lange gauname:The FREQ ProcedureTable of X by YXYFrequency‚Percent ‚Row Pct ‚Col Pct ‚5 ‚4 ‚3 ‚2 ‚ Total4-5 ‚ 110 ‚ 70 ‚ 60 ‚ 10 ‚ 250‚ 36.67 ‚ 23.33 ‚ 20.00 ‚ 3.33 ‚ 83.33‚ 44.00 ‚ 28.00 ‚ 24.00 ‚ 4.00 ‚‚ 100.00 ‚ 87.50 ‚ 85.71 ‚ 25.00 ‚3 ‚ 0 ‚ 10 ‚ 10 ‚ 30 ‚ 50‚ 0.00 ‚ 3.33 ‚ 3.33 ‚ 10.00 ‚ 16.67‚ 0.00 ‚ 20.00 ‚ 20.00 ‚ 60.00 ‚‚ 0.00 ‚ 12.50 ‚ 14.29 ‚ 75.00 ‚Total 110 80 70 40 30036.67 26.67 23.33 13.33 100.00Statistics for Table of X by YStatistic DF Value ProbChi-Square 3 121.2857
Contingency Coefficient 0.5366Cramer's V 0.6358Sample Size = 300Procedūra spausdina kryžminę dažnių lentelę (žr. III sk., 1 skyrelis), kurios kiekvienolangelio p<strong>ir</strong>moje eilutėje yra dažnis, t.y. gauname tokią pačią lentelę kaip 6.2 lentelė.Lentelės „Statistics for Table of X by Y“ p<strong>ir</strong>moje eilutėje yra spausdinama statistikos2(6.21) reikšmė X = 1121, 2857 (Value) <strong>ir</strong> P-reikšmė, kuri šiame pavyzdyje yra mažesnė už0,0001, todėl hipotezė atmetama, taigi, gauname, kad X <strong>ir</strong> Y yra priklausomi.1.4. Homogeniškumo tikrinimasTarkime, kad X , X ,..., 2X , i = 1,...,s yra nepriklausomų atsitiktinių dydžiųi1 i iniX1, X2,..., X satitinkamai dydžio n1, n2,..., nsimtys, o visi atsitiktiniai dydžiai X1, X2,..., Xsyra diskretieji <strong>ir</strong> jų įgyjamos reikšmės yra x1, x2,..., xr. Pažymėkime Vij, i = 1,...,s , j = 1,...,r ,i-tosios imties stebėjimų, lygių xj, skaičių. Stebėjimo rezultatai pateikti 6.3 lentelėje.Čia6.3 lentelė. Reikšmių dažniaij 1 2 ... r Σi1 V11V ...12V 1 rn12 V21V ...22V 2 rn2..................ss1Σ⋅1Vs2V2ni=r∑j=1ijV ... VsrnsV ...⋅V ⋅nrV , i = 1,..., s,n =Vs∑i=1⋅ j153=n .is∑i=1Vij,j = 1,..., r,(6.22)Gali įvykti įvykiai A1, A2,..., As<strong>su</strong> tikimybėmis pi1 , pi2,..., pisatitinkamai,pi1 + pi2+ ... + pis= 1, i = 1,...,s ( pijyra tikimybė, kad i-tasis atsitiktinis dydis įgijo j-tąjąreikšmę.Homogeniškumo hipotezėH0 12sx: F ( x)≡ F ( x)≡ ... ≡ F ( )(6.23)t.y. X1, X2,..., Xspasisk<strong>ir</strong>stymo funkcijos <strong>su</strong>tampa ( Fiyra a.d.keičiama tokia hipoteze:Xipasisk<strong>ir</strong>stymo funkcija)′ : p = p = ... = p = p , j 1,..., ,(6.24)H0 1 j 2 jsj j= rpp+ ... + p1+2r=Alternatyva H′1: hipotezė H′0neteisinga.Jeigu hipotezė (6.24) teisinga, tai pijyra r-1 parametro p 1,..., p r −1funkcijos (tikimybęprgalima išreikšti tikimybėmis p 1,..., p r −1). Tarkime, kad parametrų pj, j = 1,...,r įverčiai1.
pˆjyra (6.8) lygčių sistemos sprendinys. Pagal 6.2 teoremą, kai hipotezė (6.24) teisinga,2<strong>statistika</strong> X1, apskaičiuota pagal (6.9) formulę, asimptotiškai ( n → ∞ ) pasisk<strong>ir</strong>sčiusi pagalchi-kvadrato sk<strong>ir</strong>stinį <strong>su</strong> r(s-1)-(s-1)=(r-1)(s-1) laisvės laipsnių. Gauname<strong>ir</strong>pˆ j= V ⋅ j/ n,j = 1,...,r(6.25)s r22( V − ˆ ) ⎛ s r2 2( ˆ )1 .11 1 ˆ⎟ ⎞ijnpjVijX = X p = ∑∑= ⎜jn−∑∑(6.26)i= j=nipj ⎝ i= 1 j= 1 niV⋅j ⎠2Hipotezė H′0atmetama <strong>su</strong> reikšmingumo lygmeniu α , kai X21> χα(( s −1)(r −1)),čia χ 2α(( s −1)(r −1))yra chi-kvadrato sk<strong>ir</strong>stinio <strong>su</strong> (s-1)(k-l) laisvės laipsniu α -toji kritinėreikšmė.Matome, kad <strong>ir</strong> kriterijaus <strong>statistika</strong> <strong>ir</strong> sprendimo priėmimo taisyklė yra tokia pati,kaip <strong>ir</strong> hipotezės apie nepriklausomumą tikrinimo uždavinyje (žr. 1.3 skyrelį). Taigi, galimetikrinti <strong>su</strong> SAS procedūra FREQ, sintaksė tokia pati kaip 1.3 skyrelyje. Tačiau reikėtųatkreipti dėmesį į tai, kad nors skaičiuojama <strong>ir</strong> taip pat, tačiau naudojamas kitoks statistinismodelis <strong>ir</strong> kitaip interpretuojami gauti rezultatai.6.4 p a v y z d y s. Tarkime, kad p<strong>ir</strong>mojoje imtyje reikšmių „A“ yra 38, reikšmių„B“yra 29, reikšmių „C“ yra 41, reikšmių „D“ yra 67; antrojoje imtyje reikšmių „A“ yra 42,reikšmių „B“yra 35, reikšmių „C“ yra 39, reikšmių „D“ yra 40. Patikrinkime homogeniškumohipotezę. Reikšmingumo lygmuo 0.05.DATA duomenys; /*<strong>su</strong>kuriame duomenų lentelę*/INPUT X Y $ sk;DATALINES;1 A 381 B 291 C 411 D 672 A 422 B 352 C 392 D 40;RUN;PROC FREQ DATA=duomenys;TABLES X*Y / CHISQ;WEIGHT sk;RUN;Output lange gauname:The FREQ ProcedureTable of X by YXYFrequency‚Percent ‚Row Pct ‚Col Pct ‚A ‚B ‚C ‚D ‚ Total1 ‚ 38 ‚ 29 ‚ 41 ‚ 67 ‚ 175‚ 11.48 ‚ 8.76 ‚ 12.39 ‚ 20.24 ‚ 52.87‚ 21.71 ‚ 16.57 ‚ 23.43 ‚ 38.29 ‚‚ 47.50 ‚ 45.31 ‚ 51.25 ‚ 62.62 ‚2 ‚ 42 ‚ 35 ‚ 39 ‚ 40 ‚ 156‚ 12.69 ‚ 10.57 ‚ 11.78 ‚ 12.08 ‚ 47.13‚ 26.92 ‚ 22.44 ‚ 25.00 ‚ 25.64 ‚‚ 52.50 ‚ 54.69 ‚ 48.75 ‚ 37.38 ‚Total 80 64 80 107 33124.17 19.34 24.17 32.33 100.00154
Statistics for Table of X by YStatistic DF Value ProbChi-Square 3 6.5566 0.0875Likelihood Ratio Chi-Square 3 6.6095 0.0854Mantel-Haenszel Chi-Square 1 5.0650 0.0244Phi Coefficient 0.1407Contingency Coefficient 0.1394Cramer's V 0.1407Sample Size = 331Lentelės „Statistics for Table of X by Y“ p<strong>ir</strong>moje eilutėje yra spausdinama statistikos2(6.26) reikšmė X = 16, 5566 (Value) <strong>ir</strong> P-reikšmė, kuri šiame pavyzdyje yra 0,0875. Gauta P-reikšmė yra didesnė už pas<strong>ir</strong>inktą reikšmingumo lygmenį 0,05, todėl hipotezė neatmetama.1.5. Kriterijai, <strong>su</strong>siję <strong>su</strong> chi-kvadrato kriterijumiTarkime, kad turime tokius pačius duomenis kaip 1.3 skyrelyje.Tikėtinumo santykio chi-kvadrato kriterijus (Likelihood ratio Chi-square test). Jopask<strong>ir</strong>tis tokia pati kaip <strong>ir</strong> chi-kvadrato, gaunami panašūs rezultatai. Kriterijaus <strong>statistika</strong>čias r ⎛V2ij⎞G = 2∑∑Vln⎜⎟ij,(6.27)i= 1 j=1 ⎝ eij⎠e= V V n(6.28)ij i⋅⋅ j/2Statistika G , kai hipotezė (6.19) apie nepriklausomumą teisinga, asimptotiškai( n → ∞ ) pasisk<strong>ir</strong>sčiusi pagal chi-kvadrato sk<strong>ir</strong>stinį <strong>su</strong> (r-1)(s-1) laisvės laipsniu.Koreguotas chi-kvadrato kriterijus (Continuity-Adjusted Chi-square test). Naudojamas,kai imtis mažas r2[max(0,| Vij− eij| −0.5)]QC= ∑∑.(6.29)ei= 1 j=1Statistika QC, kai hipotezė (6.19) apie nepriklausomumą teisinga, asimptotiškai( n → ∞ ) pasisk<strong>ir</strong>sčiusi pagal chi-kvadrato sk<strong>ir</strong>stinį <strong>su</strong> (r-1)(s-1) laisvės laipsniu. Patariamanaudoti, jei n ≤ 40, o jei visos tikėtinos reikšmės didesnės už 5, tai galima <strong>ir</strong>, kai n ≤ 20.Tikėtinumo santykio chi-kvadrato kriterijaus <strong>ir</strong> koreguoto chi-kvadrato kriterijausstatistikos reikšmė <strong>ir</strong> P-reikšmė spausdinamos, kai procedūroje FREQ nurodome CHISQ (žr.1.3 skyrelį).6.5 p a v y z d y s. Tarkime, kad turime tokius pačius duomenis kaip 6.3 pavyzdyje.Jame tikrinome ar kintamieji X <strong>ir</strong> Y yra nepriklausomi. Naudojome procedūrą FREQ. Outputlange gavome:Statistics for Table of X by YStatistic DF Value ProbChi-Square 3 121.2857
0,0001, todėl hipotezė atmetama, taigi, gauname, kad X <strong>ir</strong> Y yra priklausomi. Atsakymas tokspats kaip 6.3 pavyzdyje, kuriame naudojame chi-kvadrato kriterijų.1.6. Sąryšio matai, grindžiami chi-kvadrato kriterijumiChi-kvadrato kriterijus nustato ar yra sąryšis tarp kintamųjų, bet ne<strong>su</strong>teikiainformacijos apie sąryšio stiprumą. Šią informaciją galime gauti apskaičiavę sąryšio matus,t.y. patikriname nepriklausomumo hipotezę, jei ji atmetama (kintamieji priklausomi) galimepasakyti, ar stipri priklausomybė.Visiems žemiau aprašytiems sąryšio matams galioja pa pati taisyklė – kuo jieabsoliučiu didumu didesni, tuo požymių priklausomybė didesnė; kuo arčiau nulio – tuopriklausomybė silpnesnė.Tarkime, kad turime tokius pačius duomenis kaip 1.3 skyrelyje (žr. 6.1 lentelę).s r2( Vij− eij)2Pažymėkime χ = ∑∑ ; Vijstebėta ląstelės (i,j) reikšmė; eij = Vi⋅V⋅j/ n tikėtinaei= 1 j=1ijląstelės (i,j) reikšmė; s – eilučių skaičius, r – stulpelių skaičius.Koeficientas Φ (Phi coefficient), kai lentelė 2x2, taikitimo ribos: − 1 ≤ Φ ≤ 1; kai lentelė s x r, taiV11V22−V12VΦ =V V V V1⋅2⋅21⋅1⋅2,2χΦ =(6.30)nkitimo ribos: 0 ≤ Φ ≤ min( r −1,s −1).P<strong>ir</strong>sono kontingencijos koeficientas (Contingency coefficient).2χP = ,(6.31)n +2χkitimo ribos:0 ≤ P ≤ ( m −1)/ m , m = min( r,s).Kramerio koeficientas V (Cramer’s V), kai lentelė 2x2, taiV = Φ,kitimo ribos: −1 ≤ V ≤ 1; kai lentelė s x r, taiV=2χ / n,min( r −1,s −1)(6.32)kitimo ribos: 0 ≤ V ≤ 1.Koeficiento Φ, P<strong>ir</strong>sono kontingencijos koeficiento, Kramerio koeficiento V reikšmėsspausdinamos, kai procedūroje FREQ nurodome CHISQ (žr. 1.3 skyrelį).6.6 p a v y z d y s. Tarkime, kad turime tokius pačius duomenis kaip 6.3 pavyzdyje.Gavome, kad kintamieji X <strong>ir</strong> Y yra priklausomi. Išt<strong>ir</strong>kime sąryšio stiprumą.Statistics for Table of X by YStatistic DF Value ProbChi-Square 3 121.2857
Mantel-Haenszel Chi-Square 1 86.0072
SAS procedūra FREQ lentelėms 2x2 apskaičiuoja dvipusę <strong>ir</strong> vienpuses P-reikšmes;lentelėms s x r (s,r>2) apskaičiuojama tik dvipusė P-reikšmė.P-reikšmės apskaičiuojamos taip:dvipusė P-reikšmė: <strong>su</strong>muojama pagal lenteles, kurioms p mažesnė arba lygi tikimybeistebėtos lentelės;ka<strong>ir</strong>inė vienpusė P-reikšmė: <strong>su</strong>muojama pagal lenteles, kurioms V11mažesnis arbalygus negu stebėtas V11;dešininė vienpusė P-reikšmė: <strong>su</strong>muojama pagal lenteles, kurioms V11didesnis arbalygus negu stebėtas V11.6.7 p a v y z d y s. Tarkime, kad turime 2x2 lentelę. Reikia patikrinti ar X <strong>ir</strong> Ynepriklausomi.Y 1 2 Iš viso:X1 4 10 142 1 15 16Iš viso: 5 25 30Iliustruosime kaip apskaičiuojama dešininė P-reikšmė (kitos analogiškai).Tikimybė gauti stebėjimų lentelę yra:14! 16! 5! 25!P ( 4,16,1,21) =≈ 0,112388.30! 4! 10! 15!Gali būti dar tik viena lentelė <strong>su</strong> didesne V11reikšme negu pradinės lentelės:Y 1 2 Iš viso:X1 5 9 142 0 16 16Iš viso: 5 25 30Tikimybė gauti šią stebėjimų lentelę yra:14! 16! 5! 25!P ( 5, 9, 0, 16) =≈ 0,0140485.30! 5! 9! 16!Taigi, dešininė P-reikšmė yra 0,112388+0,0140485=0,1264365, hipotezė apie nepriklausomumąneatmetama reikšmingumo lygmeniu 0,05.Patikrinkime nepriklausomumo hipotezę <strong>su</strong> SAS procedūra FREQ. Naudokime Fišeriotikslų kriterijų. Editor lange parašykime:DATA duomenys; /*<strong>su</strong>kuriame duomenų lentelę*/INPUT X Y $ sk;DATALINES;1 1 41 2 102 1 12 2 15;RUN;PROC FREQ DATA=duomenys;TABLES X*Y / CHISQ;WEIGHT sk;EXACT FISHER;RUN;Output lange gauname:158
The FREQ ProcedureTable of X by YXYFrequency‚Percent ‚Row Pct ‚Col Pct ‚1 ‚2 ‚ Total1 ‚ 4 ‚ 10 ‚ 14‚ 13.33 ‚ 33.33 ‚ 46.67‚ 28.57 ‚ 71.43 ‚‚ 80.00 ‚ 40.00 ‚2 ‚ 1 ‚ 15 ‚ 16‚ 3.33 ‚ 50.00 ‚ 53.33‚ 6.25 ‚ 93.75 ‚‚ 20.00 ‚ 60.00 ‚Total 5 25 3016.67 83.33 100.00Statistics for Table of X by YStatistic DF Value ProbChi-Square 1 2.6786 0.1017Likelihood Ratio Chi-Square 1 2.8008 0.0942Continuity Adj. Chi-Square 1 1.3125 0.2519Mantel-Haenszel Chi-Square 1 2.5893 0.1076Phi Coefficient 0.2988Contingency Coefficient 0.2863Cramer's V 0.2988WARNING: 50% of the cells have expected counts lessthan 5. Chi-Square may not be a valid test.Fisher's Exact TestCell (1,1) Frequency (F) 4Left-sided Pr = F 0.1264Table Probability (P) 0.1124Two-sided Pr
1.8. Maknemaro kriterijusMaknemaro (Mc Nemar‘s) kriterijus naudojamas 2x2 lentelėms, kai turimepriklausomas imtis. Jis naudojamas situacijoms “prieš-po”, kai objektai matuojami sk<strong>ir</strong>tingaislaikotarpiais, <strong>ir</strong> norima įsitikinti, ar įvyko tam tikras pakitimas. Pavyzdžiui, apklaustųjųnuomonė kokiu nors klausimu (pritaria, nepritaria) vertinama iki pokalbio <strong>su</strong> jais <strong>ir</strong> popokalbio; pacientų savijauta (gera, bloga) prieš gydymą <strong>ir</strong> po gydymo. T<strong>ir</strong>iama charakteristikamatuojama du kartus (iki poveikio <strong>ir</strong> po jo). Dažnai tokio tipo uždaviniuose reikšmėskoduojamos “+” , “-” arba “taip”, “ne”.Tikrinama hipotezė<strong>su</strong> alternatyva HA: p12≠ p21.Testo <strong>statistika</strong>21H : 0p = p(6.34)1212212( V12 −V21)Q M= (6.35)V + Vasimptotiškai (kai n → ∞ ) turi χ pasisk<strong>ir</strong>stymą, jei H 0 teisinga; čia21Vij- stebėtas dažnisląstelėje (i,j).Maknemaro kriterijaus statistikos reikšmę <strong>ir</strong> P-reikšmę galima apskaičiuoti <strong>su</strong> SASprocedūra FREQ. Sakinyje TABLES reikia nurodyti AGREE. Procedūros FREQ sintaksėtokia pati kaip 1.3 skyrelyje.6.8 p a v y z d y s. Tarkime, kad p<strong>ir</strong>kėjai buvo apklausiami prieš tam tikros prekėsreklaminę akciją <strong>ir</strong> po jos. Reikia nustatyti ar p<strong>ir</strong>kėjų požiūris pasikeitė. Duomenys pateiktilentelėje.Po; B NYPrieš; AN 48 14Y 6 32DATA Apklausa;INPUT A $ B $ daznis;DATALINES;N N 48N Y 14Y N 6Y Y 32;PROC FREQ DATA=Apklausa;TABLES A*B / AGREE;WEIGHT daznis;RUN;Statistics for Table of A by BMcNemar's TestStatistic (S) 3.2000DF 1Pr > S 0.0736Lentelėje „McNemar‘s Test“ yra spausdinama Maknemaro kriterijaus statistikos(6.35) reikšmė QM= 3, 2 (Statistic (S)) <strong>ir</strong> P-reikšmė (Pr>S), kuri šiame pavyzdyje yra 0,0736,todėl hipotezė neatmetama <strong>su</strong> reikšmingumo lygmeniu 0,05, taigi, gauname, kad reklaminėakcija neturėjo įtakos p<strong>ir</strong>kėjų nuomonei.160
2. Kriterijai, grindžiami emp<strong>ir</strong>inės <strong>ir</strong> teorinės pasisk<strong>ir</strong>stymo funkcijų sk<strong>ir</strong>tumuP<strong>ir</strong>moje šio skyrelio dalyje pateiksime kriterijus, kurie grindžiami emp<strong>ir</strong>inės <strong>ir</strong>teorinės pasisk<strong>ir</strong>stymo funkcijų sk<strong>ir</strong>tumu <strong>ir</strong> sk<strong>ir</strong>ti patikrinti <strong>su</strong>derinamumo hipotezę. Antrojojedalyje pateiksime kriterijus, sk<strong>ir</strong>tus patikrinti homogeniškumo hipotezę.2.1. Suderinamumo tikrinimasKai <strong>su</strong>derinamumo hipotezė tikrinama <strong>su</strong> chi-kvadrato kriterijumi, tai duomenys<strong>su</strong>grupuojami, todėl imtis turi būti gana didėlė. Jeigu imtis nedidelė, tai geriau taikytikriterijų, kurio <strong>statistika</strong> išreiškiama negrupuotais duomenimis. Rekomenduojama<strong>su</strong>derinamumo hipotezes tikrinti keliais sk<strong>ir</strong>tingais būdais, nes taikant keletą kriterijų,gaunama žymiai daugiau informacijos. Šiame skyrelyje pateikiami trys <strong>su</strong>derinamumokriterijai (EDF goodness-of-fit tests), kurie grindžiami teorinės <strong>ir</strong> emp<strong>ir</strong>inės pasisk<strong>ir</strong>stymofunkcijų palyginimu.Tarkime, kad X1, X2...,Xnyra tolydžiojo atsitiktinio dydžio X imtis,X( 1)X(2)...,X( )- variacinė eilutė, F n(x)- emp<strong>ir</strong>inė pasisk<strong>ir</strong>stymo funkcija (EDF):,n⎧0,kai x ≤ X(1),⎪Fn ( x)= ⎨(i −1) / n,kai X( i−1)< x ≤ X( i), i = 1, L , n,(6.36)⎪⎩1,kai X( n)< x.Tarkime, kad X sk<strong>ir</strong>stinys priklauso tolydžiųjų sk<strong>ir</strong>stinių šeimai P . Reikia patikrintihipotezę H0, kad stebimo atsitiktinio dydžio X pasisk<strong>ir</strong>stymo funkcija yra F (x)(konkreti,visiškai nusakyta), t.y.H 0: M ( x)≡ F(x).(6.37)F nJeigu hipotezė H0teisinga, tai atsitiktinio dydžio Y = F(X ) sk<strong>ir</strong>stinys yra tolygusisintervale (0,1). Todėl statistikos, grindžiamos sk<strong>ir</strong>tumu F n( X ) − F(X ) , sk<strong>ir</strong>stinys, kaihipotezė H0teisinga, nepriklauso nuo F (x), nes atliekant monotonišką abscisių ašiestransformaciją tas sk<strong>ir</strong>tumas nesikeičia.I) Nukrypimas nuo hipotezės matuojamas kvadratine metrika, t.y. tikrinama hipotezėH0<strong>su</strong> alternatyva H1, kuri užrašoma taip:H+∞21: ∫ ( F n( x)F(x))ψ ( F(x))dF(x−∞M − ) > 0,(6.38)2čia ψ (t)- neneigiama funkcija, apibrėžta intervale [0,1], be to, ψ (t), tψ (t)<strong>ir</strong> t ψ ( t)yraintergruojamos intervale [0,1]. Kriterijaus <strong>statistika</strong>+∞∫ (−∞22ω = n F ( x)− F(x))ψ ( F(x))dF(x).(6.39)nn−1Dažniausiai naudojamos tokios svorio funkcijos: ψ ( t)≡ 1 arba ψ ( t)= ( t(1− t)).2Cramer von Mises <strong>statistika</strong> W (gaunama (6.39) paėmus ψ ( t)≡ 1) apibrėžiama taip:+∞∫ (−∞22W = n Fn ( x)− F(x))dF(x).Cramer-von Mises <strong>statistika</strong>2W apskaičiuojama taip:161
čia U = F X ) .( i)(( i)W) apibrė-Anderson-Darling <strong>statistika</strong>žiama:Anderson-Darling <strong>statistika</strong>A22=n∑i=1⎛⎜U⎝( i)22i−1⎞− ⎟ +2n⎠112,n2A (gaunama (6.39) paėmus ψ ( t+∞22−1= n ∫ ( F ( x)− F(x))( F(x)(1− F(x)))dF(x)−∞An.1= −n−nn∑i=12A apskaičiuojama taip:[(2i−1)logU+ (2n+ 1−2i)log(1−( i)U( i )) = ( t(1− t))−1(6.40))]. (6.41)II) Kolmogorovo kriterijus (SAS vadinamas Kolmogorovo-Sm<strong>ir</strong>novo kriterijumi<strong>su</strong>derinamumui tikrinti). Nukrypimas nuo hipotezės matuojamas tolygiąją metrika, t.y.tiktinama hipotezė (6.37) <strong>su</strong> alternatyva:H 1: <strong>su</strong>p | M ( x)− F(x)| > 0.(6.42)−∞< x
α −1β −1⎧ ( x −θ) ( σ + θ − x)⎪100h%, kai θ < x < θ + σ ,p ( x)= α + β −1⎨ B(α,β ) σ(6.44)⎪⎩0,kai x ≤ θ arba x ≥ θ + σ ,čia σ > 0 , α > 0, β > 0 , θ turi būti mažesnis už minimalią kintamojo reikšmę, θ + σ turibūti didesnis už maksimalią kintamojo reikšmę, B ( α , β ) = Γ(α)Γ(β ) / Γ(α + β ) , h – histogramosplotis. Pagal nutylėjimą (t.y., kai nenurodome) imami α <strong>ir</strong> β maksimalaustikėtinumo įverčiai, σ = 1, θ = 0 ; jeigu nurodome SIGMA=EST, tai imamas parametro σįvertis, jeigu nurodome THETA=EST, tai imamas parametro θ įvertis, pavyzdžiui, jeiparašysime HISTOGRAM kintamasis / BETA, tai lygins <strong>su</strong> tokiu beta sk<strong>ir</strong>stiniu: σ = 1,θ = 0 , vietoje parametrų α, β bus jų maksimalaus tikėtinumo įverčiai.Kai kurie autoriai naudoja tokią beta sk<strong>ir</strong>stinio išraišką:pp−1⎧(x − a)( b − x)⎪p+⎨ B(p,q)(b − a)⎪⎩0,q−1( x)= q−1,kaikaia < x < b,x ≤ a arba x ≥ b.Parametrai iš (6.44) <strong>ir</strong> (6.45) <strong>su</strong>siję tokiu būdu: σ = b − a , θ = a , α = p , β = q .2) Eksponentinis sk<strong>ir</strong>stinys. Sintaksė:EXPONENTIAL .Tankis:(6.45)⎧100h%⎛ ⎛ x −θ⎞⎞⎪ exp⎜−⎜ ⎟⎟,kai x ≥ θ ,p ( x)= ⎨ σ ⎝ ⎝ σ ⎠⎠(6.46)⎪⎩0,kai x < θ ,čia σ > 0,h – histogramos plotis. Pagal nutylėjimą (t.y., kai nenurodome) θ = 0 , imamas σmaksimalaus tikėtinumo įvertis. Jeigu nurodome THETA=EST, tai imamas parametro θįvertis, pavyzdžiui, jei parašysime HISTOGRAM kintamasis / EXPONENTIAL(THETA=EST), tai lygins <strong>su</strong> tokiu eksponentiniu sk<strong>ir</strong>stiniu: imami parametrų σ <strong>ir</strong> θ maksimalaustikėtinumo įverčiai.3) Gama sk<strong>ir</strong>stinys. Sintaksė:GAMMA .Tankis:α −1⎧100h%⎪⎛ x −θ⎞ ⎛ ⎛ x −θ⎞⎞⎜ ⎟ exp⎜−⎜ ⎟⎟,kai x > θ ,p ( x)= ⎨Γ(α)σ ⎝ σ ⎠ ⎝ ⎝ σ ⎠⎠(6.47)⎪⎩0,kai x ≤ θ ,čia σ > 0 , α > 0,θ turi būti mažesnis už minimalią kintamojo reikšmę, h – histogramosplotis. Pagal nutylėjimą (t.y., kai nenurodome) imami α <strong>ir</strong> σ maksimalaus tikėtinumoįverčiai, θ = 0 ; jeigu nurodome THETA=EST, tai imamas parametro θ įvertis.Gama sk<strong>ir</strong>stinio atsk<strong>ir</strong>i atvejai yra chi-kvadrato sk<strong>ir</strong>stinys (<strong>su</strong> ν laisvės laipsnių, kai(6.47) imame α = ν / 2 , σ = 2,θ = 0 ), eksponentinis sk<strong>ir</strong>stinys (kai (6.47) imame α = 1),Erlango sk<strong>ir</strong>stinys (kai (6.47) imame α - teigiamas sveikas skaičius).4) Lognormalusis sk<strong>ir</strong>stinys. Sintaksė:LOGNORMAL .Tankis:163
2⎧ 100h%⎛ (log( x −θ) − ς ) ⎞⎪exp>⎨⎜−⎟,kai x θ ,p ( x)=2σ 2π( x −θ) ⎝ 2σ⎠(6.48)⎪⎩0,kai x ≤ θ ,čia − ∞ < ς < ∞, σ > 0,θ turi būti mažesnis už minimalią kintamojo reikšmę, h – histogramosplotis. Pagal nutylėjimą (t.y., kai nenurodome) imami σ <strong>ir</strong> ς maksimalaustikėtinumo įverčiai, θ = 0 ; jeigu nurodome THETA=EST, tai imamas parametro θ įvertis.5) Normalusis sk<strong>ir</strong>stinys. Sintaksė:NORMAL .Tankis:2100h%⎛ 1 ⎞( ) exp⎜⎛ x − µ ⎞p x = − ⎟,− ∞ < < ∞,2⎜ ⎟ xσ π 2⎝ ⎝ σ ⎠ ⎠164(6.49)čia σ > 0 (standartinis nuokrypis), µ - vidurkis. Pagal nutylėjimą imami σ <strong>ir</strong> µmaksimalaus tikėtinumo įverčiai.6) Veibulo sk<strong>ir</strong>stinys. Sintaksė:WEIBULL .Tankis:c⎧ c ⎛ x −θ⎞⎪100h%p(x)=⎜ ⎟⎨ σ ⎝ σ ⎠⎪⎩0,−1c⎛⎜ ⎛ x −θ⎞exp −⎜ ⎟⎝ ⎝ σ ⎠⎞⎟,⎠kaikaix > θ ,x ≤ θ ,(6.50)čia σ > 0 , c > 0,θ turi būti mažesnis už minimalią kintamojo reikšmę, h – histogramosplotis. Pagal nutylėjimą (t.y., kai nenurodome) imami c <strong>ir</strong> σ maksimalaus tikėtinumoįverčiai, θ = 0 ; jeigu nurodome THETA=EST, tai imamas parametro θ įvertis.6.9 p a v y z d y s. Tarkime, kad turime duomenų lentelę „Duomenys“, <strong>su</strong>kurtą <strong>su</strong>tokiu Data žingsniu:DATA Duomenys;DROP i;DO i=1 TO 200;X=2*normal(0)+10; /*kadangi skliaustuose 0, tai kelis kartus*/OUTPUT;END;RUN;/*atlikę Data žingsnį, gausime vis kitus duomenis*/a) Patikrinkime hipotezę, kad X sk<strong>ir</strong>stinys yra normalusis <strong>su</strong> vidurkiu 10 <strong>ir</strong> dipersija4. Editor lange parašome:PROC UNIVARIATE DATA=Duomenys;VAR X;HISTOGRAM X / NORMAL(MU=10 SIGMA=2);RUN;Sakinyje HISTOGRAM nurodėme NORMAL, todėl tikrins ar sk<strong>ir</strong>stinys normalusis <strong>su</strong>tokiais parametrais, kuriuos nurodėme skliaustuose, t.y. vidurkis 10 <strong>ir</strong> standartinis nuokrypis2. Output lange gauname:The UNIVARIATE ProcedureFitted Distribution for XParameters for Normal DistributionParameter Symbol EstimateMean Mu 10Std Dev Sigma 2
TestGoodness-of-Fit Tests for Normal Distribution---Statistic---- -----p Value-----Kolmogorov-Sm<strong>ir</strong>nov D 0.07467362 Pr > D 0.211Cramer-von Mises W-Sq 0.20353382 Pr > W-Sq >0.250Anderson-Darling A-Sq 1.17335942 Pr > A-Sq >0.250Lentelėje „Goodness-of-Fit Tests for Normal Distribution” (<strong>su</strong>derinamumo kriterijainormališkumui tikrinti) spausdinama: Kolmogorovo kriterijaus statistikos (Kolmogorov-Sm<strong>ir</strong>nov; (6.43)) reikšmė D = 0, 07467362 <strong>ir</strong> P-reikšmė 0,211; Anderson-Darling kriterijausstatistikos (6.41) reikšmė A 2 = 1, 17335942 <strong>ir</strong> P-reikšmė, kuri šiame pavyzdyje yra didesnė už0,25; Cramer-von Mises statistikos (6.40) reikšmė W 2 = 0, 20353382 <strong>ir</strong> P-reikšmė, kuri šiamepavyzdyje yra didesnė už 0,25. Visais trimis atvejais gauname, kad hipotezė neatmetama.b) Patikrinkime hipotezę, kad X sk<strong>ir</strong>stinys yra normalusis <strong>su</strong> vidurkiu 10 <strong>ir</strong>standartiniu nuokrypiu 1,5 dispersija. Editor lange parašome:PROC UNIVARIATE DATA=Duomenys;VAR X;HISTOGRAM X / NORMAL(MU=10 SIGMA=1.5);RUN;Output lange gauname:The UNIVARIATE ProcedureFitted Distribution for XParameters for Normal DistributionParameter Symbol EstimateMean Mu 10Std Dev Sigma 1.5Goodness-of-Fit Tests for Normal DistributionTest---Statistic---- -----p Value-----Kolmogorov-Sm<strong>ir</strong>nov D 0.10716266 Pr > D 0.020Cramer-von Mises W-Sq 0.49454993 Pr > W-Sq 0.043Anderson-Darling A-Sq 4.49379752 Pr > A-Sq 0.005Gauname, kad Kolmogorovo kriterijaus statistikos reikšmė D = 0, 10716266 <strong>ir</strong> P-reikšmė 0,02; Anderson-Darling kriterijaus statistikos reikšmė A 2 = 4, 49379752 <strong>ir</strong> P-reikšmė0,005; Cramer-von Mises statistikos reikšmė W 2 = 0, 49454993 <strong>ir</strong> P-reikšmė 0,043. Visi tryskriterijai duoda tą patį atsakymą: hipotezė atmetama <strong>su</strong> reikšmingumo lygmeniu 0,05.2.2. Homogeniškumo tikrinimasŠiame skyrelyje aprašysime kriterijus, kurie grindžiami teorinės <strong>ir</strong> emp<strong>ir</strong>inės pasisk<strong>ir</strong>stymofunkcijų palyginimu <strong>ir</strong> sk<strong>ir</strong>ti patikrinti homogeniškumo hipotezę.Tegu x , ..., 1x2 xnyra a.d. X imtis, o y , ...,11y2 yn- a.d. Y imtis. Tarkime, kad nieko2nežinome apie stebimų tolydžiųjų atsitiktinių dydžių tikimybinį sk<strong>ir</strong>stinį <strong>ir</strong> reikia patikrintihipotezę apie sk<strong>ir</strong>stinių tapatumą. Pažymėkime F1- a.d. X pasisk<strong>ir</strong>stymo funkcija, F2- a.d. Ypasisk<strong>ir</strong>stymo funkcija. Apibrėžkime X <strong>ir</strong> Y emp<strong>ir</strong>ines pasisk<strong>ir</strong>stymo funkcijas:1nn1F ˆ1 ( x)= ∑ I{ x j ≤ x}; ˆ ( y)= ∑1 j = 1Reikia patikrinti hipotezęn21F 2 I{ y j ≤ y}. (6.51)n2j = 1: MFˆ( x)≡ MFˆ( ),(6.52)H0 12x165
t.y. sk<strong>ir</strong>stiniai vienodi.Pažymėkimečia ni– i-tosios imties dydis, n – bendras stebėjimų skaičius.Kolmogorovo-Sm<strong>ir</strong>novo <strong>statistika</strong> apibrėžiama:1F ˆ = ˆ∑ n iF i,(6.53)ni1 ˆ ˆ 2KS = max ∑ ni( Fi( xj) − F(xj)) .(6.54)j nAsimptotinė Kolmogorovo-Sm<strong>ir</strong>novo <strong>statistika</strong>:iKS a= KS n.(6.55)Kai turime dvi imtis, tai Kolmogorovo-Sm<strong>ir</strong>novo tiksli <strong>statistika</strong>:vienpusės Kolmogorovo-Sm<strong>ir</strong>novo statistikos:EDF.D+D = max | Fˆ( ) ˆ1xj− F2( xj) |,(6.56)jˆ ˆ−= max(F ( x ) ( )), max( ˆ ( ) ˆj− F2xjD = F2xj− F1( xj1 jj166)).(6.57)Šias <strong>statistika</strong>s apskaičiuoja SAS procedūra NPAR1WAY, kai nurodome pas<strong>ir</strong>inktįSintaksė:PROC NPAR1WAY EDF DATA=lentelė;CLASS kint1;VAR kint2;FREQ kint3;EXACT KS;RUN;čia kint1 – klasifikuojantis kintamasis, kuris nurodo, kuriai imčiai priklauso stebėjimas; kint2– analizuojamas kintamasis; sakinį FREQ reikia nurodyti tik tada, kai turime <strong>su</strong><strong>su</strong>muotusduomenis; sakinį EXACT nurodome, jeigu norime, kad spausdintų tikslias P-reikšmes;nebūtina pas<strong>ir</strong>inktis D nurodo, kad turi būti apskaičiuotos vienpusės Kolmogorovo-Sm<strong>ir</strong>novostatistikos (6.57) <strong>ir</strong> P-reikšmės.6.10 p a v y z d y s. Sukurkime duomenų lentelę <strong>su</strong> tokiu Data žingsniu:DATA Duomenys;DROP i;g=1;DO i=1 TO 50;X=normal(10)+1;OUTPUT;END;g=2;DO i=1 TO 50;X=normal(10);OUTPUT;END; RUN;Patikrinkime homogeniškumo hipotezę. Editor lange parašykime:PROC NPAR1WAY EDF DATA=Duomenys;CLASS g;VAR X;RUN;
Nurodėme EDF, todėl apskaičiuos Kolmogorovo-Sm<strong>ir</strong>novo kriterijaus statistiką <strong>ir</strong> P-reikšmę. Output lange gauname:The NPAR1WAY ProcedureKolmogorov-Sm<strong>ir</strong>nov Test for Variable XClassified by Variable gEDF at Deviation from Meang N Maximum at Maximum1 50 0.140 -1.5556352 50 0.580 1.555635Total 100 0.360Komentaras: N – stebėjimų skaičius; „EDF at maximum“ yra imties (grupės) EDF(emp<strong>ir</strong>inės pasisk<strong>ir</strong>stymo funkcijos; Fˆ i ) reikšmė jos maksimalaus nuokrypio nuo jungtinėsEDF ( Fˆ ; apibrėžta (6.53)) taške; „Deviation from mean at maximum“ yra n ˆi ( Fi− F ˆ )reikšmė jos maksimumo taške.Maximum Deviation Occurred at Observation 85Value of X at Maximum = 0.162299Komentaras: maksimalus nuokrypis yra 85 stebėjimo; šiam stebėjimui analizuojamokintamojo reikšmė yra 0,162299.Kolmogorov-Sm<strong>ir</strong>nov Two-Sample Test (Asymptotic)KS 0.220000 D 0.440000KSa 2.200000 Pr > KSa 0.0001Komentaras: KS yra statistikos (6.54) reikšmė; D yra statistikos (6.56) reikšmė; KSayra statistikos (6.55) reikšmė <strong>ir</strong> Pr>Ksa yra atitinkama dvipusė P-reikšmė. Kadangi P-reikšmė 0.0001, tai hipotezė atmetama, t.y. p<strong>ir</strong>mos <strong>ir</strong> antros imties sk<strong>ir</strong>stiniai sk<strong>ir</strong>iasi.3. Ranginiai kriterijaiŠiame skyrelyje nagrinėsime ranginius kriterijus. Konstruojant šiuos kriterijusnaudojami ne patys stebėjimai, o jų išsidėstymo variacinėje eilutėje numeriai, kurie vadinam<strong>ir</strong>angais. Pradžioje aptarsime ranginius sąryšio matus, o paskui homogeniškumo hipotezėstikrinimą naudojant ranginius kriterijus.3.1. Sp<strong>ir</strong>meno ranginės koreliacijos koeficientasSp<strong>ir</strong>meno koreliacijos koeficientas (Spearman Rank-Order Correlation) yra P<strong>ir</strong>sonokoreliacijos koeficiento (žr.IV sk., 2.2 skyrelį) neparametrinis analogas. P<strong>ir</strong>sono koreliacijoskoeficientą galima naudoti, kai prielaida apie duomenų normališkumą patenkinta, jeigu jinepatenkinta, tai reikia naudoti Sp<strong>ir</strong>meno koreliacijos koeficientą. Jis apskaičiuojamasnaudojant ne pačius stebėjimus, o jų rangus.Tarkime, kad stebime tolydžiųjų kintamųjų porą (X,Y) <strong>ir</strong> turime tokius stebėjimus:( x1,y1),...,(x n, yn) . Duomenis <strong>su</strong>ranguojame. Tarkime, kad Rxiyra x<strong>ir</strong>angas, o Ryiyra y<strong>ir</strong>angas, i = 1,...,n . Po rangavimo duomenis <strong>su</strong>daro poros R , R ), i = 1,...,n .Sp<strong>ir</strong>meno koreliacijos koeficientas:(xi yi167
s=n∑i=1n∑i=1( R( Rxixi− R− R )x2x)( Rn∑i=1yi− R )( Ryiy− R )y2(6.58)čia Rxyra reikšmių Rx1 ,..., Rxnaritmetinis vidurkis, o Ryyra reikšmių Ry1 ,..., Rynaritmetinisvidurkis. Iš (6.58) matome, kad Sp<strong>ir</strong>meno koreliacijos koeficientas yra P<strong>ir</strong>sono koreliacijoskoeficientas apskaičiuotas ne pačioms kintamųjų reikšmėms, o jų rangams. Sp<strong>ir</strong>menokoreliacijos koeficientas interpretuojamas taip pat kaip P<strong>ir</strong>sono koreliacijos koeficientas.Sp<strong>ir</strong>meno koreliacijos koeficiento ženklas parodo neigiamas ar teigiamas ryšys. Teigiamakoreliacija: kai vieno kintamojo reikšmės didėja, tai <strong>ir</strong> kito kintamojo reikšmės didėja.Neigiama koreliacija: kai vieno kintamojo reikšmės didėja, tai kito kintamojo reikšmėsmažėja. Kuo koeficientas absoliučiuoju didumu didesnis, tuo ryšys stipresnis (didesnėkoreliacija). Galima naudotis tokiomis taisyklėmis: kai koeficiento reikšmė ±1, tai idealikoreliacija; kai ±0.8, tai stipri koreliacija; kai ±0.5, tai vidutinė koreliacija; kai ±0.2, tai silpnakoreliacija; kai 0, tai koreliacijos nėra.Prieš darant išvadą apie kintamųjų koreliaciją reikia patikrinti ar koreliacija statistiška<strong>ir</strong>eikšminga, t.y. reikia patikrinti hipotezęH 0: X <strong>ir</strong> Y nekoreliuoja (6.59)<strong>su</strong> alternatyva H 1: X <strong>ir</strong> Y koreliuoja. Hipotezė (6.59) reiškia, kad koreliacijos koeficientasrsstatistiškai reikšmingai nesisk<strong>ir</strong>ia nuo nulio (koreliacija nėra statistiškai reikšminga),alternatyva – koreliacija statistiškai reikšminga, kintamieji priklausomi.Kriterijaus <strong>statistika</strong>:Tn − 2= rs,(6.60)21−rsčia rs- imties Sp<strong>ir</strong>meno koreliacijos koeficiento reikšmė, apskaičiuota pagal (6.58).Tarkime, kad reikšmingumo lygmuo α . Hipotezė H0atmetama, kai |T|> t α / 2, čia T –apibrėžta (6.60), t αyra Stjudento sk<strong>ir</strong>stinio <strong>su</strong> n-2 laisvės laipsniais α-toji kritinė reikšmė.Sp<strong>ir</strong>meno koreliacijos koeficientą galima apskaičiuoti <strong>su</strong> SAS procedūra CORR.Sintaksė:PROC CORR DATA=lentelė SPEARMAN;VAR kintamieji;RUN;VAR sakinyje nurodome kintamuosius, kurių koreliacijos koeficientus norimeapskaičiuoti.Procedūroje CORR galima naudoti tokius sakinius:BY kintamieji; /*atsk<strong>ir</strong>a analizė pagal BY kintamųjų reikšmes*/FREQ kintamasis; /* dažnio kintamasis */VAR kintamieji; /* stulpelių kintamieji */WEIGHT kintamasis; /* svorio kintamasis */WITH kintamieji; /* eilučių kintamieji */6.11 p a v y z d y s. Modeliuokime a.v. ( X , Y ) ~ N2( µ , Σ)dydžio n = 30 imtį, čia⎛ 4 1.6⎞µ = ( 2,3), Σ = ⎜ ⎟,t.y. ρ = 0, 4 . Apskaičiuokime Sp<strong>ir</strong>meno koreliacijos koeficientą <strong>ir</strong>⎝1.61 ⎠patikrinkime ar koreliacija statistiškai reikšminga. Reikšmingumo lygmuo 0,05Editor lange parašome:168
%LET n=30;%LET miu1=2; %LET miu2=3;%LET sigma1=2; %LET sigma2=1;%LET ro=0.4;DATA dvimatis;DO i=1 TO &n;X=&miu1+&sigma1*NORMAL(10);vid=&miu2+&ro*(&sigma2/&sigma1)*(X-&miu1);std=sqrt(&sigma2*(1-&ro*&ro));Y=vid+std*NORMAL(10);OUTPUT;END;RUN;PROC CORR DATA=dvimatis SPEARMAN;VAR X Y;RUN;Output lange gauname:The CORR Procedure2 Variables: X YSimple StatisticsVariable N Mean Std Dev Median Minimum MaximumX 30 1.36643 1.64923 1.15047 -1.28366 6.65943Y 30 3.02169 0.79639 2.88230 1.52897 4.60821Spearman Correlation Coefficients, N = 30Prob > |r| under H0: Rho=0XYX 1.00000 0.453620.0118Y 0.45362 1.000000.0118Lentelėje „Simple Statistics“ yra spausdinamos kintamųjų X <strong>ir</strong> Y skaitinėscharakteristikos: stebėjimų skaičius (N), vidurkis (Mean), standartinis nuokrypis (Std Dev),mediana (Median), minimali (Minimum) <strong>ir</strong> maksimali (Maximum) reikšmės. Lentelėje„Spearman Correlation Coefficients“ spausdinama apskaičiuota pagal imties duomenisSp<strong>ir</strong>meno koreliacijos koeficiento reikšmė 0,45362 (žr.(6.58)) <strong>ir</strong> P-reikšmė, sk<strong>ir</strong>ta patikrintihipotezę (6.59). Kadangi P-reikšmė yra 0.0118, tai hipotezė atmetama <strong>su</strong> reikšmingumolygmeniu 0,05, t.y. kintamieji X <strong>ir</strong> Y koreliuoja. Kadangi koreliacijos koeficiento reikšmė0,45362, tai koreliacija teigiama.Sp<strong>ir</strong>meno koreliacijos koeficientą galima taikyti imties atsitiktinumui tikrinti. Tuometduomenis <strong>su</strong>daro ( x1,1),(x2,2),...,( xn , n). Imtis x1, x2,..., xnatsitiktinė, jeigu priklausomybėsnerandame (hipotezės neatmetame).3.2. Kendalo ranginės koreliacijos koeficientasKendalo ranginės koreliacijos koeficientas (Kendall‘s Tau-b Correlation Coefficient)naudojamas kintamųjų ryšio stiprumui įvertinti. Jis grindžiamas <strong>su</strong>derintų <strong>ir</strong> ne<strong>su</strong>derintų porųskaičiumi. Tarkime, kad stebime tolydžiųjų kintamųjų porą (X,Y) <strong>ir</strong> turime tokius stebėjimus:( x1,y1),...,(x n, yn) . Dvi duomenų poros ( xi, yi) <strong>ir</strong> ( xj, yj) , i ≠ j yra <strong>su</strong>derintos, jei ( xi> xj<strong>ir</strong> yi> yj) arba ( xi< xj<strong>ir</strong> yi< yj). Dvi duomenų poros ( xi, yi) <strong>ir</strong> ( xj, yj) , i ≠ j yrane<strong>su</strong>derintos, jei ( xi> xj<strong>ir</strong> yi< yj) arba ( xi< xj<strong>ir</strong> yi> yj).Kendalo ranginės koreliacijos koeficientas:169
∑i 0,kai z = 0,kai z < 0.Susietosiomis reikšmėmis vadinamos reikšmės, kurioms prisk<strong>ir</strong>iami vienodi rangai,t.y. <strong>su</strong>tampančios (pasikartojančios) reikšmės.Kaip <strong>ir</strong> Sp<strong>ir</strong>meno koeficiento atveju, galima ne tik apskaičiuoti Kendalo koeficientą,bet <strong>ir</strong> patikrinti, ar gauta koreliacija statistiškai reikšminga. Reikia patikrinti hipotezęH 0: X <strong>ir</strong> Y nekoreliuoja (6.62)<strong>su</strong> alternatyva H 1: X <strong>ir</strong> Y koreliuoja. Hipotezė (6.62) reiškia, kad koreliacijos koeficientas τstatistiškai reikšmingai nesisk<strong>ir</strong>ia nuo nulio (koreliacija nėra statistiškai reikšminga),alternatyva – koreliacija statistiškai reikšminga, kintamieji priklausomi.Kriterijaus <strong>statistika</strong>:čiav1⎛= ⎜⎝∑kt ( tkkvt⎞⎛−1)⎟⎜⎠⎝vV ( s)==∑k∑lls =0t ( tkku ( ul∑i zα / 2, čia Z –apibrėžta (6.63), zα- standartinio normalaus sk<strong>ir</strong>stinio α-toji kritinė reikšmė.Kendalo koreliacijos koeficientą galima apskaičiuoti <strong>su</strong> SAS procedūra CORR.Sintaksė:PROC CORR DATA=lentelė KENDALL;VAR kintamieji;RUN;VAR sakinyje nurodome kintamuosius, kurių koreliacijos koeficientus norimeapskaičiuoti.170
6.12 p a v y z d y s. Tarkime, kad turime duomenis iš 6.11 pavyzdžio. ApskaičiuokimeKendalo koreliacijos koeficientą <strong>ir</strong> patikrinkime ar jis statistiškai reikšmingas. Editor langeparašykime:PROC CORR DATA=dvimatis KENDALL;VAR X Y;RUN;Output lange gauname:The CORR Procedure2 Variables: X YSimple StatisticsVariable N Mean Std Dev Median Minimum MaximumX 30 1.36643 1.64923 1.15047 -1.28366 6.65943Y 30 3.02169 0.79639 2.88230 1.52897 4.60821Kendall Tau b Correlation Coefficients, N = 30Prob > |r| under H0: Rho=0XYX 1.00000 0.310340.0160Y 0.31034 1.000000.0160Lentelėje „Simple Statistics“ yra spausdinamos kintamųjų X <strong>ir</strong> Y skaitinėscharakteristikos: stebėjimų skaičius (N), vidurkis (Mean), standartinis nuokrypis (Std Dev),mediana (Median), minimali (Minimum) <strong>ir</strong> maksimali (Maximum) reikšmės. Lentelėje„Kendall Tau b Correlation Coefficients“ spausdinama apskaičiuota pagal imties duomenisKendalo koreliacijos koeficiento reikšmė 0,31034 (žr.(6.61)) <strong>ir</strong> P-reikšmė, sk<strong>ir</strong>ta patikrintihipotezę (6.62). Kadangi P-reikšmė yra 0.0160, tai hipotezė atmetama <strong>su</strong> reikšmingumolygmeniu 0,05, t.y. kintamieji X <strong>ir</strong> Y koreliuoja.3.3. Mano-Vitnio-Vilkoksono kriterijusMano-Vitnio-Vilkoksono (Mann-Whitney-Wilcoxon) kriterijus yra Stjudento t kriterijausnepriklausomos imtims neparametrinis analogas. Nereikalaujama duomenų normališkumo.Konstruojant kriterijų naudojami duomenų rangai. Tikrinama homogeniškumohipotezė <strong>su</strong> alternatyva, kad sk<strong>ir</strong>stiniai sk<strong>ir</strong>iasi poslinkio parametru. Tarkime, kad turime dvinepriklausomas imtis: x1,...,xnyra tolydžiojo a.d. X imtis, y ,...,11ynyra tolydžiojo a.d. Y2imtis. Tegu a.d. X pasisk<strong>ir</strong>stymo funkcija yra F(x), o a.d. Y pasisk<strong>ir</strong>stymo funkcija yra G(y), F<strong>ir</strong> G tolydžios pasisk<strong>ir</strong>stymo funkcijos. Reikia patikrinti hipotezę:H : F(t)≡ G(t),| t | < ,(6.64)0∞<strong>su</strong> alternatyva H1: sk<strong>ir</strong>stiniai nevienodi.Imtis <strong>su</strong>jungiame į vieną imtį, išdėstome stebėjimus didėjimo tvarka nuo mažiausio ikididžiausio stebėjimo (t.y. <strong>su</strong>darome variacinę eilutę). Gausime tokio tipo seką:a a b a a a b b b b ... a b b1 2 3 4 5 6 7 8 9 10 ... n-2 n-1 nčia b yra a.d. X imties nariai; a – a.d. Y imties nariai. n = n 1+ n2. Apačioje užrašome eilėsnumerius (rangus). Tarkime, kad n2 ≤ n1. Tegu R1 , L , Rnyra rangai, atitinkantys dydžius a.2Mano-Vitnio-Vilkoksono kriterijaus <strong>statistika</strong>:W = R1 + ... + Rn,(6.65)2171
t.y. imame mažesnio tūrio imtį, išrenkame jos narius <strong>ir</strong> <strong>su</strong><strong>su</strong>muojame rangus.Asimptotinė kriterijaus <strong>statistika</strong>:čiaW − E0( W )z = ⇒ N(0,1), jei H0teisinga, (6.66)var ( W )n→∞0nn21 1 22 1( ) , var0( )( ) , ∑nnn nE W = ∑ R= ∑ − = ,0 jWRja a Rj(6.67)nn −1nnj=1n2- stebėjimų skaičius mažesnėje imtyje.Mano-Vitnio-Vilkoksono kriterijaus statistikos reikšmę <strong>ir</strong> atitinkamas P-reikšmesgalima apskaičiuoti <strong>su</strong> SAS modulio STAT procedūra NPAR1WAY. Sintaksė:PROC NPAR1WAY WILCOXON DATA=lentelė;CLASS kint1;VAR kint2;FREQ kint3;EXACT;RUN;čia kint1 – klasifikuojantis kintamasis, kuris nurodo, kuriai imčiai priklauso stebėjimas; kint2– analizuojamas kintamasis; sakinį FREQ reikia nurodyti tik tada, kai turime <strong>su</strong><strong>su</strong>muotusduomenis; sakinį EXACT nurodome, jeigu norime, kad spausdintų tikslias P-reikšmes.Apskaičiuojant asimptotinio kriterijaus statistikos reikšmę yra naudojama tolydumopataisa (jei nenorime, tai PROC sakinyje nurodome CORRECT=NO; apskaičiuos pagal (6.66)formulę):W − E0( W ) − 0.5z = , jei W − E0 ( W ) > 0 ; (6.68)var ( W )0j=1W − E0( W ) + 0.5z = , jei W − E0 ( W ) < 0 .var ( W )0Procedūra NPAR1WAY spausdina asimptotines vienpusę <strong>ir</strong> dvipusę P-reikšmes:vienpusė P-reikšmė (asimptotinis kriterijus):⎧P{Z > z},P1= ⎨⎩P{Z < z},dvipusė P-reikšmė (asimptotinis kriterijus):kai z > 0,kai z < 0,j=1(6.69)P = P {| Z | > | |},(6.70)2zčia z – apskaičiuota pagal imties duomenis statistikos reikšmė, Z – tikėtina statistikos reikšmė,kai homogeniškumo hipotezė teisinga.Kai nurodome sakinį EXACT, tai apskaičiuojamos tikslios P-reikšmės:vienpusė P-reikšmė (tikslus kriterijus):⎧P{W0P1= ⎨⎩P{W0dvipusė P-reikšmė (tikslus kriterijus):P≥ W},≤ W},kai Wkai W> E≤ E00( W ),( W ),(6.71)= P {| W0− E0( W ) | ≥|W − E0( ) |},(6.72)2Wčia W – apskaičiuota pagal imties duomenis statistikos reikšmė, W0– tikėtina statistikosreikšmė, kai homogeniškumo hipotezė teisinga; E ( ) apibrėžtas (6.67).0 W172
6.13 p a v y z d y s. Modeliuokime dvi nepriklausomas imtis, patikrinkime homogeniškumohipotezę. Editor lange parašykime:DATA Duomenys;DROP i;g=1;DO i=1 TO 30;X=normal(10)+1;OUTPUT;END;g=2;DO i=1 TO 30;X=normal(10);OUTPUT;END; RUN;PROC NPAR1WAY WILCOXON DATA=Duomenys;CLASS g;VAR X;EXACT;RUN;Output lange gauname:The NPAR1WAY ProcedureWilcoxon Scores (Rank Sums) for Variable XClassified by Variable gSum of Expected Std Dev Meang N Scores Under H0 Under H0 Score1 30 1178.0 915.0 67.638746 39.2666672 30 652.0 915.0 67.638746 21.733333Wilcoxon Two-Sample TestStatistic (S) 1178.0000Normal ApproximationZ 3.8809One-Sided Pr > Z |Z| 0.0001t ApproximationOne-Sided Pr > Z 0.0001Two-Sided Pr > |Z| 0.0003Exact TestOne-Sided Pr >= S 2.916E-05Two-Sided Pr >= |S - Mean| 5.833E-05Z includes a continuity correction of 0.5.Lentelėje “Wilcoxon Scores (Rank Sums)“ spausdinamas: stebėjimų skaičius (N);rangų <strong>su</strong>ma („Sum of scores“); E ( ) apibrėžtas (žr. (6.67), „Expected Under H0“);0 Wvar 0( W ) (žr.(6.67), „Std.Dev under H 0 “); vidutiniai rangai („Mean Score“; rangų <strong>su</strong>mapadalinta iš stebėjimų skaičiaus imtyje), parodo kurioje imtyje yra daugiau didesnių reikšmių.Lentelėje „Wilcoxon Two-Sample Test, Normal Approximation“ spausdinamastatistikos (6.68) reikšmė z=3,8809; vienpusė P-reikšmė („One-Sided Pr>Z“, žr.(6.69)), kurišiame pavyzdyje yra mažesnė už 0,0001; dvipusė P-reikšmė („Two-Sided Pr>|Z|“, žr.(6.70)),kuri šiame pavyzdyje yra 0,0001. Kadangi nenurodėme CORRECT=NO, tai skaičiuojant zstatistiką buvo panaudota tolydumo pataisa. Gauname, kad hipotezė atmetama, nes gauta P-reikšmė yra mažesnė už pas<strong>ir</strong>inktą reikšmingumo lygmenį, t.y. sk<strong>ir</strong>stiniai nevienodi. Kadangi173
imties <strong>su</strong> g=1 vidutinis rangas („Mean Score“) didesnis, tai daugiau didesnių reikšmių yrašioje imtyje.Lentelėje „Wilcoxon Two-Sample Test, Exact Test“ spausdinama; vienpusė P-reikšmė(„One-Sided Pr>=S“, žr.(6.71)), dvipusė P-reikšmė („Two-Sided Pr>=|S-Mean|“, žr.(6.72)).Palyginę gautas P-reikšmes <strong>su</strong> pas<strong>ir</strong>inktu reikšmingumo lygmeniu, gauname, kad homogeniškumohipotezė (6.64) atmetama, t.y. sk<strong>ir</strong>stiniai nevienodi.3.4. Van der Vardeno kriterijusVan der Vardeno (Van der Waerden) kriterijaus pask<strong>ir</strong>tis tokia pati kaip <strong>ir</strong> Mano-Vitnio-Vilkoksono kriterijaus, kurį nagrinėjome 3.3 skyrelyje. Konstruojant kriterijųnaudojami duomenų rangai. Tikrinama homogeniškumo hipotezė <strong>su</strong> alternatyva, kadsk<strong>ir</strong>stiniai sk<strong>ir</strong>iasi poslinkio parametru. Tarkime, kad turime dvi nepriklausomas imtis:x1,...,xnyra tolydžiojo a.d. X imtis, y ,...,11ynyra tolydžiojo a.d. Y imtis. Reikia patikrinti2homogeniškumo hipotezę (6.64). Suranguojame duomenis taip pat kaip 3.3 skyrelyje.Tarkime, kad n2 ≤ n1. Tegu R1 , L , Rnyra rangai, atitinkantys stebėjimus iš mažesniosios2imties. Van der Vardeno kriterijaus <strong>statistika</strong>:S = a R ) + ... + a(R ),(6.73)(1 n21⎛R− j ⎞čia a(R ) = Φ⎜ ,1⎟jΦ (x)- standartinio normalaus sk<strong>ir</strong>stinio pasisk<strong>ir</strong>stymo funkcija.⎝ n + ⎠Asimptotinė kriterijaus <strong>statistika</strong>:S − E0( S)z = ⇒ N(0,1), jei H0teisinga, (6.74)var ( S)n→∞0nn21 1 22 1čia ( ) ( ), var ( )( ( ) ) , ∑nnn nE S = ∑ a R0= ∑ − = ( ),0 jWa Rja a a Rjn2- stebėjimųskaičius mažesnėje imtyje.n j=1n −1n j=1n j=1Van der Vardeno kriterijaus statistikos reikšmę <strong>ir</strong> atitinkamas P-reikšmes galimaapskaičiuoti <strong>su</strong> SAS modulio STAT procedūra NPAR1WAY. Sintaksė:PROC NPAR1WAY VW DATA=lentelė;CLASS kint1;VAR kint2;FREQ kint3;RUN;čia kint1 – klasifikuojantis kintamasis, kuris nurodo, kuriai imčiai priklauso stebėjimas; kint2– analizuojamas kintamasis; sakinį FREQ reikia nurodyti tik tada, kai turime <strong>su</strong><strong>su</strong>muotusduomenis.6.14 p a v y z d y s. Imkime duomenis iš 6.13 pavyzdžio. Patikrinkime homogeniškumohipotezę.PROC NPAR1WAY VW DATA=Duomenys;CLASS g;VAR X;RUN;Output lange gauname:The NPAR1WAY ProcedureVan der Waerden Two-Sample TestStatistic 14.0230Z 3.8133One-Sided Pr > Z |Z| 0.0001174
Lentelėje „Van der Waerden Two-Sample Test“ spausdinama statistikos (6.73)reikšmė S=14,0230; asimptotinės statistikos reikšmė z=3,8133; vienpusė P-reikšmė („One-Sided Pr>Z“), kuri šiame pavyzdyje yra mažesnė už 0,0001; dvipusė P-reikšmė („Two-SidedPr>|Z|“) 0,0001. Gauname, kad hipotezė atmetama, nes gauta P-reikšmė yra mažesnė užpas<strong>ir</strong>inktą reikšmingumo lygmenį, t.y. sk<strong>ir</strong>stiniai nevienodi.3.5. Kruskalo-Voliso kriterijusKruskalo-Voliso (Kruskall-Wallis) kriterijus naudojamas, kai reikia palyginti trijų ardaugiau populiacijų sk<strong>ir</strong>stinius, pavyzdžiui, ar trijų sk<strong>ir</strong>tingų veislių rugiai vienodai derlingi.Tegu X, Y, Z, ... yra nepriklausomi tolydūs atsitiktiniai dydžiai. Tegu stebint šiuosatsitiktinius dydžius gautos tokios imtys: ( x1,..,xn), ( y ,...,1 1yn); ( z ,...,2 1zn), ... . Reikia3patikrinti hipotezę:H0: kintamųjų sk<strong>ir</strong>stiniai vienodi<strong>su</strong> alternatyva H1: sk<strong>ir</strong>stiniai sk<strong>ir</strong>iasi. Kruskalo-Voliso kriterijus naudojamas patikrinti homogeniškumohipotezę <strong>su</strong> poslinkio alternatyva, kai turime daugiau negu dvi nepriklausomasimtis.Sudarome jungtinę variacinę eilutę. Duomenis <strong>su</strong>ranguojame. Pažymėkime: Rj-rangai, r – klasių (atsitiktinių dydžių skaičius).Kruskalo-Voliso kriterijaus <strong>statistika</strong>:čia T∑i= Rjr12C = (0( )) / ,2 ∑ Ti− E Tini(6.75)si=1, <strong>su</strong>muojama pagal vi<strong>su</strong>s narius iš i-tosios klasės,n1E0 ( Ti ) = nia; a = ∑nR jj=1175n2 1; s = ∑(R j− a)n −1j=12. (6.76)Statistika, kai hipotezė H0teisinga, asimptotiškai ( n → ∞ ) pasisk<strong>ir</strong>sčiusi pagal chikvadratosk<strong>ir</strong>stinį <strong>su</strong> r-l laisvės laipsniu, t.y.2C ⇒ χ r −1, jei0n→∞H teisinga.Kruskalo-Voliso kriterijaus statistikos reikšmę <strong>ir</strong> atitinkamas P-reikšmes galimaapskaičiuoti <strong>su</strong> SAS modulio STAT procedūra NPAR1WAY. Sintaksė tokia pati kaip <strong>ir</strong>skaičiuojant Mano-Vitnio-Vilkoksono statistikos reikšmę <strong>ir</strong> P-reikšmes (žr.3.3 skyrelį):PROC NPAR1WAY WILCOXON DATA=lentelė;CLASS kint1;VAR kint2;RUN;čia kint1 – klasifikuojantis kintamasis, kuris nurodo, kuriai imčiai priklauso stebėjimas; kint2– analizuojamas kintamasis.6.15 p a v y z d y s. Modeliuokime tris nepriklausomas imtis, patikrinkime homogeniškumohipotezę. Editor lange parašykime:DATA Duomenys;DROP i;g=’a’;DO i=1 TO 30;X=normal(10)+1;OUTPUT;END;g=’b’;DO i=1 TO 35;
X=normal(10);OUTPUT;END;g=’c’;DO i=1 TO 30;X=normal(10)+1;OUTPUT;END;RUN;PROC NPAR1WAY WILCOXON DATA=Duomenys;CLASS g;VAR X;RUN;Output lange gauname:Wilcoxon Scores (Rank Sums) for Variable XClassified by Variable gSum of Expected Std Dev Meang N Scores Under H0 Under H0 Scorea 30 1653.0 1440.0 124.899960 55.100000b 35 1051.0 1680.0 129.614814 30.028571c 30 1856.0 1440.0 124.899960 61.866667Kruskal-Wallis TestChi-Square 24.4538DF 2Pr > Chi-Square Chi-Square“), kuri šiame pavyzdyje yra mažesnė už 0,0001.Gauname, kad hipotezė atmetama, nes gauta P-reikšmė yra mažesnė už pas<strong>ir</strong>inktąreikšmingumo lygmenį, t.y. sk<strong>ir</strong>stiniai nevienodi.3.6 Homogeniškumo hipotezės <strong>su</strong> mastelio alternatyva tikrinimasSkyreliuose 3.3-3.5 nagrinėjome kriterijus, kurie naudojami patikrinti homogeniškumohipotezę H0: sk<strong>ir</strong>stiniai vienodi <strong>su</strong> poslinkio alternatyva. Šiame skyrelyje pateiksime SASrealizuotus kriterijus, kurie sk<strong>ir</strong>ti patikrinti hipotezę H0<strong>su</strong> mastelio alternatyva. Galimataikyti dviems arba daugiau imčių (sk<strong>ir</strong>iasi kriterijaus statistikos skaičiavimas). Duomenysišdėstomi į bendrą variacinę eilutę <strong>ir</strong> <strong>su</strong>ranguojami. Sk<strong>ir</strong>tingai ranguojant gaunami įva<strong>ir</strong>ūskriterijai. Skaičiuojama <strong>su</strong> SAS modulio STAT procedūra NPAR1WAY.I) Dviejų imčių atvejis. Tarkime, kad turime dvi nepriklausomas imtis: x1,...,xnyra1tolydžiojo a.d. X imtis, y1,...,ynyra tolydžiojo a.d. Y imtis. Tarkime, kad n21≤ n2. TeguR , L , R yra mažesnės imties stebėjimų rangai. Kriterijaus <strong>statistika</strong> yra pavidalo:1 n1čia a ( Rj) yra tam tikra rangų funkcija. Pažymėkime n = n 1+ n2.n1S = ∑ a(R ),(6.77)j=1176j
1) Siegel-Tukey kriterijų gauname imdami:a ( 1) = 1, a ( n)= 2,a ( n −1)= 3,a ( 2) = 4,a ( 3) = 5, a ( n − 2) = 6,a ( n − 3) = 7,a ( 4) = 8,... (6.78)t.y., <strong>su</strong>darome bendrą variacinę eilutę <strong>ir</strong> prisk<strong>ir</strong>iame rangus pagal (6.78) taisyklę, pavyzdžiui,X X Y Y Y ... Y Y X Y1 3 5 7 9 ... 8 6 4 2Pagal nutylėjimą, kai taikome dviejų imčių Siegel-Tukey, tai apskaičiuojantasimptotinio kriterijaus statistikos reikšmę yra naudojama tolydumo pataisa 0,5 (žr.3.3skyrelį); jeigu nenorime, kad būtų taikoma tolydumo pataisa, tai PROC sakinyje nurodomeCORRECT=NO.2) Ansari-Bradley kriterijų gauname imdami:a ( 1) = 1, a ( n)= 1,a ( 2) = 2,a ( n −1)= 2,... (6.79)3) Klotz kriterijų gauname imdami:2⎛1⎛R ⎞− j ⎞a(R ) ⎜ ⎟⎜ ,1⎟j= Φ(6.80)⎝ ⎝ n + ⎠⎠čia Φ (x)- standartinio normalaus sk<strong>ir</strong>stinio pasisk<strong>ir</strong>stymo funkcija.4) Mood kriterijų gauname imdami:Asimptotinė kriterijaus <strong>statistika</strong>:čia S apibrėžta (6.77),2⎛ n + 1⎞a(Rj) = ⎜ Rj− ⎟ .(6.81)⎝ 2 ⎠S − E0( S)z = ⇒ N(0,1), jei H0teisinga, (6.82)var ( S)n→∞0nn11 1 22 1( ) ( ), var0( )( ( ) ) , ∑nnn nE S = ∑ a R= ∑ − = ( ),0 jSa Rja a a Rj(6.83)nn −1nnj=1n1- stebėjimų skaičius mažesnėje imtyje.Procedūra NPAR1WAY spausdina asimptotines vienpusę <strong>ir</strong> dvipusę P-reikšmes, otaip pat tikslias P-reikšmes, kai nurodome sakinį EXACT.II) Daugiau negu dviejų imčių atvejis. Tegu X, Y, Z, ... yra nepriklausomi tolydūsatsitiktiniai dydžiai. Tegu stebint šiuos atsitiktinius dydžius gautos tokios imtys: ( x1,..,xn),1( y1,...,yn); ( z ,...,2 1zn), ... . Sudarome jungtinę variacinę eilutę. Duomenis <strong>su</strong>ranguojame.3Pažymėkime: Rj- rangai, r – klasių (atsitiktinių dydžių skaičius).Kriterijaus <strong>statistika</strong>:n∑j=1r12C = (0( )) / ,2 ∑ Ti− E Tini(6.84)si=1čia T = c a(R ),t.y. <strong>su</strong>muojama pagal stebėjimus iš i-tosios klasės, a R ) yra tam tikraij=1ijjrangų funkcija (imdami atitinkamai (6.78)-(6.81) gauname Siegel-Tukey, Ansari-Bradley,j=1(j177
Klotz, Mood kriterijus), Rjyra j-tojo stebėjimo rangas, cij- indikatorius, parodantis ar j-tasisstebėjimas priklauso i-tajai imčiai,nn12 12E0 ( Ti ) = nia; a = ∑ a(R j) ; s = ∑(a(R j) − a). (6.85)nn −1j=1Statistika, kai hipotezė H0teisinga, asimptotiškai ( n → ∞ ) pasisk<strong>ir</strong>sčiusi pagal chikvadratosk<strong>ir</strong>stinį <strong>su</strong> r-l laisvės laipsniu, t.y.2C ⇒ χ r −1, jei0n→∞H teisinga.Vi<strong>sas</strong> išvardintas <strong>statistika</strong>s galima apskaičiuoti <strong>su</strong> SAS modulio STAT procedūraNPAR1WAY. Sintaksė:PROC NPAR1WAY DATA=lentelė ;CLASS kint1;VAR kint2;RUN;čia kint1 – klasifikuojantis kintamasis, kuris nurodo, kuriai imčiai priklauso stebėjimas; kint2– analizuojamas kintamasis; ST – Siegel-Tukey kriterijus, AB – Ansari-Bradley kriterijus;KLOTZ – Klotz kriterijus, MOOD – Mood kriterijus. Galima nurodyti EXACT sakinį, tadaapskaičiuos tikslias tikimybes.6.16 p a v y z d y s. Modeliuokime tris nepriklausomas imtis. Editor lange parašykime:DATA Duomenys;DROP i;g=’a’;DO i=1 TO 30;X=2*normal(10)+1;OUTPUT;END;g=’b’;DO i=1 TO 35;X=2.5*normal(10);OUTPUT;END;g=’c’;DO i=1 TO 30;X=normal(10)+1;OUTPUT;END;RUN;Patikrinkime hipotezę: sk<strong>ir</strong>stiniai vienodi. Editor lange parašome:PROC NPAR1WAY DATA=Duomenys ST AB KLOTZ MOOD;CLASS g;VAR X;RUN;Output lange gauname:The NPAR1WAY Procedurej=1Siegel-Tukey Scores for Variable XClassified by Variable gSum of Expected Std Dev Meang N Scores Under H0 Under H0 Scorea 30 1719.0 1440.0 124.899960 57.300000b 35 1138.0 1680.0 129.614814 32.514286c 30 1703.0 1440.0 124.899960 56.766667178
Siegelel-Tukey One-Way AnalysisChi-Square 17.4916DF 2Pr > Chi-Square 0.0002Ansari-Bradley Scores for Variable XClassified by Variable gSum of Expected Std Dev Meang N Scores Under H0 Under H0 Scorea 30 868.0 727.578947 62.460359 28.933333b 35 577.0 848.842105 64.818177 16.485714c 30 859.0 727.578947 62.460359 28.633333Ansari-Bradley One-Way AnalysisChi-Square 17.5960DF 2Pr > Chi-Square 0.0002Klotz Scores for Variable XClassified by Variable gSum of Expected Std Dev Meang N Scores Under H0 Under H0 Scorea 30 18.281261 27.590043 5.347165 0.609375b 35 54.959048 32.188383 5.549015 1.570259c 30 14.128159 27.590043 5.347165 0.470939Klotz One-Way AnalysisChi-Square 17.0455DF 2Pr > Chi-Square 0.0002Mood Scores for Variable XClassified by Variable gSum of Expected Std Dev Meang N Scores Under H0 Under H0 Scorea 30 16368.0 22560.0 3062.97894 545.60000b 35 39737.0 26320.0 3178.60347 1135.34286c 30 15335.0 22560.0 3062.97894 511.16667Mood One-Way AnalysisChi-Square 17.8561DF 2Pr > Chi-Square 0.0001Kiekvienam iš nurodytų PROC sakinyje kriterijų spausdinamos dvi lentelės, kuriosyra analogiškos Kruskall-Wallis kriterijui spausdinamoms lentelėms, kai imčių daugiau negudvi <strong>ir</strong> Mann-Whitney-Wilcoxon kriterijui spausdinamoms lentelėms, kai yra dvi imtys.Palyginę gautas P-reikšmes <strong>su</strong> pas<strong>ir</strong>inktu reikšmingumo lygmeniu, gauname, kad hipotezėapie sk<strong>ir</strong>stinių vienodumą atmetama.179
4. Kiti neparametriniai kriterijaiŠiame skyrelyje pateiksime du kriterijus, kurie sk<strong>ir</strong>ti patikrinti hipotezę apie medianą,kai turime vieną imtį, arba apie medianų lygybę, kai turime dvi priklausomas imtis, o taip patgrubių klaidų išskyrimo kriterijų.4.1. Ženklų kriterijusŽenklų kriterijus (Sign Test) naudojamas, kai turime vieną imtį <strong>ir</strong> norime patikrintihipotezę apie medianos reikšmę, o taip pat homogeniškumo hipotezei tikrinti, kai turime dvipriklausomas imtis. Šis kriterijus yra Stjudento kriterijaus vienai imčiai <strong>ir</strong> Stjudento kriterijauspriklausomoms imtims neparametrinis analogas.I) Vienos imties atvejis. Tegu imtis X1, X2,..., Xnyra gauta stebint tolydų atsitiktinįdydį X. Reikia patikrinti hipotezę:H0: X mediana lygi u0(6.86)<strong>su</strong> alternatyva H1: X mediana nelygi u0.Kriterijaus <strong>statistika</strong>:−M = ( n+ − n ) / 2 , (6.87)+−čia n yra skaičius reikšmių, didesnių už u 0 , n yra skaičius reikšmių, mažesnių už u 0 .Reikšmės, lygios u 0 , neįtraukiamos į statistikos skaičiavimą. Dvipusė P-reikšmėapskaičiuojama taip:+ −min( n , n )n −1⎛n⎞ttP{|M | > | M |} = 0,5 ∑ ⎜ ⎟,(6.88)j=0 ⎝ j ⎠čia M – apskaičiuota pagal imties duomenis statistikos (6.87) reikšmė, M - tikėtina statistikosreikšmė, kai hipotezė teisinga,−n + t= n + n ,(6.89)t.y. imties reikšmių, nelygių u0, skaičius.SAS yra realizuotas Vilkoksono ranginis ženklų kriterijus (Wilcoxon signed rank test),kurio pask<strong>ir</strong>tis tokia pati kaip <strong>ir</strong> ženklų kriterijaus. Jis naudojamas, kai sk<strong>ir</strong>stinys simetriškas,grindžiamas duomenų rangais. Tikrinama hipotezė apie medianos reikšmę.Vilkoksono ranginio ženklų kriterijaus <strong>statistika</strong>:čia+i|0S = ∑ rnt( n + 1)− ,4+ tii:X > 0i180(6.90)r yra X i− u | rangas (ranguojama nuo mažiausio iki didžiausio; prieš ranguojantstebėjimai, kuriems Xilygus u0išbraukiami), nt- apibrėžtas (6.89). Susietoms reikšmėsprisk<strong>ir</strong>iami vidutiniai rangai.Kai n ≤ 20, tai apskaičiuojama tiksli P-reikšmė. Kai n>20, tai naudojamaaproksimacija. Statistikoss n −1T = (6.91)2nV − ssk<strong>ir</strong>stinys, kai hipotezė H0: X mediana lygi nuliui (<strong>su</strong> prielaida, kad duomenų sk<strong>ir</strong>stinys simetriškas)aproksimuojamas Stjudento sk<strong>ir</strong>stiniu <strong>su</strong> n-1 laivės laipsniu. Čia S – apibrėžta(6.90),11V = n(n + 1)(2n+ 1) − ∑ti( ti+ 1)( ti−1). (6.92)2448
kur <strong>su</strong>muojama pagal <strong>su</strong>sietų reikšmių grupes (reikšmės imamos moduliu); t iyra reikšmiųskaičius i-tojoje <strong>su</strong>sietų reikšmių grupėje. Hipotezė atmetama <strong>su</strong> reikšmingumo lygmeniu α ,kai: | T | > tα / 2( n −1), čia t ( α / 2n −1)yra Stjudento sk<strong>ir</strong>tinio <strong>su</strong> n-1 laisvės laipsniu ( α / 2 )-tojikritinė reikšmė.SAS modulio BASE procedūroje UNIVARIATE yra realizuotas <strong>ir</strong> ženklų kriterijus <strong>ir</strong>Vilkoksono ranginis ženklų kriterijus. Šie kriterijai spausdinami automatiškai. Pagalnutylėjimą tikrinama hipotezė <strong>su</strong> u = 00 . Galime nurodyti kitą reikšmę <strong>su</strong> MU0 = u0.Sintaksė:PROC UNIVARIATE DATA=lentelė ;VAR kintamasis;RUN;čia kintamasis – analizuojamas kintamasis, reikšmė – hipotetinė medianos reikšmė.6.17 p a v y z d y s. Buvo išmatuotas 24 atsitiktinai atrinktų vaikų ūgis.Gauti tokierezultatai (cm):124 122 123 134 124 123 121 124 128 123 126 125131 119 122 125 130 122 125 121 132 128 131 127Sukurkime duomenų lentelę <strong>su</strong> tokiu Data žingsniu:DATA vaikai;INFILE ’c:\vaikai.txt’;INPUT ugis @@;Ar galime teigti, kad vidutinis vaikų ūgis yra 128 cm? Tarkime, kad reikšmingumolygmuo α = 0.05.Naudosime procedūrą UNIVARIATE. Editor lange įveskime:PROC UNIVARIATE DATA=vaikai MU0=128;VAR ugis;RUN;Output lange gauname:The UNIVARIATE ProcedureVariable: ugisMomentsN 24 Sum Weights 24Mean 125.416667 Sum Observations 3010Std Deviation 3.93332105 Variance 15.4710145Skewness 0.61846377 Kurtosis -0.4234167Uncorrected SS 377860 Corrected SS 355.833333Coeff Variation 3.13620283 Std Error Mean 0.8028858Tests for Location: Mu0=128Test -Statistic- -----p Value------Student's t t -3.21756 Pr > |t| 0.0038Sign M -6 Pr >= |M| 0.0169Signed Rank S -84 Pr >= |S| 0.0035Lentelėje „Tests for Location: Mu0=128“, spausdinamos trijų kriterijų statistikųreikšmės <strong>ir</strong> dvipusės P-reikšmės, sk<strong>ir</strong>tos patikrinti hipotezę apie vidurkio arba medianosreikšmę. Eilutėje „Student‘s t“ spausdinama Stjudento kriterijaus (žr.V sk., 2.2 skyrelį)statistikos reikšmė -3,21756 <strong>ir</strong> dvipusė P-reikšmė 0,0038, sk<strong>ir</strong>ta patikrinti hipotezę, kadvidurkis lygus 128 <strong>su</strong> alternatyva, kad nelygus. Kitose dviejose eilutėse spausdinamos dviejųneparametrinių kriterijų statistikų reikšmės <strong>ir</strong> dvipusės P-reikšmės, sk<strong>ir</strong>tos patikrinti hipotezę,kad mediana lygi 128 <strong>su</strong> alternatyva, kad nelygi. Eilutėje „Sign“ spausdinama ženklų181
kriterijaus statistikos (6.87) reikšmė -6 <strong>ir</strong> dvipusė P-reikšmė 0,0169, gauname, kad hipotezėatmetama <strong>su</strong> reikšmingumo lygmeniu 0,05. Eilutėje „Signed Rank“ spausdinama Vilkoksonoranginio ženklų kriterijaus statistikos reikšmė -84 <strong>ir</strong> dvipusė P-reikšmė 0,0035, gauname, kadhipotezė atmetama <strong>su</strong> reikšmingumo lygmeniu 0,05. Taigi, <strong>su</strong> reikšmingumo lygmeniu 0,05negalime teigti, kad vidutinis vaikų ūgis 128.II) Dviejų priklausomų imčių atvejis. Tarkime, kad ( Xi, Yi), i = 1,...,n yra dydžio nimtis, gauta stebint tolydžiųjų kintamųjų porą (X,Y). Reikia patikrinti hipotezę:H0: X <strong>ir</strong> Y medianos lygios (6.93)<strong>su</strong> alternatyva H1: X <strong>ir</strong> Y medianos nelygios. Sukuriame naują kintamąjįi = 1,...,n<strong>ir</strong> tikriname hipotezę:Zi= X − Y ,iiH0:Z = X − Y mediana lygi nuliui.Ši hipotezė ekvivalenti pradinei hipotezei (6.93). Taigi, gavome uždavinį, kurį nagrinėjome I)punkte.6.18 p a v y z d y s. Lentelėje pateikta 10 pacientų, vartojusių migdomuosius vaistus A<strong>ir</strong> B, papildomo miego trukmė X <strong>ir</strong> Y (valandomis) (žr. [5]):i X Y i X Y1 1.9 0.7 6 4.4 3.42 0.8 -1.6 7 5.5 2.73 1.1 -0.2 8 1.6 0.84 0.1 -1.2 9 4.6 0.05 -0.1 -0.1 10 3.4 2.0Reikia patikrinti hipotezę, kad vaistų poveikis vienodas.Sukuriame duomenų lentelę. Apskaičiuojame naujo kintamojo reikšmes (kintamųjų X<strong>ir</strong> Y reikšmių sk<strong>ir</strong>tumai). Hipotezę tikrinsime <strong>su</strong> ženklų <strong>ir</strong> Vilkoksono ranginiu ženklųkriterijumi, naudosime procedūrą UNIVARIATE. Editor lange parašome:DATA Duomenys;INPUT Nr X Y @@;Z=X-Y;DATALINES;1 1.9 0.7 6 4.4 3.42 0.8 -1.6 7 5.5 2.73 1.1 -0.2 8 1.6 0.84 0.1 -1.2 9 4.6 0.05 -0.1 -0.1 10 3.4 2.0;PROC UNIVARIATE DATA=Duomenys;VAR Z;RUN;Output lange gauname (dalis spausdinamų rezultatų ):The UNIVARIATE ProcedureVariable: ZMomentsN 10 Sum Weights 10Mean 1.68 Sum Observations 16.8Std Deviation 1.2890996 Variance 1.66177778Skewness 1.34178443 Kurtosis 2.25393443Uncorrected SS 43.18 Corrected SS 14.956Coeff Variation 76.732119 Std Error Mean 0.40764909Tests for Location: Mu0=0Test -Statistic- -----p Value------182
Student's t t 4.121192 Pr > |t| 0.0026Sign M 4.5 Pr >= |M| 0.0039Signed Rank S 22.5 Pr >= |S| 0.0039Gautas P-reikšmes lyginame <strong>su</strong> pas<strong>ir</strong>inktu reikšmingumo lygmeniu 0,05, gauname,kad hipotezė atmetama, taigi, negalime teigti, kad vaistų poveikis vienodas.P a s t a b a. Kai duomenų normališkumo sąlyga patenkinta, tai naudojamas Stjudentokriterijus. Kai procedūroje UNIVARIATE nurodome NORMAL <strong>ir</strong> stebėjimų ne daugiau kaip2000, tai spausdinama Shap<strong>ir</strong>o-Wilk statistikos reikšmė <strong>ir</strong> P-reikšmė, sk<strong>ir</strong>ta patikrinti hipotezęapie duomenų normališkumą.6.19 p a v y z d y s. Imkime duomenis iš 6.17 pavyzdžio. Patikrinkime duomenųnrmališ-kumą. Editor lange įveskime:PROC UNIVARIATE DATA=vaikai MORMAL;VAR ugis;RUN;Output lange gauname:Tests for NormalityTest --Statistic--- -----p Value------Shap<strong>ir</strong>o-Wilk W 0.94461 Pr < W 0.2065Kolmogorov-Sm<strong>ir</strong>nov D 0.167182 Pr > D 0.0820Cramer-von Mises W-Sq 0.099814 Pr > W-Sq 0.1081Anderson-Darling A-Sq 0.5671 Pr > A-Sq 0.1314Gavome, kad Shap<strong>ir</strong>o-Wilk statistikos reikšmė lygi 0,9461, P-reikšmė 0,2065, todėlhipotezė apie duomenų normališkumą neatmetama <strong>su</strong> reikšmingumo lygmeniu 0,05. Taip patspausdinamos kriterijų, pagrįstų teorinės <strong>ir</strong> emp<strong>ir</strong>inės pasisk<strong>ir</strong>stymo funkcijų sk<strong>ir</strong>tumu,statistikų reikšmės <strong>ir</strong> P-reikšmės (žr.2.2 skyrelį).4.2. Grubių klaidų išskyrimo kriterijusGrubios klaidos stebėjimo rezultatuose ats<strong>ir</strong>anda pakitus bandymo sąlygoms, neteisingaiperskaičius matavimo aparatūros parodymus, aps<strong>ir</strong>ikus užrašant matavimo rezultatą <strong>ir</strong>pan. Matavimo rezultatai <strong>su</strong> grubiomis klaidomis kartais lengvai pastebimi, nes žymiaisk<strong>ir</strong>iasi nuo kitų. Abejotinais atvejais atliekama statistinė analizė.Tarkime, kad turime imtį X1, X2,..., Xn. Reikia patikrinti hipotezę, kad X1, X2,..., Xnyra atsitiktinio dydžio X, kurio sk<strong>ir</strong>stinys priklauso normaliųjų sk<strong>ir</strong>stinių šeimai2P = { N(µ , σ ), − ∞ < µ < ∞,0 < σ < ∞}, paprasčiausia atsitiktinė imtis.Šiame skyrelyje pateiksime Bolševo-Ubaidulajevos <strong>su</strong>konstruotą kriterijų (žr. [5]).Tarkime, kad klaidų skaičius ne didesnis už fik<strong>su</strong>otą sveikąjį skaičių s. Kriterijus grindžiamastokiu faktu: variacinės eilutės, gautos stebint normalųjį atsitiktinį dydį, pradžios <strong>ir</strong> pabaigostaškai, atitinkamai transformuoti, kai imties tūris didelis, gali būti laikomi Puasono procesošuolių taškais.Atlikime transformaciją:⎛ ⎛ Xi− µ ⎞1 ⎟ ⎞Zi= n⎜ − Φ⎜⎟ kai µ , σ žinomi;⎝ ⎝ σ ⎠⎠,⎛ ⎛⎞⎜n X ⎞1 ⎜i− XZ⎟⎟i= n − Φ,1kai µ nežinomas, σ žinomas; (6.94)⎝ ⎝ n − σ ⎠⎠Zi⎛ ⎛ Xi− µ ⎞11 ⎟ ⎞n⎜ − Tn⎜ ⎟ kai µ žinomas, σ nežinomas;⎝ ⎝ s ⎠⎠,=−183
čia⎛ ⎛ X12 ⎟ ⎞⎜i− X ⎞Z = −⎜⎟in Tn−kai µ , σ nežinomi,⎝ ⎝ s ⎠⎠,1X =nn∑ X ii=1184,n2 12s = ∑(X i− µ ) , kai µ žinomas; (6.95)ni=1n2 12s = ∑(X i− X ) , kai µ nežinomas,ni=1Φ (x) - standartinio normalaus sk<strong>ir</strong>stinio pasisk<strong>ir</strong>stymo funkcija, T ν(x)yra Tompsonopasisk<strong>ir</strong>stymo funkcija:1 Γ((v + 1) / 2)Tv( x)=( + 1) Γ(v / 2)∫π vx− v+12⎛ y ⎞⎜1−1⎟⎝ v + ⎠( v−2) / 2,| x |
PROC MEANS NOPRINT DATA=Duomenys VARDEF=N;VAR X;OUTPUT OUT=pagalbinis MEAN(X)=vidurkis STD(X)=stand_n;RUN;DATA Rezultatas;IF _N_=1 THEN SET pagalbinis;SET Duomenys;RUN;DATA Rezultatas;SET Rezultatas;arg=abs((X-vidurkis)/stand_n);arg2=arg*sqrt(100/(100+1-arg*arg));Z=102*(1-cdf(’T’,arg2,100));RUN;PROC SORT DATA=Rezultatas OUT=Klaidos;BY Z;RUN;DATA Klaidos;SET Klaidos;j=_N_;stat=z/j;IF stat
SANTRUMPOS IR ŽYMENYSŽymenys, naudojami programoseSAS komandos parašytos didžiosiomis raidėmis.Tekstas, kurį reikia įvesti Editor lange, parašytas „Courier New“ šriftu.Komandos, nurodytos tarp simbolių „“, yra nebūtinos (pas<strong>ir</strong>inktinės).Jeigu kelios komandos yra atsk<strong>ir</strong>tos simboliais „|“, tai reikia nurodyti vieną iš jų.Žymenys <strong>ir</strong> santrumpos, naudojamos tekstea.d. – atsitiktinis dydis;a.v. – atsitiktinis vektorius;NMD – nepaslinktas minimalios dispersijos (įvertis);TG – tolygiai galingiausias (kriterijus);TGN – tolygiai galingiausias nepaslinktas (kriterijus);EX – a.d. X vidurkis;VX – a.d. X dispersija;cov(X,Y) – a.d. X <strong>ir</strong> Y kovariacija;B(n,q) – binominis sk<strong>ir</strong>stinys <strong>su</strong> parametrais n <strong>ir</strong> q;P (λ) - Puasono sk<strong>ir</strong>stinys <strong>su</strong> parametru λ ;N(0,1) – standartinis normalusis sk<strong>ir</strong>stinys;22N( µ , σ ) - normalusis sk<strong>ir</strong>stinys <strong>su</strong> parametrais µ <strong>ir</strong> σ ;G ( λ,η)- gama sk<strong>ir</strong>stinys <strong>su</strong> parametrais λ <strong>ir</strong> η ;Be(γ , η)- beta sk<strong>ir</strong>stinys <strong>su</strong> parametrais γ <strong>ir</strong> η ;S(n ) – Stjudento sk<strong>ir</strong>stinys <strong>su</strong> n laisvės laipsnių;F(m , n)– Fišerio sk<strong>ir</strong>stinys <strong>su</strong> m <strong>ir</strong> n laisvės laipsnių;22X ~ N( µ , σ ) - a.d. X sk<strong>ir</strong>stinys yra normalusis <strong>su</strong> parametrais µ <strong>ir</strong> σ (analogiškai kitųsk<strong>ir</strong>stinių atveju).186
LITERATŪRALiteratūra lietuvių kalba1. Bikelienė V. Taikomosios matematinės statistikos elementai. Vilnius: VU l-ka, 1993,101 p.2. Bikelienė V. Neparametrinė <strong>statistika</strong>: Dažnių lentelėmis pagrįsti statistiniai kriterijai<strong>ir</strong> sąryšio matai. Vilnius: VU l-ka, 1986.3. Čekanavičius V., Murauskas G. Statistika <strong>ir</strong> jos taikymai.I. Vilnius: TEV, 2000, 240 p.4. Čekanavičius V., Murauskas G. Statistika <strong>ir</strong> jos taikymai. II. Vilnius: TEV, 2002,272p.5. Kruopis J. Matematinė <strong>statistika</strong>. Vilnius: Mokslas, 1993, 416 p.Rusų kalba6. Афифи А., Эйзен С. Статистический анализ. Подход с использованием ЭВМ.Москва: Мир, 1982, 488 с.Anglų kalba7. Delwiche L.D., Slaughter S.J. The Little SAS ® Book: A primer. SAS Press, 1998,300p.8. Hatcher L., Stepanski E.J. A Step-by-Step Approach to Using SAS ® System forUnivariate and Multivariate Statistics. Cary, Nc: SAS Institute Inc., 1994, 552p.9. SAS ® Help and Documentation. Kompaktas (platinamas kartu <strong>su</strong> SAS ® ).10. Interneto tinklapis http://www.<strong>sas</strong>.com.187