generalised linear mixed models (glmm) und die logistische

22
Generalised linear mixed models (GLMM) und die logistische Regression Jonathan Harrington Die R-Befehle: glmm.txt library(lme4) anna = read.table(paste(pfad, "anna.txt", sep="/")) annalang = read.table(paste(pfad, "annalang.txt", sep="/")) lax = read.table(paste(pfad, "lax.txt", sep="/"))

Upload: others

Post on 09-Feb-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Generalised linear mixed models (GLMM) und die logistische Regression

Jonathan Harrington

Die R-Befehle: glmm.txt

library(lme4)  anna  =  read.table(paste(pfad,  "anna.txt",  sep="/"))  annalang  =  read.table(paste(pfad,  "annalang.txt",  sep="/"))  lax  =  read.table(paste(pfad,  "lax.txt",  sep="/"))  

Wie  im  Mixed  Model  gibt  es  in  einem  GLMM  mindestens  einen  Random  Factor,  mit  dem  die  Variabilität  ausgeklammert  werden  kann.  

In  einem  MM  ist  der  Response  (abhängige  Variable)    numerisch;  in  einem  GLMM  binär  und  kategorial  (wie  in  der  logisJschen  Regression).    

zB  

ja  ja  nein  ja  nein...  "b",  "d",  "d",  "d",  "b",  "b"...  "rot",  "rot",  "grün",  "rot"...  

aber  nicht  

"b",  "d",  "g",  "g",  "d"...  "rot",  "gelb",  "grün",  "rot",  "schwarz..."  

Die  abhängige  Variable  

Fixed  factors,  random  factors  

Ähnlich  wie  in  einem  MM  wird  differenziert    prinzipiell  zwischen  fixed  factors  (sollen  geprüR  werden)  und  random  factors  (sollen  ausgeklammert  werden)  

MM:  ReakJonszeiten  (RT)  wurden  von  10  Versuchsperson  in  200  verschiedenen  Wörtern  gemessen.  Die  Wörter  unterschieden  sich  in  der  Wortlänge  (1  vs  2  Silben)  und  Vokal  (/i,  u,  a/).  Inwiefern  haben  Wortlänge  und  Vokal  einen  Einfluss  auf  die  RTs?  GLMM:  10  Hörer  mussten  in  200  Wörtern  entscheiden  ob  das  Wort  ein  FunkJons-­‐  oder  Inhaltswort  war.  Die  Wörter  unterschieden  sich  in  der  Wortlänge  (1  vs  2  Silben)  und  Vokal  (/i,  u,  a/).  Inwiefern  haben  Wortlänge  und  Vokal  einen  Einfluss  auf  die  Entscheidungen?  

Response   Fixed  factor(s)   Random  factor(s)  

MM:  

GLMM:  Wortlänge,  Vokal  

Sprecher,  Wort  

Hörer,  Wort  

ReakJonszeiten  

I  vs  F  Entscheidungen  

Parameter-­‐Einschätzung:  MM  und  GLMM  In  einem  MM  und  GLMM  werden  zwei  Parameter  m  (Neigung)  und  k  (Intercept)  eingeschätzt,  um  den  Abstand  zwischen  tatsächlichen  und  eingeschätzten  Werten  zu  minimieren.  Für  MM  ist  die  Formel  dafür  ähnlich  wie  in  der  linearen  Regression  für  GLMM  wie  in  der  logisJschen  Regression  

MM   GLMM  

Anders  als  die  lineare  oder  lineare  Regression  wird  getrennt  pro  Stufe  des  Random  Faktors  (zB  pro  Sprecher)  einen  k  und  ggf.  einen  m  berechnet  (also  sprecher-­‐  und/oder  wortspezifische  Berechung  dieser  Parameter,  wenn  Vpn  und  Wort  als  random  factors  genannt  werden)  

y:  zB  die  ReakJonszeiten,  y  deren  Einschätzung  

