57
Kokybinių duomenų analizė Užduotys prie kompiuterio Vytautas Kazakevičius 2018 m. rugsėjo 19 d. Turinys 1 Nepriklausomumo tikrinimas ir atitikimo analizė 1 1.1 Sąlygos ............................... 1 1.2 Sprendimai ............................ 5 2 Priklausomybės vertinimas 23 2.1 Sąlygos ............................... 23 2.2 Sprendimai ............................ 25 3 Logistinė regresija 41 3.1 Sąlygos ............................... 41 3.2 Sprendimai ............................ 43 1 Nepriklausomumo tikrinimas ir atitikimo analizė 1.1 Sąlygos 1. (Duomenų rinkinys korupcija2016) Q35 anketos klausime prašoma įver- tinti, kiek įvairūs asmenys kalti dėl korupcijos Lietuvoje masto. Pasiaiškinki- te, kaip valstybės tarnautojų vertinimas priklauso nuo respondento nuomonės apie tai, kam tenka didesnė atsakomybė kyšio davimo atveju (Q36 klausimas). • Žmonių, neturinčių nuomonės apie vieną ar kitą klausimą, į analizę neįtraukite. Q35 klausimą atitinkančio faktoriaus reikšmės turi būti 1, 2, 3, 4 ir 5. 1

Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

  • Upload
    ngodan

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

Kokybinių duomenų analizėUžduotys prie kompiuterio

Vytautas Kazakevičius

2018 m. rugsėjo 19 d.

Turinys1 Nepriklausomumo tikrinimas ir atitikimo analizė 1

1.1 Sąlygos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Sprendimai . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Priklausomybės vertinimas 232.1 Sąlygos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.2 Sprendimai . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3 Logistinė regresija 413.1 Sąlygos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.2 Sprendimai . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

1 Nepriklausomumo tikrinimas ir atitikimoanalizė

1.1 Sąlygos1. (Duomenų rinkinys korupcija2016) Q35 anketos klausime prašoma įver-tinti, kiek įvairūs asmenys kalti dėl korupcijos Lietuvoje masto. Pasiaiškinki-te, kaip valstybės tarnautojų vertinimas priklauso nuo respondento nuomonėsapie tai, kam tenka didesnė atsakomybė kyšio davimo atveju (Q36 klausimas).

• Žmonių, neturinčių nuomonės apie vieną ar kitą klausimą, į analizęneįtraukite.

• Q35 klausimą atitinkančio faktoriaus reikšmės turi būti 1, 2, 3, 4 ir 5.

1

Page 2: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

• Nupieškite diagramą, atitinkančią gautą dažnių lentelę.

• Pritaikykite Pirsono χ2 kriterijų. Jei kompiuteris perspės dėl nepa-grįsto kriterijaus taikymo, pakartokite procedūrą, pakoregavę dažniųlentelę.

• Interpretuokite rezultatus.

• Atspausdinkite Pirsono liekanų matricą ir bandykite spėti, kokios pag-rindinės priklausomybės priežastys.

• Atlikite atitikimo analizę ir interpretuokite rezultatus.

2. (Duomenų rinkinys korupcija2016) Q42 anketos klausime klausiama,kur reiktų nukreipti didžiausias pajėgas, kovojant su korupcija. Pasiaiškin-kite, ar respondento nuomonė priklauso nuo jo išsilavinimo (S4 klausimas).

• Žmones be išsilavinimo prijunkite prie žmonių su pradiniu išsilavinimu.

• Nupieškite abiejų kintamųjų reikšmių pasiskirstymo skritulines diagra-mas.

• Žmones, neatsakiusius į Q42 klausimą, laikykite atskira grupe.

• Sudarykite abiejų kintamųjų dažnių lentelę; lentelės eilutės turi atitiktiįvairius išsilavinimo lygius.

• Transformuokite lentelę, kad matytųsi kiek procentų įvairių išsilavini-mų žmonių renkasi vienokį ar kitokį atsakymą.

• Pakomentuokite rezultatus; bandykite spėti, ar nepriklausomumo hi-potezė bus atmesta ir jei taip tai kodėl.

• Pritaikykite Pirsono χ2 kriterijų ir patikrinkite savo spėjimą.

• Atlikite atitikimo analizę ir interpretuokite rezultatus.

3. Tegu (X, Y ) yra atsitiktinis vektorius, įgyjantis reikšmes (j, k) su tiki-mybėmis pjk; čia p = (pjk) matrica yra

p =(a ba b+ c

)

pavidalo.

2

Page 3: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

• Su kokiomis a, b ir c reikšmėmis X ir Y dydžiai nepriklausomi?

• Kokia yra Pirsono χ2 nepriklausomumo kriterijaus pirmos rūšies klai-dos tikimybė, kai n nedidelis; pavyzdžiui, n = 5, 6, 7, 8, 9, 10? Ar jipriklauso nuo a ir b?

• Kokia yra Pirsono χ2 nepriklausomumo kriterijaus galia, kai n = 50?Imkite a = b ir paskaičiuokite galią su įvairiomis c reikšmėmis. Rezul-tatus pavaizduokite grafiškai.

4. Tegu (X, Y ) yra atsitiktinis vektorius, įgyjantis reikšmes (j, k) su tikimy-bėmis pjk, j, k = 1, 2. Mano skaičiavimai rodo, kad jei X ir Y nepriklausomiir n didelis, tai statistika

Z =√n

p11 − p1+p+1√p1+p+1(1− p1+)(1− p+1)

pasiskirsčiusi apytiksliai pagal standartinį normalųjį dėsnį. Taigi nepriklau-somumo hipotezę galima būtų tikrinti taip: hipotezę atmesti, kai |Z| > zα/2;čia zα/2 yra standartinio normalaus skirstinio α/2 lygmens kritinė reikšmė(t.y. 1− α/2 lygmens kvantilis). Patikrinkite, ar tikrai tokio kriterijaus pir-mos rūšies klaidos tikimybė bus α.

• Imkite n = 100,

p =(

14

14

14

14

)ir α = 0.05, 0.1, 0.15, . . . , 0.5. Rezultatus pavaizduokite grafiškai.

• Imkite n = 100, α = 0.05 ir P(X = 1) = a, P(Y = 1) = b su įvairiomisa ir b reikšmėmis. Rezultatus surašykite į lentelę.

5. (Duomenų rinkinys korupcija2016) Q1 anketos klausime prašoma įver-tinti įvairių probleminių reiškinių Lietuvoje svarbą. Paanalizuokite, ar korup-cijos svarbos vertinimas priklauso nuo alkoholizmo svarbos vertinimo.

• Žmonių neatsakiusių į vieną ar kitą klausimą, į analizę neįtraukite.

• Atsakymus neypatingai rimta problema ir visai ne problema sujunkiteį vieną.

• Perkoduoti atsakymai turi būti labai, pakankamai ir nelabai.

• Pritaikykite Pirsono χ2 kriterijų, atlikite atitikimo analizę ir pakomen-tuokite rezultatus.

3

Page 4: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

• Pakartokite analizę, nagrinėdami tik žmonių iki 60 metų populiaciją(S2 anketos klausimas).

6. Įsivaizduokime, kad stebimi vienodai pasiskirstę atsitiktiniai dydžiai Xir Y , įgyjantys tik dvi reikšmes, ir nepriklausomumo hipotezė atmetama, kaip11 + p22 > c. Mane domina, kokia turi būti konstanta c, kad tokio kriterijauspirmos rūšies klaidos tikimybė būtų 0.05.

• Ar c priklauso nuo X ir Y skirstinio? Analizės rezultatus pavaizduokitegrafiškai.

• Ar c priklauso nuo n (imkite n = 50, 55, . . . , 100)? Analizės rezultatuspavaizduokite grafiškai.

7. (Duomenų rinkinys korupcija2016) Q2 anketos klausime prašoma pasa-kyti, ar įvairios situacijos yra korupcinės, ar ne. Mano galva, 1 ir 14 situacijosaiškiai ne korupcinės, o 2 situacija — aiškiai korupcinė, bet žmonės manoįvairiai. Priežastis man nelabai aiški, bet gal, pavyzdžiui, yra žmonių, kurietiesiog linkę visur įžvelgti korupciją. Pabandykite palyginti 1 ir 2 bei 1 ir 14situacijos vertinimus. Abiem atvejais:

• sutrumpinkite galimus atsakymus iki taip, ne ir gal;

• atspausdinkite lentelę, kurioje matytųsi tiek dažniai, tiek suminiai ei-lučių ir stulpelių dažniai;

• pritaikykite Pirsono χ2 kriterijų, atlikite atitikimo analizę ir pakomen-tuokite rezultatus.

Parašykite savo nuomonę, ar gauti rezultatai bent kažkiek naudingi, bandantatsakyti į mano nelabai aiškiai suformuluotą problemą.

8. (Duomenų rinkinys korupcija2016) Q36 anketos klausime prašoma pa-sakyti, kam tenka didesnė atsakomybė kyšio davimo atveju — duodančiamkyšį, imančiam kyšį ar abiem vienodai. Q40.1 klausime prašoma išvardintitris efektyviausias korupcijos mažinimo priemones. Duotame sąraše yra irbausmių didinimas duodantiems arba imantiems kyšius. Galima būtų pa-galvoti, kad tie, kurie labiau kaltina imančius arba duodančius kyšį, siūlysbausti, atitinkamai, imančius arba duodančius. Patikrinkite, ar tokia hipo-tezė teisinga.

• Nagrinėkite tik žmones, kurie turi nuomonę pirmuoju klausimu ir tarp 3efektyviausių priemonių paminėjo bausmių griežtinimą imantiems arbaduodantiems kyšį.

4

Page 5: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

• Sukurkite kintamąjį kaltas, įgyjantį 3 reikšmes, imantis, duodantisir abu, priklausomai nuo atsakymo į Q36 klausimą.

• Sukurkite kintamąjį bausti, įgyjantį 3 reikšmes: imanti, duodantiir abu. Trečioji reikšmė turi būti įgyjama, kai tarp 3 efektyviausiųpriemonių paminėtas tiek bausmės griežtinimas už kyšio paėmimą, tiekuž kyšio davimą. Jei paminėta tik pirma arba tik antra priežastis,kintamasis turėtų atitinkamai įgyti pirmąją arba antrąją reikšmę.

• Sudarykite ir atspausdinkite abiejų kintamųjų dažnių lentelę. Eilutesturėtų atitikti kaltas kintamojo reikšmės.

• Patikrinkite nepriklausomumo hipotezę, atlikite atitikimo analizę ir pa-komentuokite rezultatus.

9. R funkcija chisq.test neveikia, jei vienas iš kintamųjų išsigimęs — įgyjatik vieną reikšmę. Man atrodo, kad taip neturi būti — tokiu atveju nepri-klausomumo hipotezė turėtų būti priimta, nepriklausomai nuo reikšmingumolygmens. Panagrinėkite, kaip dažnai tokia situacija susidaro ir kokia yra pa-tobulinto kriterijaus pirmos rūšies klaidos tikimybė, kai n = 10 ir stebiminepriklausomi atsitiktiniai dydžiai, kurių skirstiniai aprašomi tokiomis lente-lėmis:

X 1 2p 1− p

Y 1 212

12

• (Užduotis ant popieriaus) Kokia yra tikimybė, kad atsitiktinėje imtyjebus tik viena X kintamojo reikšmė? Kokia tikimybė, kad chisq.testfunkcija neveiks?

• Patikrinkite savo spėjimą, simuliuodami reikiamas imtis su kompiute-riu. Rezultatus pavaizduokite grafiškai.

• Nubrėžkite grafiką, iliustruojantį patobulinto kriterijaus pirmos rūšiesklaidos priklausomybę nuo p.

1.2 Sprendimai1. Iš pradžių pasigaminu reikalingą lentelę ir pavaizduoju ją grafiškai.

load("korupcija2016")kaltas<-duom$B36summary(kaltas)

5

Page 6: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

