Vít Gabrhel
vit.gabrhel@mail.muni.cz
FSS MU,
23. 10. 2017
Historie
Teorie
Model
Předpoklady použití
Diagnostika
Dummy coding
Vkládání prediktorů
Mediace
Mediace
Reportování výsledků
Regrese k průměru (Regression towards mediocrity)
Galton, 1886, s. 246
Lineární regrese
Nakolik lze z IQ skóru usuzovat o výkonu v matematice?
Vícenásobná lineární regrese
Přispívá k výši platu kromě úrovně vzdělání také pohlaví?
Predikce
Inkrementální validita
Statistická kontrola
Y = Y' + e
Lineární regrese
Y' = a + bX
Y' = b0 + b1X1
Vícenásobná lineární regrese
Y' = a + bnXn
Y' = b0 + b1X1 + b2X2 + ... + bnXn + e
Y = Predikovaná (= závislá; outcome) proměnná
Y' = Náš model
e = Chyba měření
a nebo b0 = průsečík (= intercept)
b nebo b1...n = směrnice (= slope)
X1...n = Prediktor (= nezávislá proměnná; predictor)
Y = Y' + e
Y' = a + bX
Y' = b0 + b1X1
dle Field, 2009, s. 199
# Nahrání dat
Humor = read.csv2("data.csv", header = TRUE)
HumorClean = na.omit(Humor)
View(HumorClean)
# Nastavení dat
levels(HumorClean$gender) = c("Muž", "Žena")
lapply(HumorClean, class)
sT2 = sM2 + sR2 (neboli ssT = ssres + ssreg)
R2 = ssM2 / ssT2
Přímka (model) je proložena daty tak, aby jim co nejlépe odpovídala.
Metoda odhadu nejmenších čtverců (Least Squares Estimation)
Suma (druhých mocnin) vzdáleností modelu od dat je nejmenší možná
SSM = Rozdíl mezi nulovým modelem (průměr Y) a námi stanoveným modelem (přímkou)
SSR = Rozdíl mezi daty a námi stanoveným modelem (přímkou)
SST = Rozdíl mezi daty a nulovým modelem (průměr Y)
R2 = Podíl rozptylu závislé (outcome) proměnné vysvětlené modelem (= koeficient determinance)
dle Field, 2009, s. 203
Příklad
ModelHumoru <- lm(formula = agressive ~ age + gender, data = HumorClean)
# Compute the summary statistics for model
# Generic functions (summary) change their behaviour based on an object's class.
summary(ModelHumoru)
# Perform an analysis of variance on model
anova(ModelHumoru)
# Produce diagnostic plots for model
plot(ModelHumoru)
# Prediction based on the fitted function model_erc
predict(ModelHumoru)
bi
Vyjadřuje nárůst Y’ při nárůstu Xi o jednu jednotku v jednotkách Y, při kontrole všech ostatních prediktorů (tj. semiparciální korelace); jedinečný přínos
βi ; Beta
Vyjadřuje nárůst Y’ při nárůstu Xi o 1; jsou-li Xi i Y standardizovány, při kontrole všech ostatních prediktorů (tj. semiparciální korelace), jedinečný přínos
b0
Po vycentrování (odečtení průměru od všech hodnot X1) odpovídá průměru Y.
Příklad
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.9329217 0.0347063 84.507 <2e-16 ***
age 0.0006529 0.0011434 0.571 0.568
gender 0.0407037 0.0249082 1.634 0.103
Bety:
install.packages("QuantPsyc")
library(QuantPsyc)
lm.beta(ModelHumoru)
Proměnné
1. Povaha proměnných - spojité, kvantitativní a kardinální nebo dummy (jen v případě prediktorů).
2. Nenulová variabilita prediktorů (tj. nejde o konstantu).
Prediktory
3. Absence (dokonalé) multikolinearity - prediktory by spolu neměly vysoce korelovat.
4. Prediktory nekorelují s vnějšími proměnnými - absence třetí (intervenující, vnější) proměnné.
"To draw conclusions about a population based on a regression analysis done on a sample, several assumptions must be true." (Field, 2009 , s. 220)
Příklad
Povaha proměnných a nenulová variabilita
# Ověření skrze funkce (např.):
Multikolinearita
# Ověření skrze funkce (např.):
Rezidua
5. Homoskedascita - rozptyl reziduí by měl být konstantní napříč různými úrovněmi prediktoru
6. Nezávislost reziduí - Reziduální hodnoty kterýchkoliv dvou případů by spolu neměly souviset.
7. Normálně rozložená rezidua - jejich rozložení by mělo být náhodné
Outcome
8. Nezávislost kterýchkoliv dvou hodnot závislé proměnné (každá hodnota v rámci ní pochází z unikátního zdroje)
9. Linearita - přímka jako vhodný model popisu dat.
dle Field, 2009, s. 248
Příklad
Homoskedascita
# Evaluate homoscedasticity
# non-constant error variance test
ncvTest(ModelHumoru)
# plot studentized residuals vs.
# fitted values
spreadLevelPlot(ModelHumoru)
Nezávislost reziduí
# Test for Autocorrelated Errors
durbinWatsonTest(ModelHumoru)
Normálně rozložená rezidua
# distribution of studentized residuals
library(MASS)
sresid <- studres(ModelHumoru)
hist(sresid, freq=FALSE,
main="Distribution of Studentized Residuals")
Rezidua
Příklad
Outcome
Linearita
# component + residual plot
crPlots(ModelHumoru)
Nemají některé případy příliš velký vliv na výsledky regrese?
Příklad
Outliers
# Bonferonni p-value for most extreme observations
outlierTest(ModelHumoru)
#qq plot for studentized resid
qqPlot(ModelHumoru, main="QQ Plot")
# leverage plots
leveragePlots(ModelHumoru)
Influentials
# Cook's D plot
# identify D values > 4/(n-k-1)
cutoff <- 4/((nrow(HumorClean)-length(ModelHumoru$coefficients)-2))
plot(ModelHumoru, which=4, cook.levels=cutoff)
# Influence Plot
influencePlot(ModelHumoru, id.method="identify", main="Influence Plot", sub="Circle size is proportial to Cook's Distance" )
Dummy proměnné - kategorické proměnné upravené tak, aby mohly vstoupit do (vícenásobné) lineární regrese
Postup (dle Field, 2009, s. 254)
Indikátorové kódování (Indicator coding)
Efektové kódování (Effect coding)
Vysokoškolské | Středoškolské | Vysokoškolské | Středoškolské | ||
---|---|---|---|---|---|
Vysokoškolské | 1 | 1 | 0 | 1 | 0 |
Středoškolské | 2 | 0 | 1 | 0 | 1 |
Základní | 3 | 0 | 0 | -1 | -1 |
Úroveň vzdělání | Původní hodnota | Indikátorové kódování | Efektové kódování |
---|
Y = b0 +bA1XA1 + bA2XA2 + … + bmXm + e
hsb2 <- read.csv("hsb2.csv")
1. The factor function
# creating the factor variable
hsb2$race.f <- factor(hsb2$race)
is.factor(hsb2$race.f)
summary(lm(write ~ race.f, data = hsb2))
ENTER (Forced entry)
Vloží všechny prediktory najednou
BLOCKWISE
Vkládání sady prediktorů po blocích
STEPWISE
FORWARD
Vybere prediktory, které nejlépe odpovídají datům - až po stanovenou mez
BACKWARD
Vyřadí prediktory nejhůře odpovídající datům - až po stanovenou mez
Obvyklé řazení bloků
Obvyklý postup
A mediation analysis is typically conducted to better understand an observed effect of an IV on a DV or a correlation between X and Y
If X and Y are correlated BECAUSE of the mediator M, then
(X -> M -> Y)
&
&
What will happen to the predictive value of X?
In other words, will B2 be significant?
A mediator variable (M) accounts for some or all of the relationship between X and Y
Příklad
# Summary statistics
describeBy(med, med$cond)
# Create a boxplot of the data
boxplot(formula = med$iq ~ med$cond, main = "Boxplot", xlab = "Group condition", ylab = "IQ")
med <- read.csv2("med.csv", header = TRUE)
library("psych")
Příklad
# Run the three regression models
model_yx <- lm(med$iq ~ med$cond)
model_mx <- lm(med$wm ~ med$cond)
model_yxm <- lm(med$iq ~ med$cond + med$wm)
# Make a summary of the three models
summary(model_yx)
summary(model_mx)
summary(model_yxm)
Příklad - Sobelův test
library("multilevel")
# Compare the previous results to the output of the sobel function
model_all <- sobel(med$cond, med$wm, med$iq)
# Print out model_all
model_all
Představení
Model
Příklad
mod = read.csv2("mod.csv", header = TRUE)
# Summary statistics
describeBy(mod, mod$condition)
# Create a boxplot of the data
boxplot(formula = mod$iq ~ mod$condition, main = "Boxplot", xlab = "Group condition", ylab = "IQ")
# Create subsets of the three groups
# Make the subset for the group condition = "control"
mod_control <- subset(mod, mod$condition == "control")
# Make the subset for the group condition = "threat1"
mod_threat1 <- subset(mod, mod$condition == "threat1")
# Make the subset for the group condition = "threat2"
mod_threat2 <- subset(mod, mod$condition == "threat2")
# Calculate the correlations
cor(mod_control$iq, mod_control$wm)
cor(mod_threat1$iq, mod_threat1$wm)
cor(mod_threat2$iq,mod_threat2$wm)
Příklad
# Model without moderation (tests for "first-order effects")
model_1 <- lm(mod$iq ~ mod$wm + mod$d1 + mod$d2)
# Make a summary of model_1
summary(model_1)
# Create new predictor variables
wm_d1 <- mod$wm * mod$d1
wm_d2 <- mod$wm * mod$d2
# Model with moderation
model_2 <- lm(mod$iq ~ mod$wm + mod$d1 + mod$d2 + wm_d1 + wm_d2)
# Make a summary of model_2
summary(model_2)
# Compare model_1 and model_2
anova(model_1, model_2)
# Choose colors to represent the points by group
color <- c("red","green","blue")
# Illustration of the first-order effects of working memory on IQ
ggplot(mod, aes(x = wm, y = iq)) + geom_smooth(method = "lm", color = "black") +
geom_point(aes(color = condition))
# Illustration of the moderation effect of working memory on IQ
ggplot(mod, aes(x = wm, y = iq)) +
geom_smooth(aes(group = condition), method = "lm", se = T, color = "black", fullrange = T) +
geom_point(aes(color = condition))
library("ggplot2")
A moderator has influence over
other effects or relationships, whereas
the mediator explains a relationship.
1. Popisné statistiky
2. Předpoklady použití
3. Model
4. Prediktory
Zdroje
American Psychological Association. (2001). Publication manual of the American Psychological Association (6th ed.). Washington, DC: APA.
Field, A. (2009). Discovering statistics using SPSS, 3th Ed. Los Angeles: Sage.
Fox, J. (2016). Applied Regression Analysis and Generalized Linear Models, 3th Ed. Los Angeles: Sage.
Galton, F. (1886). Regression towards mediocrity in hereditary stature. Journal of the Anthropological Institute, 15, pp. 246-63. Dostupné online z "http://galton.org/essays/1880-1889/galton-1886-jaigi-regression-stature.pdf"
Robotková, A., & Ježek, S. (2012). Vícenásobná lineární regrese. Prezentace ke kurzu PSY252.