Epätasapainoiset mallit

ANOVAn perusesimerkkimme (taimet) on tasapainoinen ja täydellinen. Tämä tarkoittaa, että meillä on kaikkia käsittelykombinaatiot ja kaikista yhtä monta toistoa (tosin vain yksi). Perinteinen ANOVA on kehitetty juuri tällaisille tasapainoisille ja täydellisille asetelluille kokeille (``designed experiments''). Koska asetelmatekijät (käsittelyt) ovat teknisesti toisistaan riippumattomia, voimme analysoida niiden vaikutusta yhtaikaa yhdessä taulukossa.

Epätasapainoinen asetelma syntyy, kun meillä ei ole kaikkia käsittelykombinaatioita tai niissä on eri määrä toistoja. Joskus tutkija laatii jopa tarkoituksella tällaisen epätasapainoisen asetelman. Mikäli hän silloin joutuu ongelmiin analyysin kanssa, hän saa ansionsa mukaan. Sangen usein alkujaan tasapainoinen asetelma muuttuu epätasapainoiseksi tapaturmaisesti. Voimme kuvitella, että fiktiivisessä männynistutuskokeessa fiktiivinen hirvi (Alces alces) syö ensimmäisen taimen (istutus kenno, emo 1). Tällöin ANOVA-taulukot näyttävät tältä:

> attach(taimet)
> ### Negatiivinen indeksi poistaa havainnon
> summary(aov(pituus[-1] ~ istutus[-1] + emo[-1]))
            Df  Sum Sq Mean Sq F value  Pr(>F)
istutus[-1]  2 102.679  51.339  8.9844 0.01167
emo[-1]      4  42.750  10.687  1.8703 0.22052
Residuals    7  40.000   5.714                
> summary(aov(pituus[-1] ~ emo[-1] + istutus[-1]))
            Df  Sum Sq Mean Sq F value   Pr(>F)
emo[-1]      4  28.929   7.232  1.2656 0.367551
istutus[-1]  2 116.500  58.250 10.1937 0.008441
Residuals    7  40.000   5.714                 
Käsittelyjen keskineliösummat, F-arvot ja P-arvot muuttuvat kun tekijöitä verrataan eri järjestyksessä. Tasapainoisessa ANOVA ssa tekijöiden vertausjärjestys ei vaikuttanut merkitsevyyksiin (kokeile!), mutta yhden ainokaisen kuvitellun taimen tuho aiheutti huomauttavia seurauksia taulukkoomme. Onko siis käsittelyn istutus p = 0.01167 vai p = 0.008441? Hupaisaa kyllä, nämä arvot saisivat perinteisillä rajoilla eri määrän tähtiä, mikä on jälleen argumentti tähtien käyttöä vastaan.

Samat erot näkyvät myös mallitaulukoissa, joka mainitsee nyt myös toistojen määrät luokissa (rep):

> model.tables(aov(pituus[-1] ~ istutus[-1] + emo[-1]))
Tables of effects

 istutus[-1]
     kenno ruukku  rulla
    -2.679  3.571 -1.429
rep  4.000  5.000  5.000

 emo[-1]
     1     2     3    4    5
    -3 -1.25 -0.25 1.75 1.75
rep  2  3.00  3.00 3.00 3.00
> model.tables(aov(pituus[-1] ~ emo[-1] + istutus[-1]))
Tables of effects

 emo[-1]
         1      2       3     4     5
    -1.929 -1.429 -0.4286 1.571 1.571
rep  2.000  3.000  3.0000 3.000 3.000

 istutus[-1]
    kenno ruukku rulla
       -3    3.7  -1.3
rep     4    5.0   5.0
Istutuskäsittelyjen vaikutukset riippuvat siitä, analysoidaanko ne ennen vai jälkeen emojen vaikutuksen. Koska meillä on eri määrät toistoja käsittelyissä, vaikutusten suora summa ei olekaan enää nolla, mutta toistojen määrällä painotettu summa on. Riippuvuus on teknistä ja välttämätöntä. Tasapainoisessa asetelmassa kaikki istutus-vaikutukset arvioitiin samoista emopuista. Nyt sen sijaan käsittelyn kenno vaikutukset on arvioitu eri emopuista kuin muiden käsittelyjen vaikutukset.

Jos malli on epätasapainoinen, siitä ei voi laatia yhtä yksiselitteistä ANOVA-taulukkoa, joka osoittaisi tekijän merkityksen, sillä vertausjärjestys vaikuttaa tunnuslukuihin. Tämä on kiusallista. Muuan ratkaisu on laatia yksi yhteinen taulukko vaikka sellaista ei voi laatia. Tätä sovelletaan SAS-ohjelmassa sekä muissa ohjelmissa, jotka seuraavat sen esimerkkiä. SAS nimittää tällaisia mahdottomia neliösummia tyypin III neliösummiksi. ``Tyypin III'' neliösummat arvioidaan siten, että kukin tekijä erikseen poistetaan mallista, jossa kaikki muut tekijät ovat mukana ja nämä erikseen poistot raportoidaan yhtaikaa kaikille tekijöille. Toisin sanoen, tekijöiden vertailu perustuu eri malleihin. Tällä tavoin saadaan kätkettyä, ettei tekijöitä voi vertailla toisistaan riippumatta epätasapainoisessa mallissa ja esitetään kuitenkin tämä mahdoton vertailu.

Tällainen syntinen vertailu on mahdollista tehdä myös R:ssä, mikäli sitä jostain syystä todella haluaa:

### Älä tee tätä kotona!
> drop1(aov(pituus[-1] ~ emo[-1] + istutus[-1]), test="F")
Single term deletions

Model:
pituus[-1] ~ emo[-1] + istutus[-1]
            Df Sum of Sq     RSS     AIC F value    Pr(F)
<none>                    40.000  28.698                 
emo[-1]      4    42.750  82.750  30.875  1.8703 0.220518
istutus[-1]  2   116.500 156.500  43.796 10.1937 0.008441
Tätä kannattaa verrata eri järjestyksissä sovitettuihin malleihin yllä. Mielestäni ainoa pätevä syy ``tyypin III'' neliösummien käyttöön on, ettei ymmärrä mitä tekee.


Jari Oksanen 2003-01-21