vtkorump<-duom$B3504summary(vtkorump)

#atrenku duomenisind<-which(unclass(kaltas)==4 | unclass(vtkorump)==6)kaltas<-droplevels(kaltas[-ind])vtkorump<-droplevels(vtkorump[-ind])levels(kaltas)<-c("duodantis","imantis","abu")levels(vtkorump)<-c("1","2","3","4","5")summary(kaltas)summary(vtkorump)

#lenteletbl<-table(kaltas,vtkorump)tblbarplot(t(tbl),legend.text = c(levels(vtkorump)),

args.legend = list(x="topleft", inset=0.1),main="Valstybės tarnautojų korumpuotumo lygis",xlab="Labiau kaltas")

duodantis imantis abu

54321

Valstybės tarnautojų korumpuotumo lygis

Labiau kaltas

010

030

050

0

Pritaikau Pirsono χ2 kriterijų. Kompiuteris perspėjo, kad kriterijaus tai-kymas gali būti nepagrįstas, todėl sujungiau pirmus du lentelės stulpelius irpakartojau procedūrą. Kompiuteris pakartojo perspėjimą, bet dabar jau jįignoruoju.

6

Page 7: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

#Pirsono testaschisq.test(tbl)tbl2<-cbind(tbl[,1]+tbl[,2],tbl[,3],tbl[,4],tbl[,5])colnames(tbl2)<-c("1-2","3","4","5")tbl2Ptest<-chisq.test(tbl2)Ptest

Rezultatai tokie:

Pearson’s Chi-squared test

data: tbl2X-squared = 6.4452, df = 6, p-value = 0.3752

Taigi valstybės tarnautojų korumpuotumo vertinimas nepriklauso nuožmogaus nuomonės apie tai, kas labiau atsakingas kyšio paėmimo atveju.Nekreipdamas dėmesio į tą išvadą, vis tiek bandysiu paanalizuoti Pirsonoliekanų matricą.

> Ptest$residuals1-2 3 4 5

duodantis 0.2220451 0.6276939 -0.3960590 -0.32034032imantis -0.6426517 -1.3354004 1.4845392 0.08599784abu 0.3552813 0.6986721 -0.8485281 0.02164029

Jeigu nepriklausomumo hipotezė būtų atmesta, pagrindinė priežastis bū-tų ta, kad tarp žmonių, labiau atsakingu laikančių imantį kyšį, neproporcin-gai daug valstybės tarnautojų korumpuotumo lygį vertina 4, ir neproporcin-gai mažai — 3.

Na ir pažiūriu, ką duos atitikimo analizė.

#CAlibrary(FactoMineR)CA(tbl2)

7

Page 8: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

−0.15 −0.10 −0.05 0.00 0.05 0.10 0.15

−0.

08−

0.02

0.02

CA factor map

Dim 1 (98.03%)

Dim

2 (

1.97

%)

duodantis

imantis

abu 1−234

5

Ką gi, iš esmės yra tik vienas faktorius, paaiškinantis net 98% „duomenųsklaidos“. Pavadinsiu jį D faktoriumi: kuo jo reikšmė didesnė, tuo žmogus la-biau linkęs dėl kyšio ėmimo kaltinti duodantį, o ne imantį. Iš grafiko matyti,kad tokie žmonės ne taip griežtai vertina valstybės tarnautojų korumpuotu-mą.

Antras pagal svarbą faktorius paaiškina tik 2% duomenų sklaidos. Jisatspindi tą faktą, kad žmonės, kurie dėl kyšio paėmimo vienodai atsakingaislaiko abu to veiksmo dalyvius, kažkodėl linkę valstybės tarnautojų korum-puotumą vertinti kraštutiniais skaičiais: arba jį laiko labai mažu, arba labaidideliu.

2. Iš pradžių paruošiu duomenis ir nupiešiu abi skritulines diagramas.

load("korupcija2016")gaudyti<-duom$B42summary(gaudyti)levels(gaudyti)<-c("stambius","smulkius","visus","nežino")issilav<-unclass(duom$S04)issilav<-ifelse(issilav==1,2,issilav)issilav<-factor(issilav)levels(issilav)<-c("prad","neb","vid","spec","aukst","univ")summary(issilav)

oldpar<-par(mfrow=c(1,2))

8

Page 9: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

pie(table(gaudyti), main="Gaudyti reikia")pie(table(issilav),main="Išsilavinimas")par(oldpar)

stambius

smulkius

visus

nežino

Gaudyti reikia

pradneb

vid

spec

aukst

univ

Išsilavinimas

Dabar sudarau reikalingas lenteles.

tbl<-table(issilav,gaudyti)tbltblproc<-prop.table(tbl,margin = 1)print(100*tblproc, digits=0)

Lentelė su procentais atrodo taip:

gaudytiissilav stambius smulkius visus nežino

prad 34 3 21 41neb 34 7 43 16vid 48 4 40 8spec 47 1 45 8aukst 28 4 60 8univ 49 4 43 5

Jei man reiktų spėti χ2 testo rezultatus, sakyčiau, kad nepriklausomumohipotezė bus atmesta ir kompiuteris perspės, jog rezultatai gali būti nepa-grįsti, nes labai mažai žmonių mano, kad reikia gaudyti smulkius kyšininkus.

9

Page 10: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

Hipotezė turėtų būti atmesta ir po lentelės korekcijos (tarkime, po smulkiusstulpelio prijungimo prie visus), nes labai jau daug žmonių su viduriniu,specialiuoju viduriniu ir aukštuoju universitetiniu išsilavinimu siūlo gaudytistambius kyšininkus ir labai daug žmonių su pradiniu ir nebaigtu viduriniuišsilavinimu neturi nuomonės.

Tikrinu savo intuiciją:

chisq.test(tbl)tbl2<-cbind(tbl[,1],tbl[,2]+tbl[,3],tbl[,4])colnames(tbl2)<-c("stambius","visus","nežino")tbl2chisq.test(tbl2)library(FactoMineR)CA(tbl2)

0.0 0.5 1.0

−0.

4−

0.2

0.0

0.2

CA factor map

Dim 1 (74.21%)

Dim

2 (

25.7

9%)

prad

neb

vidspec

aukst

univ

stambius

visus

nežino

Bemaž atspėjau. Nepasakiau tik, kad kompiuteris protestuos ir po stulpe-lių sujungimo, ir nebandžiau spėti, kuris iš paminėtų faktorių yra svarbesnis.

Taigi žmonių nuomonė apie tai, kokias žuvis — stambias ar visokias —reikia gaudyti, tikrai priklauso nuo išsilavinimo. Svarbiausias faktorius, dėlkurio nepriklausomumo hipotezė buvo atmesta — labai daug žmonių su pra-diniu ir nebaigtu viduriniu išsilavinimu neturi nuomonės. Jis paaiškina 74%duomenų sklaidos. Antras faktorius (likę 26%) — žmonės su nebaigtu vidu-riniu ir aukštuoju neuniversitetiniu išsilavinimu (kokia įdomi kombinacija)labiau linkę gaudyti visokias žuvis.

10

Page 11: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

3. 1 dalis. Tikimybių suma turi būti 1, todėl 2a + 2b + c = 1. Jei dydžiainepriklausomi, tai iš p11 = p1+p+1 išplaukia

a = (a+ b)2a, 2a+ 2b = 1

ir, reiškia, c = 0 (o a+ b = 1). Atvirkščiai, jei c = 0 ir a+ b = 1, tai (X, Y )skirstinį apibrėžianti tikimybių matrica yra(

a 12 − a

a 12 − a

).

Nesunku įsitikinti, kad visos pjk = pj+p+k lygybės teisingos ir, reiškia, dydžiainepriklausomi. Taigi atsakymas į pirmą klausimą toks: dydžiai nepriklauso-mi tada ir tik tada, kai c = 0.

2 dalis. Skaičiuojant pirmos rūšies klaidos tikimybę, reikia generuotinepriklausomus X ir Y , taigi c = 0, b = 1 − a ir 0 < a < 1

2 . Imsiu a =0.1, . . . , 0.4. Tikimybes skaičiuoja tokia programa:

a<-seq(from=0.1, to=0.4, by=0.1)n.a<-length(a)n<-(5:10)n.n<-length(n)N<-1000 #generuojamų imčių skaičiustik<-matrix(nrow = n.a, ncol = n.n)

for(i.a in (1:n.a)){for (i.n in (1:n.n)){

atmete<-rep(NA,times=N)for (imtis in (1:N)){

#generuoju imtįu<-runif(n[i.n])x<-ifelse(u<0.5,1,2)x<-factor(x)v<-runif(n[i.n])y<-ifelse(v<a[i.a],1,2)y<-factor(y)#tikrinu nepriklausomumąif (length(levels(x))==2&length(levels(y))==2){

test<-chisq.test(x,y)atmete[imtis]<-ifelse(test$p.value<0.05,1,0)

}}

11

Page 12: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

tik[i.a,i.n]<-mean(atmete[!is.na(atmete)])}

}rownames(tik)<-c("a=0.1","a=0.2","a=0.3","a=0.4")colnames(tik)<-c("n=5","n=6","n=7","n=8","n=9","n=10")print(tik,digits = 3)

Rezultatai:

n=5 n=6 n=7 n=8 n=9 n=10a=0.1 0 0 0 0.00000 0.00000 0.00000a=0.2 0 0 0 0.00122 0.00240 0.00113a=0.3 0 0 0 0.00743 0.00417 0.00309a=0.4 0 0 0 0.01339 0.00409 0.00202

Kažkodėl pirmuose trijuose stulpeliuose yra grynas 0, o kitur — jeigu ir0, tai su daug nulių po kablelio. Tingėjau aiškintis, ką tas gali reikšti. Šiaipjau lentelė lyg ir rodo, kad pirmos rūšies klaidos tikimybė priklauso nuo a irvisada žymiai mažesnė, nei reikšmingumo lygmuo 0.05. Labai jau įtartinasrezultatas.

3 dalis. Imsiu c = 0.1, 0.2, . . . , 0.9 ir a = b = (1 − c)/4. Galią skaičiuojatokia programa:

c<-seq(from=0.1, to=0.9, by=0.1)n.c<-length(c)N<-1000n<-50galia<-numeric(n.c)

for (i.c in(1:n.c)){atmete<-rep(NA, times=N)for (imtis in (1:N)){

#generuoju imtįu<-runif(n)a<-(1-c[i.c])/4x<-ifelse(u<2*a,1,2)x<-factor(x)y<-ifelse(u<a,1,ifelse(u<2*a,2,ifelse(u<3*a,1,2)))y<-factor(y)#tikrinu nepriklausomumąif (length(levels(x))==2&length(levels(y))==2){

test<-chisq.test(x,y)

12

Page 13: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

atmete[imtis]<-ifelse(test$p.value<0.05,1,0)}

}galia[i.c]<-mean(atmete[!is.na(atmete)])

}plot(c,galia, type = "l", main="Pirsono kriterijaus galia")

0.2 0.4 0.6 0.8

0.1

0.3

0.5

Pirsono kriterijaus galia

c

galia

Iš grafiko matyti, kad kriterijaus galia didžiausia, kai c = 0.7, o paskuipradeda mažėti. Irgi labai keistas rezultatas.

4. 1 dalis. Programa:

n<-100

alfa<-seq(from=0.05, to=0.5, by=0.05)kiek<-length(alfa)tikimybe<-numeric(kiek)

N<-1000atmete<-numeric(N)

for (j in (1:kiek)){for (i in (1:N)){

#generuoju imtį

13

Page 14: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

x<-sample(2, size = n, replace = TRUE)y<-sample(2, size = n, replace = TRUE)

#atlieku procedūrątbl<-table(x,y)hatp<-tbl/na<-sum(hatp[1,])b<-sum(hatp[,1])z<-sqrt(n)*(hatp[1,1]-a*b)/sqrt(a*b*(1-a)*(1-b))atmete[i]<-ifelse(abs(z)>qnorm(1-alfa[j]/2), 1, 0)

}tikimybe[j]<-mean(atmete)

}plot(alfa,tikimybe, type="l",

main="Tikroji pirmos rūšies klaidos tikimybė")abline(a=0, b=1, col="red")