^   p:  zB  ProporJon  von  "Inhalt"-­‐Antworten,  p  deren  Einschätzung  ^  

y  =  mx  +  k  ^  

p =e(mx+k )

1+ e(mx+k )^  

Parameter-­‐Einschätzung  und  Random  Factors:  MM  und  GLMM  

1.  Berechnung  von  einem  sprecherspezifischen  k  

GLMM:  10  Hörer  mussten  in  200  Wörtern  entscheiden  ob  das  Wort  ein  FunkJons-­‐  oder  Inhaltswort  war.  Die  Wörter  unterschieden  sich  in  der  Wortlänge  (1  vs  2  Silben)  und  Vokal  (/i,  u,  a/).  Inwiefern  haben  Wortlänge  und  Vokal  einen  Einfluss  auf  die  Entscheidungen?  

2.  Berechnung  sprecherspezifische  k  und  m  

Zwei  Möglichkeiten  den  Sprecher  (oder  irgeneinen  Factor)  als  Random  festzulegen  

Die  SprechervariaJon  wird  herausgerechnet,  ohne  die  StufenauJeilung  zu  berücksichLgen  

R  syntax:  (1  |  Sprecher)  

die  SprechervariaJon  wird  getrennt  pro  Stufe  des  genannten  fixed  factors  herausgerechnet  

(1+Wortlänge  |  Sprecher)  =  die  SprechervariaJon  wäre  getrennt  aus  einsilbigen  und  zweisilbigen  Wörtern  ausgeklammert.  

Fixed  factors:  MM  und  GLMM  

In  einem  MM  (und  RM-­‐Anova)  wird  geprüR,  ob  ein,  oder  mehrere  Faktoren,  den  Response  signifikant  beeinflussen.  zB  

MM:  wird  ReakJonszeiten  vom  Wortlänge  (1  vs  2  Silben)  und  Vokal  (/i,  u,  a/)  signifikant  beeinflusst  –  und  interagieren  diese  Faktoren?  

GLMM:  liefert  Ergebnisse  in  dem  immer  nur  zwei  Stufen  miteinander  verglichen  werden  können  

Ein  Hörer  muss  entscheiden,  ob  ein  Wort  ein  Logatom  ist  oder  nicht  (ja/nein).  Wird  diese  Entscheidung  von  der  Wortlänge  (1  oder  2  Silben)  oder  Vokal  (/i,  u,  a/)  signifikant  beeinflusst?  

Man  kann  prüfen,  ob  die  Entscheidungen  beeinflusst  werden  von:  

1  vs  2  Silben.   /i/  vs  /u/   /u/  vs  /a/  einsilbiger  /i/  vs  zwesilbiger  /i/   einsilbiger  /u/  vs  zwesilbiger  /a/  

also  immer  nur  paarweise  StufenkombinaLonen  

GLMM:  Ein  fixed  factor  mit  2  Stufen  

(Daten  von  Anna  Rühl).  Ein  Spracherkennungssystem  musste  entscheiden,  ob  ein  akusJsches  Signal  prä-­‐  oder  postaspiriert  war.  Die  AspiraJonssegmente  wurden  von  verschiedenen  Versuchspersonen  produziert.  Es  wurde  pro  Segment  ermiielt,  ob  richJg  (Correct)  oder  falsch  (Incorrect)  erkannt  wurde.    Unterscheidet  sich  die  Verteilung  Correct:Incorrect  in  pre-­‐  vs.  postaspirierte  Segmente?  

head(annalang)  

Es  gibt  zwei  (und  nur  diese  2)  Möglichkeiten  den  Response  vorzubereiten:  

Matrix   Vektor  head(anna)  

Fixed  Factor:  

Random  Factor:  

AspiraJon  (2  Stufen:  pre  vs  post)  

Sprecher  

GLMM  und  Basis-­‐Stufe  

In  einem  GLMM  wird  immer  der  Unterschied  zwischen  einer  Basis-­‐Stufe  und  (paarweise)  allen  anderen  Stufen  des  Faktors  geprüR.    

