A lineáris modellektol a nemlineáris kevert modellekig R-ben · 2011. 9. 6. ·...

Preview:

Citation preview

A lineáris modellektől a nemlineáris kevertmodellekig R-ben

Harnos Andrea

Szent István Egyetem,Állatorvostudományi KarBiomatematika Tanszék

<Harnos.Andrea@gmail.com>

Tartalom

Bevezetés

Modellezés

Az általános lineáris modell

Általánosított lineáris modellek

Additív modellek

Kevert modellek

Nemlineáris kevert modell

Sweave

I A kurzus diái Fritz Leisch’s Sweave rendszerével készültek.Ebben a LATEX és R kódok egyetlen fájlban szerkeszthetők.

I Egy Sweave fájlból (.Rnw kiterjesztésű általában) olyan LATEXforrás fájl készíthető, amely tartalmazza az R inputokat,outputokat és ábrákat.

I Egy Sweave fájlból az R kódok automatikusan kinyerhetők.

A kurzus anyagához felhasznált könyvek és egyéb anyagok

I Brian S. Everitt, Torsten Hothorn: A Handbook of StatisticalAnalysis Using R (Chapman and Hall/CRC, 2006)

I José C. Pinheiro, Douglas M. Bates: Mixed Effects Models inS and S-PLUS (Springer, 2000)

I Julian J. Faraway: Extending the Linear Model with R.Generalized Linear, Mixed Effects and NonparametricRegression Models (Chapman and Hall/CRC, 2006)

I Douglas M. Bates: Mixed-effects models in R. useR!2006,Vienna, Austria, June 14, 2006

Felhasznált adatok

I pupa.txtI mass.csvI land-use.csv

Zerynthia polyxena

pupa.txt, mass.csv

I Az adatok egy olyan kísérletből származnak, amelyben lepkék(Zerynthia polyxena) imágóinak méret változatosságátvizsgálták.

I A lárvákat kísérletileg manipulált hőmérsékletű környezetbentartották.

I A KÍSÉRLET1. faktor: TEMPR Fejlődő hernyók környezetének hőmérséklete

I hűtöttI szobahőmérsékletI melegített

2. faktor: FOOD TáplálékellátottságI limitáltI nem limitált

I A hernyók tömegét a kikeléstől a bábozódásig mérték.I Referencia: J. Kis, F. Kassai, L. Peregovits (nem közölt

adatok)

Változók

BOX a dobozok azonosítója, amelyben a hernyókattartották

FOOD Táplálékellátottságlimited limitált

adlibitum nem limitáltTEMPR A fejlődő hernyók környezetének hőmérséklete

cooled hűtöttroom szobahőmérsékletű

heated melegítettPUPAMASS bábtömeg (g) 1 héttel a bábozódás utánSTARTMASS kezdeti tömeg (g)

Lepkebáb adatok

> pupa[1:5, ]

BOX FOOD TEMPR PUPAMASS STARTMASS1 474 limited cooled 0.176 0.0072 423 limited cooled 0.197 0.0133 420 limited cooled 0.183 0.0154 473 limited cooled 0.209 0.0155 430 limited cooled 0.205 0.017

> str(pupa)

’data.frame’: 58 obs. of 5 variables:$ BOX : int 474 423 420 473 430 4107 457 80 4101 454 ...$ FOOD : Factor w/ 2 levels "adlibitum","limited": 2 2 2 2 2 2 2 2 2 2 ...$ TEMPR : Factor w/ 3 levels "cooled","heated",..: 1 1 1 1 1 1 1 1 1 3 ...$ PUPAMASS : num 0.176 0.197 0.183 0.209 0.205 0.197 0.205 0.191 0.234 0.23 ...$ STARTMASS: num 0.007 0.013 0.015 0.015 0.017 0.025 0.034 0.039 0.044 0.014 ...

land-use.csv

I Az adatok egy olyan kutatásból származnak, melyben amezőgazdaság intenzifikációjának őszi gabona növényekre valóhatását vizsgálták a Nagy-Alföldön, szikes talajú területeken.

I 5 gazda, illetve szövetkezet különböző intenzifikációval kezeltföldjeit vizsgálták.

I 7 földhasználati intenzitás kategóriát állapítottak meg afelhasznált szerves- és műtrágya valamint növényvédő szermennyisége alapján (kérdőíves felmérés a vizsgálatok előtt).

land-use.csv

I 3 őszi gabona földet vizsgáltak minden intenzitás szintből.I Minden területen kijelöltek 2-2 – 10 db 5× 1 m-es egymástól 5

m-re egy vonalba eső kvadrátból álló – transzektet, egyet aterület szélén, a másikat pedig 50 m-rel beljebb. Ezzel azelrendezéssel figyelembe vehető a lokális térbeli heterogenitás,ami nagyban meghatározza a biodiverzitási mintázatot.

I Referencia: Anikó Kovács, Péter Batáry, András Báldi, AndreaHarnos: Weed species richness and cover along anintensification gradient in Central-Hungarian cereal fields (aWeed Research-be beküldve)

Extenzíven használt gabonaföld

Extenzíven használt gabonaföld széle

Intenzíven használt gabonaföld

Intenzíven használt gabonaföld széle

Egy elemzés lépései

I A probléma hátterének megértése.I Kérdésfeltevés.I Elemző módszerek kiválasztása (adatgyűjtés előtt!)I Adatgyűjtés.I Az adatok elemezhető formába hozása!I Exploratív elemzések (leíró statisztikák, grafikonok).I A fő elemzés (modellezés).I Interpretáció.I Az eredmények közlése.

Milyen egy jó modell?

I Tisztáznia kell a dolgokat és nem összezavarni.I Parszimóniára kell törekednie.

I Things should be made as simple as possible - but no simpler.A. Einstein

I Általánosítható.I az eredményeknek nemcsak a mintánkra kell érvényesnek

lennie, hanem arra a statisztikai populációra is, amelyből amegfigyeléseink származnak.

A modellezés folyamata

I Kiinduló modell illesztése.I A modell redukálása.I Modellellenőrzés.I Modell megváltoztatása, ha szükséges.I Új modell illesztése.I Modellredukció.I Modellellenőrzés.I . . .

Az általános lineáris modell General Linear Model

I Egy cél-, vagy függő változó (outcome, response) egyébváltozóktól (effects) való függését vizsgáljuk.

I Az általános lineáris modell speciális esetei:I Egyszerű Lineáris Regresszió Simple Linear Regression;I ANOVA;I ANCOVA;I stb.

A modell általános felírásaI A lineáris modell:

Y = β0 + β1X1 + β2X2 + . . .+ βpXp + ε,

Vagy mátrix egyenlet formájában:

Y = Xβ + ε,

aholY célváltozó,β0 intercept vagy konstans,βi ismeretlen paraméterek,

X1, . . . , Xp magyarázó változók (prediktorok), lehetnekI folytonosak (kovariánsok) vagyI kvalitatív (faktor) változók. Indikátor (dummy)

változók.ε A megfigyelt értékeknek és a modellszisztematikus részének a különbsége (mérésihiba vagy nem magyarázott hatás).

A modell praktikus alakja

PUPAMASS = β0 +β1 ·STARTMASS+β2 ·1(TEMPR=high)+

+ β3 · 1(TEMPR=room) + ε

I β4 · 1(TEMPR=cooled) hiányzik (túlparaméterezettség)

I Wilkinson-Rogers formula:

PUPAMASS = STARTMASS + TEMPR,

ahol a TEMPR egy factor.

Modell formulák R-ben

I Általános forma: y ∼ tényező1+tényező2+ . . .

I Interakció a:b, a*b=a+b+a:b

I Speciális tagok: offset, -1 (nincs konstans)I Példák:

y ∼ x - Egyszerű Lineáris Regresszióy ∼ x1+x2+x3 - Többszörös Lineáris Regresszióy ∼ f1 - Egytényezős ANOVAy ∼ f1?f2 - Kéttényezős ANOVA interakcióvaly ∼ f1?x - ANCOVA

Lepkebáb adatok

> pupa[1:5, ]

BOX FOOD TEMPR PUPAMASS STARTMASS1 474 limited cooled 0.176 0.0072 423 limited cooled 0.197 0.0133 420 limited cooled 0.183 0.0154 473 limited cooled 0.209 0.0155 430 limited cooled 0.205 0.017

> str(pupa)

’data.frame’: 58 obs. of 5 variables:$ BOX : int 474 423 420 473 430 4107 457 80 4101 454 ...$ FOOD : Factor w/ 2 levels "adlibitum","limited": 2 2 2 2 2 2 2 2 2 2 ...$ TEMPR : Factor w/ 3 levels "cooled","heated",..: 1 1 1 1 1 1 1 1 1 3 ...$ PUPAMASS : num 0.176 0.197 0.183 0.209 0.205 0.197 0.205 0.191 0.234 0.23 ...$ STARTMASS: num 0.007 0.013 0.015 0.015 0.017 0.025 0.034 0.039 0.044 0.014 ...

Változók

BOX a dobozok azonosítója, amelyben a hernyókattartották

FOOD Táplálékellátottságlimited limitált

adlibitum nem limitáltTEMPR A fejlődő hernyók környezetének hőmérséklete

cooled hűtöttroom szobahőmérsékletű

heated melegítettPUPAMASS bábtömeg (g) 1 héttel a bábozódás utánSTARTMASS kezdeti tömeg (g)

Exploratív elemzések

1. lépés: Adatok leíró statisztikái és grafikonjai.Numerikus áttekintés:> summary(pupa)

BOX FOOD TEMPR PUPAMASSMin. : 39.0 adlibitum:32 cooled:19 Min. :0.14301st Qu.: 409.2 limited :26 heated:22 1st Qu.:0.1970Median : 443.0 room :17 Median :0.2560Mean :1015.5 Mean :0.25713rd Qu.: 473.8 3rd Qu.:0.3103Max. :4202.0 Max. :0.4330

STARTMASSMin. :0.001001st Qu.:0.00700Median :0.01400Mean :0.018953rd Qu.:0.02375Max. :0.11900

Grafikus sűrűségfüggvény becslések

I Hisztogram: durva becslés - érzékeny azosztályintervallumok megválasztására.

I Kernel sűrűség becslés: jobb.Simított hisztogram.

Hisztogram

>hist(PUPAMASS,main="Bábtömeg egy héttel a bábozódásután",xlab="Tömeg (g)")

Bábtömeg egy héttel a bábozódás után

Tömeg (g)

Fre

quen

cy

0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45

0

5

10

15

Simított hisztogram

>plot(density(PUPAMASS),main="Bábtömeg egy héttel abábozódás után"); rug(PUPAMASS)

0.1 0.2 0.3 0.4 0.5

01

23

45

Bábtömeg egy héttel a bábozódás után

N = 58 Bandwidth = 0.02654

Den

sity

Boxplotok

I Kvalitatív és kvantitatv változók kapcsolata.I Faktor kombinációk is lehetnek a vízszintes tengelyen.I Különbségek és interakciók becslése.

Boxplot

>boxplot(PUPAMASS ∼(TEMPR:FOOD),col=2:4,names=c("CA","HA","RA","CL","HL","RL"))

●●

CA HA RA CL HL RL

0.15

0.20

0.25

0.30

0.35

0.40