Rezultatas:

0.1 0.2 0.3 0.4 0.5

0.1

0.2

0.3

0.4

0.5

Tikroji pirmos rūšies klaidos tikimybė

alfa

tikim

ybe

Komentaras: panašu, kad neklydau (tiesa, teko ištaisyti klaidą — Z sta-tistikos apibrėžime buvau pamiršęs daugiklį

√n).

2 dalis. Programa:

n<-100a<-seq(from=0.1, to=0.9, by=0.1)

14

Page 15: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

kieka<-length(a)b<-seq(from=0.1, to=0.9, by=0.1)kiekb<-length(b)tikimybe<-numeric(kieka*kiekb)dim(tikimybe)<-c(kieka,kiekb)

N<-1000atmete<-numeric(N)

for (ia in (1:kieka)){for (ib in (1:kiekb)){

for (i in (1:N)){x<-sample(2, size = n, replace = TRUE, prob=c(a[ia],1-a[ia]))y<-sample(2, size = n, replace = TRUE, prob=c(b[ib],1-b[ib]))tbl<-table(x,y)hatp<-tbl/np<-sum(hatp[1,])q<-sum(hatp[,1])z<-sqrt(n)*(hatp[1,1]-p*q)/sqrt(p*q*(1-p)*(1-q))atmete[i]<-ifelse(abs(z)>qnorm(0.975), 1, 0)

}tikimybe[ia,ib]<-mean(atmete)

}}print(tikimybe,digits=3)

Rezultatas:

[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9][1,] NA 0.052 0.054 0.051 0.045 0.046 0.051 0.037 0.036[2,] 0.034 0.043 0.056 0.065 0.047 0.050 0.047 0.042 0.049[3,] 0.047 0.049 0.056 0.056 0.057 0.038 0.044 0.058 0.049[4,] 0.041 0.035 0.059 0.050 0.046 0.059 0.050 0.051 0.048[5,] 0.054 0.048 0.042 0.043 0.055 0.046 0.058 0.058 0.055[6,] 0.062 0.056 0.063 0.049 0.053 0.055 0.053 0.039 0.052[7,] 0.046 0.046 0.058 0.046 0.050 0.055 0.058 0.054 0.037[8,] 0.036 0.060 0.048 0.052 0.052 0.044 0.048 0.053 0.044[9,] 0.043 0.043 0.062 0.055 0.051 0.047 0.039 0.031 0.048

Komentaras. Visur turėjo gautis 0.05. Daugmaž tiek ir gavosi, tik atve-ju a = b = 0.1 yra trūkstama reikšmė. Matyt, tarp 1000 generuotų imčiųbent vienoje arba x, arba y kintamasis neįgijo reikšmės 1. Reiktų, aišku,

15

Page 16: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

pakoreguoti programą, bet nesinori to daryti metodiniais tikslais — kad ne-pasirodytų per daug sudėtinga (iš tikrųjų tai tingiu).

5. 1 dalis. Programa:

library(FactoMineR)load("korupcija2016")x<-duom$B0101y<-duom$B0112

#išsiaiškinu, kas slypi po faktorių reikšmių etiketėmissummary(x)summary(factor(unclass(x)))summary(y)summary(factor(unclass(y)))

#pertvarkau duomenisx<-unclass(x)y<-unclass(y)ind<-which(x<5 & y<5)x<-x[ind]y<-y[ind]x[x==4]<-3y[y==4]<-3x<-factor(x)y<-factor(y)vardai<-c("labai", "pakankamai", "nelabai")levels(x)<-vardailevels(y)<-vardai

#analizėchisq.test(x,y)

tbl<-table(x,y)CA(tbl)

Rezultatai ir komentaras. Nepriklausomumo hipotezė atmesta, o atlikusatitikimo analizę gautas toks grafikas:

16

Page 17: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

−0.3 −0.2 −0.1 0.0 0.1 0.2 0.3 0.4

−0.

050.

050.

150.

25CA factor map

Dim 1 (94.36%)

Dim

2 (

5.64

%)

labai pakankamai

nelabai

labai

pakankamai

nelabai

Svarbiausia priežastis, dėl kurios hipotezė atmesta (jos svarba — 95%) —per daug žmonių, manančių, kad alkoholizmas yra labai svarbi problema,taip pat galvoja ir apie korupciją. Kita priežastis (jos svarba tik 5%) —per daug žmonių, manančių, kad alkoholizmas yra nesvarbi problema, taippat galvoja ir apie korupciją. Apskritai panašu, kad žmonės tiesiog vienodaivertina abi problemas.

2 dalis. Programa, rezultatai ir komentaras.

amzius<-duom$S02summary(amzius)amzius<-amzius[ind]x<-x[amzius<60]y<-y[amzius<60]chisq.test(x,y)

tbl<-table(x,y)CA(tbl)

17

Page 18: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

−0.4 −0.2 0.0 0.2 0.4 0.6

−0.

10.

00.

10.

20.

3CA factor map

Dim 1 (80.83%)

Dim

2 (

19.1

7%)

labai

pakankamai

nelabai

labai

pakankamai

nelabai

Analizuojant tik žmones iki 60 metų, rezultatai labai panašūs. Skirtumastik tas, kad p-reikšmė ne tokia maža ir faktorių svoriai dabar yra kitokie:80% ir 20%. Toks jausmas, kad senesni žmonės labiau linkę abi problemasįvardinti, kaip labiai svarbias.

6. 1 dalis: programa ir rezultatas.

N<-1000z<-numeric(N)

a<-seq(from=0.1, to=0.9, by=0.1)kieka<-length(a)const<-numeric(kieka)n<-50

for (j in (1:kieka)){p<-c(a[j],1-a[j])for (i in (1:N)){

x<-sample(2, size=n, prob = p, replace = TRUE)y<-sample(2, size=n, prob = p, replace = TRUE)hatp<-table(x,y)/nz[i]<-ifelse(nrow(hatp)==2 &ncol(hatp)==2,hatp[1,1]+hatp[2,2],NA)

}const[j]<-quantile(z,probs = 0.95, na.rm = TRUE)

18

Page 19: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

}plot(a,const, type="l",

main = "Kritinės konstantos priklausomybė nuo skirstinio",ylab = "",xlab = "Tikimybė, kad X=1")

0.2 0.4 0.6 0.8

0.65

0.75

0.85

Kritinės konstantos priklausomybė nuo skirstinio

Tikimybė, kad X=1

1 dalis: programa, rezultatas ir komentaras.

N<-1000z<-numeric(N)

n<-seq(from=50, to=100, by=5)kiekn<-length(n)const<-numeric(kiekn)p<-c(0.3,0.7)

for (j in (1:kiekn)){for (i in (1:N)){

x<-sample(2, size=n[j], prob = p, replace = TRUE)y<-sample(2, size=n[j], prob = p, replace = TRUE)hatp<-table(x,y)/n[j]z[i]<-ifelse(nrow(hatp)==2 &ncol(hatp)==2,hatp[1,1]+hatp[2,2],NA)

}const[j]<-quantile(z,probs = 0.95, na.rm = TRUE)

19

Page 20: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

}plot(n,const, type="l",

main = "Kritinės konstantos priklausomybė nuo n",ylab = "",xlab = "n")

50 60 70 80 90 100

0.66

0.67

0.68

0.69

0.70

Kritinės konstantos priklausomybė nuo n

n

Laikiau, kad P(X = 1) = P(Y = 1) = 0.3 ir P(X = 2) = P(Y = 2) = 0.7.Grafiko šuolis aukštyn ties n = 85 nelabai paaiškinamas. Gal reikėjo paimtididesnį N?

7. 1 ir 2 klausimai: programa, rezultatai ir komentaras.

library(FactoMineR)load("korupcija2016")x1<-duom$B0201x2<-duom$B0202x14<-duom$B0214summary(x1)vardai<-c("taip", "ne", "gal")levels(x1)<-vardailevels(x2)<-vardailevels(x14)<-vardaisummary(x1)

20

Page 21: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

#1 ir 2tbl<-table(x1,x2)tbl1<-matrix(nrow = 3, ncol = 4)tbl1[,1:3]<-tbltbl1[,4]<-margin.table(tbl,margin=1)tbl2<-matrix(nrow = 4, ncol = 4)tbl2[1:3,]<-tbl1tbl2[4,]<-margin.table(tbl1,margin=2)colnames(tbl2)<-c(vardai,"iš viso")rownames(tbl2)<-c(vardai,"iš viso")print(tbl2)

CA(tbl)

Lentelė atrodo taip:

taip ne gal iš visotaip 519 40 13 572ne 228 22 5 255gal 121 7 47 175iš viso 868 69 65 1002

O atitikimo analizės piešinys — taip:

0.0 0.5 1.0 1.5

−0.

40.

00.

20.

4

CA factor map

Dim 1 ( 99.52%)

Dim

2 (

0.48

%)

taipne

galtaip

ne

gal

Faktiškai tėra viena priežastis, dėl kurios nepriklausomumo hipotezė buvoatmesta (jos svarba — 99.5%): buvo per daug žmonių, kurie neturėjo nuo-

21

Page 22: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

monės tiek apie vieną, tiek apie kitą situaciją. Kitaip tariant, viską nulėmėtie 47, kurie atsakė gal į abu klausimus.

1 ir 14 klausimai: programa, rezultatai ir komentaras.

#1 ir 14tbl<-table(x1,x14)tbl1<-matrix(nrow = 3, ncol = 4)tbl1[,1:3]<-tbltbl1[,4]<-margin.table(tbl,margin=1)tbl2<-matrix(nrow = 4, ncol = 4)tbl2[1:3,]<-tbl1tbl2[4,]<-margin.table(tbl1,margin=2)colnames(tbl2)<-c(vardai,"iš viso")rownames(tbl2)<-c(vardai,"iš viso")print(tbl2)

CA(tbl)

taip ne gal iš visotaip 263 183 126 572ne 38 184 33 255gal 22 42 111 175iš viso 323 409 270 1002

−1.0 −0.5 0.0 0.5 1.0

−0.

40.

00.

4

CA factor map

Dim 1 (57.67%)

Dim

2 (

42.3

3%) taip

ne gal

taip

ne gal

Nepriklausomumo hipotezė vėl atmesta. Šįkart abu pagrindiniai faktoriaidaugmaž vienodo svorio ir abu kartu gali būti charakterizuoti taip: žmonės,

22

Page 23: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

kurie pasirinko kokį nors atsakymą į vieną klausimą, buvo linkę taip patatsakyti ir į antrą. Kitaip tariant, abi situacijos jiems atrodė vienodos.

2 Priklausomybės vertinimas

2.1 Sąlygos1. (Duomenų rinkinys korupcija2016) Q13 anketos klausime prašoma pa-sakyti, ar per pastaruosius 12 mėnesių teko duoti kyšį. Panagrinėkite, kaipžmonių, kurie bent kartą yra davę kyšį, dalis priklauso nuo lyties (S1 klausi-mas) ir amžiaus (S2 klausimas).

• Nagrinėkite tik žmones, atsakiusius į Q13 klausimą.

• Nagrinėdami priklausomybę nuo lyties, suskaičiuokite reikiamus tiki-mybių ir šansų santykius ir interpretuokite rezultatus.

• Nagrinėdami priklausomybę nuo amžiaus, suskirstykite žmones į tokiasgrupes: iki 25 metų, nuo 26 iki 65 metų ir virš 65 metų. Trečiąją grupęlaikydami bazine, suskaičiuokite reikiamus tikimybių ir šansų santykiusir interpretuokite rezultatus.

• Kiekvienam tikimybių ar šansų santykiui raskite asimptotinius 95%patikimumo pasikliovimo intervalus.

• Gautus rezultatus tvarkingai surašykite į lentelę.

