18.07.2013 Views

Noter om R

Noter om R

Noter om R

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

C Polyn<strong>om</strong>iel regression og regressionskurve i R<br />

I afsnit 13 så vi hvordan man i R nemt foretager lineær regression med funktionen lm.<br />

Det er næsten lige så nemt at beregne en polyn<strong>om</strong>iel regressionskurve, for eksempel at finde det<br />

andengradspolyn<strong>om</strong>ium der bedst passer til væksthormonforsøgsdatasættet d (se afsnit 13). Man bruger<br />

igen funktionen lm til at finde de koefficienter c, b og a der bedst passer med y = c + bx + ax 2 hvor y<br />

er Kontrol og x er Tid.<br />

> preg preg<br />

Coefficients:<br />

(Intercept) Tid I(Tid^2)<br />

6.318e+00 -2.801e-03 1.523e-06<br />

Det beregnede andengradspolyn<strong>om</strong>ium preg er y = 6.318−0.002801x + 0.000001523x 2 . I kaldet til<br />

lm betyder funktionen I i R-formlen at Tidˆ2 skal betragtes s<strong>om</strong> en variabel der indgår i den lineære<br />

model, ikke s<strong>om</strong> en specifikation i R’s modelsprog, hvor operatoren ˆ har speciel betydning. Hvis man<br />

inkluderer regneudtryk s<strong>om</strong> variable er det altid sikrest at pakke dem ind i I().<br />

For at indtegne polyn<strong>om</strong>iet på plottet over dataene skal man opbygge en vektor m af x-værdier,<br />

såkaldte “støttepunkter”. For hvert af disse beregnes polyn<strong>om</strong>iets y-koordinat ved hjælp af funktionen<br />

predict. Tilsammen udgør m og værdierne beregnet af predict et sæt (x, y)-koordinater for polyn<strong>om</strong>iet,<br />

og de bruges i funktionen lines til at tilføje polyn<strong>om</strong>iet til dataplottet:<br />

> m lines(m, predict(preg, data.frame(Tid=m)), col="red")<br />

Polyn<strong>om</strong>iel regression med hensyn til polyn<strong>om</strong>ier af højere grad, eller med hensyn til andre transformerede<br />

variable, kan laves på samme måde:<br />

> preg3 lines(m, predict(preg3, data.frame(Tid=m)), col="green")<br />

> logreg lines(m, predict(logreg, data.frame(Tid=m)), col="yellow")<br />

121

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!