Hegedűábravioplot(PUPAMASS[FOOD=="adlibitum"],PUPAMASS[FOOD=="limited"], col="white", names=c("adlibitum", "limited"))

0.15

0.20

0.25

0.30

0.35

0.40

ad libitum limited

Interakciós ábra

I A célváltozó különböző faktor kombinációk szerintiátlagait ill. más leíró statisztikáit rajzolja ki így ábrázolvaa lehetséges interakciókat (nem additív hatásokat).

I Ha a vonalak többé-kevésbé párhuzamosak, akkor nemvárunk interakciót.

Interakciós ábra

>interaction.plot(TEMPR,FOOD,PUPAMASS)0.

200.

220.

240.

260.

280.

30

TEMPR

mea

n of

PU

PA

MA

SS

cooled heated room

FOOD

adlibitumlimited

Szórásdiagram

>plot(PUPAMASS ∼ STARTMASS,main="PUPAMASS-STARTMASSSzórásdiagram", xlab="STARTMASS",ylab="PUPAMASS",pch=".")

●●

●●

●●

● ●

●●

●●

●●

●●

●●

●●

0.00 0.02 0.04 0.06 0.08 0.10 0.12

0.15

0.20

0.25

0.30

0.35

0.40

PUPAMASS−STARTMASS Szórásdiagram

STARTMASS

PU

PA

MA

SS

Feltételes szórásdiagram

>coplot(PUPAMASS STARTMASS|TEMPR*FOOD,xlab="STARTMASS",ylab="PUPAMASS",pch=20)

●●

●●

● ●

0.15

0.25

0.35

●●

0.00 0.04 0.08 0.12

●●

●●●

●●●

0.00 0.04 0.08 0.12

●●

●●

●● ●

● ●

0.00 0.04 0.08 0.12

0.15

0.25

0.35

STARTMASS

PU

PA

MA

SS

cooled

heated

room

Given : TEMPR

adlib

itum

limite

d

Giv

en :

FO

OD

Egyszerű Lineáris Regresszió1. modell:

PUPAMASS = β0 + β1STARTMASS + ε

> mod1.lm <- lm(PUPAMASS ~ STARTMASS)> summary(mod1.lm)

Call:lm(formula = PUPAMASS ~ STARTMASS)Residuals:

Min 1Q Median 3Q Max-0.115249 -0.053640 -0.003456 0.047954 0.169238

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

(Intercept) 0.26866 0.01217 22.071 <2e-16STARTMASS -0.61265 0.45143 -1.357 0.180

Residual standard error: 0.06594 on 56 degrees of freedomMultiple R-Squared: 0.03184, Adjusted R-squared: 0.01455F-statistic: 1.842 on 1 and 56 DF, p-value: 0.1802

Szórásdiagram az illesztett egyenessel

>abline(mod1.lm)

●●

●●

●●

● ●

●●

●●

●●

●●

●●

●●

0.00 0.02 0.04 0.06 0.08 0.10 0.12

0.15

0.20

0.25

0.30

0.35

0.40

PUPAMASS−STARTMASS szórásdiagram

STARTMASS

PU

PA

MA

SS

Kéttényezős ANOVA

> mod2.lm <- lm(PUPAMASS ~ FOOD + TEMPR)> anova(mod2.lm)

Analysis of Variance TableResponse: PUPAMASS

Df Sum Sq Mean Sq F value Pr(>F)FOOD 1 0.161984 0.161984 98.906 8.306e-14TEMPR 2 0.001065 0.000532 0.325 0.724Residuals 54 0.088439 0.001638

Kéttényezős ANOVA interakcióval

> mod3.lm <- lm(PUPAMASS ~ FOOD * TEMPR)> anova(mod3.lm)

Analysis of Variance TableResponse: PUPAMASS

Df Sum Sq Mean Sq F value Pr(>F)FOOD 1 0.161984 0.161984 99.7353 1.088e-13TEMPR 2 0.001065 0.000532 0.3277 0.7220FOOD:TEMPR 2 0.003984 0.001992 1.2264 0.3017Residuals 52 0.084455 0.001624

Kéttényezős ANOVA interakcióval és kovariánssal

> mod4.lm <- lm(PUPAMASS ~ FOOD * TEMPR + STARTMASS)> anova(mod4.lm)

Analysis of Variance TableResponse: PUPAMASS

Df Sum Sq Mean Sq F value Pr(>F)FOOD 1 0.161984 0.161984 97.8787 1.857e-13TEMPR 2 0.001065 0.000532 0.3216 0.7264STARTMASS 1 0.000298 0.000298 0.1804 0.6729FOOD:TEMPR 2 0.003738 0.001869 1.1294 0.3312Residuals 51 0.084402 0.001655

Hipotézisvizsgálatok

I A modell egy vagy több prediktorának szignifikanciájátállapítjuk meg.

I Ha a hibatagokI függetlenek ésI normális eloszlásúak.

I Két beágyazott modell (a szűkebb modell magyarázóváltozóinak halmaza részhalmaza a bővebb modellének)összehasonlítható egy F-teszttel: anova(model1, model2).

Hipotézisvizsgálatok

I Egy általánosan végzett tesz az aktuális modellnullmodellhez való hasonlítása (nincsenek prediktorok,csak a konstans (intercept)): anova(model). (A modellegészének szignifikanciája.)

I Egyedi prediktorok F-próbával, vagy egy t-próbávalsummary(model) tesztelhetők.

I Kerüljük a t-tesztek használatát kettőnél több szintűkvalitatív predictorok (faktorok) esetén!

A modellezés céljai

I Predikció:I Megfigyelünk új X-eket és a hozzá tartozó Y -t szeretnénk

megbecsülni.I A predikciós teljesítmény javul az olyan változók

eltávolításáaval, amik nem nagyon játszanak szerepet.I Automatikus változó szelekciók jól működhetnek.

I A változók közötti kapcsolat megértése.I Manuális szelekció jobb.

I Gyakran mindkettő célunk.I Nam tanácsos teljesen automatikus szelekciós

módszerekre hagyatkozni.

Változó szelekciós módszerek I.

I Akaike Information Criterion (AIC)

AIC = −2logLik + 2p,

ahol p a paraméterek száma.I Általános, normál lineáris modelleken túl is használható.I A step() függvény ezt használja.

I Lépésenkénti keresés a lehetséges modellek terében.I Szekvenciálisan távolít el (vagy vesz be) változókat.I Minimalizálja az AIC-ot.

Változó szelekciós módszerek II.

I Tesztelésen alapulnak.I F -teszttel hasonlítják össze a beágyazott modelleket.I Nem igazán jó módszer: a beválasztott változók sorrendje

nagyon számít.I Rosszabb, mint a kritériumra épülő módszerek.I Manuális változó szelekcióra használható.I drop1(model,test="F")

Automatikus változó szelekció

> mod5.lm <- step(mod4.lm, trace = 0)> anova(mod5.lm)

Analysis of Variance TableResponse: PUPAMASS

Df Sum Sq Mean Sq F value Pr(>F)FOOD 1 0.161984 0.161984 101.35 3.585e-14Residuals 56 0.089503 0.001598

Két modell összehasonlítása

> anova(mod4.lm, mod5.lm)

Analysis of Variance TableModel 1: PUPAMASS ~ FOOD * TEMPR + STARTMASSModel 2: PUPAMASS ~ FOOD

Res.Df RSS Df Sum of Sq F Pr(>F)1 51 0.0844022 56 0.089503 -5 -0.005101 0.6165 0.6877

I Nincs szignifikáns különbség a modellek között.I Válasszuk a szűkebb modellt!

Manuális változó szelekció

> drop1(mod4.lm, test = "F")

Single term deletionsModel:PUPAMASS ~ FOOD * TEMPR + STARTMASS

Df Sum of Sq RSS AIC F value Pr(F)<none> 0.08 -364.89STARTMASS 1 5.291e-05 0.08 -366.85 0.0320 0.8588FOOD:TEMPR 2 3.738e-03 0.09 -366.38 1.1294 0.3312

Konfidencia-intervallumok

I Tartományok a paraméterek lehetséges értékeire.I A hatásnagyságok becslésére hasznosabb, mint a p-érték.I A p-értékek a statisztikai szignifikanciát mutatják, nem

pedig a gyakorlati jelentőséget.> confint(mod4.lm)

2.5 % 97.5 %(Intercept) 0.28712994 0.33963231FOODlimited -0.15362149 -0.07630159TEMPRheated -0.04029847 0.03192612TEMPRroom -0.06188462 0.01129474STARTMASS -0.54923885 0.65664283FOODlimited:TEMPRheated -0.05702646 0.04739676FOODlimited:TEMPRroom -0.02174418 0.08834948

Diagnosztika

A lineáris modell feltételeinek ellenőrzése.I Korrekt-e a modell szisztematikus része (linearitás)?I A modell véletlen részét (ε) tekintve:

I konstans variancia,I korrelálatlanság,I normalitás.

I Torzító pontok keresése (olyan pontok, amelyeknek atöbbi pontnál sokkal nagyobb hatása van az illesztettmodellre).

Diagnosztikus módszerek

I Lehetnek numerikusak vagy grafikusak.I Általában a grafikus módszereket preferáljuk, mert

informatívabbak.I reziduális ábrák,I normalitást ellenőrző ábrák.

I Gyakorlatilag lehetetlen megállapítani egy modellről, hogyteljesen korrekt-e.

I A diagnosztikák célja: leellenőrizni, hogy a modell nemdurván rossz-e.

I Több figyelmet kell fordítani arra, hogy ne kövessünk elnagy hibákat, mint arra, hogy a modellünk optimális-e.

I Négy hasznos ábra: plot(model)

Diagnosztikus ábrák

0.20 0.22 0.24 0.26 0.28 0.30 0.32

−0.

150.

000.

15

Fitted values

Res

idua

ls

●●●

●●●●●

●●●●

●●

●●

●●●

●●

●●

●●●●

●●●

● ●●●●

●●

Residuals vs Fitted

43

3339

●●

●●● ●

●●

● ●

● ●

●●

●● ●

●●

●●

● ●●●

●●●

●●● ●

●●

−2 −1 0 1 2

−3

02

Theoretical Quantiles

Sta

ndar

dize

d re

sidu

als Normal Q−Q

43

3339

0.20 0.22 0.24 0.26 0.28 0.30 0.32

0.0

1.0

Fitted values

Sta

ndar

dize

d re

sidu

als

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

● ●

●●

●●

Scale−Location43

3339

0.0 0.1 0.2 0.3 0.4 0.5 0.6

−4

02

Leverage

Sta

ndar

dize

d re

sidu

als

●●●

●●●●●

●●●●

●●

●●

●● ●

●●

●●

●●●●

●●●

●●●●

●●

Cook's distance10.5

0.51

Residuals vs Leverage

43

3339

Illeszkedés ellenőrzése

>plot(mod4.lm,1,pch=20)

0.20 0.22 0.24 0.26 0.28 0.30 0.32

−0.

15−

0.05

0.05

0.10

0.15

Fitted values

Res

idua

ls

●●●●

●●

●●

●●

●●

●●

●●

● ●

●●

lm(PUPAMASS ~ FOOD * TEMPR + STARTMASS)

Residuals vs Fitted

43

33

39

Reziduumok normalitása

>plot(mod4.lm,2,pch=20)

●●

●●

● ●

●●

●●

●●

●●

●●