• Su 10% reikšmingumo lygmeniu patikrinkite hipotezę, kad tikimybė,jog tiek vyrams, tiek moterims vienodai dažnai tenka duoti kyšį. Taiky-kite du kriterijus: Pirsono χ2 kriterijų ir kriterijų, paremtą atitinkamošansų santykio asimptotiniu normalumu. Palyginkite abu rezultatus.

2. Tegu stebimi du atsitiktiniai dydžiai X ir Y , įgyjantys reikšmes 1 ir 2,

rr = p11/p1+

p21/p2+, or = p11/p12

p21/p22

ir rr, or yra tų išvestinių parametrų didžiausio tikėtinumo įvertiniai. Teorijasako, kad kai n→∞,√n(ln rr − ln rr)→ N(0, σ2

rr),√n(ln or − ln or)→ N(0, σ2

or) (2.1)

suσ2rr = p12

p11p1++ p22

p21p2+ir σ2

or = 1p11

+ 1p12

+ 1p21

+ 1p22

.

23

Page 24: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

• Patikrinkite abu rezultatus, simuliuodami reikiamas imtis kompiuteriuir suskaičiuodami atitinkamos statistikos asimptotinę dispersiją. Imki-te n = 50 ir

p =(a 1

4(1− 2a)a 3

4(1− 2a)

)su a = 0.1, 0.15, . . . , 0.4. Rezultatus tvarkingai surašykite į lentelę.

• Palyginkite asimptotinius 95% patikimumo pasikliovimo intervalus, gau-namus iš (2.1) sąryšių su analogiškais intervalais, kuriuos pateikia pa-ketas epitools.

• Koks tikrasis asimptotinių pasikliovimo intervalų patikimumas, kai nnedidelis? Imkite n = 5, 10, . . . , 30 ir

p =(

14

14

14

14

).

Rezultatus pavaizduokite grafiškai.

3. (Duomenų rinkinys korupcija2016) Q11 anketos klausime prašoma pa-sakyti savo nuomonę apie tai, ar kyšio davimas padeda išspręsti problemas,o Q13 klausime — kaip dažnai per pastaruosius 12 mėnesių teko duoti ky-šį. Panagrinėkite, kaip atsakymai į šiuos klausimus priklauso nuo lyties (S1klausimas), amžiaus (S2 klausimas) ir išsilavinimo (S4 klausimas).

• Nagrinėkite tik žmones, kurie atsakė į atitinkamą klausimą (Q11 arbaQ13).

• Nagrinėdami išsilavinimą, sustambinkite grupes. Turėtų likti 3 grupės:nebaigtas vidurinis, vidurinis arba specialusis vidurinis ir aukštasis.

• Paskaičiuokite visas korektiškas koreliacijas ir pakomentuokite rezulta-tus.

• Jei įmanoma, raskite koreliacijų pasikliovimo intervalus ir patikrinkitenekoreliuotumo hipotezes.

4. Kazakevičius yra iškėlęs hipotezę, kad Spirmeno ranginis koreliacijos ko-eficientas tarp X ir Y yra įprastos koreliacijos ρ tarp u(X) ir v(Y ) įvertis;čia

u(x) = P(X < x) + 12P(X = x) ir v(y) = P(Y < y) + 1

2P(Y = y).

24

Page 25: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

Patikrinkite tą spėjimą. Laikykite, kad X įgyja dvi, o Y — tris reikšmes,keletą (X, Y ) skirstinių parinkite savo nuožiūra ir imkite n = 50. Kiekvie-ną kartą generuokite daug imčių ir raskite empirinio Spirmeno koreliacijoskoeficiento vidutinį kvadratinį nuokrypį nuo ρ.

5. (Duomenų rinkinys korupcija2016) Q21 anketos klausime prašoma pa-sakyti, ar pasinaudotume darbindamiesi giminystės ryšiais, pažintimis ar pi-nigais. Jei žmogus rinkosi atsakymą ne arba nežinau, neturiu nuomonės, taspasirinkimas išsaugotas kintamajame B2101. Kitais atvejais jis galėjo, pa-vyzdžiui, nurodyti, kad pasinaudotų tiek giminystės ryšiais, tiek pažintimis.Tokie jo atsakymai išsaugoti kintamuosiuose B2101–B2103.

Įvertinkite, kaip tikimybė, kad žmogus pasinaudotų pažintimis, priklausonuo lyties (S1 klausimas) ir tautybės (S3 klausimas).

• Suskaičiuokite visus korektiškus priklausomybės stiprumo matus.

• Jei įmanoma, patikrinkite ir nepriklausomumo hipotezę, naudodamiatitinkamą matą atitinkantį kriterijų.

6. Internete radau parašyta, kad empirinė Spirmeno koreliacija dažniau-siai būna 1.5 karto didesnė, nei Kendalo tau-b statistika. Patikrinkite tai,simuliuodami daug imčių iš skirstinio su

p =

a b 0b a b0 b a

pavidalo parametrų matrica. Imite n = 15 ir bent 10 skirtingų a reikšmių.Savo tyrimo rezultatus pavaizduokite grafiškai.

2.2 Sprendimai1. Programa.

load("korupcija2016")df<-data.frame(teko=duom$B13, lytis=duom$S01, amzius=duom$S02)summary(df)

#pertvarkau duomenisdf<-subset(df, unclass(teko)<6)levels(df$teko)<-c("ne",rep("taip",5))df$amzius<-cut(df$amzius, breaks = c(18,25,65,90), include.lowest = TRUE)

25

Page 26: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

summary(df)

#skaičiuoju tikimybių ir šansų santykiuslibrary(epitools)

#priklausomybė nuo lytiesriskratio(df$lytis, df$teko)oddsratio(df$lytis, df$teko)

#pasitikrinu, ar teisingai skaičiuoja rrtbl<-table(df$lytis,df$teko)prop.table(tbl,margin = 1)0.1756757/0.1507761#gražu, taigi pakete įvykiu laikomas Y=2

#priklausomybė nuo amžiausamzius<-relevel(df$amzius, ref = "(65,90]")riskratio(amzius, df$teko)oddsratio(amzius, df$teko)

#hipotezės tikrinimuioddsratio(df$lytis,df$teko, conf.level = 0.9)

Rezultatai ir komentarai. Priklausomybė nuo lyties:

risk ratio with 95% C.I.Predictor estimate lower upper

Vyras 1.000000 NA NAMoteris 1.165143 0.8738401 1.553555

odds ratio with 95% C.I.Predictor estimate lower upper

Vyras 1.00000 NA NAMoteris 1.19951 0.8518906 1.69563

Duomenys rodo, kad moterims tikimybė, kad teks duoti kyšį, 1.17 kartodidesnė nei vyrams. Atitinkamas šansų santykis didesnis 1.2 karto. Kitavertus, į pasikliovimo intervalą patenka ir 1; taigi negalima atmesti hipotezės,kad abi tikimybės vienodos.

Priklausomybė nuo amžiaus:

risk ratio with 95% C.I.

26

Page 27: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

Predictor estimate lower upper(65,90] 1.0000000 NA NA[18,25] 0.6067416 0.3075338 1.197057(25,65] 1.0315457 0.7434524 1.431277

odds ratio with 95% C.I.Predictor estimate lower upper

(65,90] 1.0000000 NA NA[18,25] 0.5703545 0.2482019 1.182577(25,65] 1.0359679 0.7031645 1.550645

Apklausos duomenys rodo, kad jauni žmonės maždaug 1.7 karto rečiau duo-da kyšius nei pensininkai. Vidutinio amžiaus žmonės — maždaug 1.03 kartodažniau. Tačiau ir šiuo atveju neatmestinos hipotezės, kad abi amžiaus gru-pės nesiskiria nuo pensininkų.

Nepriklausomumo hipotezė:

$measureodds ratio with 90% C.I.

Predictor estimate lower upperVyras 1.00000 NA NAMoteris 1.19951 0.8999649 1.603246

$p.valuetwo-sided

Predictor midp.exact fisher.exact chi.squareVyras NA NA NAMoteris 0.2982806 0.3388695 0.2965229

1 patenka į 90% patikimumo pasikliovimo intervalą, taigi ir su 10% reikš-mingumo lygmeniu nepriklausomumo hipotezė neatmetama. Jos neatmetair Pirsono χ2 kriterijus: p-reikšmė 0.2965>0.1.

2. 1 dalis, programa.

n<-50a<-seq(from=0.1, to=0.4, by=0.05)kieka<-length(a)Drr<-numeric(kieka)Drr.est<-numeric(kieka)Dor<-numeric(kieka)Dor.est<-numeric(kieka)

27

Page 28: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

N<-1000rr<-numeric(N)or<-numeric(N)

for (j in (1:kieka)){p<-c(a[j], (1-2*a[j])/4, a[j], 3*(1-2*a[j])/4)Drr[j]<-p[2]/(p[1]*(p[1]+p[2]))+p[4]/(p[3]*(p[3]+p[4]))Dor[j]<-sum(1/p)for (i in (1:N)){

z<-sample(0:3, size = n, prob = p, replace = T)x<-factor(z%/%2+1)y<-factor(z%%2+1)tbl<-table(x,y)rr[i]<-log((tbl[1,1]/sum(tbl[1,]))/(tbl[2,1]/sum(tbl[2,])))or[i]<-log((tbl[1,1]/tbl[1,2])/(tbl[2,1]/tbl[2,2]))

}Drr.est[j]<-var(rr[which(is.finite(rr))])*nDor.est[j]<-var(or[which(is.finite(or))])*n

}ats<-as.matrix(data.frame(Drr,Drr.est,Dor,Dor.est))row.names(ats)<-paste("a=", a, sep = "")print(ats, digits = 3)

Rezultatas ir komentaras.

Drr Drr.est Dor Dor.esta=0.1 15.24 19.33 26.7 32.0a=0.15 8.77 11.74 21.0 27.3a=0.2 5.60 6.71 18.9 23.3a=0.25 3.73 4.56 18.7 22.2a=0.3 2.50 2.56 20.0 22.2a=0.35 1.62 1.80 23.5 26.1a=0.4 0.96 1.01 31.7 27.2

Rezultatai, sakyčiau, nuviliantys. Gal n = 50 ne toks jau didelis skaičius,kaip man atrodė.

2 dalis, programa.

n<-50p0<-c(0.3,0.1,0.2,0.4)rez<-matrix(0, nrow = 4, ncol =2)

28

Page 29: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

colnames(rez)<-c("a", "b")row.names(rez)<-c("rr, mano", "rr, epitools", "or, mano", "or, epitools")

#generuoju imtįxy<-sample(0:3, size = n, prob = p0, replace = T)x<-factor(xy%/%2+1)y<-factor(xy%%2+1)

#skaičiuoju CI patsz<-qnorm(0.975)p<-table(x,y)/nlogrr<-log((p[1,1]/sum(p[1,]))/(p[2,1]/sum(p[2,])))drr<-p[1,2]/(p[1,1]*sum(p[1,]))+p[2,2]/(p[2,1]*sum(p[2,]))rez[1,]<-c(exp(logrr-z*sqrt(drr/n)), exp(logrr+z*sqrt(drr/n)))logor<-log((p[1,1]/p[1,2])/(p[2,1]/p[2,2]))dor<-sum(1/p)rez[3,]<-c(exp(logor-z*sqrt(dor/n)), exp(logor+z*sqrt(dor/n)))

#skaičiuoju CI su paketulibrary(epitools)x<-relevel(x, ref = 2)y<-relevel(y, ref = 2)rez[2,]<-riskratio(x,y)$measure[2,2:3]rez[4,]<-oddsratio(x,y)$measure[2,2:3]

print(rez)

Rezultatas ir komentaras.

a brr, mano 1.246838 3.546861rr, epitools 1.246838 3.546861or, mano 1.509883 21.423956or, epitools 1.496476 23.470919

Matau, kad pasikliovimo intervalą rr dydžiui epitools skaičiuoja pagal teo-rines formules, tačiau pasikliovimo intervalas or dydžiui šiek tiek skiriasi nuoteorinio. Pakartojau programą, pakeitęs dvi paskutines eilutes į