Die  Basis-­‐Stufe  wird  durch  levels()  vermiielt  und  kann  durch  relevel()  geändert  werden:  

with(anna,  levels(Asp))  "post" "pre" !

Asp2  =  with(anna,  relevel(Asp,  "pre"))  

levels(Asp2)  

"pre" "post"!

with(anna,  levels(Cons))  "k"  "p"  "t"  

Ein  GLMM  prüR  paarweise  die  Enlernung  (und  Signifikanz)  der  anderen  Stufen  zur  Basis  also:  

(1)  von  pre  zu  post  

(2)  von  post  zu  pre  (3)  (i)  von  /p/  zu  /k/  sowie  (getrennt)  (ii)    von  /t/  zu  /k/    

1.  

2.  

3.  

annalang.lmer  =  lmer(Response  ~  Asp  +  (1|Sp),  family="binomial",  data  =  annalang)  

anna.lmer  =  lmer(cbind(Incorrect,  Correct)  ~  Asp  +  (1|Sp),  family="binomial",  data  =  anna)  print(annalang.lmer,  corr=F)   print(anna.lmer,  corr=F)  

Asppre -1.1279 0.1613 -6.992 2.72e-12 ***!  Estimate Std. Error z value Pr(>|z|)!

Ein  GLMM  mit  AspiraJon  als  fixed  factor  und  Sprecher  als  random  factor  zeigte  einen  signifikanten  Einfluss  von  Prä-­‐  vs.  PostaspiraJon  auf  die  Erkennungsrate  (z  =  7.0,  p  <  0.001).  

Die  Enlernung  in  Standardabweichungen  der  Normalverteilung  (z-­‐scores)  zwischen  pre  und  der  Basis-­‐Stufe  (=  post).  

Asppre  =  Die  Stufe  pre  des  fixed  factors  AspiraJon  (die  Basis  ist  die  andere  Stufe  (post)  und  wird  nicht  gezeigt)  

entweder:   oder:  

lmer(...  family  =  "binomial")  

GLMM:  Ein  kategorialer  Faktor  und  3  Stufen  

Inwiefern  wurde  die  Erkennungsrate  von  der  ArJkulaJonsstelle  beeinflusst?  

c.lmer  =  lmer(Response  ~  Cons  +  (1|Sp),  family="binomial",  data  =  annalang)  

Fixed effects:! Estimate Std. Error z value Pr(>|z|) !(Intercept) 0.8787 0.1455 6.037 1.57e-09 ***!Consp 0.5327 0.1969 2.705 0.00682 ** !Const -0.2722 0.1789 -1.521 0.12821 !

/p/  ist  2.705  Standardabweichungen  von  /k/  enlernt  /t/  ist  1.521  Standardabweichungen  von  /k/  enlernt  

print(c.lmer,  corr=F)  

Um  die  /t/-­‐/p/  Enlernung  zu  vermiieln  müsste  Cons  mit  Basis  /p/  oder  /t/  kodiert  werden.  

Fixed effects:! Estimate Std. Error z value Pr(>|z|) !Consp 0.5327 0.1969 2.705 0.00682 ** !Const -0.2722 0.1789 -1.521 0.12821 !

Ein  GLMM  mit  fixed  factor  ArJkulaJonsstelle  und  mit  Sprecher  als  random  factor  zeigte  signifikante  Unterschiede  zwischen  /k/  und  /p/  (z  =  2.7,  p  <  0.01),  und  /p/  und  /t/  (z  =  4.2,  p  <  0.001).  Der  Unterschied  zwischen  /k/  und  /t/  war  nicht  signifikant.  

GLMM:  Ein  kategorialer  Factor  und  3  Stufen  

d.lmer  =  lmer(Response  ~  Cons2  +  (1|Sp),  family="binomial",  data  =  annalang)  

Cons2  =  with(annalang,  relevel(Cons,  "p"))  

