8. nodaļa. Dispersijas analīze

8.1 Teorētiskais pamatojums

Vēl jāuzraksta!

8.2 Dati

Dispersijas analīzes piemēram izmantosim datu failu augi.txt, kas satur informāciju par augu biomasu parauglaukumā eksperimentā, kurā pētīta barības vielu daudzuma (barv) un ūdens daudzuma (udens) ietekme. Barības vielu daudzumam ir četras iespējamās grupas: kontrole (kontr), papildus fosfors(fosf), papildus slāpeklis (slap) un šo abu elementu kombinācija (slfo). Faktoram ūdens ir divi līmeņi: kontrole (norm) un papildus ūdens (papild).

augi<-read.table(file="augi.txt",header=TRUE,sep="\t",dec=".")
str(augi)
## 'data.frame':    40 obs. of  3 variables:
##  $ biomasa: num  60.8 61.3 49.6 53.8 54.1 47.6 63.7 50.3 50.9 55.7 ...
##  $ barv   : Factor w/ 4 levels "fosf","kontr",..: 2 2 2 2 2 2 2 2 2 2 ...
##  $ udens  : Factor w/ 2 levels "norm","papild": 1 1 1 1 1 2 2 2 2 2 ...
summary(augi)
##     biomasa         barv       udens   
##  Min.   :47.60   fosf :10   norm  :20  
##  1st Qu.:55.67   kontr:10   papild:20  
##  Median :59.20   slap :10              
##  Mean   :59.66   slfo :10              
##  3rd Qu.:63.70                         
##  Max.   :74.90

Lai gūtu sākotnējo priekštatu par augu biomasas atšķirībām starp katra no faktoriem gradācijas klasēm, var izmantot funkciju tapply(), kurai kā argumentus norādam kolonnu, kas satur datus, kolonnu, kas satur dalījuma līmeņus, kā arī rādītāju, kuru vēlamies aprēķināt. Šo funkciju pielietojam, lai apskatītu kāda ir vidējā aritmētiskā augu biomasa katrā no barības vielu un katrā no ūdens režīmiem.

tapply(augi$biomasa,augi$barv,mean)
##  fosf kontr  slap  slfo 
## 61.04 54.78 57.44 65.37
tapply(augi$biomasa,augi$udens,mean)
##   norm papild 
## 59.755 59.560

8.3 Dispersiju homogenitāte

Tā kā viens no dispersijas analīzes pieņēmumiem ir, ka dispersijas starp gradācijas līmeņiem ir homogēnas, tas ir, to atšķirība nav statistiski būtiska,ir jāveic dispersiju salīdzināšana. Viens no testiem, ko var izmantot, ir Bartletta tests, ko veic ar funkciju bartlett.test(). Šai funkcijai kā argumenti jānorāda kolonna, kas satur datus, kā arī kolonna, kas satur dalījuma līmeņus. Analīzes rezultātos parādās aprēķinātā \(K^2\) vērtība, brīvības pakāpju skaits un p-vērtība.

with(augi,bartlett.test(biomasa,barv))
## 
##  Bartlett test of homogeneity of variances
## 
## data:  biomasa and barv
## Bartlett's K-squared = 4.4872, df = 3, p-value = 0.2134

Secinājums: tā kā iegūtā p-vērtība (0.2134) ir lielāka par būtiskuma līmeni (\(\alpha=0.05\)), tad atšķirība starp dispersijām nav statistiski būtiska jeb dispersijas ir homogēnas.

with(augi,bartlett.test(biomasa,udens))
## 
##  Bartlett test of homogeneity of variances
## 
## data:  biomasa and udens
## Bartlett's K-squared = 1.4017, df = 1, p-value = 0.2364

Secinājums: tā kā iegūtā p-vērtība (0.2364) ir lielāka par būtiskuma līmeni (\(\alpha=0.05\)), tad atšķirība starp dispersijām nav statistiski būtiska jeb dispersijas ir homogēnas.

8.4 Modeļu definēšana

Pašas dispersijas analīzes veikšanai var izmantot vairākas funkcijas, no kurām viena ir funkcija aov(). Šai funkcijai kā argumenti jānorāda analīzējamais mainīgais (šajā gadījumā biomasa), tad ir tildes zīme un viens vai vairāki ietekmējošie faktori. Ja jāpārbauda tikai faktoru atsevišķa ietekme, tad tos jāatdala ar plus zīmi, bet ja ir nepieciešams pārbaudīt arī faktoru kombinācijas ietekmi, tad faktorus var atdalīt ar zvaigznītes zīmi. Beigās jānorāda arī no kuras tabulas šos datus ņemt.