rez[2,]<-riskratio(x,y, method="wald")$measure[2,2:3]rez[4,]<-oddsratio(x,y, method="wald")$measure[2,2:3]

Dabar abu intervalai idealiai sutampa:

29

Page 30: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

a brr, mano 1.459210 4.66286rr, epitools 1.459210 4.66286or, mano 2.464124 36.19847or, epitools 2.464124 36.19847

3 dalis, programa.

n<-seq(from=5, to=30, by=5)kiekn<-length(n)conf.rr<-numeric(kiekn)conf.or<-numeric(kiekn)

N<-1000pateko.rr<-numeric(N)pateko.or<-numeric(N)

library(epitools)

for (j in (1:kiekn)){for (i in (1:N)){

xy<-sample(0:3, size = n[j], replace = T)x<-factor(xy%/%2+1)y<-factor(xy%%2+1)if (nlevels(x)==2 & nlevels(y)==2){

ab<-riskratio(x,y, method="wald")$measure[2,2:3]pateko.rr[i]<-(ab[1]<1&1<ab[2])ab<-oddsratio(x,y, method="wald")$measure[2,2:3]pateko.or[i]<-(ab[1]<1&1<ab[2])

}else{

pateko.rr[i]<-NApateko.or[i]<-NA

}}conf.rr[j]<-mean(pateko.rr, na.rm = T)conf.or[j]<-mean(pateko.or, na.rm = T)

}

ymin<-min(min(conf.rr), min(conf.or))ymax<-max(max(conf.rr), max(conf.or))plot(n,conf.rr, type = "l",

30

Page 31: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

ylim = c(ymin,ymax),ylab = "confidence",main = "Asimptotinių pasikliovimo intervalų patikimumas")

lines(n, conf.or, type ="l", col="blue")abline(h=0.95, col="red")legend(x="topright", legend = c("rr","or"),

col = c("black", "blue"),lty = 1)

Rezultatas ir komentaras.

5 10 15 20 25 30

0.95

0.97

0.99

Asimptotinių pasikliovimo intervalų patikimumas

n

conf

iden

ce

rror

Taigi jei n nedidelis, tikrasis asimptotinių pasikliovimo intervalų patiki-mumas netgi didesnis nei 95%. Nuostabu.

3. 1 dalis: ar kyšio davimas padeda?Iš pradžių paruošiu duomenis:

load("korupcija2016")df<-data.frame(padeda=duom$B11, lytis=duom$S01,

amzius=duom$S02, issilav=duom$S04)summary(df)df<-subset(df, unclass(padeda)<3)df<-droplevels(df)summary(df$issilav)levels(df$issilav)<-c("nebaigtas", "nebaigtas", "nebaigtas",

31

Page 32: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

"vidurinis", "vidurinis", "aukštasis","aukštasis")

summary(df)

library(polycor)

Skaičiuosiu tokias koreliacijas tarp padeda ir galimų kovariančių:

• su lytis: Pirsono ir Spirmeno;

• su amzius: Pirsono, Spirmeno ir poliserijinę;

• su issilav: Spirmeno ir polichorinę.

Priklausomybė nuo lyties: programa, rezultatai ir komentarai.

> cor(unclass(df$lytis),unclass(df$padeda))[1] 0.007117943> cor(unclass(df$lytis),unclass(df$padeda), method = "spearman")[1] 0.007117943> cor.test(unclass(df$lytis),unclass(df$padeda))

Pearson’s product-moment correlation

data: unclass(df$lytis) and unclass(df$padeda)t = 0.20765, df = 851, p-value = 0.8356alternative hypothesis: true correlation is not equal to 095 percent confidence interval:-0.06003586 0.07420761

sample estimates:cor

0.007117943

Kadangi abu dydžiai dichotominiai, Pirsono koreliacija visiškai sutampa suSpirmeno koreliacija. Pagal mūsų duomenis išeitų, kad moterys didesnėsidealistės nei vyrai (jos labiau linkę manyti, kad kyšis nepadeda išspręstiproblemų). Visgi koreliacijos koeficientas labai mažas ir nepriklausomumohipotezė nėra atmetama. Taigi neatmestina, kad idealizmas nuo lyties ne-priklauso.

Priklausomybė nuo amžiaus: programa, rezultatai ir komentarai.

> cor(df$amzius,unclass(df$padeda))[1] -0.1801458

32

Page 33: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

> cor(df$amzius,unclass(df$padeda), method = "spearman")[1] -0.1723927> cor.test(df$amzius,unclass(df$padeda))

Pearson’s product-moment correlation

data: df$amzius and unclass(df$padeda)t = -5.3426, df = 851, p-value = 1.177e-07alternative hypothesis: true correlation is not equal to 095 percent confidence interval:-0.2443165 -0.1144040

sample estimates:cor

-0.1801458

> cor.test(df$amzius,unclass(df$padeda), method = "spearman")

Spearman’s rank correlation rho

data: df$amzius and unclass(df$padeda)S = 121270000, p-value = 4.073e-07alternative hypothesis: true rho is not equal to 0sample estimates:

rho-0.1723927

Warning message:In cor.test.default(df$amzius, unclass(df$padeda), method = "spearman") :

Cannot compute exact p-value with ties> polyserial(df$amzius, df$padeda, std.err = T)

Polyserial Correlation, 2-step est. = -0.249 (0.04547)Test of bivariate normality: Chisquare = 23.79, df = 5, p = 0.0002384

Visos trys koreliacijos neigiamos, taigi amžius idealizmą lyg ir mažina.Be to, nepriklausomumo hipotezė visais trim atvejais atmetama (poliserijinėskoreliacijos pasikliovimo intervalas yra −0.249± 1.96 · 0.04547 ir reikšmė 0 įjį nepatenka). Taigi mūsų išvada pakankamai pagrįsta.

Priklausomybė nuo išsilavinimo: programa, rezultatai ir komentarai.

> cor(unclass(df$issilav), unclass(df$padeda),+ use = "complete", method = "spearman")

33

Page 34: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

[1] 0.08755643> cor.test(unclass(df$issilav),unclass(df$padeda),+ use = "complete", method = "spearman")

Spearman’s rank correlation rho

data: unclass(df$issilav) and unclass(df$padeda)S = 93063000, p-value = 0.0107alternative hypothesis: true rho is not equal to 0sample estimates:

rho0.08755643

Warning message:In cor.test.default(unclass(df$issilav), unclass(df$padeda), use = "complete", :

Cannot compute exact p-value with ties> polychor(df$issilav, df$padeda, std.err = T)

Polychoric Correlation, 2-step est. = 0.143 (0.05652)Test of bivariate normality: Chisquare = 0.3121, df = 1, p = 0.5764

Abi koreliacijos teigiamos, o nepriklausomumo hipotezė atmetama; taigikuo labiau žmogus išsimokslinęs, tuo jis didesnis idealistas. Interpretuojantpolichorinės koreliacinės analizės rezultatus, vietoj išsimokslinęs gal reiktųvartoti kitą žodį — apibrėžiantį tą vidinę nestebimą savybę, kuri verčia žmo-gų siekti didesnio išsilavinimo.

2 dalis: kaip dažnai duodamas kyšis?Iš pradžių paruošiu duomenis:

load("korupcija2016")df<-data.frame(daznis=duom$B13, lytis=duom$S01,

amzius=duom$S02, issilav=duom$S04)summary(df)df<-subset(df, unclass(daznis)<6)daznis<-unclass(df$daznis)df$kiek<-ifelse(daznis==1,0,

ifelse(daznis==2,1,ifelse(daznis==3,2.5,

ifelse(daznis==4,6.5,10))))summary(df$kiek)summary(df$issilav)levels(df$issilav)<-c("nebaigtas", "nebaigtas", "nebaigtas",

34

Page 35: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

"vidurinis", "vidurinis", "aukštasis","aukštasis")

summary(df)

Skaičiuosiu tokias koreliacijas tarp kiek ir galimų kovariančių:

• su lytis: Pirsono ir Spirmeno;

• su amzius: Pirsono ir Spirmeno;

• su issilav: Spirmeno ir poliserijinę.

Programa, rezultatai ir komentarai:

#koreliacijos su lytimicor.test(unclass(df$lytis),df$kiek)cor.test(unclass(df$lytis),df$kiek, method = "spearman")

#koreliacijos su amžiumicor.test(df$amzius,df$kiek)cor.test(df$amzius,df$kiek, method = "spearman")

#koreliacijos su išsilavinimucor.test(unclass(df$issilav), df$kiek,

use = "complete", method = "spearman")polyserial(df$kiek, df$issilav, std.err = T)

Abi koreliacijos su lytimi lygios maždaug 0.03, o su amžiumi — 0.02; taigilyg ir moterys ir vyresni žmonės dažniau duoda kyšius, bet nepriklausomumohipotezė abiem atvejais neatmetama. Sirmeno koreliacija su išsilavinimu yramaždaug 0.04, o poliserijinė — apytiksliai 0.02. Nepriklausomumo hipotezėabiem atvejais taip pat neatmetama.

4. Programa:

n<-50N<-1000hatrho<-numeric(N)P<-20 #bandomų skirstinių skaičius

rho<-numeric(P)mse<-numeric(P)

35

Page 36: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

for (j in (1:P)){#generuoju atsitiktinai 2x3 tikimybių matricą pp<-runif(6)p<-p/sum(p)dim(p)<-c(2,3)#skaičiuoju vertesu<-c(sum(p[1,])/2, sum(p[1,])+sum(p[2,])/2)v<-c(sum(p[,1])/2, sum(p[,1])+sum(p[,2])/2,

sum(p[,1])+sum(p[,2])+sum(p[,2])/2)#skaičiuoju tikrąjį rhop.u<-margin.table(p, margin=1)p.v<-margin.table(p, margin=2)vid.u<-u%*%p.uvid.v<-v%*%p.vvid.uu<-(u^2)%*%p.uvid.vv<-(v^2)%*%p.vdim(u)<-c(2,1)dim(v)<-c(1,3)vid.uv<-sum((u%*%v)*p)rho[j]<-(vid.uv-vid.u*vid.v)/sqrt((vid.uu-vid.u^2)*(vid.vv-vid.v^2))

#vėl paverčiu u,v,p vektoriaisdim(u)<-c(2)dim(v)<c(3)dim(p)<-c(6)

for (i in (1:N)){#generuoju imtįxy<-sample(0:5, size=n, prob=p, replace = T)x<-u[xy%%2+1]y<-v[xy%/%2+1]hatrho[i]<-cor(x,y, method = "spearman")

}mse[j]<-sqrt(mean((hatrho-rho[j])^2, na.rm = T))

}ats<-data.frame(rho,mse)ats$rho<-round(ats$rho,3)ats$mse<-round(ats$mse,3)print(ats, row.names=F)

Rezultatai neįspūdingi:

36

Page 37: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

rho mse-0.323 0.1310.285 0.141

-0.293 0.1490.342 0.135

-0.152 0.1450.300 0.139

-0.464 0.1350.058 0.1440.185 0.149

-0.030 0.135-0.049 0.1420.084 0.1250.142 0.1590.080 0.1380.010 0.145

-0.136 0.145-0.289 0.1300.107 0.1440.116 0.143

-0.041 0.145

Galimas daiktas, imties dydis n = 50 nepakankamas. Dėl įdomumo pakar-tojau programą su n = 1000 ir gavau tokius rezultatus:

rho mse0.240 0.0300.394 0.027

-0.460 0.032-0.495 0.033-0.063 0.0320.428 0.0330.093 0.031

-0.180 0.0340.007 0.043

-0.363 0.0280.384 0.047

-0.348 0.0290.465 0.0240.595 0.021

-0.188 0.0300.050 0.033

37

Page 38: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

0.042 0.0330.489 0.0270.224 0.0300.019 0.056

