Workshops & Quizzes
Workshop 1: Experiment 2
Workshop 2: Regressie analyse 3
Quiz 1 6
Workshop 3: Inference 9
Quiz 2 12
Workshop 4: Residual Analysis 16
Quiz 3 19
Workshop 5: Wat is een goed regressiemodel? 24
Quiz 4 26
Workshop 6: Voorspellingen maken 29
Quiz 5 32
Workshop 7: Research presentation 36
Discussion board 37
1
,Workshop 1: Experiment
Placebo effect is related to your experiment design. You can counteract this with creating a
fake device for example for the control group.
Third variable Z influences both X and Y, it can result because of external factors, such as
motivation or someone's lifestyle. You can counteract this with random sampling. It
randomly assigns external factors across your groups. Every participant has equal chances
of getting into the control or treatment group. The Z is then fairly equal distributed between
the groups. This way, you can control confounding factors (= everything that threatens
internal validity). Extraneous factors are a part of confounding factors.
Quasi-experiment: you can’t really randomly assign some things, such as gender.
A/B testing doesn’t necessarily have a control group (red/green glass), it all depends on your
research question.
External validity: ensures your effect holds under different conditions (generalizability)
Example with ‘try it, you’ll like it’ paper
This study has a good experiment with internal and external validity.
Sit and run through different possible experiments in your head for Assignment 3.
2
,Workshop 2: Regressie analyse
Inlezen ggplot en dataset mpg. DV is hwy en IVs zijn displ en cyl
SImple linear regression: 2D plot (1 DV + 1 IV)
Scatterplot aanmaken met regressielijn:
ggplot(mpg, aes(x=displ,y=hwy)) + geom_point(color="forestgreen") +
geom_smooth(method ="lm", se=FALSE, color="steelblue")
Multiple linear regression: 3D plot (1 DV + 2 IVs)
Als je meerdere IVs hebt, dan kan je er beter een 3d plot van te maken.
Om er een 3d plot van te maken, inladen package scatterplot3d:
install.packages("scatterplot3d", dependencies = TRUE)
library(scatterplot3d)
Selecteer de 3 variabelen (in dit geval "cyl","displ","hwy") die je wil hebben in je scatterplot,
geef het een kleur en de juiste hoek:
scatterplot3d(mpg[,c("cyl","displ","hwy")], color = "forestgreen", angle=55, pch = 16)
Regressie tekenen in de scatterplot:
s3d <- scatterplot3d(mpg[,c("cyl","displ","hwy")], color = "forestgreen", angle=55, pch = 16)
RA<-lm(hwy~displ+cyl,mpg)
s3d$plane3d(RA)
s3d$plane3d(RA, draw_polygon=TRUE)
s3d <- scatterplot3d(mpg[,c("cyl","displ","hwy")], color = "forestgreen", angle=55, pch = 16)
s3d$plane3d(RA, draw_lines = FALSE, draw_polygon=TRUE)
Linear regression coefficient en intercept (B0) berekenen
Simple linear regression (lm is de functie, = linear model):
lm(hwy~displ,mpg)
Dus: lm(DV~IV,Dataset)
Multiple linear regression (dus gewoon IV+IV2):
lm(hwy~displ+cyl,mpg)
Numerieke variabele aanpassen naar factor
We willen ‘year’ toevoegen als variabele. Maar R ziet het als een numerieke waarde en
natuurlijk in jaar 0 waren er nog geen auto’s. De dataset kijkt naar 1999 & 2008. We moeten
dus een factor maken van de variabele year:
lm(hwy~displ+cyl+year,mpg)
mpg$year2<-factor(mpg$year)
lm(hwy~displ+cyl+year2,mpg)
Dit kan je dus goed gebruiken met een experiment als je een controlegroep hebt een
manipulatie groep.
3
, Let op: er wordt altijd 1 variabele minder toegevoegd aan de output (bij de jaren zijn 2 opties,
dus zie je er 1, bij trans waren 9 opties, dus zie je 8). Degene die niet wordt toegevoegd is
dan het basis level -> de intercept. De andere waarden in de output van de coefficients zijn
dan vs het basis level. Zie ook het voorbeeld van chickenfeed:
data(chickwts)
RA<-lm(weight~feed, chickwts)
summary(RA)
coefficients(RA)
Vaak op alfabetische volgorde. Je kan dus ook een tabel maken:
table(chickwts$feed)
Casein is de basis. Dus bijv horsebean is het gewicht -163 minder dan casein. Casein is het
intercept, in dit geval 323 gewicht.
Basis aanpassen
Als je ipv Casein een andere basis wil, kan je dit in R aanpassen:
contrasts(chickwts$feed) <- contr.treatment(levels(chickwts$feed), base = 4)
In dit geval wordt meatmeal (de 4e variabele in table) de basis variabele.
Output regressie analyse
RA<-lm(hwy~displ+cyl+year2+drv,mpg)
summary(RA)
Deze output kan je ook krijgen op het tentamen en moet je kunnen analyseren.
Fitted - de perfecte wereld waarin de formule (B0 + B1X) klopt
Residual - storingsterm, dus het verschil tussen fitted en de werkelijkheid
Interactie effect
2 independent variabelen hebben al samenhang, dus er moet gecorrigeerd worden want
anders wordt het niet juist geschat. Dit komt volgend college terug. Op deze manier kan je
interactie effecten toevoegen:
#Special Cases
lm(hwy~displ+cyl,mpg)
lm(hwy~displ*cyl,mpg)
lm(hwy~displ*cyl*year2,mpg)
lm(hwy~displ+cyl+year2+displ:cyl,mpg)
Kwadratisch verband
Let erop of het een lineair verband is of een kwadratisch verband. Als dit het geval is, kan je
iets doen in R om het soort lineair te maken. Zie slides van deze workshop + het einde van
de volgende workshop. Je ziet dat de adjusted R-squared verbeterd door de aanpassing.
4