General linear model lm(), de algemene formule voor een general linear model is:
> lm1 = lm(y~x, data = df)
Hierbij is ‘y’ de respons variabele en ‘x’ de explanatory variabele. Met ‘data =’ geef je aan uit welk
dataframe je data komt. Voor nu zullen we het general linear model alleen nog gebruiken voor
gevallen waarbij ‘y’ continue is en ‘x’ categoriaal (X) of continue (x) is:
- lm(y~x) = 𝑟𝑒𝑔𝑟𝑒𝑠𝑠𝑖𝑒
- lm(y~x1 + x2 + xN ) = 𝑚𝑢𝑙𝑡𝑖𝑝𝑙𝑒 𝑟𝑒𝑔𝑟𝑒𝑠𝑠𝑖𝑜𝑛
- lm(y~X) = 𝑜𝑛𝑒 − 𝑤𝑎𝑦 𝐴𝑁𝑂𝑉𝐴 (𝐴𝑁𝑎𝑙𝑦𝑠𝑖𝑠 𝑂𝑓 𝑉𝐴𝑟𝑖𝑎𝑛𝑐𝑒)
- lm(y~X1 + X 2 + X N ) = 𝑁 − 𝑤𝑎𝑦 𝐴𝑁𝑂𝑉𝐴
- lm(y~X + x) = 𝐴𝑁𝐶𝑂𝑉𝐴 (𝐴𝑁𝑎𝑙𝑦𝑠𝑖𝑠 𝑂𝑓 − 𝐶𝑂 − 𝑉𝐴𝑟𝑖𝑎𝑛𝑐𝑒)
Deze formules komen de volgende weken allemaal voorbij en ze maken dus allemaal gebruik van
dezelfde functie: lm(). Het general linear model framework kan dus voor veel zaken gebruikt worden
en afhankelijk van hetgeen wat je erin stopt, voert die bepaalde berekeningen uit.
Lm() output, je kan op meerdere manieren naar de output kijken van je lm() functie. Als je
bijvoorbeeld ‘> lm1 = lm(y~x, data = df)’ ingevoerd hebt in R, kan je de daar de volgende
statistiek van bekijken:
> 𝐚𝐧𝐨𝐯𝐚(𝐥𝐦𝟏) levert je de tabel van variantie.
> 𝐬𝐮𝐦𝐦𝐚𝐫𝐲(𝐥𝐦𝟏) levert je de summary table, ook wel table of coefficients genoemd.
> 𝐜𝐨𝐧𝐟𝐢𝐧𝐭(𝐥𝐦𝟏) geeft je de 95% BHIs van je schattingen.
Rupsen dataset, gedurende dit college zullen voorbeelden gegeven
worden waarbij een rupsen dataset gebruikt wordt. Hierbij is gekeken
naar de hoeveelheid tannine die rupsen eten en hoeveel ze toenemen in
gewicht. Tannine is een stofje dat rupsen niet lekker vinden. Rechts is te
zien dat er maar 9 datapunten zijn om te kijken naar de impact van de
tannine inhoud van bladeren op het gewicht van rupsen. Nu willen we
gaan kijken of een toename in de tannine inhoud gepaard gaat met een
afname in het gewicht. We hebben dus de volgende vragen:
- Is er een correlatie?
- Kunnen we de toename in lichaamsgewicht van rupsen
voorspellen op basis van de tannine inhoud van hun voedsel?
- Hoe zeker zijn we van deze voorspellingen?
Het eerste wat je dan doet, is een lineaire regressie fitten, zoals in de afbeelding al gedaan is. Om te
bepalen wat de beste fit is voor een lineaire regressie moet je de methode van OLS gebruiken.
OLS, ordinary least square, deze methode minimaliseert de afstand tussen
geobserveerde waardes en de verwachte (gefitte) waardes. Rechts is visueel
aangegeven welk verschil hier bedoeld wordt. Hoe kleiner de verschillen
(residuen) zijn, hoe beter het model de data fit. Verder worden in de literatuur
meerdere namen gebruikt voor deze methode, waaronder least squares, linear
least squares en normal least squares.
OLS analogie, je kan OLS zien als het
verbinden van een tak met
meerdere veren. De tak zal heen en
weer bewegen totdat die de positie
heeft gevonden met minimale
spanning en daar blijft die dan hangen.
Gebruik OLS, OLS is een algemeen framework dat
gebruikt kan worden om data te analyseren met normally distributed errors. Zo kan je het gebruiken
voor correlatie, regressie, ANOVA, ANCOVA etc.
, Lineaire regressie, het idee achter een lineaire regressie is dat je de respons
variabele kan voorspellen op basis van de explanatory variabele. In ons
voorbeeld wil je dan dus de toename in lichaamsgewicht van een rups kunnen
bepalen op basis van de tannine inhoud van zijn voedsel. Om dit te kunnen
doen wil je weten of er een regressie is (en ook wil je weten hoe zeker je van je
voorspellingen kan zijn.) Gebaseerd op de grafiek die rechts te zien is, lijkt er
wel een relatie te zijn. Het ziet er namelijk naar uit dat er een negatieve relatie
is tussen de tannine inhoud en de toename in lichaamsgewicht. Dit moeten we
nu gaan testen.
Lineaire regressie formule, voor R is de formule als volgt:
> lm1 = lm(y~x, data = df)
Deze formule is gebaseerd op onderstaande wiskundig formule
voor lineaire regressie:
𝑌 = 𝑎 + 𝑏𝑋 + 𝑒
a, is de intercept van de regressie lijn. Dit is de Y-waarde waarbij X
gelijk is aan 0.
b, is de regressie coëfficiënt, de helling van de regressie lijn. Dit is
dus de mate van verandering in Y voor elke one-unit change in X.
e, geeft de residuen (errors) aan. Dat zijn de verticale afstanden
tussen elk datapunt en het overeenkomende punt op de
regressielijn. Het model gaat ervanuit dat de residuen normaal verdeeld zijn (𝑒~𝒩(𝜇, 𝜎 2 )).
OLS formules, de least squares methode is een algebraïsche oplossing die
de sum of squares van de residuen (of errors) minimaliseert:
2
𝑆𝑆𝑟𝑒𝑠𝑖𝑑𝑢𝑎𝑙𝑠 = ∑(𝑌𝑖 − (𝑎 + 𝑏𝑋𝑖 ))
Hierbij is de regressie van de coëfficiënt (de helling/slope):
∑(𝑋𝑖 − 𝑋̅)(𝑌𝑖 − 𝑌̅)
𝑏=
∑(𝑋𝑖 − 𝑋̅)2
Hierbij is het intercept:
𝑎 = 𝑌̅ − 𝑏𝑋̅
De residual sum of squares geeft je dus de optelsom van het verschil
tussen je geobserveerde data en hoe je de data verwacht had (gebaseerd op je fit). Je neemt hierbij
het kwadraat van elk verschil omdat de negatieve verschillen anders de positieve verschillen
opheffen. Zoals je ziet is de residual sum of squares afhankelijk van de slope en de intercept.
Nulhypothese lineaire regressie, je nulhypothese voor lineaire regressie is dat de helling gelijk is aan
0 en dat je dus een horizontale lijn door je datapunten kan trekken. In dat geval is er namelijk geen
sprake van een relatie tussen Y en X. Je alternatieve hypothese is dan dat de helling niet gelijk is aan
0. Denkend aan de analogie trekken sommige veren dan harder aan de tak, als die in horizontale
positie zit, dan andere veren, waardoor de tak een andere positie dan horizontaal aan zal nemen. De
OLS methode zorgt dan de 𝑆𝑆𝑟𝑒𝑠𝑖𝑑𝑢𝑎𝑙𝑠 van deze nieuwe positie zo klein mogelijk is.
Aannames lineaire regressie, om te testen of er een lineaire regressie is, moet je testen of b (de
slope) significant verschilt van 0. Aangezien je gebruik maakt van een model om je hypothese te
testen zijn er een paar aannames voor het testen van je lineaire regressie:
- Linearity, de relatie tussen X en Y is lineair. Rechts zie je een niet-lineair geval.
- Homoscedasticity, je residuen moeten een constante variantie hebben. De variabiliteit
(variance) rond de regressie slope moet dus ongeveer
constant zijn. Rechts zie je een geval van homo- en
heteroscedasticity. In het geval van de laatste neemt de
variantie toe naarmate X groter wordt en dat wil je niet.
- Normality, je residuen moeten normaal verdeeld zijn. De
errors rond de regressie slope moeten dus een normale
verdeling volgen (𝑒~𝒩(𝜇, 𝜎 2 )).