Jau gražiau, ypač kai tikrasis ρ nėra artimas 0. Apskritai susidaro įspūdis,kad paklaida priklauso tik nuo n, o ne nuo ρ. Taigi jei |ρ| mažas, santykinėpaklaida pakankamai didelė.

5. Programa:

#duomenysload("korupcija2016")x1<-duom$B2101x2<-duom$B2102x3<-duom$B2103summary(x1)summary(x2)summary(x3)pazintys<-ifelse(unclass(x1)==2 | unclass(x2)==2,1,2)pazintys[is.na(pazintys)]<-2pazintys<-factor(pazintys)levels(pazintys)<-c("taip", "ne")summary(pazintys)lytis<-duom$S01tautybe<-duom$S03summary(lytis)summary(tautybe)

library(epitools)library(vcdExtra)library(ryouready)

#priklausomybė nuo lytiesriskratio(lytis,pazintys, rev = "columns")epitools::oddsratio(lytis, pazintys, rev= "columns")cor.test(unclass(lytis),unclass(pazintys))cor.test(unclass(lytis),unclass(pazintys),method = "spearman")

#priklausomybė nuo tautybėsnom.uncertainty(table(tautybe,pazintys))

38

Page 39: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

Rezultatai ir komentarai.

• unclass(x1)==2 reikšmės yra TRUE arba FALSE, o unclass(x2)==2reikšmės — TRUE arba NA. Dizjunkcijos reikšmė tada gaunasi TRUE arbaNA ir antruoju atveju ifelse funkcija duoda NA. Todėl tenka tuos NApaversti antruoju faktoriaus lygiu rankiniu būdu.

• Pakrovus biblioteką vcdExtra, kompiuteris perspėjo, kad epitoolspaketo funkcija oddsratio buvo paslėpta (matyt, tokia funkcija yrair antrajame pakete, nors aš jos ir neradau). Todėl savo programojenaudoju pilną funkcijos vardą epitools::oddsratio.

• Duomenys rodo, kad moterys lyg ir nežymiai sąžiningesnės už vyrus:jos 1/0.9 = 1.1 karto rečiau naudotųsi pažintimis nei vyrai. Tačiau ne-priklausomumo hipotezė neatmetama (1 priklauso tiek tikimybių san-tykio, tiek šansų santykio pasikliovimo intervalui), todėl jokios išvadosdaryti negalime.

• Tą patį rodo ir koreliacinė analizė. 2 × 2 lentelėse Pearson’o ir Spear-man’o koreliacijos sutampa ir nagrinėjamu atveju jos lygios 0.02. Taigimoterys (unclass(lytis)=2) labiau linkusios rinktis antrą atsakymąne. Tačiau nepriklausomumo hipotezė neatmetama.

• Neapibrėžtumo koeficientas tarp tautybės ir pazintys kintamojo lygus0.005; taigi priklausomybė labai menka. Pasikliovimo intervalo tam ko-eficientui funkcija ryouready::nom.uncertainty neduoda, bet galimaspėti, kad nepriklausomumo hipotezė ir šiuo atveju būtų atmesta.

6. Programa:

n<-15a<-seq(from=0, to=0.33, by=0.01)kieka<-length(a)vidutinis<-numeric(kieka)

N<-1000santykis<-numeric(N)

for (j in (1:kieka)){A<-a[j]B<-(1-3*A)/4p<-c(A,B,0,B,A,B,0,B,A)for (i in (1:N)){

39

Page 40: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

xy<-sample(0:8, size = n, prob = p, replace = T)x<-factor(xy%/%3+1)y<-factor(xy%%3+1)if (nlevels(x)>1 & nlevels(y)>1){

Sp<-cor(unclass(x),unclass(y),method = "spearman", use = "complete")

Ke<-cor(unclass(x),unclass(y),method = "kendall", use = "complete")

santykis[i]<-Sp/Ke}else santykis[i]<-NA

}vidutinis[j]<-mean(santykis[is.finite(santykis)])

}

plot(a,vidutinis, type = "l",main = "Spirmeno ir Kendalo koreliacijų santykis",ylab = "")

Rezultatas ir komentaras.

0.00 0.05 0.10 0.15 0.20 0.25 0.30

1.00

1.05

1.10

1.15

Spirmeno ir Kendalo koreliacijų santykis

a

Mano simuliacijos rodo, kad Spirmeno koreliacijos koeficientas tikrai di-desnis už Kendalo τb, bet 1.5 reikšmės santykis nepasiekia.

40

Page 41: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

3 Logistinė regresija

3.1 Sąlygos1. (Duomenų rinkinys korupcija2016) Q25 anketos klausime prašoma pa-sakyti, ar teko per pastaruosius 5 metus tvarkyti reikalus įvairiose institu-cijose. Pabandykite pasiaiškinti, kokiems žmonėms teko tvarkyti reikalussavivaldybių socialinės paramos skyriuose (atitinkamas kintamasis duomenųlentelėje yra B25291) — priklausomai nuo lyties (S1 klausimas), amžiaus (S2klausimas) ir išsimokslinimo (S4 klausimas).

• Pagal išsimokslinimą apklaustuosius suskirstykite į 3 grupes: nebaigtasvidurinis, vidurinis, aukštasis.

• Atlikite logistinę regresinę analizę, naudodami logit modelį, ir interpre-tuokite rezultatus. Suskaičiuokite ir paaiškinkite visus šansų santykius.Ar visi nepriklausomi modelio kintamieji statistiškai reikšmingi?

• Įvertinkite šansų, kad teko tvarkyti reikalus, santykį, kai lyginami tokiedu žmonės: 40 metų vyras, turintis vidurinį išsilavinimą, ir 50 metųmoteris su aukštuoju išsilavinimu. Raskite pasikliovimo intervalą tamšansų santykiui.

• Sudarykite ir atspausdinkite lentelę su tokiais 4 stulpeliais: modelioparametro įvertis, jo pasikliovimo intervalas (2 stulpeliai) ir p-reikšmė,atitinkanti hipotezę, kad tas parametras lygus 0.

2. (Duomenų rinkinys korupcija2016) Pabandykite pasiaiškinti, kokie žmo-nės mano, kad nėra veikiami korupcijos kasdieniame gyvenime (Q11.1 an-ketos klausimas) — priklausomai nuo lyties (S1 klausimas), amžiaus (S2klausimas) ir to, kaip jie vertina korupcijos masto pokytį per pastaruosius 5metus (Q5 klausimas).

• Pagal atsakymą į Q5 klausimą žmones suskirstykite į 3 grupes: tuos,kurie mano, kad mastai sumažėjo, nepakito ir padidėjo. Neatsakiusiusarba neturinčius nuomonės iš analizės išmeskite.

• Atlikite logistinę regresinę analizę, naudodami probit modelį, ir inter-pretuokite rezultatus. Ar visi nepriklausomi modelio kintamieji statis-tiškai reikšmingi?

• Kokia tikimybė, kad nėra veikiamas korupcijos 25 metų vyras, manan-tis, kad korupcijos mastas per pastaruosius 5 metus padidėjo? Raskiteir pasikliovimo intervalą tai tikimybei.

41

Page 42: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

• Ar galima korupcijos masto vertinimą laikyti kiekybiniu kintamuoju,t.y. ar skirtumas tarp žmonių, kurie laiko tą mastą padidėjusiu ir žmo-nių, kurie laiko jį nepakitusiu, toks pat kaip ir skirtumas tarp žmonių,kurie laiko jį nepakitusiu, ir žmonių, kurie laiko jį sumažėjusiu?

3. (Duomenų rinkinys korupcija2016) Q4.1 anketos klausime prašoma pa-sakyti savo nuomonę apie korupcijos įtaką visuomenės gyvenimui. Dalis žmo-nių nelaiko, kad korupcija yra kliūtis, ar didelė kliūtis, visuomenės gyveni-mui. Pabandykite pasiaiškinti, kas tai per žmonės — priklausomai nuo lyties(S1 klausimas), amžiaus (S2 klausimas) ir gyvenamosios vietos (S7 klausimotrečia dalis).

• Žmones, neturinčius nuomonės apie korupcijos įtaką, iš analizės išme-skite.

• Pagal gyvenamąją vietą žmones sugrupuokite į dvi grupes: vilniečiai irkauniečiai turi patekti į vieną grupę, visi kiti — į kitą.

• Atlikite logistinę regresinę analizę, naudodami logit modelį, ir interpre-tuokite rezultatus. Ar visi nepriklausomi modelio kintamieji statistiškaireikšmingi? Suskaičiuokite ir pakomentuokite visus šansų santykius.

• Papildykite modelį, į nepriklausomų kintamųjų sąrašą įtraukdami am-žiaus kvadratą. Ar dabar amžius statistiškai reikšmingas? Kokio am-žiaus žmonės labiausiai nekenčia korupcijos?

• Dar papildykite modelį taip, kad galėtumėte atsakyti į klausimą, kokioamžiaus vyrai ir kokio amžiaus moterys labiausiai nekenčia korupcijos.

4. (Duomenų rinkinys korupcija2016) Pasiaiškinkite, kokie žmonės norėtųdalyvauti antikorupcinėje veikloje (Q46 anketos klausimas), priklausomai nuoamžiaus (S2 klausimas), lyties (S1 klausimas) ir to, kaip jie atsako į Q41klausimą.

• Analizuokite tik žmones, kurie pasirinko pirmus tris atsakymus į Q41klausimą.

• Atlikite logistinę regresinę analizę, naudodami probit modelį, ir in-terpretuokite rezultatus. Ar visi nepriklausomi kintamieji statistiškaireikšmingi?

• Sudarykite klasifikavimo lentelę ir nupieškite ROC kreivę.

42

Page 43: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

• Pasirinkite klasifikavimo slenkstį, atitinkantį maždaug 80% klasifika-vimo jautrumą, ir naudodami atitinkamą klasifikavimo taisyklę prog-nozuokite, ar norėtų dalyvauti antikorupcinėje veikloje 40 metų vyras,manantis, kad veiksmingiausios yra baudžiamosios priemonės.

5. (Duomenų rinkiniai korupcija2016 ir nedarbas.xlsx) Q5 anketos klau-sime prašoma įvertinti, kaip pasikeitė korupcijos mastas Lietuvoje per pa-staruosius 5 metus. Panagrinėkite, kokie žmonės mano, kad korupcija pa-didėjo — priklausomai nuo lyties (S1 klausimas), išsilavinimo (S4 klausi-mas) ir nedarbo lygio apskrityje, kurioje žmogus gyvena (S7 klausimas irnedarbas.xlsx lentelė).

• Nagrinėkite tik žmones, kurie atsakė į Q5 klausimą.

• Pagal išsimokslinimą žmones suskirstykite į 3 grupes: nebaigtas vidu-rinis, vidurinis ir aukštasis.

• Atlikite logistinę regresinę analizę, naudodami probit modelį, ir inter-pretuokite rezultatus. Ar visi kintamieji statistiškai reikšmingi?

• Pakartokite analizę, įtraukdami į modelį ir sąveiką tarp lyties ir išsi-mokslinimo. Ar dabar visi kintamieji statistiškai reikšmingi?

• Įvertinkite tikimybę, kad vyras su viduriniu išsilavinimu, gyvenantishipotetinėje apskrityje, kurioje nedarbo lygis sutampa su vidutiniu ne-darbo lygiu Lietuvoje, manys, jog korupcijos mastai didėja. Raskite irpasikliovimo intervalą tai tikimybei.

3.2 Sprendimai1. Mano programa, 1 dalis.

load("korupcija2016")df<-data.frame(teko=duom$B25291, lytis=duom$S01, amzius=duom$S02,

mokslai=duom$S04)summary(df)summary(df$mokslai)levels(df$mokslai)<-c("nebaigtas", "nebaigtas", "nebaigtas",

"vidurinis", "vidurinis", "aukštasis","aukštasis")

df$teko<-factor(ifelse(unclass(df$teko)==1,1,0))summary(df)

43

Page 44: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