−2 −1 0 1 2

−3

−2

−1

01

23

Theoretical Quantiles

Sta

ndar

dize

d re

sidu

als

lm(PUPAMASS ~ FOOD * TEMPR + STARTMASS)

Normal Q−Q

43

33

39

A variancia állandóságának ellenőrzése

>plot(mod4.lm,3,pch=20)

0.20 0.22 0.24 0.26 0.28 0.30 0.32

0.0

0.5

1.0

1.5

Fitted values

Sta

ndar

dize

d re

sidu

als

●●

●●

●●

●●

lm(PUPAMASS ~ FOOD * TEMPR + STARTMASS)

Scale−Location43

33

39

Torzító pontok keresése

>plot(mod4.lm,5,pch=20)

0.0 0.1 0.2 0.3 0.4 0.5 0.6

−4

−2

02

Leverage

Sta

ndar

dize

d re

sidu

als

●●

●●

●●

●●

●● ●

●●●

●●

●●

●●

lm(PUPAMASS ~ FOOD * TEMPR + STARTMASS)

Cook's distance

1

0.5

0.5

1

Residuals vs Leverage

43

33

39

Hogy detektáljuk a problémákat?

I Illeszkedés ellenőrzése: A reziduumokban nem lehet trend(y = 0). Ha van, meg kell változtatni a modellt(transzformáció, nemlineáris modell etc).

I Reziduumok normalitása: QQ-ábra. A reziduumokat az"ideális" normális eloszlású megfigyelésekhez hasonlítjuk.Normális eloszlás esetén a pontok lineáris trendetkövetnek (y = x). Egyébként ferdeséget jeleznek.

I Scale-location ábra: a variancia homogenitását lehet veleellenőrizni.

Hogy detektáljuk a problémákat?

I Residuals vs. Leverage ábra: Torzító pontok keresése. Apontoknak az adott Cook távolság (Cook’s distance)szinteken belül kell lennie. A számozott pontok lehetnekgyanúsak.

I Cook-féle távolság: az illeszkedés megváltozásánakstandardizált mértéke, ha az adott megfigyelést kivesszükaz adatok közül.

Cook’s distance plot

>plot(mod4.lm,4,pch=20)

0 10 20 30 40 50 60

0.00

0.05

0.10

0.15

0.20

Obs. number

Coo

k's

dist

ance

lm(PUPAMASS ~ FOOD * TEMPR + STARTMASS)

Cook's distance

43

33

39

Lineáris modell - korlátok

Nagyon sok kapcsolatot nem írható le egyszerű lineárismodellel, mivel

I a függő változó lehet nem folytonos (és nem normális)eloszlású (pl. gyakoriságok, bináris adatok);

I a magyarázó változók hatása a függő változóra lehet,hogy nem lineáris;

I a megfigyelési egységek lehet, hogy nem függetlenek;I a variancia lehet, hogy nem konstans.

Általánosított lineáris modellek (Generalized Linear Models)

Az általános lineáris modell általánosítása:I Megengedi, hogy az eloszlás nem normális legyen (pl.

Poisson, binomiális ill., multinomiális (exponenciáliseloszláscsalád)).

I A variancia állandóságának feltétele sem olyan szigorú,mint a hagyományos lineáris modelleknél.

Hogy általánosít ez a módszer?

I A függő változót most is a magyarázó változók lineáriskombinációjából becsüljük. A függő és magyarázóváltozók egy ún. „link” függvénnyel vannakösszekapcsolva:

I η = β0 + β1X1 + β2X2 + . . .+ βkXk, lineáris egyenlet,ahol

η lineáris prediktor,X magyarázó változók,β együtthatók.

I Maximum likelihood (ML) módszerrel illesztünk.I g(Y ) = η link függvény.I glm(formula, family = gaussian, ...)

I Súgó a függvény családról: ?family

Gyakorisági adatok regressziója (count regression)

I A függő változó gyakorisági adat (pozitív egész).I Ha az összes lehetőség egy adott korlátos szám, akkor

binomiális modellt használunk.I Van-nincs (0-1) adatok esetén a binomiális modell

használatos (logisztikus regresszió).I Ha a gyakoriságok elegendően nagyok, akkor az általános

lineáris modell is jó lehet.I Egyéb esetekben a Poisson és - kevésbé gyakran - a

negatív binomiális modell használható.

Poisson regresszió

Ha Y Poisson eloszlású µ > 0 várható értékkel, akkor:

P (Y = y) =eµµy

y!, y = 0, 1, 2, ...

E(Y ) = var(Y ) = µ.

Honnan származhatnak Poisson-eloszlású adatok?

I Ha a gyakoriságok egy előre rögzített számúmegfigyelésből származnak, akkor a függő változótbinomiálisként modellezhetjük. Kis siker valószínűségek,és nagyszámú összes lehetőség esetén alkalmazhatjuk aPoisson közelítést. (Pl. ritka incidenciája egy adott fajnakegy földrajzi területen.)

I Ha gyakoriságokat számolunk egy adottidőintervallumban, területen, térrészben,anyagmennyiségben, és a siker valószínűsége arányos azintervallum hosszával, térrész térfogatával stb., ésfüggetlen más eseményektől. (Pl. bejövő telefonhívások,földrengések száma stb.)

I Fontos: Poisson-eloszlású véletlen változók összege isPoisson. (Hasznos, ha csak aggregált adataink vannak.)

Földhasználati példa

36 mintavételi terület esetén vannak adataink a következőkről:Weedcover Az adott transzekt teljes gyomborítottsága

százalékosan.Totspeciesnb A gyomnövény fajok száma.

N input Éves nitrogén bevitel.Transectpos A transzekt elhelyezkedése a földterületen.

I 0 - a transzekt közvetlenül a terület szélénhelyezkedik el,

I 1 - belül van.Transect pair Ugyanahhoz a földhöz tartozó transzekt párok

azonosítója.

Földhasználati példa

Noncrop area A tanulmányozott transzekt körül húzott 500 msugarú körbe eső nem művelt terület százalékosaránya (főleg füves terület, de lehet erdős,beépített, mocsaras vagy nyílt vizes terület).

Modellezni szeretnénk a gyomnövény fajok számát és agyomborítottságot a nitrogén bevitel, a nem művelt területaránya és a transzekt pozíció függvényében.

Az adatok struktúrája

> str(land)

’data.frame’: 42 obs. of 10 variables:$ SampleArea : Factor w/ 42 levels "AG30E ","AG30I ",..: 31 32 33 34 35 36 37 38 39 40 ...$ Weedcover : int 53 44 48 29 61 45 33 33 36 38 ...$ Totspeciesnb : int 29 21 37 28 29 21 36 29 38 13 ...$ Intensity : int 1 1 1 1 1 1 2 2 2 2 ...$ N_input : int 0 0 0 0 0 0 113 113 113 113 ...$ Herbicide_use: int 0 0 0 0 0 0 1 1 1 1 ...$ Transectpos : Factor w/ 2 levels "0","1": 1 2 1 2 1 2 1 2 1 2 ...$ Transect_pair: int 16 16 17 17 18 18 19 19 20 20 ...$ Noncrop_area : int 49 50 41 43 55 53 21 21 9 8 ...$ Farmer : Factor w/ 5 levels "AG","ET","NL",..: 5 5 5 5 5 5 5 5 5 5 ...

Density plot

>plot(density(Totspeciesnb))

0 10 20 30 40 50 60

0.00

0.01

0.02

0.03

density.default(x = Totspeciesnb)

N = 42 Bandwidth = 4.453

Den

sity

Boxplot

>plot(Totspeciesnb ∼ Transectpos)

0 1

1020

3040

50

Transectpos

Tot

spec

iesn

b

Hegedűábra

>vioplot(Totspeciesnb[Transectpos==0],Totspeciesnb[Transectpos==1],col="white")

1020

3040

50

1 2

Szórásdiagram

>plot(Totspeciesnb ∼ Noncrop area)

0 10 20 30 40 50 60

1020

3040

50

Noncrop_area

Tot

spec

iesn

b

Feltételes szórásdiagram

>coplot(Totspeciesnb Noncrop area|Transectpos,pch=20)

●●

0 10 20 30 40 50 60

1020

3040

50

● ●●

●●

0 10 20 30 40 50 60

Noncrop_area

Tot

spec

iesn

b

0

1

Given : Transectpos

Interakciós ábra

>interaction.plot(as.factor(N-input),Transectpos,Totspeciesnb)15

2025

3035

4045

as.factor(N_input)

mea

n of

Tot

spec

iesn

b

0 34 68 92 100 113 270

Transectpos

01

Lineáris modell> mod1.lm <- lm(Totspeciesnb ~ N_input * Transectpos ++ Noncrop_area)> summary(mod1.lm)

Call:lm(formula = Totspeciesnb ~ N_input * Transectpos + Noncrop_area)Residuals:

Min 1Q Median 3Q Max-13.5241 -4.7578 -0.3224 4.1886 17.9341

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

(Intercept) 29.88544 3.68671 8.106 1.01e-09N_input -0.03013 0.02115 -1.424 0.162731Transectpos1 -15.68275 3.60955 -4.345 0.000104Noncrop_area 0.13763 0.06801 2.024 0.050266N_input:Transectpos1 0.01105 0.02881 0.384 0.703520

Residual standard error: 7.437 on 37 degrees of freedomMultiple R-Squared: 0.5816, Adjusted R-squared: 0.5364F-statistic: 12.86 on 4 and 37 DF, p-value: 1.172e-06

Reziduum vs. becsült érték ábra

>plot(mod1.lm,1,pch=20)

10 15 20 25 30 35

−10

010

20

Fitted values

Res

idua

ls

●●

lm(Totspeciesnb ~ N_input * Transectpos + Noncrop_area)

Residuals vs Fitted

33

8

31

Normalitás vizsgálat (Normal QQ-plot)

>plot(mod1.lm,2)

●●

−2 −1 0 1 2

−2

−1

01

23

Theoretical Quantiles

Sta

ndar

dize

d re

sidu

als

lm(Totspeciesnb ~ N_input * Transectpos + Noncrop_area)

Normal Q−Q

33

8

31

Szórás-becsült érték ábra (Scale-location plot)

>plot(mod1.lm,3,pch=20)

10 15 20 25 30 35

0.0

0.5

1.0

1.5

Fitted values

Sta

ndar

dize

d re

sidu

als

lm(Totspeciesnb ~ N_input * Transectpos + Noncrop_area)

Scale−Location

33

8 31

Problémák

I Enyhén nemlineáris trend.I Nem konstans variancis.I Enyhén nem normális eloszlású hibatag.I Próbáljuk meg transzformálni az adatokat, pl. logaritmus

transzformáció!

Lineáris modell log transzformált függő változóval> mod2.lm <- lm(log(Totspeciesnb + 1) ~ N_input * Transectpos ++ Noncrop_area)> summary(mod2.lm)

Call:lm(formula = log(Totspeciesnb + 1) ~ N_input * Transectpos +

Noncrop_area)Residuals:

Min 1Q Median 3Q Max-0.55314 -0.20587 0.02715 0.18937 0.64625

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

(Intercept) 3.406e+00 1.422e-01 23.945 < 2e-16N_input -1.374e-03 8.161e-04 -1.684 0.100570Transectpos1 -6.005e-01 1.393e-01 -4.312 0.000115Noncrop_area 4.777e-03 2.624e-03 1.821 0.076760N_input:Transectpos1 4.096e-05 1.111e-03 0.037 0.970800