Fixed effects:! Estimate Std. Error z value Pr(>|z|) !Cons2k -0.5327 0.1969 -2.705 0.00682 ** !Cons2t -0.8048 0.1930 -4.170 3.04e-05 ***  

print(d.lmer,  corr=F)  

Parameter  Berechnung  und  random  factors  

c.lmer  =  lmer(Response  ~  Cons  +  (1|Sp),  family="binomial",  data  =  annalang)  

In  diesem  Modell  wird  wegen  (1|Sp)  getrennt  pro  Sprecher  ein  Intercept  berechnet  (Ausklammerung  der  Sprechervariabilität,  ohne  die  AuReilung  von  einem  fixed  factor  in  Stufen  zu  berücksichJgen.  Aus  diesem  Grund  ist  k  unterschiedlich,  m  dasselbe):  coef(c.lmer)   (Intercept) Consp Const!

EBJ 0.6993940 0.5326656 -0.2721793!GGU 0.9919618 0.5326656 -0.2721793!JEI 0.6556235 0.5326656 -0.2721793!

Hier  wäre  m  und  k  pro  Sprecher  berechnet:  die  Sprechervariabilität  wird  pro  Stufe  von  Cons  ausgeklammert  

c.lmer2  =  lmer(Response  ~  Cons  +  (1  +  Cons|Sp),  family="binomial",  data  =  annalang)  

und  es  gibt  unterschiedliche  k  und  m  Werte  pro  Sprecher:  

$Sp! (Intercept) Consp Const!EBJ 0.1695354 2.17175146 -0.10447699!GGU 0.6353814 1.17415791 -0.21263395!JEI 1.3797218 0.09419544 -2.21168461!

Parameter  Berechnung  und  random  factors  

Grundsätzlich  soll  das  einfachere  Modell  (1|Random)  verwendet  werden,  es  sei  denn  (a)  sich  die  beiden  Modelle  signifikant  unterscheiden  und  (b)  der  AIC-­‐Wert  bei  (1+Fixed|Random)  kleiner  wird  (siehe  ppt  zur  Regression).  Dies  kann  mit  anova()  geprüR  werden:  

c.lmer  =  lmer(Response  ~  Cons  +  (1|Sp),  family="binomial",  data  =  annalang)  

c.lmer2  =  lmer(Response  ~  Cons  +  (1  +  Cons|Sp),  family="binomial",  data  =  annalang)  

anova(c.lmer,  c.lmer2)  

Df AIC BIC logLik Chisq Chi Df Pr(>Chisq) !c.lmer 4 1016.71 1035.75 -504.35 !c.lmer2 9 992.61 1035.47 -487.31 34.093 5 2.282e-06 ***!

(daher  wird  (1  +  Cons|Sp)  bevorzugt)  

library(lme4)  

lax  =  read.table(paste(pfad,  "lax.txt",  sep="/"))  

Inwiefern  wird  der  Umkipppunkt  und/oder  die  Neigung  zwischen  /I/  und  /ʊ/  vom  Alter  beeinflusst?  

Ein  /ɪ-­‐ʊ/  KonJnuum  wurde  durch  Herabsenken  von  F2    syntheJsiert  

Die  Versuchspersonen  mussten  pro  SJmulus  entscheiden:  war  es  /I/  oder  /ʊ/  (forced-­‐choice  test)?    

Es  gab  2  Gruppen  von  Versuchspersonen:  alt  und  jung.  

GLMM,  Psychometrische  Kurven,  Umkipppunkte  

Jung  

Alt  

GLMM,  Psychometrische  Kurven,  Umkipppunkte  

Data-­‐Frame  lax  

S !A C Stim P Q!2146 ELWI O sVt 1100 5 0!2151 ELWI O sVt 1164 5 0!2156 ELWI O sVt 1231 5 0!2161 ELWI O sVt 1301 5 0!2166 ELWI O sVt 1374 5 0!2171 ELWI O sVt 1450 5 0!