attach(df)fit<-glm(teko~lytis+mokslai+amzius, family="binomial")summary(fit)cat("Šansų santykiai\n")exp(fit$coefficients[2:5])

library(car)lht(fit,c("mokslaividurinis=0","mokslaiaukštasis=0"))

Rezultatai ir komentarai.

Coefficients:Estimate Std. Error z value Pr(>|z|)

(Intercept) -1.337803 0.455135 -2.939 0.00329 **lytisMoteris 0.442682 0.196811 2.249 0.02450 *mokslaividurinis -0.195949 0.320097 -0.612 0.54043mokslaiaukštasis -0.556136 0.350975 -1.585 0.11307amzius -0.010861 0.005567 -1.951 0.05106 .

Šansų santykiailytisMoteris mokslaividurinis mokslaiaukštasis amzius

1.5568770 0.8220540 0.5734204 0.9891977

Linear hypothesis test

Hypothesis:mokslaividurinis = 0mokslaiaukštasis = 0

Model 1: restricted modelModel 2: teko ~ lytis + mokslai + amzius

Res.Df Df Chisq Pr(>Chisq)1 9952 993 2 3.596 0.1656

Moterims šansai apsilankyti socialinės paramos skyriuje maždaug 1.6 kar-to didesni nei vyrams, žmonėms su nebaigtu viduriniu išsilavinimu — maž-daug 1.2 karto didesni, nei žmonėms su viduriniu, ir maždaug 1.8 karto dides-ni, nei žmonėms su aukštuoju išsilavinimu. Tačiau išsilavinimas nėra statis-tiškai reikšmingas faktorius. Amžius, kaip ir lytis, statistiškai reikšmingas:

44

Page 45: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

kiekvieni papildomi metai šansus apsilankyti tame skyriuje sumažina 1.01karto.

2 dalis. Tegu A yra 40 metų vyras, turintis vidurinį išsilavinimą, B — 50metų moteris su aukštuoju išsilavinimu ir oA, oB atitinkamo asmens šansaiapsilankyti socialinės paramos skyriuje. Tada

ln oA = βmv + 40βa, ln oB = βm + βma + 50βa;

čia βm, βmv, βma ir βa yra modelio parametrai, atitinkantys atitinkamus pse-udokintamuosius (lytisMoteris, mokslaividurinis, mokslaiaukštasis iramzius), todėl ieškomas šansų santykis yra

orA/B = e−βm+βmv−βma−10βa .

Jo įvertį ir pasikliovimo intervalą randu atlikęs tokią programą:

d<-c(-1,1,-1,-10)beta<-fit$coefficients[2:5]lor<-d%*%betasigma<-vcov(fit)[2:5,2:5]se<-sqrt(d%*%sigma%*%d)z<-qnorm(0.975)cat("Šansų santykis: ", exp(lor), "\n")cat("Pasikliovimo intervalas: [",exp(lor-z*se),";",exp(lor+z*se),"]\n")

Rezultatai: A asmeniui šansai apsilankyti skyriuje yra 1.02 karto didesninei B; šansų santykio pasikliovimo intervalas yra [0.58; 1.82].

3 dalis, programa ir rezultatas.

lent<-matrix(0, nrow=5, ncol = 4)row.names(lent)<-names(fit$coefficients)colnames(lent)<-c("estimate", "ci, left", "ci, right", "p value")lent[,1]<-fit$coefficientsse<-sqrt(diag(vcov(fit)))z<-qnorm(0.975)lent[,2]<-fit$coefficients-z*selent[,3]<-fit$coefficients+z*selent[,4]<-2*pnorm(abs(fit$coefficients/se), lower.tail = F)lent<-round(lent,3)print(lent)

estimate ci, left ci, right p value(Intercept) -1.338 -2.230 -0.446 0.003

45

Page 46: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

lytisMoteris 0.443 0.057 0.828 0.024mokslaividurinis -0.196 -0.823 0.431 0.540mokslaiaukštasis -0.556 -1.244 0.132 0.113amzius -0.011 -0.022 0.000 0.051

2. 1 dalis.

load("korupcija2016")df<-data.frame(neveikia=duom$B111, lytis=duom$S01, amzius=duom$S02,

mastas=duom$B05)summary(df)df$neveikia<-factor(ifelse(unclass(df$neveikia)==2,1,0))df<-subset(df, unclass(mastas)<6)df<-droplevels(df)levels(df$mastas)<-c("sumažėjo", "sumažėjo", "nepakito",

"padidėjo", "padidėjo")summary(df)

fit<-glm(neveikia~lytis+mastas+amzius, data=df,family=binomial(link="probit"))

summary(fit)

library(car)lht(fit,c("mastasnepakito=0","mastaspadidėjo=0"))

Rezultatai ir komentarai.

Coefficients:Estimate Std. Error z value Pr(>|z|)

(Intercept) -0.034189 0.164869 -0.207 0.83572lytisMoteris 0.198224 0.086356 2.295 0.02171 *mastasnepakito -0.077545 0.134727 -0.576 0.56491mastaspadidėjo -0.337956 0.129241 -2.615 0.00892 **amzius 0.001665 0.002540 0.656 0.51211

Linear hypothesis test

Hypothesis:mastasnepakito = 0mastaspadidėjo = 0

46

Page 47: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

Model 1: restricted modelModel 2: neveikia ~ lytis + mastas + amzius

Res.Df Df Chisq Pr(>Chisq)1 8612 859 2 11.135 0.00382 **

Moterys dažniau negu vyrai mano, kad yra neveikiamos korupcijos, irtas skirtumas statistiškai reikšmingas. Kuo žmogus vyresnis, tuo dažniaujis mano esąs neveikiamas korupcijos, bet amžius nėra statistiškai reikšmin-gas kintamasis. Kaip ir reikėjo tikėtis, kuo pesimistiškiau žmogus vertinakorupcijos masto pokytį per pastaruosius 5 metus, tuo rečiau jis mano esąsneveikiamas tos korupcijos. mastas yra statistiškai reikšmingas faktorius.

2 dalis.

> d<-c(1,0,0,1,25)> u<-d%*%fit$coefficients> cat("Tikimybė lygi", round(pnorm(u),2))Tikimybė lygi 0.37> se<-sqrt(d%*%vcov(fit)%*%d)> z<-qnorm(0.975)> cat("Pasikliovimo intervalas: nuo", round(pnorm(u-z*se),2),+ " iki ",round(pnorm(u+z*se),2))Pasikliovimo intervalas: nuo 0.3 iki 0.45

3 dalis. Tegu U yra latentinis kintamasis, kurio vidurkis

EU = β0 + βmoteris1lytis=Moteris + βamziusamzius+ βnepakito1mastas=nepakito + βpadidejo1mastas=padidejo;

tada tikimybė, kad žmogus mano esąs neveikiamas korupcijos, yra Φ(EU).Jeigu į mastas žiūrėtume, kaip į kiekybinį kintamąjį, įgyjantį reikšmes 1,2 ir 3 (kai žmogus atitinkamai mano, kad mastas sumažėjo, nepakito arpadidėjo), ta tikimybė būtų lygi Φ(EU); čia

EU = β0 + βmoteris1lytis=Moteris + βamziusamzius

+ βmastas1mastas=sumazejo + 2βmastas1mastas=nepakito + 3βmastas1mastas=padidejo.

Abu modeliai visada duos tą patį rezultatą, kai

β0 = β0 + βmastas,

βmoteris = βmoteris, βamzius = βamzius

47

Page 48: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

irβnepakito = βmastas = 1

2βpadidejo,

t.y. 2βnepakito = βpadidejo. Tokią hipotezę ir patikrinu:

> lht(fit,"mastaspadidėjo-2mastasnepakito=0")Linear hypothesis test

Hypothesis:- 2 mastasnepakito + mastaspadidėjo = 0

Model 1: restricted modelModel 2: neveikia ~ lytis + mastas + amzius

Res.Df Df Chisq Pr(>Chisq)1 8602 859 1 0.8971 0.3436

Kaip matome, hipotezė neatmetama.

3. 1 dalis: programa.

load("korupcija2016")df<-data.frame(itaka=duom$B041, lytis=duom$S01,

amzius=duom$S02, savivaldybe=duom$S0702)summary(df)summary(df$savivaldybe)df<-subset(df, unclass(itaka)<6)df$vk<-ifelse(unclass(df$savivaldybe)<=2,1,0)df$moteris<-ifelse(unclass(df$lytis)==2,1,0)df$nekliutis<-factor(ifelse(unclass(df$itaka)>=3,1,0))df<-droplevels(df)summary(df)

fit<-glm(nekliutis~moteris+vk+amzius, data=df, family="binomial")summary(fit)exp(fit$coefficients)exp(-fit$coefficients)

Rezultatai ir komentarai.

Coefficients:Estimate Std. Error z value Pr(>|z|)

48

Page 49: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

(Intercept) -1.8210828 0.3330396 -5.468 4.55e-08 ***moteris 0.1176070 0.1900331 0.619 0.536vk -0.2527489 0.2195430 -1.151 0.250amzius 0.0006628 0.0055163 0.120 0.904

> exp(fit$coefficients)(Intercept) moteris vk amzius

0.1618504 1.1248019 0.7766629 1.0006630> exp(-fit$coefficients)(Intercept) moteris vk amzius

6.1785452 0.8890454 1.2875599 0.9993375

Kad būtų sklandesnė interpretacija, žmones, nelaikančius korupcijos blo-gu dalyku, vadinsiu keistuoliais. Analizė rodo, kad tarp moterų keistuoliųdaugiau, negu tarp vyrų (jei tiksliau, moteriai šansai būti keistuole 1,12 kartodidesni), o Vilniuje ir Kaune — mažiau, nei likusioje Lietuvos dalyje (vilnie-čiams ir kauniečiams šansai būti keistuoliu 1,29 karto mažesni). Senstantšansai būti keistuoliu nežymiai didėja (kiekvieni metai tuos šansus padidina1,0007 karto). Tačiau nė vienas iš į modelį įtrauktų kintamųjų nėra statis-tiškai reikšmingas.

2 dalis: programa.

df$amzius2<-df$amzius^2fit<-glm(nekliutis~moteris+vk+amzius+amzius2,

data=df, family="binomial")summary(fit)

library(car)lht(fit, c("amzius=0", "amzius2=0"))a<-fit$coefficients["amzius2"]b<-fit$coefficients["amzius"]-b/(2*a)

Rezultatai ir komentarai.

Coefficients:Estimate Std. Error z value Pr(>|z|)

(Intercept) -0.7724395 0.7330947 -1.054 0.292moteris 0.1231070 0.1903085 0.647 0.518vk -0.2707743 0.2199659 -1.231 0.218amzius -0.0464549 0.0302704 -1.535 0.125amzius2 0.0004648 0.0002940 1.581 0.114

49

Page 50: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

Linear hypothesis test

Hypothesis:amzius = 0amzius2 = 0

Model 1: restricted modelModel 2: nekliutis ~ moteris + vk + amzius + amzius2

Res.Df Df Chisq Pr(>Chisq)1 9132 911 2 2.5151 0.2843

amzius49.97832

Įtraukus į modelį amžiaus kvadratą, situacija faktiškai nepasikeitė: nėvienas kintamasis nėra statistiškai reikšmingas. Tiesa, dabar analizė rodo,kad polinkis į keistuoliškumą pradeda didėti tik nuo 50 metų, o iki tol jismažėja.

3 dalis, programa. Norint, kad vyrams ir moterims ekstremalus amžiusgautųsi skirtingas, į modelį reikia įtraukti ir lyties sąveiką su amžiui ir suamžiaus kvadratu. Modelis tada gaunasi toks:

EU = β0 + β11moteris + β21vk + β3x + β4x2 + β51moterisx + β61moterisx2;

čia EU yra sąlyginis keistumo vidurkis, o x žymi amžių. Kitaip tariant,vyrams

EU = β0 + β3x + β4x2,

o moterimsEU = β′0 + (β3 + β5)x + (β4 + β6)x2.

