Werken met R bij wiskunde: Regressieanalyse in R
Meervoudige lineaire regressie
Bij meervoudige lineaire regressie gaat het om het vaststellen van een lineair verband \[y=\beta_0+\beta_1 x_1+\beta_2 x_2+\cdots + \beta_p x_p\] tussen een afhankelijke variabele \(y\) en twee of meer onafhankelijke variabelen \(x_1, x_2, \cdots, x_p\). De parameters \(\beta_0, \beta_1, \ldots, \beta_p\) moeten zodanig geschat worden dat het \(p\)-dimensionale vlak met vergelijking \(y=\beta_0+\beta_1 x_1+\beta_2 x_2+\cdots + \beta_p x_p\) het best past bij meetgegevens. Onderstaand voorbeeld laat zien hoe dit in R kan.
Onderstaand R script
x <- c(1,2,3,4,5)
y <- c(3,5,1,2,4)
z <- x + 2*y + rnorm(5, mean=0, sd=0.5)
# meervoudige lineaire regressie
fit <- lm(formula = z ~ x + y)
print(summary(fit))
# correlatie tussen gegevens en lineaire fit
cat("correlatiecoëfficiënt = ", cor(z, predict(fit)))
kan in het console venster de volgende uitvoer opleveren:
Call:
lm(formula = y ~ x1 + x2)
Residuals:
1 2 3 4 5
-0.01798 0.08453 -0.46586 0.75004 -0.35073
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.6424 1.0005 -0.642 0.58658
x1 1.0420 0.2144 4.860 0.03982 *
x2 2.2229 0.2144 10.369 0.00917 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.6746 on 2 degrees of freedom
Multiple R-squared: 0.9839, Adjusted R-squared: 0.9678
F-statistic: 61.14 on 2 and 2 DF, p-value: 0.01609
correlatiecoëfficiënt = 0.9962919
Ontgrendel volledige toegang