Residual standard error: 0.2869 on 37 degrees of freedomMultiple R-Squared: 0.6147, Adjusted R-squared: 0.5731F-statistic: 14.76 on 4 and 37 DF, p-value: 2.685e-07

Reziduum vs. becsült érték ábra

>plot(mod2.lm,1,pch=20)

2.6 2.8 3.0 3.2 3.4 3.6

−0.

6−

0.4

−0.

20.

00.

20.

40.

6

Fitted values

Res

idua

ls

●●

lm(log(Totspeciesnb + 1) ~ N_input * Transectpos + Noncrop_area)

Residuals vs Fitted

8

31

33

Normal QQ-plot

>plot(mod2.lm,2,pch=20)

●●

−2 −1 0 1 2

−2

−1

01

2

Theoretical Quantiles

Sta

ndar

dize

d re

sidu

als

lm(log(Totspeciesnb + 1) ~ N_input * Transectpos + Noncrop_area)

Normal Q−Q

8

31

42

Scale-location plot

>plot(mod2.lm,3,pch=20)

2.6 2.8 3.0 3.2 3.4 3.6

0.0

0.5

1.0

1.5

Fitted values

Sta

ndar

dize

d re

sidu

als

●●

lm(log(Totspeciesnb + 1) ~ N_input * Transectpos + Noncrop_area)

Scale−Location

8

31

42

A két modell összehasonlítása

> summary(mod1.lm)$adj.r.squared

[1] 0.5364204

> summary(mod2.lm)$adj.r.squared

[1] 0.573088

I Nem nagy javulás.I Jobb illeszkedés.I Nehézkes interpretáció.

Poisson modell

> mod1.pois <- glm(Totspeciesnb ~ N_input * Transectpos ++ Noncrop_area, family = poisson)> mod1.pois

Call: glm(formula = Totspeciesnb ~ N_input * Transectpos + Noncrop_area, family = poisson)Coefficients:

(Intercept) N_input Transectpos13.3428928 -0.0009255 -0.5800613

Noncrop_area N_input:Transectpos10.0057278 -0.0006015

Degrees of Freedom: 41 Total (i.e. Null); 37 ResidualNull Deviance: 198.2Residual Deviance: 76.93 AIC: 293.5

summary(mod1.pois)Call:glm(formula = Totspeciesnb ~ N_input * Transectpos + Noncrop_area,

family = poisson)Deviance Residuals:

Min 1Q Median 3Q Max-2.6342 -1.1127 -0.1734 0.8111 3.1884

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

(Intercept) 3.3428928 0.0975010 34.286 < 2e-16N_input -0.0009255 0.0005436 -1.702 0.08868Transectpos1 -0.5800613 0.1018254 -5.697 1.22e-08Noncrop_area 0.0057278 0.0018755 3.054 0.00226N_input:Transectpos1 -0.0006015 0.0008987 -0.669 0.50329

(Dispersion parameter for poisson family taken to be 1)

Null deviance: 198.232 on 41 degrees of freedomResidual deviance: 76.934 on 37 degrees of freedomAIC: 293.51

Number of Fisher Scoring iterations: 4

Hatások tesztelése

I A summary(model) közelítő Wald teszteket csinál. Az SE-klehet, hogy túlbecsültek, és így elvesztünk szignifikánseredményeket.

I A deviancia alapú tesztek jobbak.I A deviancia azt méri, hogy a modell mennyire van közel a

tökéleteshez. (A lineáris modell esetén: deviancia = RSS.)Chi2 eloszlású.

I A determinációs együttható (R-négyzet a lineárismodelleknél):> 1 - 77/198

[1] 0.6111111

Anova a Poisson modellre

> anova(mod1.pois, test = "Chi")

Analysis of Deviance TableModel: poisson, link: log

Response: Totspeciesnb

Terms added sequentially (first to last)

Df Deviance Resid. Df Resid. Dev P(>|Chi|)NULL 41 198.232N_input 1 15.488 40 182.744 8.302e-05Transectpos 1 96.027 39 86.717 1.133e-22Noncrop_area 1 9.332 38 77.384 0.002N_input:Transectpos 1 0.451 37 76.934 0.502

Poisson modell interakciókkal

> mod2.pois <- glm(Totspeciesnb ~ (N_input + Noncrop_area ++ Transectpos)^2, family = poisson)> anova(mod2.pois, test = "Chi")

Analysis of Deviance TableModel: poisson, link: log

Response: Totspeciesnb

Terms added sequentially (first to last)

Df Deviance Resid. Df Resid. Dev P(>|Chi|)NULL 41 198.232N_input 1 15.488 40 182.744 8.302e-05Noncrop_area 1 9.914 39 172.829 0.002Transectpos 1 95.445 38 77.384 1.521e-22N_input:Noncrop_area 1 1.016 37 76.368 0.313N_input:Transectpos 1 0.462 36 75.906 0.497Noncrop_area:Transectpos 1 3.123 35 72.783 0.077

A két modell összehasonlítása

> anova(mod1.pois, mod2.pois, test = "Chi")

Analysis of Deviance TableModel 1: Totspeciesnb ~ N_input * Transectpos + Noncrop_areaModel 2: Totspeciesnb ~ (N_input + Noncrop_area + Transectpos)^2

Resid. Df Resid. Dev Df Deviance P(>|Chi|)1 37 76.9342 35 72.783 2 4.151 0.126

Modell szelekció

> drop1(mod2.pois, test = "Chi")

Single term deletionsModel:Totspeciesnb ~ (N_input + Noncrop_area + Transectpos)^2

Df Deviance AIC LRT Pr(Chi)<none> 72.783 293.359N_input:Noncrop_area 1 73.747 292.323 0.964 0.32607N_input:Transectpos 1 74.329 292.905 1.546 0.21367Noncrop_area:Transectpos 1 75.906 294.482 3.123 0.07719

Diagnosztikus ábrák

2.4 2.6 2.8 3.0 3.2 3.4 3.6

−3

−1

01

23

Predicted values

Res

idua

ls

●●

●●

●●

Residuals vs Fitted

833

31

●●

●●

●●

−2 −1 0 1 2

−3

−1

01

23

Theoretical Quantiles

Std

. dev

ianc

e re

sid.

Normal Q−Q

833

31

2.4 2.6 2.8 3.0 3.2 3.4 3.6

0.0

0.5

1.0

1.5

Predicted values

Std

. dev

ianc

e re

sid.

● ●

●●

●●

●●

Scale−Location8

3331

0.00 0.05 0.10 0.15 0.20 0.25 0.30

−3

−1

12

34

Leverage

Std

. dev

ianc

e re

sid.

●●

●●

●●

Cook's distance1

0.5

0.5

1

Residuals vs Leverage

39

42

41

Illeszkedés ellenőrzése

>plot(mod1.pois,1,pch=20)

2.4 2.6 2.8 3.0 3.2 3.4 3.6

−3

−2

−1

01

23

Predicted values

Res

idua

ls

glm(Totspeciesnb ~ N_input * Transectpos + Noncrop_area)

Residuals vs Fitted

8

33

31

Parciális reziduális ábrák>library(gam)> par(mfrow=c(1,3),pty="s")>plot.gam(mod1.pois,resid=T,pch=20)>par(mfrow=c(1,1))

0 50 100 150 200 250

−2

−1

01

23

N_input

part

ial f

or N

_inp

ut

−2

−1

01

23

part

ial f

or T

rans

ectp

os

Transectpos

0 1

●●

● ●

●●

0 10 20 30 40 50 60

−2

−1

01

23

Noncrop_areapa

rtia

l for

Non

crop

_are

a

Illeszkedés ellenőrzése

I Az ábrák majdnem ugyanúgy használhatók, mint a lineárismodell esetén. A normalitás általában nem teljesültökéletesen.

I A parciális reziduálisok ellenőrzésére a plot.gamhasználható a gam csomagból.

Túlszóródás

I Poisson változó esetén az átlag és a variancia megegyezik.I A variancia függvényt az átlag teljesen meghatározza,

nem szabad paraméter.I Az ún. diszperziós paraméter 1.I Gyakran túlságosan szigorú ez a feltétel. Gyakran

túlszóródás (overdispersion) van.I A túlszóródást a reziduális deviancia és a hozzá tartozó

szabadsági fokból határozható meg. Többé-kevésbéegynelőnek kell lenniük.

I Ha nagyon különbözőek, akkor az ún. quasilikelihoodmódszert használhatjuk, amellyel a modellparaméterek ahiba eloszlás teljes ismerete nélkül határozhatók meg.

A diszperziós paraméter ellenőrzése

> deviance(mod1.pois)/df.residual(mod1.pois)

[1] 2.079286

Poisson modell túlszóródással> mod1.qpois <- glm(Totspeciesnb ~ N_input * Transectpos ++ Noncrop_area, family = quasipoisson)> summary(mod1.qpois)

Call:glm(formula = Totspeciesnb ~ N_input * Transectpos + Noncrop_area,

family = quasipoisson)Deviance Residuals:

Min 1Q Median 3Q Max-2.6342 -1.1127 -0.1734 0.8111 3.1884

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

(Intercept) 3.3428928 0.1426271 23.438 < 2e-16N_input -0.0009255 0.0007952 -1.164 0.251962Transectpos1 -0.5800613 0.1489530 -3.894 0.000398Noncrop_area 0.0057278 0.0027436 2.088 0.043767N_input:Transectpos1 -0.0006015 0.0013147 -0.458 0.649948

(Dispersion parameter for quasipoisson family taken to be 2.139865)

Null deviance: 198.232 on 41 degrees of freedomResidual deviance: 76.934 on 37 degrees of freedomAIC: NA

Number of Fisher Scoring iterations: 4

Poisson modell túlszóródással> anova(mod1.qpois, test = "F")

Analysis of Deviance TableModel: quasipoisson, link: log

Response: Totspeciesnb

Terms added sequentially (first to last)

Df Deviance Resid. Df Resid. Dev FNULL 41 198.232N_input 1 15.488 40 182.744 7.2379Transectpos 1 96.027 39 86.717 44.8752Noncrop_area 1 9.332 38 77.384 4.3612N_input:Transectpos 1 0.451 37 76.934 0.2107

Pr(>F)NULLN_input 0.01065Transectpos 7.164e-08Noncrop_area 0.04370N_input:Transectpos 0.64891

A kvázi modell

I A regressziós együtthatók ugyanazok és szignifikánsakmaradtak.

I A standard hibák sokkal nagyobbak.I Ha túlszóródásos modelleket hasonlítunk össze, akkor

"Chi"-teszt helyett "F"-tesztet használunk.I A túlszóródás egy lehetséges oka: az egyedek nem

egymástól függetlenül, hanem csoportosan, klasztereződvejelennek meg.

Additív Modellek

I Hasznosak, ha a modellépítés folyamán nemlinearitásttapasztalunk.

I A lineáris modell nemparaméteres verziója.

y = β0 +

p∑j=1

fj(Xj) + ε,

ahol fj-k ”sima” függvények.I Flexibilisebb modellek.I Interpretálhatóak, hiszen fj-ket ki lehet rajzoltatni.I Szimultán talál a magyarázó változóknak jó