Ekstremalūs amžiai tada randami, atlikus tokią programą.

fit<-glm(nekliutis~moteris+vk+amzius+amzius2+moteris*amzius+moteris*amzius2,data=df, family="binomial")

summary(fit)c<-fit$coefficientsopt<-matrix("", nrow=2, ncol = 2)row.names(opt)<-c("Optimalus amžius","Koks")

50

Page 51: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

colnames(opt)<-c("vyrų","moterų")opt[1,1]<-round(-c[4]/(2*c[5]),0)opt[2,1]<-ifelse(c[5]>0,"min","max")opt[1,2]<-round(-(c[4]+c[6])/(2*(c[5]+c[7])),0)opt[2,2]<-ifelse(c[5]+c[7]>0,"min","max")print(opt, quote = F)

Rezultatai ir komentarai.

vyrų moterųOptimalus amžius 41 50Koks min min

Taigi vyrams kritinis amžius yra 41 metai, moterims — 50 metų. Ikikritinio amžiaus keistuoliškumas mažėja, po to pradeda didėti.

4. 1 dalis, programa.

load("korupcija2016")summary(duom$B41)df<-data.frame(noretu=duom$B46, lytis=duom$S01, amzius=duom$S02,

priemones=duom$B41)summary(df)df<-subset(df,unclass(priemones)<4)df$noretu<-ifelse(unclass(df$noretu)==1,1,0)df$noretu<-factor(df$noretu)df<-droplevels(df)levels(df$priemones)<-c("prevencinės", "švietimo", "baudžiamosios")summary(df)

fit<-glm(noretu~lytis+amzius+priemones, data=df,family = binomial(link = "probit"))

summary(fit)

lht(fit,c("priemonesšvietimo=0","priemonesbaudžiamosios=0"))

Rezultatai ir komentarai.

Coefficients:Estimate Std. Error z value Pr(>|z|)

(Intercept) -0.312367 0.194861 -1.603 0.1089lytisMoteris -0.287408 0.115812 -2.482 0.0131 *amzius -0.014137 0.003333 -4.241 2.22e-05 ***

51

Page 52: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

priemonesšvietimo 0.033712 0.183249 0.184 0.8540priemonesbaudžiamosios -0.137938 0.128858 -1.070 0.2844

Linear hypothesis test

Hypothesis:priemonesšvietimo = 0priemonesbaudžiamosios = 0

Model 1: restricted modelModel 2: noretu ~ lytis + amzius + priemones

Res.Df Df Chisq Pr(>Chisq)1 8692 867 2 1.6687 0.4342

Latentinį kintamąjį, lemiantį, kad žmogus pasirenka 1 atsakymą į Q46klausimą, vadinsiu aktyvumu. Taigi kai aktyvumas viršija tam tikrą lygį,žmogus pradeda norėti dalyvauti antikorupcinėje veikloje. Analizė rodo, kadmažiau aktyvios nei vyrai ir su amžiumi aktyvumas mažėja; be to, tiek ly-tis, tiek amžius yra statistiškai reikšmingi kintamieji. Aktyviausi yra tie,kurie efektyviausiomis laiko švietimo priemones; mažiausiai aktyvūs — tie,kuriems patinka baudžiamosios priemonės. Tačiau pastarosios išvados abe-jotinos vertės, nes atsakymas į Q41 klausimą nėra statistiškai reikšmingaskintamasis.

2 dalis: programa.

slenkstis<-seq(from=0.01,to=0.99, by=0.01)kiek<-length(slenkstis)sens<-numeric(kiek)spec<-numeric(kiek)probs<-fit$fitted.valuesfor (i in 1:kiek){

haty<-factor(ifelse(probs>slenkstis[i],1,0))if (nlevels(haty)==2){

tbl<-table(df$noretu,haty)sens[i]<-tbl[2,2]/sum(tbl[2,])spec[i]<-tbl[1,1]/sum(tbl[1,])

} else if (haty[1]==0){sens[i]<-0spec[i]<-1

} else {

52

Page 53: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

sens[i]<-1spec[i]<-0

}}lent<-as.matrix(data.frame(slenkstis,sens,spec))print(lent[1:30,])plot(1-spec,sens, type="l", main = "ROC kreivė")abline(a=0,b=1,col="red")

asmuo<-c(1,0,40,0,1)prob<-pnorm(fit$coefficients%*%asmuo)prob

Rezultatai ir komentarai.

slenkstis sens spec[1,] 0.01 1.00000000 0.00000000[2,] 0.02 1.00000000 0.00000000[3,] 0.03 1.00000000 0.01161290[4,] 0.04 0.97938144 0.05419355[5,] 0.05 0.93814433 0.09806452[6,] 0.06 0.89690722 0.19096774[7,] 0.07 0.83505155 0.29290323[8,] 0.08 0.80412371 0.37548387[9,] 0.09 0.77319588 0.47096774

[10,] 0.10 0.70103093 0.53419355[11,] 0.11 0.62886598 0.61548387[12,] 0.12 0.56701031 0.67096774[13,] 0.13 0.52577320 0.72774194[14,] 0.14 0.46391753 0.76903226[15,] 0.15 0.43298969 0.80774194[16,] 0.16 0.39175258 0.82838710[17,] 0.17 0.34020619 0.84903226[18,] 0.18 0.25773196 0.87741935[19,] 0.19 0.20618557 0.88903226[20,] 0.20 0.18556701 0.91612903[21,] 0.21 0.18556701 0.93419355[22,] 0.22 0.15463918 0.95483871[23,] 0.23 0.14432990 0.96258065[24,] 0.24 0.09278351 0.97806452[25,] 0.25 0.07216495 0.98580645[26,] 0.26 0.05154639 0.99225806

53

Page 54: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

[27,] 0.27 0.03092784 0.99354839[28,] 0.28 0.03092784 0.99741935[29,] 0.29 0.01030928 1.00000000[30,] 0.30 0.00000000 1.00000000

> prob[,1]

[1,] 0.1548693

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.2

0.4

0.6

0.8

1.0

ROC kreivė

1 − spec

sens

Iš lentelės matyti, kad 80% klasifikavimo jautrumas pasiekiamas, kai kla-sifikavimo slenkstis lygus 0.08. Naudojant tokią taisyklę, reiktų spėti, kadminimas asmuo norės dalyvauti antikorupcinėje veikloje.

5. 1 dalis, programa:

load("korupcija2016")df<-data.frame(mastas=duom$B05, lytis=duom$S01,

mokslai=duom$S04, apskritis=duom$S0701)summary(df)summary(df$mokslai)df<-subset(df, unclass(mastas)<6)df$isaugo<-factor(ifelse(unclass(df$mastas)>3,1,0))levels(df$mokslai)<-c("nebaigtas","nebaigtas","nebaigtas",

"vidurinis","vidurinis","aukštasis",

54

Page 55: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

"aukštasis")df<-droplevels(df)summary(df)

library(readxl)nedarbas <- read_excel(file.choose())View(nedarbas)levels(df$apskritis)perstata<-c(10,2,3,6,5,1,4,7,8,9)temp<-nedarbas[perstata,]View(temp)df$nedarbas<-temp$nedarbas[unclass(df$apskritis)]summary(factor(df$nedarbas))

fit<-glm(isaugo~lytis+mokslai+nedarbas, data=df,family=binomial(link="probit"))

summary(fit)library(car)lht(fit,c("mokslaividurinis=0","mokslaiaukštasis=0"))

Rezultatai ir komentarai.

Coefficients:Estimate Std. Error z value Pr(>|z|)

(Intercept) 0.009403 0.278945 0.034 0.973lytisMoteris 0.066014 0.086428 0.764 0.445mokslaividurinis 0.197342 0.159236 1.239 0.215mokslaiaukštasis -0.004833 0.166418 -0.029 0.977nedarbas -0.020731 0.026773 -0.774 0.439

Linear hypothesis test

Hypothesis:mokslaividurinis = 0mokslaiaukštasis = 0

Model 1: restricted modelModel 2: isaugo ~ lytis + mokslai + nedarbas

Res.Df Df Chisq Pr(>Chisq)1 8572 855 2 5.3856 0.06769 .

55

Page 56: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

Kad interpretacija skambėtų gražiau, žmones, manančius, kad korupcijoslygis išaugo, vadinsiu pesimistais. Analizė rodo, kad moterys šiek tiek dides-nės pesimistės nei vyrai, žmonės su viduriniu išsilavinimu yra didžiausi, o suaukštuoju — mažiausi pesimistai. Tačiau tokios išvados nėra labai pagrįs-tos, nes nei lytis, nei išsimokslinimas nėra statistiškai reikšmingi kintamie-ji (tiesa, išsimokslinimas statistiškai reikšmingas, jei reikšmingumo lygmenįimsime 0.1). Kaip bebūtų keista, kuo didesnis apskrityje nedarbo lygis, tuomažiau joje pesimistų. Tiesa, ir ši švada nepatikima, nes nedarbo lygis nėrastatistiškai reikšmingas.

2 dalis, programa.

fit<-glm(isaugo~lytis+mokslai+nedarbas+lytis*mokslai, data=df,family=binomial(link="probit"))

summary(fit)

lht(fit,c("lytisMoteris=0","lytisMoteris:mokslaividurinis=0","lytisMoteris:mokslaiaukštasis=0"))

lht(fit,c("mokslaividurinis=0","mokslaiaukštasis=0","lytisMoteris:mokslaividurinis=0","lytisMoteris:mokslaiaukštasis=0"))

asmuo<-c(1,0,1,0,mean(temp$nedarbas),0,0)tik<-fit$coefficients%*%asmuocat("Tikimybė: ",round(pnorm(tik),3),"\n")delta<-qnorm(0.975)*(asmuo%*%vcov(fit)%*%asmuo)cat("Intervalas: [", round(pnorm(tik-delta),3),";",

round(pnorm(tik+delta),3),"]\n")

Rezultatai ir komentarai.

Coefficients:Estimate Std. Error z value Pr(>|z|)

(Intercept) 0.21126 0.30806 0.686 0.493lytisMoteris -0.38453 0.30016 -1.281 0.200mokslaividurinis -0.01031 0.21681 -0.048 0.962mokslaiaukštasis -0.26687 0.23237 -1.148 0.251nedarbas -0.02055 0.02681 -0.767 0.443lytisMoteris:mokslaividurinis 0.45913 0.32098 1.430 0.153lytisMoteris:mokslaiaukštasis 0.54724 0.33493 1.634 0.102

Linear hypothesis test

56

Page 57: Kokybinių duomenų analizė Užduotys prie kompiuteriovytas/stat/kda-uzduotys.pdf · dos tikimybė, kai nnedidelis; ... Kompiuteris pakartojo perspėjimą, bet dabar jau jį

Hypothesis:lytisMoteris = 0lytisMoteris:mokslaividurinis = 0lytisMoteris:mokslaiaukštasis = 0

Model 1: restricted modelModel 2: isaugo ~ lytis + mokslai + nedarbas + lytis * mokslai

Res.Df Df Chisq Pr(>Chisq)1 8562 853 3 3.2688 0.352

Linear hypothesis test

Hypothesis:mokslaividurinis = 0mokslaiaukštasis = 0lytisMoteris:mokslaividurinis = 0lytisMoteris:mokslaiaukštasis = 0

Model 1: restricted modelModel 2: isaugo ~ lytis + mokslai + nedarbas + lytis * mokslai

Res.Df Df Chisq Pr(>Chisq)1 8572 853 4 8.0353 0.09029 .

Tikimybė: 0.506Intervalas: [ 0.5 ; 0.511 ]

Įtraukus sąveiką tarp lyties ir išsimokslinimo, situacija iš esmės nepasi-keitė: visi kintamieji vis tiek liko statistiškai nereikšmingi. Tikimybė, kadsąlygoje minimas asmuo bus pesimistas yra maždaug 0.506 (95% patikimumopasikliovimo intervalas: [0.5; 0.511]).

57