Die  relevanten  Variablen  

Hörer   Altersgruppe   F2   /U/  Antworten  

/I/  Anworten  

zB  Hörer  ELWI  (Altersgruppe  Old)  antwortete  5  Mal  mit  /U/  (und  kein  Mal  mit  /I/)  zu  dem  Vokal-­‐SJmulus  mit  F2  =  1100  Hz.  

Response:  ein  forced-­‐choice,  binäres  Urteil:  /U/  oder  /I/  

50%  Umkipppunkt  

(1  +  SJm  |  Vpn):  Vermiielt  m  und  k  in  dieser  Formel  pro  Vpn.  

p =e(mx+k )

1+ e(mx+k )

Random  Factor  

Fixed  factor   SJm:  die  numerischen  Werte  des  KonJnuums  

Vorgang  

t-­‐Test  Haben  jung  vs.  alt  unterschiedliche  Umkipppunkte  oder  unterschiedliche  Neigungen?  

Psychometrische  Kurve  mit  curve()  erstellen,  Um-­‐Punkt  überlagern  (vorige  Seite)  

=  -­‐k/m  (2  Werte  pro  Sprecher,  eins  pro  KonJnuum)  

Siehe  auch  glmmcont1.pdf  in  der  Webseite  

Die  Fragen:  wird  der  Umkipppunkt  zwischen  /I/  und  /ʊ/  (a)  vom  Kontext  (b)  vom  Alter  beeinflusst?  

Zwei  13-­‐stufige  /ɪ-­‐ʊ/  KonJnua  wurden  syntheJsiert  in  einem  alveolaren  (/sIt-­‐sʊt/)  und  labialen  Kontext  (/wIl-­‐wʊl/).    

Die  KonJnua  wurden  erzeugt  durch  Herabsenken  von  F2  in  13  Schriien).    

Die  Versuchspersonen  mussten  pro  SJmulus  entscheiden:  war  es  /I/  oder  /ʊ/?    

Es  gab  2  Gruppen  von  Versuchspersonen:  alt  und  jung.  

Ein  Between-­‐Factor  (Alter),  Ein  Within-­‐Factor  (KonJnuum)  

Alt  

Jung  

Jef   hoch  F2  Prop

.  /ʊ/  Urteile  1  

0  

1  

0  

GLMM,  Psychometrische  Kurven,  Umkipppunkte  

Data-­‐Frame  lax  

S !A C Stim P Q!2146 ELWI O sVt 1100 5 0!2151 ELWI O sVt 1164 5 0!2156 ELWI O sVt 1231 5 0!2161 ELWI O sVt 1301 5 0!2166 ELWI O sVt 1374 5 0!2171 ELWI O sVt 1450 5 0!

Die  relevanten  Variablen  

Hörer   Altersgruppe   F2   /U/  Antworten  

/I/  Anworten  

zB  Hörer  ELWI  (Altersgruppe  Old)  antwortete  5  Mal  mit  /U/  (und  kein  Mal  mit  /I/)  zu  dem  Vokal-­‐SJmulus  mit  F2  =  1100  Hz  in  dem  sVt  (sit-­‐soot)  KonJnuum.  

KonJnuum  

Vorgang  

Genau  wie  vorher,  aber:  

(a)  lmer()  und  die  Berechnung  der  Koeffiziente  und  Umkipppunkte  wird  getrennt  pro  KonLnuum  durchgeführt.  

(b)  Anstai  ein  t-­‐test  benöJgen  wir  ein  RM-­‐Anova  oder  MM  da  es  jetzt  mehrere  Faktoren  gibt:  einen  Between  (Altersgruppe)  und  einen  Within  (KonJnuum).    

Das  letztere  ist  within,  weil  KonJnuum  2  Stufen  hat  (sVt,  wVl),    zu  dem  jeder  Hörer  eine  Antwort  gegeben  hat.  

Siehe  auch  glmmcont2.pdf  in  der  Webseite