transzformációkat.I Az R-ben legalább három csomag van rá (gam, mgcv, gss).I Most a gam-ot használjuk.

Lineáris modell a gyomborítottságra

> mod5.lm <- lm(Weedcover ~ N_input + Transectpos + Noncrop_area)> summary(mod5.lm)

Call:lm(formula = Weedcover ~ N_input + Transectpos + Noncrop_area)Residuals:

Min 1Q Median 3Q Max-25.67 -13.31 -6.19 11.12 42.08

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

(Intercept) 30.733211 8.002910 3.840 0.000452N_input -0.001777 0.036330 -0.049 0.961248Transectpos1 -14.509641 5.369530 -2.702 0.010238Noncrop_area 0.037191 0.159098 0.234 0.816425

Residual standard error: 17.4 on 38 degrees of freedomMultiple R-Squared: 0.1629, Adjusted R-squared: 0.09679F-statistic: 2.464 on 3 and 38 DF, p-value: 0.0771

Reziduum–becsült érték ábra

>plot(mod5.lm,1,pch=20)

20 25 30

−20

020

40

Fitted values

Res

idua

ls

●●

●●

●●

lm(Weedcover ~ N_input + Transectpos + Noncrop_area)

Residuals vs Fitted

39

40

5

QQ-ábra

>plot(mod5.lm,2,pch=20)

●●●

−2 −1 0 1 2

−1

01

23

Theoretical Quantiles

Sta

ndar

dize

d re

sidu

als

lm(Weedcover ~ N_input + Transectpos + Noncrop_area)

Normal Q−Q

39

40

5

Additív modell

> mod1.gam <- gam(Weedcover ~ lo(N_input) + lo(Noncrop_area) ++ Transectpos)

Additív modell – summary

Call: gam(formula = Weedcover ~ lo(N_input) + lo(Noncrop_area) + Transectpos)Deviance Residuals:

Min 1Q Median 3Q Max-25.5007 -4.5381 -0.7272 4.6331 28.4130(Dispersion Parameter for gaussian family taken to be 119.1652)

Null Deviance: 13740.40 on 41 degrees of freedomResidual Deviance: 3559.746 on 29.8724 degrees of freedomAIC: 331.9167

Number of Local Scoring Iterations: 2

DF for Terms and F-values for Nonparametric Effects

Df Npar Df Npar F Pr(F)(Intercept) 1.0lo(N_input) 1.0 5.0 10.1108 9.703e-06lo(Noncrop_area) 1.0 3.1 4.5343 0.009068Transectpos 1.0

Redukált modell a gyomborítottságra

> mod2.gam <- gam(Weedcover ~ lo(N_input) + lo(Noncrop_area))

Redukált modell a gyomborítottságra –summary

Call: gam(formula = Weedcover ~ lo(N_input) + lo(Noncrop_area))Deviance Residuals:

Min 1Q Median 3Q Max-18.513 -8.883 -1.401 7.636 34.891(Dispersion Parameter for gaussian family taken to be 178.6149)

Null Deviance: 13740.40 on 41 degrees of freedomResidual Deviance: 5514.262 on 30.8724 degrees of freedomAIC: 348.2979

Number of Local Scoring Iterations: 2

DF for Terms and F-values for Nonparametric Effects

Df Npar Df Npar F Pr(F)(Intercept) 1.0lo(N_input) 1.0 5.0 6.6791 0.0002536lo(Noncrop_area) 1.0 3.1 3.5089 0.0253447

A modellek összehasonlítása

> anova(mod1.gam, mod2.gam, test = "F")

Analysis of Deviance TableModel 1: Weedcover ~ lo(N_input) + lo(Noncrop_area) + TransectposModel 2: Weedcover ~ lo(N_input) + lo(Noncrop_area)

Resid. Df Resid. Dev Df Deviance F Pr(>F)1 29.872 3559.72 30.872 5514.3 -1.000 -1954.5 16.402 0.0003349

R-négyzet=

> 1 - 3560/13740

[1] 0.7409025

A lineáris modell R-négyzete: 0.16

A magyarázó változók transzformációi>par(mfrow=c(1,3),pty="s")plot(mod1.gam,residuals=T,se=T,pch=20)par(mfrow=c(1,1))

●●

●●

●●

0 50 100 150 200 250

−20

−10

010

2030

N_input

lo(N

_inp

ut)

●●

●●

●●

●●●

0 10 20 30 40 50 60

−30

−20

−10

010

2030

Noncrop_area

lo(N

oncr

op_a

rea)

−20

−10

010

2030

part

ial f

or T

rans

ectp

os

Transectpos

0 1

● ●

●●

● ●

Reziduum-becsült érték ábra

>plot(predict(mod1.gam),residuals(mod1.gam),pch=20)

●●

0 10 20 30 40 50

−20

−10

010

2030

predict(mod1.gam)

resi

dual

s(m

od1.

gam

)

Normalitás vizsgálat

>qqnorm(residuals(mod1.gam),pch=20)

●●

−2 −1 0 1 2

−20

−10

010

2030

Normal Q−Q Plot

Theoretical Quantiles

Sam

ple

Qua

ntile

s

Általánosított Additív Modellek

I Az Additív Modellek általánosítása nem normális eloszlásúfüggő változóra.

I Az additív modelléhez hasonló struktúra.I A scale argumentum határozza meg, hogy a diszperziós

paramétert becsülni kell-e (scale=-1).

Általánosított Additív modell az összfajszám függő változóra

> mod3.gam <- gam(Totspeciesnb ~ lo(N_input) + lo(Noncrop_area) ++ Transectpos, family = quasipoisson, scale = -1)

SummaryCall: gam(formula = Totspeciesnb ~ lo(N_input) + lo(Noncrop_area) +

Transectpos, family = quasipoisson, scale = -1)Deviance Residuals:

Min 1Q Median 3Q Max-2.1274 -1.0111 -0.2104 0.8387 2.2575(Dispersion Parameter for quasipoisson family taken to be 1.8426)

Null Deviance: 198.2319 on 41 degrees of freedomResidual Deviance: 54.9228 on 29.8771 degrees of freedomAIC: NA

Number of Local Scoring Iterations: 6

DF for Terms and F-values for Nonparametric Effects

Df Npar Df Npar F Pr(F)(Intercept) 1.0lo(N_input) 1.0 5.0 2.1583 0.08562lo(Noncrop_area) 1.0 3.1 1.8639 0.15525Transectpos 1.0

A magyarázó változók transzformációi>par(mfrow=c(1,3),pty="s")plot(mod3.gam,residuals=T,se=T,pch=20)par(mfrow=c(1,1))

0 50 100 150 200 250

−2

−1

01

2

N_input

lo(N

_inp

ut)

0 10 20 30 40 50 60

−2

−1

01

2

Noncrop_area

lo(N

oncr

op_a

rea)

−2

−1

01

2

part

ial f

or T

rans

ectp

os

Transectpos

0 1

●●

● ●

●●

Reziduum–becsült érték ábra

>plot(predict(mod3.gam),residuals(mod3.gam),pch=20)

2.5 3.0 3.5

−2

−1

01

2

predict(mod3.gam)

resi

dual

s(m

od3.

gam

)

Normalitás vizsgálat

>qqnorm(residuals(mod3.gam),pch=20)

−2 −1 0 1 2

−2

−1

01

2

Normal Q−Q Plot

Theoretical Quantiles

Sam

ple

Qua

ntile

s

Fix és random hatások

I ”Jobb”-e az A populació, mint a B populáció?I Két populációt szeretnénk összehasonlítani:

fix hatásI Nagy-e a variabilitás a populációk között?

I Specifikus összehasonlítás nem érdekes.I A populációk egy minta egy (meta-)populációból.I A populációk közötti variabilitást akarjuk figyelembe venni:

random hatás

ANOVA egy fix hatással

yi = µ0 + βj + εi

I j csoportok,I βj-k különbözőek,I βj-k függetlenek.I βj-ket megbecsülhetjük.

A megfigyelések közötti korrelációk

I Tekintsük βj-ket valószínűségi változóknak. Legyen

β ∼ N(0, σ2β).

I Így kétféle varianciánk van:I σ2

β-csoportok közöttiI σ2-megfigyelések közötti

I Egy csoporton belüli megfigyelések közötti korreláció:

σ2β/(σ

2β + σ2)

I Intraclass correlation

Miért használjunk random hatásokat?

I A random modellek megmondhatják, hogy:I A különböző forrásokból mennyi variancia származik.I Milyen megfigyelések valószínűek egy új populációban?

I Segíthetik a becslést:I Két hasonló populációban a megfigyelések is hasonlóak.

Az adatok véletlen variabilitása

I A megfigyelési egységek (subject) gyakran csoportosulnak.I Ez a csoportosulás származhat abból, hogy

I az adatoknak hierarhikus vagy beágyazott (nested) struktúrájavan. Pl. a megfigyelési egységeket egy szervezeten belülicsoportokból választjuk, és feltételezzük, hogy a csoporthoztartozás befolyásolhatja a megfigyeléseket.

I Ismételt méresek (repeated measures). Egy-egy megfigyelésiegységen többször végzünk megfigyelést. Ha a megfigyelésekidőbeli ismétlések, akkor longitudinális adatokról beszélünk.

I Bizonyos esetekben a random variabilitás mindkét fajtája jelenvan.

I Közös tulajdonság: korrelált megfigylések adott csoportonbelül.

I A függetlenséget feltételező elemzések nem megfelelőek.

Kevert modellek (Mixed effects models)

A kevert modellek fix és random hatásokat is tartalmaznak:fix hatások vagy az egész populációra, vagy annak bizonyos

részeire vonatkoznak (kezelés vs. kontroll, hím vs.nőstény stb);

random hatások bizonyos megfigyelési egységekre (subjects)vonatkoznak.

I A lineáris kevert modell (lme) egy olyan lineáris modell,amely mind fix, mind random hatásokat tartalmaz.

I Az általánosított lineáris kevert modell (glmm) egy olyanáltalánosított lineáris modell, amely mind fix, mindrandom hatásokat tartalmaz.

I A nemlineáris kevert modell (nlme) egy olyan nemlineárismodell, amely mind fix, mind random hatásokat tartalmaz.

Kevert modellek illesztése

I Restricted Maximum Likelihood (REML) módszerreltörténik az illesztés.

I A modell:Y = Xβ + Zγ + ε

Fix hatások + Random hatások + Hibatag

Random hatások a földhasználati példában

I A különböző gazdálkodók (Farmer) és transzekt párokhatása nem lett figyelembe véve.

I Ha ezeket fixeknek tekintjük, akkor becsülhetjük ahatásukat a várható értékben.

I Ha random hatásoknak tekintjük, akkor feltételezzük,hogy a várható értékük 0 .

I A hatásuk a variancia struktúrában jelentkezik.I Most csak a Farmer faktort vesszük figyelembe.

>plot(Weedcover∼Farmer,pch=20)

AG ET NL PP SD

010

2030

4050

6070

Farmer

Wee

dcov

er

Lineáris modell

> mod1.lm <- lm(Weedcover ~ N_input * Transectpos ++ Noncrop_area + Farmer)

Lineáris modell – summary> summary(mod1.lm)

Call:lm(formula = Weedcover ~ N_input * Transectpos + Noncrop_area +

Farmer)Residuals:

