1. Tehke paarisregressiooni mudel, mis ennustab matemaatika alatesti skoori (tunnus PVMATH) lugemise skoori kaudu (PVREAD). Kas seos on oluline? Kui suure osa matemaatika testi skooride hajuvusest lugemise testi skoor ära seletab? Mitme punkti võrra muutub matemaatika skoor kui lugemise skoor muutub ühe punkti võrra? Arvutage ka standardiseeritud regressioonikordaja ja mudeli parameetrite usalduspiirid. Mida nende põhjal järeldada saab?

mudel1 <- lm(PVMATH ~ PVREAD, data=pisa)
summary(mudel1)
## 
## Call:
## lm(formula = PVMATH ~ PVREAD, data = pisa)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -162.940  -28.621   -0.236   27.764  178.393 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 1.196e+02  3.817e+00   31.33   <2e-16 ***
## PVREAD      7.903e-01  7.474e-03  105.73   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 40.97 on 4766 degrees of freedom
## Multiple R-squared:  0.7011, Adjusted R-squared:  0.701 
## F-statistic: 1.118e+04 on 1 and 4766 DF,  p-value: < 2.2e-16

2. Proovime mudeleid koostada väiksemas valimis. Teeme kõigepealt tabeli nimega pisa2, millesse valime tabelist pisa juhuslikult 400 vastajat. St valim läheb umbes 10 korda väiksemaks. Sellise tabeli saame alloleva koodireaga:

pisa2 <- pisa[sample(1:nrow(pisa), 400), ]

(Funktsiooniga sample genereerime 400 juhuslikku arvu vahemikus 1-st kuni tabeli pisa ridade arvuni. Pannes selle tabeli nime järele nurksulgude sisse ja selle järele koma, valitakse tabelist nende järjekorranumbritega read.)

A. Koostage tabelit pisa2 kasutades mudel, milles sõltuvaks tunnuseks on matemaatika testi skoor (PVMATH) ja prediktoriteks samad tunnused, millega ülal ennustasime loodusteaduste testi skoori: teaduse oluliseks pidamine (GENSCIE), huvi teaduse vastu (INTSCIE) ja motivatsioon loodusteadusi õppida (INSTSCIE).

mudel2 <- lm(PVMATH ~ GENSCIE + INTSCIE + INSTSCIE, data=pisa2)
summary(mudel2)
## 
## Call:
## lm(formula = PVMATH ~ GENSCIE + INTSCIE + INSTSCIE, data = pisa2)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -221.110  -45.271    0.169   51.904  223.384 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  517.664      3.672 140.962  < 2e-16 ***
## GENSCIE       22.141      4.313   5.134 4.46e-07 ***
## INTSCIE        9.721      5.239   1.855   0.0643 .  
## INSTSCIE     -15.405      5.063  -3.042   0.0025 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 70.82 on 396 degrees of freedom
## Multiple R-squared:  0.08498,    Adjusted R-squared:  0.07805 
## F-statistic: 12.26 on 3 and 396 DF,  p-value: 1.098e-07

B. Arvutage ka standardiseeritud kordajad ja mudeli parameetrite 95%-usalduspiird. Standardiseeritud kordajad - ehk beeta kordajad - mitme SD võrra muutub sõltuv muutuja, kui prediktor muutub ühe SD võrra

library(QuantPsyc)
lm.beta(mudel2)
##    GENSCIE    INTSCIE   INSTSCIE 
##  0.2676333  0.1004049 -0.1639244

Mudeli parameetire usalduspiirid:

confint(mudel2)
##                   2.5 %     97.5 %
## (Intercept) 510.4444870 524.884007
## GENSCIE      13.6623257  30.619243
## INTSCIE      -0.5790127  20.021488
## INSTSCIE    -25.3589350  -5.450641

C. Kui suure osa sõltuva tunnuse hajuvusest mudel ära seletab? Kas kõik prediktorid on olulised? Kui mõni prediktor pole oluline, tehke uus mudel, millest see välja jäetud on?

mudel3 <- lm(PVMATH ~ GENSCIE + INSTSCIE, data=pisa2)
summary(mudel3)
## 
## Call:
## lm(formula = PVMATH ~ GENSCIE + INSTSCIE, data = pisa2)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -213.153  -44.268    0.987   54.608  234.232 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  518.777      3.634 142.750  < 2e-16 ***
## GENSCIE       23.996      4.208   5.702 2.31e-08 ***
## INSTSCIE     -12.231      4.780  -2.559   0.0109 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 71.04 on 397 degrees of freedom
## Multiple R-squared:  0.07703,    Adjusted R-squared:  0.07238 
## F-statistic: 16.57 on 2 and 397 DF,  p-value: 1.231e-07

D. Arvutage uue mudeli standardiseeritud jäägid (või vana mudeli omad, kui kõik prediktorid on olulised). Kui suur on jääkide osakaal, mille absoluutväärtus on suurem kui 2? Kas neid on liiga palju?

m_residuals <- rstandard(mudel3)

jääke üle kahe:

sum(abs(m_residuals ) > 2)# 
## [1] 17
nrow(pisa2) * 0.05# 17 kas seda on rohkem kui 5%
## [1] 20
sum(abs(m_residuals) > 3)# standardiseeritud jäägid absoluutväärtusega üle 3-e
## [1] 2

E. Arvutage mudeli kohta Cooki kaugused. Kas esineb liiga suure mõjukuseastmega vaatlusi?

max(cooks.distance(mudel3))
## [1] 0.1129649
pisa[cooks.distance(mudel3) > 1,]# kui juhtumeid oleks, saaks ühest suuremad nii kätte
##  [1] PVMATH   PVREAD   PVSCIE   GENSCIE  INSTSCIE INTSCIE  JOYSCIE 
##  [8] PERSCIE  SCIEEFF  SCIEFUT  SCSCIE   GR       GENDER  
## <0 rows> (or 0-length row.names)

F. Kas mudelil on probleeme multikollineaarsuse, heteroskedaktilisuse, jääkide jaotuse või jääkide sõltumatusega?

cor(pisa2[,c("PVMATH", "GENSCIE", "INSTSCIE")])
##              PVMATH   GENSCIE   INSTSCIE
## PVMATH    1.0000000 0.2486080 -0.0377702
## GENSCIE   0.2486080 1.0000000  0.3184769
## INSTSCIE -0.0377702 0.3184769  1.0000000
library(car)
vif(mudel3)#Indeksid väärtusega üle 10-e annava mäarku probleemsest multikollineaarsusest
##  GENSCIE INSTSCIE 
## 1.112876 1.112876
plot(fitted.values(mudel3), resid(mudel3))

jääkide jaotus

hist(m_residuals)

qqnorm(m_residuals)#Sirge joon esindab normaaljaotust ja punktid jaake

jääkide multikolineaarsus

dwt(mudel3) 
##  lag Autocorrelation D-W Statistic p-value
##    1     -0.07710556       2.14624   0.148
##  Alternative hypothesis: rho != 0

Vaatame väljundis numbrit, mille kohale on kirjutatud D-W Statistic. Selle soovitav väärtus on vahemikus 1 kuni 3, mida lähemal 2-le, seda parem.