Kapitel 10 Predicerade värden och Interaktions analys

Under denna avsnitt vi ska lära oss om skillnaden mellan att skapa predicerade värden från multipel regressions analys och interaktionseffekt. Båda är jätteviktigt att använda tillsammans med regression men ger oss olika information om sambandet mellan variablerna av intresse.

10.1 Predicerade värden

Vi har redan tagit fram en multivariat analys av sambandet mellan tillit till två olika institutioner och flera oberoende variabler. Vi kan nu beräkna de förväntade värdena av förtroende för polisen för alla typer av olika människor baserat på deras interaktioner med polisen, om de har fått stöd i formen av sociala bidrag från regeringen eller inte, deras kön, ålder och alla de olika kombinationerna av de oberoende variablerna i vår analys. Detta är ett kraftfullt verktyg för multipel regressions analyser.

Att beräknar den förväntade värden för en person som har haft kontakt med polisen inom den senaste år och har inte fått stöd man kan bara visa resultaten från ‘m_multi’ och lägga till koefficienterna till formeln.

police trust = intercept + coefficient(1=haft kontakt med polisen) + coefficient(0=inte fått stöd) … … (punkterna står för alla andra variabler hållas konstant). Att ta den enklare exempel vi kallar upp ‘m_multi’ modellen vi gjorde i förra kapitlet.

m_multi
## 
## Call:
## lm(formula = police_trust ~ discrim_all + stop_by_police + police_assault + 
##     received_support, data = roma_krim)
## 
## Coefficients:
##                    (Intercept)                  discrim_allYes                stop_by_policeNo  stop_by_policeWithin last year  
##                         4.9985                         -1.0502                          0.2067                         -0.3646  
##              police_assaultYes             received_supportYes  
##                        -1.5439                          0.1402

predicerade 4.6339 = 4.9985 + -0.3646(1) + 0.1402(0) … …

Och vi kan jämföra det här med en hypotetisk person som är likadant men har fått stöd

predicerade 4.7741 = 4.9985 + -0.3646(1) + 0.1402(1) … …

Men det kan vara krångligt att beräknar dessa siffror så som vanligt R har en funktion att visualisera predicerade värden

pred_plot<-plot_model(m_multi, type = 'pred',  terms = c('received_support', 'discrim_all'))+ 
  geom_line()+
  theme_bw()
## Some of the focal terms are of type `character`. This may lead to unexpected results. It is recommended to convert these variables to
##   factors before fitting the model.
##   The following variables are of type character: `discrim_all`
pred_plot
## Ignoring unknown labels:
## • linetype : "discrim_all"
## • shape : "discrim_all"

UTBILDNINGSKONTROL Kan ni hitta siffrorna vi beräknade i föra steget?

Tips: Inom figurobjekten (pred_plot) vi gjorde det finns de predicerade värden också! Att kalla upp de vi använda dollar tecken två gånger pred_plot$ data$ predicted

pred_plot$data$predicted
## [1] 4.154918 5.205154 4.295164 5.345400

Annars det finns en funktion för att ta ut dessa direkt från modellen som heter ggpredict()

library(ggeffects)

pred_values<- ggpredict(m_multi, c('received_support', 'discrim_all'))
## Some of the focal terms are of type `character`. This may lead to unexpected results. It is recommended to convert these variables to
##   factors before fitting the model.
##   The following variables are of type character: `discrim_all`
pred_values
## # Predicted values of police_trust
## 
## discrim_all: Yes
## 
## received_support | Predicted |     95% CI
## -----------------------------------------
## No               |      4.15 | 4.02, 4.29
## Yes              |      4.30 | 4.15, 4.44
## 
## discrim_all: No
## 
## received_support | Predicted |     95% CI
## -----------------------------------------
## No               |      5.21 | 5.10, 5.31
## Yes              |      5.35 | 5.21, 5.48
## 
## Adjusted for:
## * stop_by_police = No
## * police_assault = No

10.2 Interaktionsanalys

Att modellera interaktionseffekter är ett sätt att utforska om det samband vi ser (eller inte ser) mellan två variabler är beroende av en tredje variabel. Ett annat sätt att säga detta är att det finns en tredje effekt som äger rum när en variabel är betingad av en annan som är utöver den direkta effekten som dessa två variabler har i sig själva. Detta kan till exempel vara fallet när någon utsätts för flera former av diskriminering där effekten på hälsan påverkas av att bo i ett segregerat bostadsområde, av att inte ha tillgång till hälsa- och sjukvård, men sedan ha en extra stark relation om de bor i ett segregerat område OCH inte har tillgång till hälsa- och sjukvård.

Ett annat exempel kan vara att det kan ha en direkt påverkan på förtroendet att få stöd från staten, men att denna effekt kan vara beroende av om de blir diskriminerade eller inte. För att testa det bland Romerna modellerar vi interaktionseffekten med följande kod

m_int<- lm(police_trust~ received_support*discrim_all + stop_by_police + police_assault, data = roma_krim)

summary(m_int)
## 
## Call:
## lm(formula = police_trust ~ received_support * discrim_all + 
##     stop_by_police + police_assault, data = roma_krim)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.4598 -2.2290 -0.1589  2.1135  7.9090 
## 
## Coefficients:
##                                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                         4.94839    0.13357  37.048  < 2e-16 ***
## received_supportYes                 0.30091    0.10128   2.971  0.00298 ** 
## discrim_allYes                     -0.92994    0.08976 -10.360  < 2e-16 ***
## stop_by_policeNo                    0.21052    0.12879   1.635  0.10217    
## stop_by_policeWithin last year     -0.36276    0.15055  -2.409  0.01600 *  
## police_assaultYes                  -1.52730    0.24528  -6.227 5.02e-10 ***
## received_supportYes:discrim_allYes -0.33831    0.14693  -2.303  0.02133 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.978 on 7423 degrees of freedom
##   (517 observations deleted due to missingness)
## Multiple R-squared:  0.05027,    Adjusted R-squared:  0.0495 
## F-statistic: 65.48 on 6 and 7423 DF,  p-value: < 2.2e-16

Vi ser att det finns en interaktionseffekt mellan sociala bidrag och erfarenhet med diskriminering men hur ska vi tolka de har koefficienterna? Det är visserligen svårt att tolkar de i en rimligt sett eftersom att tänka om styrkan och riktningen av interaktionseffekten man måste också tänka om direkteffekten. Men vi vet från p-värdet att effekten är förmodligen åtminstone så stor, eller större än var modellen ger oss. Därför är det bäst att alltid visualisera interaktionseffekten

plot_model(m_int, type = 'int')+ 
  geom_line()+
  theme_bw()
## Some of the focal terms are of type `character`. This may lead to unexpected results. It is recommended to convert these variables to
##   factors before fitting the model.
##   The following variables are of type character: `discrim_all`
## Ignoring unknown labels:
## • linetype : "discrim_all"
## • shape : "discrim_all"

UTBILDNINGSKONTROL Hur ska vi tolkar det här? Jamföra denna figur med figuren med predicerade värden från tidigare. Finns det en interaktionseffekt mellan erferenhet med diskrimenering och att mottagare av socialabidrag?

Nu kan ni tänka om någon annan potentiella interaktionseffekt mellan variablerna vi har i analysen? Motivera teoretisk din hypotes sen gör en till interaktionsanalys.