Min 1Q Median 3Q Max-27.109 -7.041 -0.884 5.508 40.086

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

(Intercept) 32.530954 14.569454 2.233 0.03246N_input -0.091177 0.075699 -1.204 0.23698Transectpos1 -17.866460 6.021901 -2.967 0.00556Noncrop_area 0.009736 0.156296 0.062 0.95070FarmerET -6.453820 8.631873 -0.748 0.45995FarmerNL 24.825768 13.035739 1.904 0.06560FarmerPP -2.393432 8.919498 -0.268 0.79011FarmerSD 22.186274 8.247480 2.690 0.01112N_input:Transectpos1 0.034600 0.048059 0.720 0.47662

Residual standard error: 12.41 on 33 degrees of freedomMultiple R-Squared: 0.6303, Adjusted R-squared: 0.5407F-statistic: 7.032 on 8 and 33 DF, p-value: 2.161e-05

Anova tábla

> anova(mod1.lm)

Analysis of Variance TableResponse: Weedcover

Df Sum Sq Mean Sq F value Pr(>F)N_input 1 6.5 6.5 0.0425 0.8379581Transectpos 1 2214.9 2214.9 14.3879 0.0006028Noncrop_area 1 16.5 16.5 0.1074 0.7451385Farmer 4 6342.6 1585.7 10.3004 1.587e-05N_input:Transectpos 1 79.8 79.8 0.5183 0.4766213Residuals 33 5080.0 153.9

Reziduum vs. becsült érték ábra

>plot(mod1.lm,1,pch=20)

10 20 30 40 50

−20

020

40

Fitted values

Res

idua

ls

●●

●●

● ●

●●●

lm(Weedcover ~ N_input * Transectpos + Noncrop_area + Farmer)

Residuals vs Fitted

39

37

40

Normalitás vizsgálat (QQ-plot)

>plot(mod1.lm,2,pch=20)

●●

●●

● ●

●●●

−2 −1 0 1 2

−3

−2

−1

01

23

4

Theoretical Quantiles

Sta

ndar

dize

d re

sidu

als

lm(Weedcover ~ N_input * Transectpos + Noncrop_area + Farmer)

Normal Q−Q

39

37

40

Szórás–becsült érték ábra

>plot(mod1.lm,3,pch=20)

10 20 30 40 50

0.0

0.5

1.0

1.5

2.0

Fitted values

Sta

ndar

dize

d re

sidu

als

●●

●●

lm(Weedcover ~ N_input * Transectpos + Noncrop_area + Farmer)

Scale−Location

39

3740

Problémák

I Enyhén nem állandó variancia.I Nem független megfigyelések. (Transzekt párok,

ugyanahhoz a gazdálkodóhoz tartozó területek.)

Kevert modellek az R-ben

Főbb csomagok:I nlme: lme()

I Matrix, lme4: lmer()

I Mindkettő szerzője: Douglas Bates et al.I Különböző számítási módok, különböző random hatás

formulák.I Valószínűleg az lmer() hatékonyabb, de lényegesen

nehezebb használni.

Kevert modell

> library(nlme)> mod1.lme <- lme(Weedcover ~ N_input * Transectpos ++ Noncrop_area, random = ~1 | Farmer)> library(lme4)> mod1.lmer <- lmer(Weedcover ~ N_input * Transectpos ++ Noncrop_area + (1 | Farmer))random=∼1|Farmer :Egyetlen random hatás minden csoportnak: Farmer

Az lme modell

> mod1.lme

Linear mixed-effects model fit by REMLData: NULLLog-restricted-likelihood: -168.8030Fixed: Weedcover ~ N_input * Transectpos + Noncrop_area

(Intercept) N_input34.68286414 -0.05117730

Transectpos1 Noncrop_area-17.86335610 0.04170213

N_input:Transectpos10.03469429

Random effects:Formula: ~1 | Farmer

(Intercept) ResidualStdDev: 13.39403 12.36867

Number of Observations: 42Number of Groups: 5

Az lmer modell> mod1.lmer

Linear mixed-effects model fit by REMLFormula: Weedcover ~ N_input * Transectpos + Noncrop_area + (1 | Farmer)

AIC BIC logLik MLdeviance REMLdeviance349.6 360 -168.8 336.8 337.6

Random effects:Groups Name Variance Std.Dev.Farmer (Intercept) 179.40 13.394Residual 152.98 12.369

number of obs: 42, groups: Farmer, 5Fixed effects:

Estimate Std. Error t value(Intercept) 34.68293 11.50429 3.0148N_input -0.05118 0.05951 -0.8600Transectpos1 -17.86336 6.00315 -2.9757Noncrop_area 0.04170 0.14433 0.2889N_input:Transectpos1 0.03469 0.04791 0.7242

Correlation of Fixed Effects:(Intr) N_inpt Trnsc1 Nncrp_

N_input -0.736Transectps1 -0.262 0.312Noncrop_are -0.640 0.431 0.002N_npt:Trns1 0.196 -0.399 -0.772 0.009

Az lme modell összegzése> summary(mod1.lme)

Linear mixed-effects model fit by REMLData: NULL

AIC BIC logLik351.6061 362.8825 -168.8030

Random effects:Formula: ~1 | Farmer

(Intercept) ResidualStdDev: 13.39403 12.36867

Fixed effects: Weedcover ~ N_input * Transectpos + Noncrop_areaValue Std.Error DF t-value

(Intercept) 34.68286 11.504234 33 3.0147912N_input -0.05118 0.059510 33 -0.8599827Transectpos1 -17.86336 6.003157 33 -2.9756605Noncrop_area 0.04170 0.144327 33 0.2889415N_input:Transectpos1 0.03469 0.047909 33 0.7241658

p-value(Intercept) 0.0049N_input 0.3960Transectpos1 0.0054Noncrop_area 0.7744N_input:Transectpos1 0.4741Correlation:

(Intr) N_inpt Trnsc1 Nncrp_N_input -0.736Transectpos1 -0.262 0.312Noncrop_area -0.640 0.431 0.002N_input:Transectpos1 0.196 -0.399 -0.772 0.009

Standardized Within-Group Residuals:Min Q1 Med Q3 Max

-2.12535750 -0.52576118 -0.03714839 0.48630058 3.35898578

Number of Observations: 42Number of Groups: 5

Az lmer modell összegzése> summary(mod1.lmer)

Linear mixed-effects model fit by REMLFormula: Weedcover ~ N_input * Transectpos + Noncrop_area + (1 | Farmer)

AIC BIC logLik MLdeviance REMLdeviance349.6 360 -168.8 336.8 337.6

Random effects:Groups Name Variance Std.Dev.Farmer (Intercept) 179.40 13.394Residual 152.98 12.369

number of obs: 42, groups: Farmer, 5Fixed effects:

Estimate Std. Error t value(Intercept) 34.68293 11.50429 3.0148N_input -0.05118 0.05951 -0.8600Transectpos1 -17.86336 6.00315 -2.9757Noncrop_area 0.04170 0.14433 0.2889N_input:Transectpos1 0.03469 0.04791 0.7242

Correlation of Fixed Effects:(Intr) N_inpt Trnsc1 Nncrp_

N_input -0.736Transectps1 -0.262 0.312Noncrop_are -0.640 0.431 0.002N_npt:Trns1 0.196 -0.399 -0.772 0.009

Anova tábla

A fix hatások feltételes anova teszttel tesztelhetők az lmemodell esetén.

> anova(mod1.lme)

numDF denDF F-value p-value(Intercept) 1 33 13.526606 0.0008N_input 1 33 0.738573 0.3963Transectpos 1 33 14.477856 0.0006Noncrop_area 1 33 0.079834 0.7793N_input:Transectpos 1 33 0.524416 0.4741

> anova(mod1.lmer)

Analysis of Variance TableDf Sum Sq Mean Sq

N_input 1 112.99 112.99Transectpos 1 2214.88 2214.88Noncrop_area 1 12.21 12.21N_input:Transectpos 1 80.23 80.23

Redukált lme modell

> mod2.lme <- lme(Weedcover ~ Transectpos,+ random = ~1 | Farmer)> mod2.lme

Linear mixed-effects model fit by REMLData: NULLLog-restricted-likelihood: -164.1596Fixed: Weedcover ~ Transectpos

(Intercept) Transectpos130.53005 -14.52381

Random effects:Formula: ~1 | Farmer

(Intercept) ResidualStdDev: 11.68188 12.23175

Number of Observations: 42Number of Groups: 5

Redukált lmer modell> mod2.lmer <- lmer(Weedcover ~ Transectpos ++ (1 | Farmer))> mod2.lmer

Linear mixed-effects model fit by REMLFormula: Weedcover ~ Transectpos + (1 | Farmer)

AIC BIC logLik MLdeviance REMLdeviance334.3 339.5 -164.2 338.0 328.3

Random effects:Groups Name Variance Std.Dev.Farmer (Intercept) 136.47 11.682Residual 149.62 12.232

number of obs: 42, groups: Farmer, 5Fixed effects:

Estimate Std. Error t value(Intercept) 30.530 5.899 5.176Transectpos1 -14.524 3.775 -3.848

Correlation of Fixed Effects:(Intr)

Transectps1 -0.320

Modellek összehasonlítása

> anova(mod1.lmer, mod2.lmer)

Data:Models:mod2.lmer: Weedcover ~ Transectpos + (1 | Farmer)mod1.lmer: Weedcover ~ N_input * Transectpos + Noncrop_area + (1 | Farmer)

Df AIC BIC logLik Chisq Chi Dfmod2.lmer 3 344.04 349.26 -169.02mod1.lmer 6 348.82 359.24 -168.41 1.2253 3

Pr(>Chisq)mod2.lmermod1.lmer 0.747

Az illesztett modell diagnosztikája

I Jó kiindulás a modell fix verziójának ellenőrzése.I Reziduumok ellenőrzése.I Random faktor ellenőrzése.

>plot(mod2.lme)

Fitted values

Sta

ndar

dize

d re

sidu

als

−2

−1

0

1

2

3

10 20 30 40

● ●●

A hibatag normalitásának ellenőrzése

>qqnorm(mod2.lme)

Standardized residuals

Qua

ntile

s of

sta

ndar

d no

rmal

−2

−1

0

1

2

−2 −1 0 1 2 3

●●

A random hatások becslése

> random.effects(mod2.lme)

(Intercept)AG -5.017905ET -8.797690NL 4.564477PP -7.836253SD 17.087371

A random hatás normalitásának ellenőrzése

>qqnorm(mod2.lme, ranef(.))

Random effects

Qua

ntile

s of

sta

ndar

d no

rmal

−1.0

−0.5

0.0

0.5

1.0

−10 −5 0 5 10 15

(Intercept)

Problémák

I Van három kiugró érték.I Nem állandó variancia.I Nem normális reziduumok.I Nem normális random hatások.

Variancia függvények

I A csoporton belüli hiba variancia struktúra valamilyenkovariáns függvényében.

I varFunc osztályok: különböző variancia függvényekmegadása:

I Argumentum: egyoldali formula, amely meghatározza aI a kovariánst;I opcionális rétegző változót: a rétegző változó minden

szintjéhez más variancia paraméter tartozik.I e.g. form = age| sexI form = fitted(.) - a kovariáns = becsült értékek.

I Standard varFunc osztályok:I varFixed - lineáris;I varIdent - különböző variancia a rétegző változó minden