Dispersijas analīzē ir svarīgi, lai programma faktoru uztvertu tiešām kā faktoru. Ja gradācijas līmeņi ir nosaukti ar rakstu zīmēm, tad problēmu nav. Ja gradācijas līmeņi ir apzīmēti ar skaitļiem, tad pirms analīzes veikšanas šo mainīgo vajag pārvērst par faktoru ar funkcijas as.factor() palīdzību.

Analīzes rezultātā parādās katra faktora un atlikuma vērtību brīvības pakāpju skaits, noviržu kvadrātu summa un vidējā noviržu kvadrātu summa, atbilstošā F vērtība un p-vērtība (Pr(>F)).

mod1<-aov(biomasa~barv*udens,data=augi)
summary(mod1)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## barv         3  632.5  210.84   9.834 9.52e-05 ***
## udens        1    0.4    0.38   0.018    0.895    
## barv:udens   3   43.7   14.56   0.679    0.571    
## Residuals   32  686.1   21.44                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Secinājums: faktora barības vielu daudzums ietekme uz augu biomasu ir statistiski būtiska, jo iegūtā p-vērtība ir mazāka par noteikto būtiskuma līmeni (\(\alpha=0.05\)), bet faktora ūdens un abu faktoru kombinācijas ietekme nav statistiski būtiska, jo iegūtās p-vērtības ir lielākas par būtiskuma līmeni.

Tā kā faktora ūdens un faktoru kombinācijas ietekme nav būtiska, tad varam izveidot arī vienkāršāku modeli, kurā ir atstāts tikai faktors barības vielu daudzums. Arī šajā modelī barības vielu daudzuma ietekme ir būtiska.

mod2<-aov(biomasa~barv,data=augi)
summary(mod2)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## barv         3  632.5  210.84   10.39 4.54e-05 ***
## Residuals   36  730.1   20.28                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

8.5 Gradācijas klašu salīdzināšana

Konstatējot kāda faktora būtisku ietekmi, var veikt tā saucamo post-hoc testu, tas ir, salīdzināt gradācijas klases savā starpā. Viena no funkcijām šādam testam ir TukeyHSD. Šai funkcijai kā argumenti jānorāda piemērotās dispersijas analīzes modelis, kā arī pēdiņās jānorāda faktora nosaukums, kura gradācijas klases savā starpā vēlas salīdzināt. Analīzes rezultātos iegūst vidējo aritmētisko starpību starp katrām divām gradācijas klasēm, šo vidējo aritmētisko starpības ticamības intervālu un atbilstošo p-vērtību.

TukeyHSD(mod2,"barv")
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = biomasa ~ barv, data = augi)
## 
## $barv
##             diff       lwr        upr     p adj
## kontr-fosf -6.26 -11.68427 -0.8357301 0.0183777
## slap-fosf  -3.60  -9.02427  1.8242699 0.2958204
## slfo-fosf   4.33  -1.09427  9.7542699 0.1570183
## slap-kontr  2.66  -2.76427  8.0842699 0.5561038
## slfo-kontr 10.59   5.16573 16.0142699 0.0000391
## slfo-slap   7.93   2.50573 13.3542699 0.0019671

Secinājums: statistiski būtiska atšķirība pastāv starp gradācijas klasēm kontrole-fosfors, kontrole-fosfors/slapeklis, kā arī slāpeklis-fosfors/slapeklis, jo atbilstošās p-vērtības ir mazākas par būtiskuma līmeni. Pārējos gadījumos atšķirības starp gradācijas klašu vidējiem aritmētiskajiem nav statistiski būtiska, jo iegūtās p-vērtības ir lielākas par noteikto būtiskuma līmeni.

8.6 Rezultātu grafiskā attēlošana

Dispersijas analīzes rezultātu grafiskai attēlošanai var izmantot vairākus grafiku veidus, piemēram, box-plot grafiku apvienojumu, kur katrai gradācijas klasei ir savs mazais box-plot attēls (8.1 attēls).

boxplot(augi$biomasa~augi$barv)
Gradācijas klašu box-plot attēls

Figure 8.1: Gradācijas klašu box-plot attēls

Vēl viens variants ir izmantot funkciju plotmeans() no paketes gplots. Šī funkcija izveido grafiku, kurā attēlots katras gradācijas klases vidējais aritmētiskais un tā ticamības intervāls (8.2 attēls). Kā papildus arguments izmantots connect=FALSE, lai vidējie aritmētiskie netiktu savā starpā automātiski savienoti.

library(gplots)
plotmeans(augi$biomasa~augi$barv,connect=FALSE,xlab="baribas vielas")
Gradācijas klašu vidējo aritmētisko attēls

Figure 8.2: Gradācijas klašu vidējo aritmētisko attēls