szintjéhez;I varPower - hatvány variancia függvény.I . . .

> (mod3.lme <- lme(Weedcover ~ N_input + Transectpos,+ weights = varIdent(form = ~1 | Farmer),+ random = ~1 | Farmer))

Linear mixed-effects model fit by REMLData: NULLLog-restricted-likelihood: -152.6822Fixed: Weedcover ~ N_input + Transectpos

(Intercept) N_input Transectpos135.89923846 -0.05237175 -16.05589320

Random effects:Formula: ~1 | Farmer

(Intercept) ResidualStdDev: 12.92851 7.388345

Variance function:Structure: Different standard deviations per stratumFormula: ~1 | FarmerParameter estimates:

AG ET NL PP SD1.0000000 0.7059728 3.6631211 0.9700587 1.1778046Number of Observations: 42Number of Groups: 5

summary(mod3.lme)Linear mixed-effects model fit by REMLData: NULL

AIC BIC logLik323.3643 338.3364 -152.6822

Random effects:Formula: ~1 | Farmer

(Intercept) ResidualStdDev: 12.92851 7.388345

Variance function:Structure: Different standard deviations per stratumFormula: ~1 | FarmerParameter estimates:

AG ET NL PP SD1.0000000 0.7059728 3.6631211 0.9700587 1.1778046Fixed effects: Weedcover ~ N_input + Transectpos

Value Std.Error DF t-value p-value(Intercept) 35.89924 7.221607 35 4.971087 0.000N_input -0.05237 0.036305 35 -1.442558 0.158Transectpos1 -16.05589 2.189421 35 -7.333398 0.000Correlation:

(Intr) N_inptN_input -0.503Transectpos1 -0.152 0.000

Standardized Within-Group Residuals:Min Q1 Med Q3 Max

-1.86720457 -0.62024295 0.07185299 0.85638389 1.67066644

Number of Observations: 42Number of Groups: 5

Standardizált reziduumok vs. becsült értékek

>plot(mod3.lme)

Fitted values

Sta

ndar

dize

d re

sidu

als

−2

−1

0

1

10 20 30 40 50

●●

●●

● ●

A hibatag normalitásának ellenőrzése

>qqnorm(mod3.lme)

Standardized residuals

Qua

ntile

s of

sta

ndar

d no

rmal

−2

−1

0

1

2

−2 −1 0 1

●●

●●

A random hatás normalitásának ellenőrzése

>qqnorm(mod3.lme,∼ranef(.))

Random effects

Qua

ntile

s of

sta

ndar

d no

rmal

−1.0

−0.5

0.0

0.5

1.0

−10 −5 0 5 10 15

(Intercept)

Következtetések

I Csak a transzekt pozíciójának van szignifikáns hatása.I A Farmer és N input hatása nem elválasztható.I Több N input szintre lenne szükségünk minden Farmer

esetén ahhoz, hogy szétválaszthassuk a hatásokat.I Az additív modell lo(N input) és lo(Noncrop area)

tényezője szignifikáns. A Farmer hatást nem vettük be amodellbe!

Általánosított lineáris kevert modell(Generalized Linear Mixed Model)

I Lineáris kevert modell nemnormális eloszlású függőváltozóval.

I Több függvény is van ilyen modellek illesztésére:I glmmPQL (MASS package)

I Az lme és glm függvényekre épül. Ugyanolyan a struktúrája.I A túlszóródás (overdispersion) is modellezhető.

I glmmML (glmmML package)I lmer (Matrix package)

Általánosított lineáris kevert modell

> library(MASS)> mod1.glmm <- glmmPQL(Totspeciesnb ~ N_input ++ Noncrop_area + Transectpos, random = ~1 |+ Farmer, family = poisson, data = land)> mod1.glmm.lmer <- lmer(Totspeciesnb ~ N_input ++ Noncrop_area + Transectpos + (1 | Farmer),+ family = poisson, data = land)

> summary(mod1.glmm)

Linear mixed-effects model fit by maximum likelihoodData: landAIC BIC logLikNA NA NA

Random effects:Formula: ~1 | Farmer

(Intercept) ResidualStdDev: 5.462416e-06 1.375773

Variance function:Structure: fixed weightsFormula: ~invwt

Fixed effects: Totspeciesnb ~ N_input + Noncrop_area + TransectposValue Std.Error DF t-value p-value

(Intercept) 3.360393 0.13574646 34 24.754919 0.0000N_input -0.001129 0.00065716 34 -1.718394 0.0948Noncrop_area 0.005739 0.00271202 34 2.116053 0.0417Transectpos1 -0.632091 0.09592256 34 -6.589594 0.0000Correlation:

(Intr) N_inpt Nncrp_N_input -0.662Noncrop_area -0.820 0.361Transectpos1 -0.252 0.004 0.009

Standardized Within-Group Residuals:Min Q1 Med Q3 Max

-1.73891556 -0.81566539 -0.07405836 0.62656493 2.57318145

Number of Observations: 42Number of Groups: 5

> summary(mod1.glmm.lmer)

Generalized linear mixed model fit using LaplaceFormula: Totspeciesnb ~ N_input + Noncrop_area + Transectpos + (1 | Farmer)

Data: landFamily: poisson(log link)

AIC BIC logLik deviance87.14 95.83 -38.57 77.14

Random effects:Groups Name Variance Std.Dev.Farmer (Intercept) 0.002051 0.045288

number of obs: 42, groups: Farmer, 5Estimated scale (compare to 1 ) 1.354733

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

(Intercept) 3.3634085 0.1050857 32.01 < 2e-16N_input -0.0010584 0.0005101 -2.07 0.03800Noncrop_area 0.0053966 0.0019799 2.73 0.00642Transectpos1 -0.6329749 0.0663255 -9.54 < 2e-16

Correlation of Fixed Effects:(Intr) N_inpt Nncrp_

N_input -0.697Noncrop_are -0.804 0.389Transectps1 -0.226 0.004 0.009

Boxplot

>boxplot(Totspeciesnb∼Farmer)

AG ET NL PP SD

1020

3040

50

Redukált modell

> (mod2.glmm <- glmmPQL(Totspeciesnb ~ Noncrop_area ++ Transectpos, random = ~1 | Farmer, family = poisson))

Linear mixed-effects model fit by maximum likelihoodData: landLog-likelihood: NAFixed: Totspeciesnb ~ Noncrop_area + Transectpos

(Intercept) Noncrop_area Transectpos13.213777951 0.006774636 -0.631679342

Random effects:Formula: ~1 | Farmer

(Intercept) ResidualStdDev: 0.07566479 1.374297

Variance function:Structure: fixed weightsFormula: ~invwt

Number of Observations: 42Number of Groups: 5

> summary(mod2.glmm)

Linear mixed-effects model fit by maximum likelihoodData: landAIC BIC logLikNA NA NA

Random effects:Formula: ~1 | Farmer

(Intercept) ResidualStdDev: 0.07566479 1.374297

Variance function:Structure: fixed weightsFormula: ~invwt

Fixed effects: Totspeciesnb ~ Noncrop_area + TransectposValue Std.Error DF t-value p-value

(Intercept) 3.213778 0.11003082 35 29.207979 0.0000Noncrop_area 0.006775 0.00263462 35 2.571393 0.0145Transectpos1 -0.631679 0.09454454 35 -6.681288 0.0000Correlation:

(Intr) Nncrp_Noncrop_area -0.796Transectpos1 -0.304 0.008

Standardized Within-Group Residuals:Min Q1 Med Q3 Max

-1.7102441 -0.8769116 -0.2014858 0.6871143 2.3072523

Number of Observations: 42Number of Groups: 5

>plot(mod2.glmm)

Fitted values

Sta

ndar

dize

d re

sidu

als

−1

0

1

2

2.6 2.8 3.0 3.2 3.4 3.6

●●

A hibatag normalitásának ellenőrzése

>qqnorm(mod2.glmm)

Standardized residuals

Qua

ntile

s of

sta

ndar

d no

rmal

−2

−1

0

1

2

−1 0 1 2

A random hatás normalitásának ellenőrzése

>qqnorm(mod2.glmm,∼ranef(.))

Random effects

Qua

ntile

s of

sta

ndar

d no

rmal

−1.0

−0.5

0.0

0.5

1.0

−0.05 0.00 0.05

(Intercept)

A hernyók méretbeli különbségei

I Longitudinális adatokra példát szolgáltatnak egy olyantömegnövekedést vizsgáló laboratóriumai kísérletbőlszármazó mérési eredmények, amelyben farkasalamlepke(Zerynthia polyxena) hernyóit különböző hőmérsékletentartották.

I A teljes adathalmaz itt bemutatott részében 20 hernyóadatai szerepelnek (subjects). A hernyók testtömegét 4naponta mérték a kikeléstől a bebábozódásig.

I 3 különböző hőmérsékleti kezelést alkalmaztak.

"Széles" formátumú táblázat

> mass[1:5, ]

BOX TEMPR LM0 LM1 LM2 LM3 LM4 LM5 LM6 LM7 LM81 3 cooled 0.006 0.027 0.079 0.109 0.223 0.279 0.371 0.288 0.2902 4 cooled 0.014 0.067 0.157 0.200 0.342 0.287 0.310 0.290 0.2803 7 cooled 0.026 0.038 0.089 0.110 0.225 0.276 0.344 0.352 0.3004 8 cooled 0.026 0.053 0.107 0.137 0.239 0.329 0.375 0.392 0.3225 9 cooled 0.012 0.023 0.078 0.122 0.164 0.280 0.397 0.333 0.320

A széles típusú elrendezés átrendezése hosszúvá("wide" → "long")

> mass$BOX <- factor(mass$BOX)> nobs <- nrow(mass)> mass_long <- reshape(mass, idvar = "BOX",+ varying = list(names(mass[, 3:11])),+ direction = "long", , v.names = "LM")> mass_long[1:10, ]

BOX TEMPR time LM3.1 3 cooled 1 0.0064.1 4 cooled 1 0.0147.1 7 cooled 1 0.0268.1 8 cooled 1 0.0269.1 9 cooled 1 0.01210.1 10 cooled 1 0.02513.1 13 room 1 0.00414.1 14 room 1 0.01516.1 16 room 1 0.00718.1 18 room 1 0.025

groupedData objektumok

I data.frame objektum kiterjesztése.I Egy formulába foglalja egy függő változót, egy kovariánst

és egy csoportosító tényezőt : függő ∼ kovariáns|csoport.I Meg lehet külső faktorokat is adni:

I a megfigyelési egységeken alkalmazott kezelés.

I Cimkék is definiálhatók.I . . .

Egy groupedData objektum megadása

> library(nlme)> massGrouped <- groupedData(LM ~ time | BOX, outer = ~TEMPR,+ data = mass_long,+ labels = list(x = "Mérés", y = "Hernyótömeg (g)"))

>plot(massGrouped)

Mérés

Her

nyót

ömeg

(g)

0.0

0.1

0.2

0.3

0.4

2 4 6 8

●●

● ●

4

●●

●●

●●

10

2 4 6 8

● ●

●●

● ●

7

●●

●●

● ●

3

2 4 6 8

●●

●●

●●

8

● ●

● ●

9

2 4 6 8

●● ●

● ●

● ● ●

21● ●

● ●

●● ●

23

●●

● ●

● ● ●

26

● ● ●

●●

● ●

22

●●

● ● ●

28

● ●●

● ●

25

●●

● ●

●● ●

31

0.0

0.1

0.2

0.3

0.4

● ●●

●● ●

240.0

0.1

0.2

0.3

0.4

● ●

●●

●●

●●

30

2 4 6 8

●●

●●

●● ●

16

●●

●●

● ●

14

2 4 6 8

●●

● ●

20

●●

● ●

13

2 4 6 8

● ●

● ●

18

Az ábra tulajdonságai

I Ábra sorozat. Az egyedi ábrákat "panel"-eknek nevezzük.I Minden panelnek egyedi tengelyei vannak.I Csoportos adatok esetén a függő változónak egy

elsődleges kovariánstól való csoportonkénti függésénektulajdonságai Trellis grafika (library(lattice))segítségével könnyen áttekinthetők.

I Ugyanakkor a csoportok is összehasonlíthatók.

3 ábra a három hőmérsékleti kezelésre

>plot(massGrouped,outer=T,layout=c(3,1),key=F)

Mérés

Her

nyót

ömeg

(g)

0.0

0.1

0.2

0.3

0.4

2 4 6 8

●●●●●● ●

●●

● ●

●●

●●

●●●●

●●

●●

●●

cooled

2 4 6 8

●●●●●●●●● ●

●●●●

●●●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

heated

2 4 6 8

●●●

●● ●●●

●● ●

●● ●●

●●

●●

●●

●●●

room

Az adatok tulajdonságai

I Szigmoid alak. A növekedés logisztikus függvénnyelmodellezzük.

y(x) =Φ1(

1 + exp(

Φ2−xΦ3

))I az alsó aszimptota 0;I Φ1 - felső aszimptota;I Φ2 - inflekciós pont;I Φ3 - skálázási paraméter (az inflexiós pont és a

Φ1/(1 + e−1) ≈ 0.73Φ1 távolsága az x tengelyen).I A hernyómérettel növekvő variabilitás. Csoporton belüli

variancia modell.

A logisztikus függvény

Lineáris modell

> mod1.lme <- lme(LM ~ TEMPR, weights = varPower(),+ data = massGrouped)> anova(mod1.lme)

numDF denDF F-value p-value(Intercept) 1 160 366.2286 <.0001TEMPR 2 17 1.0027 0.3876

Reziduumok ábrája

>plot(mod1.lme)

Fitted values

Sta

ndar

dize

d re

sidu

als

−1

0

1

0.16 0.17 0.18 0.19 0.20

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

● ●

●●

●●

●●

●●●

● ●

●● ●

●●

● ●

●●

●●

●●

● ●

●●

●●

●●

●●

●●

●●

Normalitás vizsgálat

qqnorm(mod1.lme)

Standardized residuals

Qua

ntile

s of

sta

ndar

d no

rmal

−3

−2

−1

0

1

2

3

−1 0 1

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

● ●

●●

●●

●●

●●

●●

●●

● ●

●●

●●

●●

●●

●●

●●

●●

●●

selfStart objektumok

I A nemlineáris regressziós modellek egy osztálya kisegítő"inicializáló" függvénnyel.

I Tartalmazza a modell függvényt magát és a deriváltjainakkódját.

I Az iterációk megkezdése előtt az inicializáló függvénythívja meg megfelelő kezdeti becslések készítéséhez.

Egyedi illesztések> mod1.nlsList <- nlsList(LM ~ SSlogis(time, Asym, xmid,+ scal), data = massGrouped)> coef(mod1.nlsList)

Asym xmid scal4 0.3013417 3.019328 0.739517010 0.2895020 3.591827 0.78467197 0.3423090 4.405085 1.03768913 0.3185156 4.295591 0.82683338 0.3766248 4.276009 1.06946299 0.3593805 4.739875 0.987467721 0.2246673 5.616000 1.003710723 0.2595412 5.136916 1.025607026 0.3133955 4.285689 1.149097622 0.2629832 5.294313 0.701419028 0.2845404 3.691796 0.649630525 0.3226826 4.554836 0.833980931 0.3384038 4.271248 1.032381724 0.3649638 4.906504 0.891934630 0.3723890 3.774257 0.848255616 0.2923923 4.830018 1.177912214 0.2882872 4.243042 1.223420020 0.2910224 3.422182 1.015210113 0.3227602 4.390807 0.823040718 0.3271352 3.789847 0.9300969

>plot(intervals(mod1.nlsList),col=as.numeric(TEMPR))B

OX

4

10

7

3

8

9

21

23

26

22

28

25

31

24

30

16

14

20

13

18

0.15 0.20 0.25 0.30 0.35 0.40

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

Asym

3 4 5 6 7

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

xmid

0.5 1.0 1.5 2.0

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

scal

nlme modell> (mod1.nlme <- nlme(mod1.nlsList, na.action = na.omit,+ control = list(tolerance = 0.001)))

Nonlinear mixed-effects model fit by maximum likelihoodModel: LM ~ SSlogis(time, Asym, xmid, scal)Data: massGroupedLog-likelihood: 335.0960Fixed: list(Asym ~ 1, xmid ~ 1, scal ~ 1)

Asym xmid scal0.3106634 4.3041546 0.9230615Random effects:Formula: list(Asym ~ 1, xmid ~ 1, scal ~ 1)Level: BOXStructure: General positive-definite, Log-Cholesky parametrization

StdDev CorrAsym 0.03472737 Asym xmidxmid 0.58421223 -0.344scal 0.07711092 -0.029 0.948Residual 0.03105154

Number of Observations: 180Number of Groups: 20

Populaciós és csoporton belüli becslések

>plot(augPred(mod1.nlme,level=0:1))

Mérés

Her

nyót

ömeg

(g)

0.0

0.1

0.2

0.3

0.4

2 4 6 8

●●

●●

● ●

4

● ●

●●

●●

●●

10

2 4 6 8

● ●

●●

● ●

7

●●

●●

● ●

3

2 4 6 8

●●

●●

●● ●

8● ●

●●

● ●

9

●● ●

● ●

● ● ●

21

● ●●

● ●

●● ●

23

●●

● ●

●● ● ●

26

0.0

0.1

0.2

0.3

0.4

● ● ●●

● ●

220.0

0.1

0.2

0.3

0.4

●●

● ● ●

28

● ●●

●● ●

25

●●

● ●

●● ●

31

● ●●

●● ●

24

● ●

●●

●●

●●

30●

●●

●●

●● ●

16

2 4 6 8

●●

●●

●●

●● ●

14

●●

● ●

20

2 4 6 8

●●

●●

● ●

13

0.0

0.1

0.2

0.3

0.4

●●

● ●

● ●

18

fixed BOX

Standardizált reziduumok vs. becsült értékek

>plot(mod1.nlme,pch=20,col=1)

Fitted values

Sta

ndar

dize

d re

sidu

als

−2

−1

0

1

2

0.0 0.1 0.2 0.3

● ●

●●

●●

●●

●●●

●●

●●

● ●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

A reziduumok normalitása

>qqnorm(mod1.nlme,pch=20,col=1)

Standardized residuals

Qua

ntile

s of

sta

ndar

d no

rmal

−3

−2

−1

0

1

2

3

−2 −1 0 1 2

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

A random hatások normalitása

>qqnorm(mod1.nlme,∼ranef(.),pch=20,col=1)

Random effects

Qua

ntile

s of

sta

ndar

d no

rmal

−2

−1

0

1

2

−0.05 0.00 0.05

Asym

−1.0 −0.5 0.0 0.5 1.0

xmid

−0.15 −0.10 −0.05 0.00 0.05 0.10

scal

> (mod2.nlme <- update(mod1.nlme,+ weights = varPower(form = ~time)))

Nonlinear mixed-effects model fit by maximum likelihoodModel: LM ~ SSlogis(time, Asym, xmid, scal)Data: massGroupedLog-likelihood: 378.8348Fixed: list(Asym ~ 1, xmid ~ 1, scal ~ 1)

Asym xmid scal0.3274611 4.4281031 1.1078004Random effects:Formula: list(Asym ~ 1, xmid ~ 1, scal ~ 1)Level: BOXStructure: General positive-definite, Log-Cholesky parametrization

StdDev CorrAsym 0.028874955 Asym xmidxmid 0.640498532 -0.379scal 0.129289287 0.261 0.439Residual 0.004261739

Variance function:Structure: Power of variance covariateFormula: ~timeParameter estimates:

power1.198662Number of Observations: 180Number of Groups: 20

Reziduumok ábrája

>plot(mod2.nlme,pch=20,col=1)

Fitted values

Sta

ndar

dize

d re

sidu

als

−2

−1

0

1

2

0.0 0.1 0.2 0.3

●●

●●

●●

●●●

● ●

● ●

●●

●●

●●

●●

●●

A random hatások normalitása

>qqnorm(mod2.nlme,∼ranef(.),pch=20,col=1)

Random effects

Qua

ntile

s of

sta

ndar

d no

rmal

−2

−1

0

1

2

−0.04 −0.02 0.00 0.02 0.04

Asym

−1.0 −0.5 0.0 0.5 1.0 1.5

xmid

−0.2 −0.1 0.0 0.1

scal

Modellek összehasonlítása

> anova(mod1.nlme, mod2.nlme)

Model df AIC BIC logLik Test L.Ratiomod1.nlme 1 10 -650.1921 -618.2625 335.0960mod2.nlme 2 11 -735.6695 -700.5470 378.8348 1 vs 2 87.47744

p-valuemod1.nlmemod2.nlme <.0001

Fix hatás megadása a modellben

> modfix <- fixed.effects(mod2.nlme)> mod3.nlme <- update(mod2.nlme, fixed = Asym + xmid ++ scal ~ TEMPR, start = c(modfix[1], 0, 0, modfix[2],+ 0, 0, modfix[3], 0, 0))> anova(mod3.nlme)

numDF denDF F-value p-valueAsym.(Intercept) 1 152 689.1728 <.0001Asym.TEMPR 2 152 3.2536 0.0413xmid.(Intercept) 1 152 270.7553 <.0001xmid.TEMPR 2 152 1.6871 0.1885scal.(Intercept) 1 152 626.2964 <.0001scal.TEMPR 2 152 0.2687 0.7648

>plot(mod3.nlme,pch=20,col=1)

Fitted values

Sta

ndar

dize

d re

sidu

als

−2

−1

0

1

2

0.0 0.1 0.2 0.3

●●

●●

● ●

●●

● ●

● ●

●●

●●

●●

●●

●●

●●

>qqnorm(mod3.nlme,pch=20,col=1)

Standardized residuals

Qua

ntile

s of

sta

ndar

d no

rmal

−3

−2

−1

0

1

2

3

−2 −1 0 1 2

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

Nemlineáris modellépítés

I Iteratív modellépítési folyamat.I Csoporton belüli modellépítés (nlsList) a megfigyelések

minden csoportjára.I Ezekből az illesztésekből meghatározzuk, hogy a

paraméterek hogyan változnak a csoportok között, illetvehogy függnek egyéb kovariánsoktól stb.

I Bonyolultabb modellek illesztése a fentiek alapján.I Ha a csoporton belüli modell nemlineáris, kezdő becslések

szükségesek.I Ismételjük meg az illesztést a fix tényező beillesztésével.

Recommended