This script is the main analysis for the of the Onset-Neighbourhood Density Analyses.
require(knitr)
## Loading required package: knitr
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.0 ──
## ✓ ggplot2 3.3.2 ✓ purrr 0.3.4
## ✓ tibble 3.0.4 ✓ dplyr 1.0.2
## ✓ tidyr 1.1.2 ✓ stringr 1.4.0
## ✓ readr 1.3.1 ✓ forcats 0.5.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(brms)
## Loading required package: Rcpp
## Loading 'brms' package (version 2.13.5). Useful instructions
## can be found by typing help('brms'). A more detailed introduction
## to the package is available through vignette('brms_overview').
##
## Attaching package: 'brms'
## The following object is masked from 'package:stats':
##
## ar
library(lme4)
## Loading required package: Matrix
##
## Attaching package: 'Matrix'
## The following objects are masked from 'package:tidyr':
##
## expand, pack, unpack
##
## Attaching package: 'lme4'
## The following object is masked from 'package:brms':
##
## ngrps
library(mcmcplots)
## Loading required package: coda
library(tidybayes)
##
## Attaching package: 'tidybayes'
## The following objects are masked from 'package:brms':
##
## dstudent_t, pstudent_t, qstudent_t, rstudent_t
library(ggthemes)
theme_set(theme_minimal())
Open eye-tracking data: There are three separate datasets – one for RTs, one for Proportions and one for pre-onset proportion of looks to target.
LT_30mo <- read_csv("Data_Processing/LT_30mo.csv")
## Warning: Missing column names filled in: 'X1' [1]
## Parsed with column specification:
## cols(
## .default = col_double(),
## Target = col_character(),
## ParticipantName = col_character(),
## MediaName = col_character(),
## AOI = col_character(),
## Blind_ID = col_character()
## )
## See spec(...) for full column specifications.
nrow(data.frame(unique(LT_30mo $ParticipantName)))
## [1] 100
RT_30mo <- read_csv("Data_Processing/RT_30mo.csv")
## Warning: Missing column names filled in: 'X1' [1]
## Parsed with column specification:
## cols(
## .default = col_double(),
## Target = col_character(),
## ParticipantName = col_character(),
## MediaName = col_character(),
## FirstAOI = col_character(),
## Blind_ID = col_character(),
## TargetSide = col_character()
## )
## See spec(...) for full column specifications.
nrow(data.frame(unique(RT_30mo $ParticipantName)))
## [1] 100
Prior_looks <- read_csv("Data_Processing/Prior_looks.csv")
## Warning: Missing column names filled in: 'X1' [1]
## Parsed with column specification:
## cols(
## .default = col_double(),
## Target = col_character(),
## ParticipantName = col_character(),
## MediaName = col_character(),
## AOI = col_character(),
## Blind_ID = col_character()
## )
## See spec(...) for full column specifications.
LT_30mo %>%
group_by(Target) %>%
summarise(
Freq = mean(COCA_Freq_2)
)
## `summarise()` ungrouping output (override with `.groups` argument)
Get average looks to target in pre-onset window, for each word averaged across participants, and participant-specific averages.
Prop_by_target <- Prior_looks %>%
group_by(Target) %>%
dplyr::summarize(
TargetProp = mean(Prop)
)
## `summarise()` ungrouping output (override with `.groups` argument)
Prop_by_target_part <- Prior_looks%>%
group_by(ParticipantName, Target) %>%
dplyr::summarize(
PartTargetProp = mean(Prop)
)
## `summarise()` regrouping output by 'ParticipantName' (override with `.groups` argument)
RT_30mo <- merge(RT_30mo, Prop_by_target, by="Target")
RT_30mo <- merge(RT_30mo, Prop_by_target_part, by=c("ParticipantName", "Target"))
LT_30mo <- merge(LT_30mo, Prop_by_target, by="Target")
LT_30mo <- merge(LT_30mo, Prop_by_target_part, by=c("ParticipantName", "Target"))
Median Split for Subgroup Analyses
RT_30mo$VocabSplit <- ifelse(RT_30mo$VocabTotal < 544, yes=0, no =1)
RT_30mo$VocabSplit <- factor(RT_30mo$VocabSplit, labels = c("low", "high"))
LT_30mo$VocabSplit <- ifelse(LT_30mo$VocabTotal < 544, yes=0, no =1)
LT_30mo$VocabSplit <- factor(LT_30mo$VocabSplit,labels = c("low", "high"))
First, analyse looks to target in pre onset window
Prior_looks %>%
group_by(Target) %>%
summarise(
Prop_mean = mean(Prop, na.rm=TRUE),
Prop_sd = sd(Prop, na.rm=TRUE),
)
## `summarise()` ungrouping output (override with `.groups` argument)
Transform proportions to remove 0s and 1s for beta distribution. Divide variables by 100 (otherwise regression coefficients are all .00)
Prior_looks$Prop2 <- ((Prior_looks$Prop)*(Prior_looks$SamplesTotal-1) + 1/2)/Prior_looks$SamplesTotal
Prior_looks <- mutate(Prior_looks,
Vocab.c100 = (Vocab.c - median(Vocab.c))/100,
Median_Initial.c100 = Median_Initial.c/100,
AoA.c100 = (Percent_75_Amer - mean(Percent_75_Amer))/100,
logfreq.c100 = logfreq.c/100,
TrialNumber.100 = TrialNumber/100)
Beta Regression predicting average proportion of looks to target in the pre-onset window
mpo <- brm(Prop2 ~ 1 + (1 |ParticipantName) + (1 | Target), family=Beta("logit", "log"),
data=Prior_looks,
chains=4,
iter=5000,
cores=8,
file="mpo",
save_all_pars=TRUE)
summary(mpo)
## Family: beta
## Links: mu = logit; phi = identity
## Formula: Prop2 ~ 1 + (1 | ParticipantName) + (1 | Target)
## Data: Prior_looks (Number of observations: 3534)
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
## total post-warmup samples = 10000
##
## Group-Level Effects:
## ~ParticipantName (Number of levels: 100)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.13 0.02 0.08 0.17 1.00 3728 3234
##
## ~Target (Number of levels: 18)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.44 0.09 0.31 0.65 1.00 2090 3789
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept 0.29 0.11 0.08 0.51 1.00 1300 2283
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## phi 3.61 0.08 3.46 3.77 1.00 13695 7202
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
See if proportion of looks pre onset is predicted by substantive or methodological variables.
mpo_baseline <- brm(Prop2 ~ Median_Initial.c100 + Vocab.c100 + AoA.c100 + First_Instance + TrialNumber.100 + logfreq.c100 +
(1 + Median_Initial.c100 + AoA.c100 + First_Instance + TrialNumber.100 + logfreq.c100 || ParticipantName) +
(1 + First_Instance + Vocab.c100 + TrialNumber.100 || Target),
family=Beta("logit", "log"),
data=Prior_looks,
chains=4,
iter=5000,
cores=8,
file="mpo_baseline",
save_all_pars=TRUE)
summary(mpo_baseline)
## Family: beta
## Links: mu = logit; phi = identity
## Formula: Prop2 ~ Median_Initial.c100 + Vocab.c100 + AoA.c100 + First_Instance + TrialNumber.100 + logfreq.c100 + (1 + Median_Initial.c100 + AoA.c100 + First_Instance + TrialNumber.100 + logfreq.c100 || ParticipantName) + (1 + First_Instance + Vocab.c100 + TrialNumber.100 || Target)
## Data: Prior_looks (Number of observations: 3534)
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
## total post-warmup samples = 10000
##
## Group-Level Effects:
## ~ParticipantName (Number of levels: 100)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept) 0.04 0.03 0.00 0.10 1.00 2611
## sd(Median_Initial.c100) 0.28 0.20 0.01 0.72 1.00 4332
## sd(AoA.c100) 2.41 1.02 0.30 4.25 1.00 2127
## sd(First_Instance) 0.08 0.05 0.01 0.17 1.00 2465
## sd(TrialNumber.100) 0.78 0.11 0.57 1.00 1.00 4215
## sd(logfreq.c100) 10.61 3.46 1.99 16.54 1.00 2072
## Tail_ESS
## sd(Intercept) 4008
## sd(Median_Initial.c100) 4760
## sd(AoA.c100) 2910
## sd(First_Instance) 4349
## sd(TrialNumber.100) 6004
## sd(logfreq.c100) 1917
##
## ~Target (Number of levels: 18)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.42 0.11 0.26 0.67 1.00 4072 4451
## sd(First_Instance) 0.10 0.06 0.01 0.22 1.00 2932 5276
## sd(Vocab.c100) 0.08 0.02 0.04 0.13 1.00 3970 5606
## sd(TrialNumber.100) 0.81 0.30 0.23 1.45 1.00 2807 1504
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept 0.30 0.12 0.07 0.55 1.00 6009 6606
## Median_Initial.c100 -0.20 1.05 -2.31 1.87 1.00 6399 6658
## Vocab.c100 0.00 0.03 -0.05 0.06 1.00 9404 8034
## AoA.c100 0.61 3.91 -7.17 8.22 1.00 6837 6642
## First_Instance -0.09 0.06 -0.20 0.02 1.00 13478 7541
## TrialNumber.100 0.21 0.31 -0.40 0.84 1.00 10026 8164
## logfreq.c100 -1.17 13.62 -27.89 26.06 1.00 6295 6126
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## phi 3.83 0.09 3.66 4.00 1.00 9704 8013
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
marginal_effects(mpo_baseline, "First_Instance")
## Warning: Method 'marginal_effects' is deprecated. Please use
## 'conditional_effects' instead.
mpo_1<- brm(Prop2 ~ Median_Initial.c100*Vocab.c100 + AoA.c100 + First_Instance + TrialNumber.100 + logfreq.c100 +
(1 + Median_Initial.c100 + AoA.c100 + First_Instance + TrialNumber.100 + logfreq.c100 || ParticipantName) +
(1 + First_Instance + Vocab.c100 + TrialNumber.100 || Target),
family=Beta("logit", "log"), prior=prior(student_t(3,0,2), class=sd),
data=Prior_looks, chains=4, iter=5000,
file="mpo_1",
cores=8, save_all_pars=TRUE)
summary(mpo_1)
## Family: beta
## Links: mu = logit; phi = identity
## Formula: Prop2 ~ Median_Initial.c100 * Vocab.c100 + AoA.c100 + First_Instance + TrialNumber.100 + logfreq.c100 + (1 + Median_Initial.c100 + AoA.c100 + First_Instance + TrialNumber.100 + logfreq.c100 || ParticipantName) + (1 + First_Instance + Vocab.c100 + TrialNumber.100 || Target)
## Data: Prior_looks (Number of observations: 3534)
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
## total post-warmup samples = 10000
##
## Group-Level Effects:
## ~ParticipantName (Number of levels: 100)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept) 0.04 0.03 0.00 0.10 1.00 2721
## sd(Median_Initial.c100) 0.28 0.20 0.01 0.74 1.00 4568
## sd(AoA.c100) 2.35 1.01 0.29 4.18 1.00 2532
## sd(First_Instance) 0.08 0.04 0.01 0.17 1.00 2298
## sd(TrialNumber.100) 0.78 0.11 0.56 1.00 1.00 4090
## sd(logfreq.c100) 10.24 3.76 1.12 16.44 1.00 1845
## Tail_ESS
## sd(Intercept) 4590
## sd(Median_Initial.c100) 5449
## sd(AoA.c100) 2835
## sd(First_Instance) 4247
## sd(TrialNumber.100) 5865
## sd(logfreq.c100) 2057
##
## ~Target (Number of levels: 18)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.42 0.11 0.26 0.67 1.00 5236 5472
## sd(First_Instance) 0.10 0.06 0.01 0.22 1.00 2998 5514
## sd(Vocab.c100) 0.08 0.03 0.04 0.14 1.00 4040 5117
## sd(TrialNumber.100) 0.81 0.29 0.27 1.45 1.00 3940 3569
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat
## Intercept 0.30 0.13 0.05 0.56 1.00
## Median_Initial.c100 -0.21 1.07 -2.39 1.87 1.00
## Vocab.c100 0.00 0.03 -0.05 0.06 1.00
## AoA.c100 0.66 3.99 -6.99 8.64 1.00
## First_Instance -0.09 0.06 -0.20 0.02 1.00
## TrialNumber.100 0.22 0.32 -0.41 0.87 1.00
## logfreq.c100 -1.15 13.50 -28.20 25.72 1.00
## Median_Initial.c100:Vocab.c100 -0.06 0.25 -0.56 0.43 1.00
## Bulk_ESS Tail_ESS
## Intercept 5744 6144
## Median_Initial.c100 5755 6137
## Vocab.c100 8135 7671
## AoA.c100 6205 6269
## First_Instance 13654 7911
## TrialNumber.100 9534 7106
## logfreq.c100 6145 6391
## Median_Initial.c100:Vocab.c100 7931 6149
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## phi 3.83 0.09 3.65 4.00 1.00 9815 7439
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
remove(mpo)
remove(mpo_baseline)
remove(mpo_1)
Analysis of RTs
Get number of trials per participant
##
## 4 6 7 8 9 10 11 12 13 14 15 16 17 18 19
## 1 3 3 5 6 18 17 6 10 9 11 5 1 2 3
Re-scale variables to make coefficients more interpretable
RT_30mo <- mutate(RT_30mo,
Vocab.c100 = Vocab.c/100,
logfreq.c100 = logfreq.c/100,
Median_Initial.c100 = Median_Initial.c/100,
log_Median_Initial.c = (log(Median_Initial) - mean(log(Median_Initial)))/100,
AoA.c100 = (Percent_75_Amer - mean(Percent_75_Amer))/100,
Duration.c100 = (Duration-mean(Duration))/100,
TrialNumber.c100 = (TrialNumber - median(TrialNumber))/100
)
Summary statistics by words
RT_30mo %>%
group_by(Target) %>%
summarise(
RT_mean = mean(RT, na.rm=TRUE),
RT_sd = sd(RT, na.rm=TRUE),
count = n()
)
## `summarise()` ungrouping output (override with `.groups` argument)
Baseline model – main effect of Initial density.
m0 <- brm(RT ~ Median_Initial.c100+ Vocab.c100 + First_Instance + PartTargetProp + TargetProp + logfreq.c100+ AoA.c100 + First_Instance + Duration.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp + Duration.c100 + PartTargetProp + logfreq.c100 + AoA.c100|| ParticipantName) + (1 + Vocab.c100 + First_Instance + PartTargetProp || Target), prior=prior(student_t(5,0,2), class=sd), family="shifted_lognormal", file="m0",
data=RT_30mo, chains=4, iter=5000, cores=8, save_all_pars=TRUE)
m0<- add_criterion(m0, "loo")
tibble(m0_k = m0$criteria$loo$diagnostics$pareto_k) %>%
ggplot(aes(x=m0_k)) +
geom_vline(xintercept=.5, linetype=2) +
stat_dots()
pp_check(m0)
## Using 10 posterior samples for ppc type 'dens_overlay' by default.
summary(m0)
## Family: shifted_lognormal
## Links: mu = identity; sigma = identity; ndt = identity
## Formula: RT ~ Median_Initial.c100 + Vocab.c100 + First_Instance + PartTargetProp + TargetProp + logfreq.c100 + AoA.c100 + First_Instance + Duration.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp + Duration.c100 + PartTargetProp + logfreq.c100 + AoA.c100 || ParticipantName) + (1 + Vocab.c100 + First_Instance + PartTargetProp || Target)
## Data: RT_30mo (Number of observations: 1187)
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
## total post-warmup samples = 10000
##
## Group-Level Effects:
## ~ParticipantName (Number of levels: 100)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept) 0.11 0.06 0.01 0.21 1.00 1180
## sd(Median_Initial.c100) 1.00 0.31 0.30 1.58 1.00 2440
## sd(First_Instance) 0.10 0.05 0.01 0.20 1.00 2697
## sd(TargetProp) 0.14 0.09 0.01 0.34 1.01 1438
## sd(Duration.c100) 0.04 0.03 0.00 0.09 1.00 2771
## sd(PartTargetProp) 0.23 0.11 0.02 0.43 1.01 1073
## sd(logfreq.c100) 2.20 1.94 0.08 7.31 1.00 5828
## sd(AoA.c100) 1.70 1.03 0.08 3.80 1.00 2660
## Tail_ESS
## sd(Intercept) 2622
## sd(Median_Initial.c100) 3015
## sd(First_Instance) 5503
## sd(TargetProp) 3105
## sd(Duration.c100) 5233
## sd(PartTargetProp) 2802
## sd(logfreq.c100) 5378
## sd(AoA.c100) 4876
##
## ~Target (Number of levels: 18)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.06 0.04 0.00 0.17 1.00 3112 5379
## sd(Vocab.c100) 0.03 0.02 0.00 0.08 1.00 4149 5611
## sd(First_Instance) 0.09 0.05 0.01 0.20 1.00 3025 5040
## sd(PartTargetProp) 0.14 0.09 0.01 0.33 1.00 3576 5051
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept 6.30 0.23 5.86 6.75 1.00 10622 6919
## Median_Initial.c100 0.51 0.36 -0.20 1.23 1.00 9763 7139
## Vocab.c100 -0.08 0.03 -0.13 -0.03 1.00 11377 8228
## First_Instance -0.01 0.05 -0.10 0.08 1.00 13340 8154
## PartTargetProp -0.20 0.15 -0.49 0.09 1.00 15835 7787
## TargetProp -0.87 0.43 -1.75 -0.04 1.00 10817 7231
## logfreq.c100 3.55 4.22 -4.76 12.08 1.00 10421 7139
## AoA.c100 1.36 1.43 -1.36 4.29 1.00 9004 6391
## Duration.c100 0.01 0.03 -0.06 0.07 1.00 8412 6369
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma 0.59 0.03 0.54 0.64 1.00 7588 6619
## ndt 142.99 9.98 121.41 160.37 1.00 10694 7208
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
hypothesis(m0, "Median_Initial.c100 > 0")
## Hypothesis Tests for class b:
## Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... > 0 0.51 0.36 -0.08 1.1 12.61
## Post.Prob Star
## 1 0.93
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
RT_30mo%>%
mutate(
m0_k = m0$criteria$loo$diagnostics$pareto_k
) %>%
filter(m0_k >= .65)
m0b <- RT_30mo%>%
mutate(
m0_k = m0$criteria$loo$diagnostics$pareto_k
) %>%
filter(m0_k < .65) %>%
brm(RT ~ Median_Initial.c100+Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + logfreq.c100 + AoA.c100|| ParticipantName) + (1 + Vocab.c100 + First_Instance + PartTargetProp || Target), family="shifted_lognormal", file="m0b", data=., prior=prior(student_t(5,0,2), class=sd), chains=4, iter=5000, cores=8, save_all_pars=TRUE)
Add Interaction
m1 <- brm(RT ~ Median_Initial.c100*Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + AoA.c100 + Duration.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp + + Duration.c100 + PartTargetProp + logfreq.c100 + AoA.c100|| ParticipantName) + (1 + Vocab.c100 + First_Instance + PartTargetProp || Target), family="shifted_lognormal", file="m1", data=RT_30mo, prior=prior(student_t(5,0,2), class=sd), chains=4, iter=5000, cores=8, save_all_pars=TRUE)
m1 <- add_criterion(m1, "loo")
## Warning: Found 2 observations with a pareto_k > 0.7 in model 'm1'. It is
## recommended to set 'moment_match = TRUE' in order to perform moment matching for
## problematic observations.
## Automatically saving the model object in 'm1.rds'
summary(m1)
## Family: shifted_lognormal
## Links: mu = identity; sigma = identity; ndt = identity
## Formula: RT ~ Median_Initial.c100 * Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + AoA.c100 + Duration.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp + +Duration.c100 + PartTargetProp + logfreq.c100 + AoA.c100 || ParticipantName) + (1 + Vocab.c100 + First_Instance + PartTargetProp || Target)
## Data: RT_30mo (Number of observations: 1187)
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
## total post-warmup samples = 10000
##
## Group-Level Effects:
## ~ParticipantName (Number of levels: 100)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept) 0.11 0.06 0.01 0.21 1.00 951
## sd(Median_Initial.c100) 0.98 0.32 0.25 1.57 1.00 2393
## sd(First_Instance) 0.09 0.05 0.01 0.20 1.00 2276
## sd(TargetProp) 0.14 0.09 0.01 0.34 1.00 1447
## sd(Duration.c100) 0.04 0.03 0.00 0.09 1.00 2949
## sd(PartTargetProp) 0.23 0.11 0.02 0.43 1.00 923
## sd(logfreq.c100) 2.18 1.93 0.07 7.52 1.00 6242
## sd(AoA.c100) 1.76 1.03 0.10 3.84 1.00 2719
## Tail_ESS
## sd(Intercept) 2948
## sd(Median_Initial.c100) 2019
## sd(First_Instance) 4630
## sd(TargetProp) 2753
## sd(Duration.c100) 4495
## sd(PartTargetProp) 2382
## sd(logfreq.c100) 6247
## sd(AoA.c100) 3947
##
## ~Target (Number of levels: 18)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.06 0.05 0.00 0.17 1.00 2829 5557
## sd(Vocab.c100) 0.03 0.02 0.00 0.07 1.00 5364 6073
## sd(First_Instance) 0.09 0.05 0.01 0.21 1.00 3101 4849
## sd(PartTargetProp) 0.14 0.09 0.01 0.33 1.00 2623 3880
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat
## Intercept 6.30 0.24 5.84 6.78 1.00
## Median_Initial.c100 0.58 0.37 -0.16 1.30 1.00
## Vocab.c100 -0.09 0.03 -0.14 -0.03 1.00
## First_Instance -0.01 0.05 -0.10 0.08 1.00
## logfreq.c100 3.58 4.20 -4.57 12.05 1.00
## TargetProp -0.86 0.45 -1.79 0.01 1.00
## PartTargetProp -0.20 0.15 -0.50 0.09 1.00
## AoA.c100 1.37 1.45 -1.37 4.41 1.00
## Duration.c100 0.01 0.03 -0.07 0.07 1.00
## Median_Initial.c100:Vocab.c100 0.36 0.21 -0.04 0.77 1.00
## Bulk_ESS Tail_ESS
## Intercept 9976 6977
## Median_Initial.c100 8824 7508
## Vocab.c100 9783 7840
## First_Instance 12866 8066
## logfreq.c100 10249 7203
## TargetProp 9456 6663
## PartTargetProp 13417 7902
## AoA.c100 8173 5759
## Duration.c100 6918 5437
## Median_Initial.c100:Vocab.c100 13486 7536
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma 0.59 0.03 0.54 0.65 1.00 8797 7315
## ndt 143.64 10.09 121.86 161.43 1.00 10783 6933
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
hypothesis(m1, "Median_Initial.c100:Vocab.c100 > 0")
## Hypothesis Tests for class b:
## Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... > 0 0.36 0.21 0.02 0.7 25.39
## Post.Prob Star
## 1 0.96 *
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
hypothesis(m1, "Median_Initial.c100 > 0")
## Hypothesis Tests for class b:
## Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... > 0 0.58 0.37 -0.02 1.18 16.67
## Post.Prob Star
## 1 0.94
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
tibble(m1_k = m1$criteria$loo$diagnostics$pareto_k) %>%
ggplot(aes(x=m1_k)) +
geom_vline(xintercept=.5, linetype=2) +
stat_dots()
1 observations had pareto ks above .7.
RT_30mo%>%
mutate(
m1_k = m1$criteria$loo$diagnostics$pareto_k
) %>%
filter(m1_k >= .69)
m1b <- RT_30mo%>%
mutate(
m1_k = m1$criteria$loo$diagnostics$pareto_k
) %>%
filter(m1_k < .69) %>%
brm(RT ~ Median_Initial.c100*Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + logfreq.c100 + AoA.c100|| ParticipantName) + (1 + Vocab.c100 + First_Instance + PartTargetProp || Target), family="shifted_lognormal", file="m1b", data=., prior=prior(student_t(5,0,2), class=sd), chains=4, iter=5000, cores=8, save_all_pars=TRUE)
summary(m1b)
## Warning: Parts of the model have not converged (some Rhats are > 1.05). Be
## careful when analysing the results! We recommend running more iterations and/or
## setting stronger priors.
## Family: shifted_lognormal
## Links: mu = identity; sigma = identity; ndt = identity
## Formula: RT ~ Median_Initial.c100 * Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + logfreq.c100 + AoA.c100 || ParticipantName) + (1 + Vocab.c100 + First_Instance + PartTargetProp || Target)
## Data: . (Number of observations: 1185)
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
## total post-warmup samples = 10000
##
## Group-Level Effects:
## ~ParticipantName (Number of levels: 100)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept) 0.11 0.06 0.01 0.22 1.04 127
## sd(Median_Initial.c100) 1.42 0.89 0.31 3.47 1.53 7
## sd(First_Instance) 0.17 0.15 0.01 0.54 1.50 7
## sd(TargetProp) 0.16 0.10 0.01 0.38 1.07 45
## sd(PartTargetProp) 0.34 0.25 0.02 0.97 1.51 7
## sd(Duration.c100) 0.09 0.09 0.00 0.32 1.52 7
## sd(logfreq.c100) 2.23 1.96 0.11 7.45 1.01 594
## sd(AoA.c100) 4.25 4.41 0.13 14.30 1.53 7
## Tail_ESS
## sd(Intercept) 718
## sd(Median_Initial.c100) 27
## sd(First_Instance) 29
## sd(TargetProp) 383
## sd(PartTargetProp) 22
## sd(Duration.c100) 23
## sd(logfreq.c100) 751
## sd(AoA.c100) 33
##
## ~Target (Number of levels: 18)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.09 0.08 0.00 0.35 1.10 28 22
## sd(Vocab.c100) 0.03 0.03 0.00 0.10 1.04 123 95
## sd(First_Instance) 0.14 0.13 0.01 0.49 1.27 12 31
## sd(PartTargetProp) 0.21 0.16 0.01 0.64 1.29 11 31
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat
## Intercept 6.25 0.34 5.46 6.86 1.11
## Median_Initial.c100 0.56 0.62 -0.91 1.98 1.15
## Vocab.c100 -0.10 0.04 -0.21 -0.04 1.23
## First_Instance -0.04 0.09 -0.30 0.09 1.21
## logfreq.c100 3.80 5.79 -7.82 16.56 1.10
## TargetProp -0.76 0.63 -1.85 0.81 1.09
## PartTargetProp -0.40 0.42 -1.50 0.07 1.44
## Duration.c100 0.01 0.04 -0.08 0.11 1.06
## AoA.c100 1.28 1.92 -2.41 5.38 1.07
## Median_Initial.c100:Vocab.c100 0.37 0.29 -0.17 1.04 1.11
## Bulk_ESS Tail_ESS
## Intercept 172 48
## Median_Initial.c100 68 37
## Vocab.c100 13 25
## First_Instance 14 29
## logfreq.c100 180 70
## TargetProp 109 34
## PartTargetProp 8 26
## Duration.c100 153 67
## AoA.c100 131 95
## Median_Initial.c100:Vocab.c100 84 39
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma 0.81 0.38 0.54 1.52 1.53 7 35
## ndt 158.78 26.33 125.21 202.00 1.52 7 10000
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
hypothesis(m1b, "Median_Initial.c100:Vocab.c100 > 0")
## Hypothesis Tests for class b:
## Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... > 0 0.37 0.29 -0.06 0.89 11.58
## Post.Prob Star
## 1 0.92
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
hypothesis(m1b, "Median_Initial.c100 > 0")
## Hypothesis Tests for class b:
## Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... > 0 0.56 0.62 -0.51 1.47 6.78
## Post.Prob Star
## 1 0.87
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
m1b <- add_criterion(m1b, "loo")
## Warning: Found 17 observations with a pareto_k > 0.7 in model 'm1b'. It is
## recommended to set 'moment_match = TRUE' in order to perform moment matching for
## problematic observations.
## Automatically saving the model object in 'm1b.rds'
tibble(m1b_k = m1b$criteria$loo$diagnostics$pareto_k) %>%
ggplot(aes(x=m1b_k)) +
geom_vline(xintercept=.5, linetype=2) +
stat_dots()
library(patchwork)
p1 <- plot(marginal_effects(m0, "Median_Initial.c100"), points=TRUE)
## Warning: Method 'marginal_effects' is deprecated. Please use
## 'conditional_effects' instead.
p1[[1]] + xlab("Onset Neighbourhood Density \n(Centred and divided by 100)") + theme_bw()|
p1[[1]] + xlab("Onset Neighbourhood Density \n(Centred and divided by 100)") + theme_bw() + ylim(c(200, 1000))
## Warning: Removed 82 rows containing missing values (geom_point).
p2 <- plot(marginal_effects(m1b, "Median_Initial.c100:Vocab.c100"), points=TRUE)
## Warning: Method 'marginal_effects' is deprecated. Please use
## 'conditional_effects' instead.
p2a <- p2[[1]] + xlab("Onset Neighbourhood Density \n(Centred and divided by 100)") + theme_bw() +
scale_colour_discrete(name = "Vocab", labels = c("High", "Medium", "Low")) +
scale_fill_discrete(name = "Vocab", labels = c("High", "Medium", "Low"))
p2b <- p2[[1]] + xlab("Onset Neighbourhood Density \n(Centred and divided by 100)") + theme_bw() +
scale_colour_discrete(name = "Vocab", labels = c("High", "Medium", "Low")) +
scale_fill_discrete(name = "Vocab", labels = c("High", "Medium", "Low")) +
ylim(c(200, 1000))
m1b %>%
posterior_samples %>%
select("b_Median_Initial.c100", "b_Median_Initial.c100:Vocab.c100") %>%
mutate(
Below_Mean = b_Median_Initial.c100 - 1.28839*`b_Median_Initial.c100:Vocab.c100`,
At_Mean = b_Median_Initial.c100 - 0.1901011*`b_Median_Initial.c100:Vocab.c100`,
Above_Mean = b_Median_Initial.c100 + 0.9081879*`b_Median_Initial.c100:Vocab.c100`
) %>%
select(Below_Mean, At_Mean, Above_Mean) %>%
pivot_longer(everything()) %>%
group_by(name) %>%
mean_hdi()
remove(m1)
remove(m1b)
remove(m0)
Split dataset by high and low vocbaulary groups
low_only <- filter(RT_30mo, VocabSplit=="low")
high_only <- filter(RT_30mo, VocabSplit=="high")
m2 <- brm(RT ~ Median_Initial.c100 + First_Instance + logfreq.c100 + TargetProp + PartTargetProp + Duration.c100 + Vocab.c100+ AoA.c100+ (1 + Median_Initial.c100 + First_Instance + logfreq.c100 + PartTargetProp + TargetProp + Duration.c100 + PartTargetProp + AoA.c100 || ParticipantName) + (1 + First_Instance + Vocab.c100 + PartTargetProp || Target), family="shifted_lognormal", data=high_only, chains=4, file="m2", iter=5000, cores=8, save_all_pars=TRUE)
m2 <- add_criterion(m2, "loo")
## Automatically saving the model object in 'm2.rds'
tibble(m2_k = m2$criteria$loo$diagnostics$pareto_k) %>%
ggplot(aes(x=m2_k)) +
geom_vline(xintercept=.5, linetype=2) +
stat_dots()
summary(m2)
## Family: shifted_lognormal
## Links: mu = identity; sigma = identity; ndt = identity
## Formula: RT ~ Median_Initial.c100 + First_Instance + logfreq.c100 + TargetProp + PartTargetProp + Duration.c100 + Vocab.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + logfreq.c100 + PartTargetProp + TargetProp + Duration.c100 + PartTargetProp + AoA.c100 || ParticipantName) + (1 + First_Instance + Vocab.c100 + PartTargetProp || Target)
## Data: high_only (Number of observations: 616)
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
## total post-warmup samples = 10000
##
## Group-Level Effects:
## ~ParticipantName (Number of levels: 52)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept) 0.11 0.07 0.01 0.25 1.00 1463
## sd(Median_Initial.c100) 0.85 0.45 0.06 1.73 1.00 2180
## sd(First_Instance) 0.09 0.06 0.00 0.22 1.00 3650
## sd(logfreq.c100) 5.90 5.40 0.17 19.15 1.00 2452
## sd(PartTargetProp) 0.21 0.13 0.01 0.47 1.00 1765
## sd(TargetProp) 0.19 0.12 0.01 0.42 1.00 1757
## sd(Duration.c100) 0.08 0.04 0.01 0.16 1.00 2288
## sd(AoA.c100) 1.95 1.28 0.09 4.74 1.00 3216
## Tail_ESS
## sd(Intercept) 3935
## sd(Median_Initial.c100) 3165
## sd(First_Instance) 5576
## sd(logfreq.c100) 4175
## sd(PartTargetProp) 4195
## sd(TargetProp) 3807
## sd(Duration.c100) 2920
## sd(AoA.c100) 4594
##
## ~Target (Number of levels: 18)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.08 0.06 0.00 0.22 1.00 3634 4935
## sd(First_Instance) 0.14 0.08 0.01 0.31 1.00 3010 3772
## sd(Vocab.c100) 0.08 0.06 0.00 0.22 1.00 5135 5568
## sd(PartTargetProp) 0.16 0.12 0.01 0.43 1.00 3704 5220
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept 6.40 0.34 5.75 7.08 1.00 8928 7543
## Median_Initial.c100 0.83 0.52 -0.23 1.84 1.00 7488 6438
## First_Instance -0.07 0.07 -0.21 0.06 1.00 9661 8125
## logfreq.c100 1.72 6.17 -10.20 14.21 1.00 7607 6186
## TargetProp -1.46 0.64 -2.79 -0.21 1.00 8009 7004
## PartTargetProp 0.01 0.23 -0.45 0.47 1.00 12130 7395
## Duration.c100 -0.01 0.05 -0.11 0.09 1.00 6980 5838
## Vocab.c100 0.04 0.10 -0.16 0.24 1.00 10473 7193
## AoA.c100 1.49 2.02 -2.27 5.71 1.00 6950 5981
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma 0.64 0.04 0.56 0.72 1.00 5686 5644
## ndt 156.09 10.96 131.75 174.81 1.00 7059 6096
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
hypothesis(m2, "Median_Initial.c100 > 0")
## Hypothesis Tests for class b:
## Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... > 0 0.83 0.52 -0.03 1.67 16.95
## Post.Prob Star
## 1 0.94
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
high_only%>%
mutate(
m1_k = m2$criteria$loo$diagnostics$pareto_k
) %>%
filter(m1_k > .7)
m2b <- high_only%>%
mutate(
m1_k = m2$criteria$loo$diagnostics$pareto_k
) %>%
filter(m1_k < .7) %>%
brm(RT ~ Median_Initial.c100+ Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + logfreq.c100 + AoA.c100|| ParticipantName) + (1 + Vocab.c100 + First_Instance + PartTargetProp || Target), family="shifted_lognormal", file="m2b", data=., prior=prior(student_t(3,0,2), class=sd), chains=4, iter=5000, cores=8, save_all_pars=TRUE)
summary(m2b)
## Family: shifted_lognormal
## Links: mu = identity; sigma = identity; ndt = identity
## Formula: RT ~ Median_Initial.c100 + Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + logfreq.c100 + AoA.c100 || ParticipantName) + (1 + Vocab.c100 + First_Instance + PartTargetProp || Target)
## Data: . (Number of observations: 616)
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
## total post-warmup samples = 10000
##
## Group-Level Effects:
## ~ParticipantName (Number of levels: 52)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept) 0.11 0.07 0.00 0.25 1.00 1901
## sd(Median_Initial.c100) 0.81 0.45 0.05 1.70 1.00 3232
## sd(First_Instance) 0.09 0.06 0.00 0.22 1.00 3946
## sd(TargetProp) 0.18 0.12 0.01 0.43 1.00 2034
## sd(PartTargetProp) 0.21 0.13 0.01 0.47 1.00 1944
## sd(Duration.c100) 0.08 0.04 0.01 0.16 1.00 2514
## sd(logfreq.c100) 4.41 4.83 0.10 17.75 1.00 3061
## sd(AoA.c100) 1.76 1.22 0.08 4.50 1.00 3748
## Tail_ESS
## sd(Intercept) 4525
## sd(Median_Initial.c100) 4536
## sd(First_Instance) 5343
## sd(TargetProp) 4744
## sd(PartTargetProp) 3797
## sd(Duration.c100) 4042
## sd(logfreq.c100) 3715
## sd(AoA.c100) 6213
##
## ~Target (Number of levels: 18)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.08 0.06 0.00 0.23 1.00 3705 4781
## sd(Vocab.c100) 0.08 0.06 0.00 0.22 1.00 5898 5569
## sd(First_Instance) 0.14 0.08 0.01 0.32 1.00 3372 5295
## sd(PartTargetProp) 0.16 0.12 0.01 0.45 1.00 3359 5412
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept 6.41 0.34 5.76 7.09 1.00 11285 7372
## Median_Initial.c100 0.82 0.53 -0.22 1.83 1.00 9142 6776
## Vocab.c100 0.04 0.10 -0.17 0.24 1.00 15388 7352
## First_Instance -0.07 0.07 -0.21 0.07 1.00 13295 8081
## logfreq.c100 1.71 6.25 -10.74 14.16 1.00 9516 7265
## TargetProp -1.48 0.63 -2.74 -0.28 1.00 10824 7050
## PartTargetProp 0.02 0.23 -0.43 0.46 1.00 14656 8589
## Duration.c100 -0.01 0.05 -0.11 0.09 1.00 8378 5941
## AoA.c100 1.52 2.09 -2.36 5.93 1.00 7968 6346
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma 0.64 0.04 0.57 0.72 1.00 8662 7816
## ndt 156.43 10.61 132.84 174.69 1.00 11185 8060
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
hypothesis(m2b, "Median_Initial.c100 > 0")
## Hypothesis Tests for class b:
## Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... > 0 0.82 0.53 -0.06 1.67 15.34
## Post.Prob Star
## 1 0.94
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
Low vocabulary participants.
m3 <- brm(RT ~ Median_Initial.c100 + First_Instance+ logfreq.c100 + Vocab.c100 + PartTargetProp + TargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + logfreq.c100 + Duration.c100+ PartTargetProp + TargetProp + AoA.c100 || ParticipantName) + (1 + First_Instance + Vocab.c100 + PartTargetProp || Target), family="shifted_lognormal", data=low_only, chains=4, iter=1000, file="m3", cores=8, save_all_pars=TRUE)
m3 <- add_criterion(m3, "loo")
## Warning: Found 2 observations with a pareto_k > 0.7 in model 'm3'. It is
## recommended to set 'moment_match = TRUE' in order to perform moment matching for
## problematic observations.
## Automatically saving the model object in 'm3.rds'
tibble(m3_k = m3$criteria$loo$diagnostics$pareto_k) %>%
ggplot(aes(x=m3_k)) +
geom_vline(xintercept=.5, linetype=2) +
stat_dots()
summary(m3)
## Family: shifted_lognormal
## Links: mu = identity; sigma = identity; ndt = identity
## Formula: RT ~ Median_Initial.c100 + First_Instance + logfreq.c100 + Vocab.c100 + PartTargetProp + TargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + logfreq.c100 + Duration.c100 + PartTargetProp + TargetProp + AoA.c100 || ParticipantName) + (1 + First_Instance + Vocab.c100 + PartTargetProp || Target)
## Data: low_only (Number of observations: 571)
## Samples: 4 chains, each with iter = 1000; warmup = 500; thin = 1;
## total post-warmup samples = 2000
##
## Group-Level Effects:
## ~ParticipantName (Number of levels: 48)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept) 0.10 0.06 0.00 0.23 1.01 335
## sd(Median_Initial.c100) 1.06 0.42 0.20 1.87 1.00 510
## sd(First_Instance) 0.11 0.07 0.01 0.25 1.00 571
## sd(logfreq.c100) 2.09 1.74 0.08 6.27 1.00 1501
## sd(Duration.c100) 0.03 0.03 0.00 0.09 1.00 675
## sd(PartTargetProp) 0.25 0.13 0.02 0.51 1.00 286
## sd(TargetProp) 0.15 0.10 0.01 0.37 1.00 363
## sd(AoA.c100) 1.75 1.21 0.06 4.47 1.01 602
## Tail_ESS
## sd(Intercept) 648
## sd(Median_Initial.c100) 558
## sd(First_Instance) 1086
## sd(logfreq.c100) 845
## sd(Duration.c100) 982
## sd(PartTargetProp) 316
## sd(TargetProp) 771
## sd(AoA.c100) 982
##
## ~Target (Number of levels: 18)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.07 0.05 0.00 0.18 1.00 865 1148
## sd(First_Instance) 0.06 0.05 0.00 0.18 1.00 906 1141
## sd(Vocab.c100) 0.03 0.03 0.00 0.10 1.00 699 768
## sd(PartTargetProp) 0.15 0.10 0.01 0.38 1.01 581 977
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept 6.04 0.27 5.51 6.57 1.00 1893 1568
## Median_Initial.c100 0.14 0.45 -0.76 1.02 1.00 1545 1373
## First_Instance 0.06 0.06 -0.05 0.18 1.00 2316 1535
## logfreq.c100 4.02 4.92 -6.14 13.73 1.00 1368 1399
## Vocab.c100 -0.08 0.05 -0.17 0.00 1.00 1313 1446
## PartTargetProp -0.46 0.21 -0.86 -0.04 1.00 2164 1640
## TargetProp -0.17 0.52 -1.23 0.82 1.00 1592 1589
## Duration.c100 0.03 0.04 -0.05 0.11 1.00 1537 1235
## AoA.c100 1.03 1.73 -2.25 4.48 1.00 1478 1146
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma 0.57 0.04 0.51 0.65 1.00 1300 1461
## ndt 144.79 14.50 112.92 169.82 1.00 1263 1418
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
hypothesis(m3, "Median_Initial.c100 > 0")
## Hypothesis Tests for class b:
## Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... > 0 0.14 0.45 -0.61 0.89 1.8
## Post.Prob Star
## 1 0.64
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
m3b <- low_only%>%
mutate(
m1_k = m3$criteria$loo$diagnostics$pareto_k
) %>%
filter(m1_k < .7) %>%
brm(RT ~ Median_Initial.c100+ Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp + PartTargetProp +Duration.c100 + logfreq.c100 + AoA.c100|| ParticipantName) + (1 + Vocab.c100 + First_Instance + PartTargetProp || Target), family="shifted_lognormal", file="m3b", data=., prior=prior(student_t(3,0,2), class=sd), chains=4, iter=1000, cores=8, save_all_pars=TRUE)
summary(m3b)
## Family: shifted_lognormal
## Links: mu = identity; sigma = identity; ndt = identity
## Formula: RT ~ Median_Initial.c100 + Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + logfreq.c100 + AoA.c100 || ParticipantName) + (1 + Vocab.c100 + First_Instance + PartTargetProp || Target)
## Data: . (Number of observations: 569)
## Samples: 4 chains, each with iter = 1000; warmup = 500; thin = 1;
## total post-warmup samples = 2000
##
## Group-Level Effects:
## ~ParticipantName (Number of levels: 48)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept) 0.12 0.07 0.01 0.24 1.00 295
## sd(Median_Initial.c100) 1.00 0.44 0.12 1.86 1.01 436
## sd(First_Instance) 0.11 0.07 0.00 0.26 1.02 498
## sd(TargetProp) 0.13 0.10 0.01 0.35 1.02 404
## sd(PartTargetProp) 0.25 0.13 0.02 0.49 1.01 293
## sd(Duration.c100) 0.03 0.02 0.00 0.09 1.00 1000
## sd(logfreq.c100) 1.74 1.47 0.07 5.58 1.00 1736
## sd(AoA.c100) 1.48 1.07 0.07 4.03 1.00 700
## Tail_ESS
## sd(Intercept) 750
## sd(Median_Initial.c100) 433
## sd(First_Instance) 793
## sd(TargetProp) 633
## sd(PartTargetProp) 498
## sd(Duration.c100) 1039
## sd(logfreq.c100) 1308
## sd(AoA.c100) 1071
##
## ~Target (Number of levels: 18)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.07 0.05 0.00 0.20 1.00 697 861
## sd(Vocab.c100) 0.03 0.02 0.00 0.09 1.00 1092 735
## sd(First_Instance) 0.06 0.05 0.00 0.18 1.00 706 889
## sd(PartTargetProp) 0.16 0.10 0.01 0.40 1.00 709 1058
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept 6.07 0.29 5.45 6.64 1.00 1521 1160
## Median_Initial.c100 0.11 0.46 -0.79 1.02 1.00 1516 1251
## Vocab.c100 -0.08 0.05 -0.17 0.01 1.00 1551 1178
## First_Instance 0.07 0.06 -0.04 0.18 1.00 2808 1426
## logfreq.c100 4.32 5.43 -6.38 15.59 1.00 1244 1001
## TargetProp -0.26 0.55 -1.35 0.87 1.00 1549 1367
## PartTargetProp -0.44 0.21 -0.84 -0.04 1.00 2214 1571
## Duration.c100 0.03 0.04 -0.05 0.11 1.00 1484 1196
## AoA.c100 0.96 1.88 -2.57 4.86 1.00 1462 1250
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma 0.57 0.03 0.50 0.64 1.00 1297 1105
## ndt 144.56 14.47 112.73 169.15 1.00 1405 1185
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
remove(m2)
remove(m2b)
remove(m3)
remove(m3b)
Proportion of Looks to Target
LT_30mo$Prop2 <- ((LT_30mo$Prop)*(LT_30mo$SamplesTotal-1) + 1/2)/LT_30mo$SamplesTotal
LT_30mo <- mutate(LT_30mo,
Vocab.c100 = (Vocab.c - median(Vocab.c))/100,
AoA.c100 = (Percent_75_Amer - mean(Percent_75_Amer))/100,
Median_Initial.c100 = Median_Initial.c/100,
logfreq.c100 = logfreq.c/100,
Duration.c100 = (Duration - mean(Duration))/100)
Get descriptive statistics for proportions
LT_30mo %>%
group_by(Target) %>%
summarise(
Prop_mean = mean(Prop, na.rm=TRUE),
Prop_sd = sd(Prop, na.rm=TRUE),
)
## `summarise()` ungrouping output (override with `.groups` argument)
m4 <- brm(Prop2 ~ Median_Initial.c100 + Vocab.c100 + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + TargetProp + PartTargetProp+ logfreq.c100 + Duration.c100 + First_Instance + AoA.c100|| ParticipantName) + (1 + First_Instance + Vocab.c100 + PartTargetProp || Target),prior=prior(student_t(5,0,2), class=sd), file="m4", family=Beta("logit", "log"), data=LT_30mo, chains=4, cores=8, iter=5000, save_all_pars=TRUE)
m4 <- add_criterion(m4, "loo")
## Automatically saving the model object in 'm4.rds'
tibble(m4_k = m4$criteria$loo$diagnostics$pareto_k) %>%
ggplot(aes(x=m4_k)) +
geom_vline(xintercept=.5, linetype=2) +
stat_dots()
loo(m4)
##
## Computed from 10000 by 3401 log-likelihood matrix
##
## Estimate SE
## elpd_loo 2545.1 76.1
## p_loo 97.0 3.0
## looic -5090.1 152.2
## ------
## Monte Carlo SE of elpd_loo is 0.1.
##
## All Pareto k estimates are good (k < 0.5).
## See help('pareto-k-diagnostic') for details.
summary(m4)
## Warning: There were 7 divergent transitions after warmup. Increasing adapt_delta
## above 0.8 may help. See http://mc-stan.org/misc/warnings.html#divergent-
## transitions-after-warmup
## Family: beta
## Links: mu = logit; phi = identity
## Formula: Prop2 ~ Median_Initial.c100 + Vocab.c100 + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + TargetProp + PartTargetProp + logfreq.c100 + Duration.c100 + First_Instance + AoA.c100 || ParticipantName) + (1 + First_Instance + Vocab.c100 + PartTargetProp || Target)
## Data: LT_30mo (Number of observations: 3401)
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
## total post-warmup samples = 10000
##
## Group-Level Effects:
## ~ParticipantName (Number of levels: 100)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept) 0.20 0.04 0.09 0.27 1.00 815
## sd(Median_Initial.c100) 0.30 0.22 0.01 0.81 1.00 3548
## sd(TargetProp) 0.11 0.08 0.01 0.30 1.00 905
## sd(PartTargetProp) 0.11 0.08 0.00 0.30 1.00 775
## sd(logfreq.c100) 1.72 1.44 0.06 5.51 1.00 6068
## sd(Duration.c100) 0.02 0.02 0.00 0.06 1.00 4389
## sd(First_Instance) 0.07 0.05 0.00 0.18 1.00 2069
## sd(AoA.c100) 1.10 0.80 0.05 2.96 1.00 3203
## Tail_ESS
## sd(Intercept) 666
## sd(Median_Initial.c100) 4491
## sd(TargetProp) 1245
## sd(PartTargetProp) 752
## sd(logfreq.c100) 4375
## sd(Duration.c100) 4113
## sd(First_Instance) 3832
## sd(AoA.c100) 4289
##
## ~Target (Number of levels: 18)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.08 0.05 0.01 0.20 1.00 1958 3412
## sd(First_Instance) 0.11 0.06 0.01 0.23 1.00 2545 2281
## sd(Vocab.c100) 0.02 0.02 0.00 0.06 1.00 5836 4733
## sd(PartTargetProp) 0.13 0.08 0.01 0.32 1.00 2161 3510
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept -0.84 0.26 -1.38 -0.34 1.00 4785 3721
## Median_Initial.c100 -0.55 0.38 -1.29 0.22 1.00 5008 5152
## Vocab.c100 0.01 0.03 -0.04 0.07 1.00 5651 6809
## logfreq.c100 0.79 4.72 -9.20 9.82 1.00 4862 5141
## First_Instance 0.00 0.05 -0.09 0.10 1.00 6857 6325
## TargetProp 2.45 0.48 1.53 3.41 1.00 4561 3753
## PartTargetProp 1.29 0.14 1.02 1.55 1.00 9799 7415
## Duration.c100 0.01 0.04 -0.05 0.09 1.00 4320 4189
## AoA.c100 -1.29 1.62 -4.77 1.72 1.00 3986 4200
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## phi 2.39 0.06 2.27 2.51 1.00 11670 6929
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
pp_check(m4)
## Using 10 posterior samples for ppc type 'dens_overlay' by default.
p3 <- plot(conditional_effects(m4, "Median_Initial.c100"), theme(axis.title.x=element_text(size=2000)), points=TRUE)
p3[[1]] + xlab("Onset Neighbourhood Density \n(Centred and divided by 100)") + ylab("Proportion of Looks to Target") |
p3[[1]] + xlab("Onset Neighbourhood Density \n(Centred and divided by 100)")+ ylab("Proportion of Looks to Target") + ylim(.5, 1)
## Warning: Removed 432 rows containing missing values (geom_point).
hypothesis(m4, "Median_Initial.c100 < 0")
## Hypothesis Tests for class b:
## Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... < 0 -0.55 0.38 -1.15 0.07 13.39
## Post.Prob Star
## 1 0.93
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
m5 <- brm(Prop2 ~ Median_Initial.c100*Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100+ (1 + Median_Initial.c100 +First_Instance + TargetProp + logfreq.c100 + PartTargetProp + Duration.c100 + AoA.c100|| ParticipantName) + (1 + Vocab.c100 +First_Instance ++ PartTargetProp || Target), ,prior=prior(student_t(5,0,2), class=sd), family=Beta("logit", "log"), data=LT_30mo, chains=4, file="m5", iter=5000, cores=8, save_all_pars=TRUE)
m5 <- add_criterion(m5, "loo")
## Automatically saving the model object in 'm5.rds'
pp_check(m5)
## Using 10 posterior samples for ppc type 'dens_overlay' by default.
tibble(m5_k = m5$criteria$loo$diagnostics$pareto_k) %>%
ggplot(aes(x=m5_k)) +
geom_vline(xintercept=.5, linetype=2) +
stat_dots()
summary(m5)
## Family: beta
## Links: mu = logit; phi = identity
## Formula: Prop2 ~ Median_Initial.c100 * Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp + logfreq.c100 + PartTargetProp + Duration.c100 + AoA.c100 || ParticipantName) + (1 + Vocab.c100 + First_Instance + +PartTargetProp || Target)
## Data: LT_30mo (Number of observations: 3401)
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
## total post-warmup samples = 10000
##
## Group-Level Effects:
## ~ParticipantName (Number of levels: 100)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept) 0.20 0.04 0.11 0.27 1.00 1187
## sd(Median_Initial.c100) 0.32 0.23 0.01 0.83 1.00 3375
## sd(First_Instance) 0.07 0.05 0.00 0.18 1.00 2169
## sd(TargetProp) 0.10 0.08 0.00 0.29 1.00 1238
## sd(logfreq.c100) 1.73 1.44 0.07 5.38 1.00 5316
## sd(PartTargetProp) 0.11 0.08 0.01 0.29 1.00 1079
## sd(Duration.c100) 0.02 0.01 0.00 0.06 1.00 4491
## sd(AoA.c100) 1.10 0.79 0.05 2.92 1.00 3547
## Tail_ESS
## sd(Intercept) 1466
## sd(Median_Initial.c100) 4106
## sd(First_Instance) 3553
## sd(TargetProp) 1683
## sd(logfreq.c100) 4061
## sd(PartTargetProp) 1914
## sd(Duration.c100) 4580
## sd(AoA.c100) 4126
##
## ~Target (Number of levels: 18)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.08 0.05 0.00 0.20 1.00 1992 3493
## sd(Vocab.c100) 0.02 0.02 0.00 0.06 1.00 6098 5155
## sd(First_Instance) 0.11 0.06 0.01 0.23 1.00 2355 2181
## sd(PartTargetProp) 0.13 0.08 0.01 0.32 1.00 1991 3844
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat
## Intercept -0.84 0.26 -1.39 -0.33 1.00
## Median_Initial.c100 -0.53 0.38 -1.27 0.23 1.00
## Vocab.c100 0.01 0.03 -0.05 0.07 1.00
## First_Instance 0.00 0.05 -0.09 0.10 1.00
## logfreq.c100 0.90 4.78 -9.07 10.08 1.00
## TargetProp 2.45 0.47 1.54 3.43 1.00
## PartTargetProp 1.29 0.14 1.01 1.55 1.00
## Duration.c100 0.01 0.04 -0.06 0.09 1.00
## AoA.c100 -1.29 1.63 -4.72 1.77 1.00
## Median_Initial.c100:Vocab.c100 0.11 0.18 -0.24 0.46 1.00
## Bulk_ESS Tail_ESS
## Intercept 5098 4606
## Median_Initial.c100 6759 6655
## Vocab.c100 5890 6972
## First_Instance 7238 6767
## logfreq.c100 4821 4821
## TargetProp 5144 4814
## PartTargetProp 11208 7869
## Duration.c100 4867 4927
## AoA.c100 4181 5008
## Median_Initial.c100:Vocab.c100 11182 7586
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## phi 2.39 0.06 2.28 2.51 1.00 11833 7747
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
hypothesis(m5, "Median_Initial.c100:Vocab.c100 > 0")
## Hypothesis Tests for class b:
## Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... > 0 0.11 0.18 -0.18 0.41 2.85
## Post.Prob Star
## 1 0.74
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
hypothesis(m5, "Median_Initial.c100 < 0")
## Hypothesis Tests for class b:
## Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... < 0 -0.53 0.38 -1.13 0.09 11.79
## Post.Prob Star
## 1 0.92
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
p1 <- plot(marginal_effects(m4, "Median_Initial.c100"))
## Warning: Method 'marginal_effects' is deprecated. Please use
## 'conditional_effects' instead.
p1[[1]] + xlab("Onset Neighbourhood Density \n(Centred and divided by 100)") + theme_bw()
p2 <- plot(marginal_effects(m5, "Median_Initial.c100:Vocab.c100"), points=TRUE)
## Warning: Method 'marginal_effects' is deprecated. Please use
## 'conditional_effects' instead.
p5<- p2[[1]] + xlab("Onset Neighbourhood Density \n(Centred and divided by 100)") + theme_bw() +
scale_colour_discrete(name = "Vocab", labels = c("High", "Medium", "Low")) +
scale_fill_discrete(name = "Vocab", labels = c("High", "Medium", "Low")) +
ylab("Proportion of Looks to Target")
p6<- p2[[1]] + xlab("Onset Neighbourhood Density \n(Centred and divided by 100)") + theme_bw() +
scale_colour_discrete(name = "Vocab", labels = c("High", "Medium", "Low")) +
scale_fill_discrete(name = "Vocab", labels = c("High", "Medium", "Low")) +
ylab("Proportion of Looks to Target") + ylim(.5, 1)
p5 + p6 + plot_layout(guides = "collect")
## Warning: Removed 432 rows containing missing values (geom_point).
Split by vocabulary
low_only <- filter(LT_30mo, VocabSplit == "low")
high_only <- filter(LT_30mo, VocabSplit == "high")
m6 <- brm(Prop2 ~ Median_Initial.c100 + Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 +First_Instance + logfreq.c + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 || ParticipantName) + (1 + Vocab.c100 +First_Instance + PartTargetProp || Target), family=Beta("logit", "log"), data=high_only, iter=5000, file="m6", chains=4, cores=8, save_all_pars=TRUE)
m6 <- add_criterion(m6, "loo")
## Automatically saving the model object in 'm6.rds'
summary(m6)
## Warning: There were 1 divergent transitions after warmup. Increasing adapt_delta
## above 0.8 may help. See http://mc-stan.org/misc/warnings.html#divergent-
## transitions-after-warmup
## Family: beta
## Links: mu = logit; phi = identity
## Formula: Prop2 ~ Median_Initial.c100 + Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + logfreq.c + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 || ParticipantName) + (1 + Vocab.c100 + First_Instance + PartTargetProp || Target)
## Data: high_only (Number of observations: 1739)
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
## total post-warmup samples = 10000
##
## Group-Level Effects:
## ~ParticipantName (Number of levels: 52)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept) 0.16 0.07 0.02 0.28 1.00 870
## sd(Median_Initial.c100) 0.32 0.24 0.01 0.92 1.00 5092
## sd(First_Instance) 0.06 0.05 0.00 0.17 1.00 3951
## sd(logfreq.c) 0.07 0.04 0.00 0.17 1.00 2918
## sd(TargetProp) 0.15 0.11 0.01 0.39 1.01 1091
## sd(PartTargetProp) 0.16 0.11 0.01 0.38 1.00 1273
## sd(Duration.c100) 0.03 0.02 0.00 0.07 1.00 5067
## sd(AoA.c100) 1.34 0.99 0.05 3.68 1.00 4001
## Tail_ESS
## sd(Intercept) 1302
## sd(Median_Initial.c100) 4120
## sd(First_Instance) 4283
## sd(logfreq.c) 3859
## sd(TargetProp) 2458
## sd(PartTargetProp) 2948
## sd(Duration.c100) 4621
## sd(AoA.c100) 4392
##
## ~Target (Number of levels: 18)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.05 0.04 0.00 0.15 1.00 4282 4637
## sd(Vocab.c100) 0.10 0.07 0.00 0.25 1.00 2784 4010
## sd(First_Instance) 0.13 0.07 0.01 0.28 1.00 2623 3509
## sd(PartTargetProp) 0.09 0.07 0.00 0.26 1.00 4024 4289
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept -0.96 0.29 -1.53 -0.39 1.00 5462 6841
## Median_Initial.c100 -0.34 0.42 -1.15 0.48 1.00 6502 6460
## Vocab.c100 0.07 0.11 -0.14 0.28 1.00 6869 7263
## First_Instance 0.10 0.06 -0.02 0.23 1.00 9004 6982
## logfreq.c100 3.78 5.15 -6.45 13.85 1.00 6129 5908
## TargetProp 2.53 0.52 1.52 3.56 1.00 5195 6638
## PartTargetProp 1.26 0.19 0.89 1.63 1.00 9843 7332
## Duration.c100 -0.00 0.04 -0.08 0.08 1.00 5436 5376
## AoA.c100 0.21 1.72 -3.29 3.52 1.00 5271 4869
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## phi 2.40 0.08 2.24 2.57 1.00 10547 7182
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
tibble(m6_k = m6$criteria$loo$diagnostics$pareto_k) %>%
ggplot(aes(x=m6_k)) +
geom_vline(xintercept=.5, linetype=2) +
stat_dots()
#saveRDS(m6, "Z:/Analyses/LWL_30mt_after_01_10_19/Subgroup_Analyses/m6.Rds")
summary(m6)
## Warning: There were 1 divergent transitions after warmup. Increasing adapt_delta
## above 0.8 may help. See http://mc-stan.org/misc/warnings.html#divergent-
## transitions-after-warmup
## Family: beta
## Links: mu = logit; phi = identity
## Formula: Prop2 ~ Median_Initial.c100 + Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + logfreq.c + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 || ParticipantName) + (1 + Vocab.c100 + First_Instance + PartTargetProp || Target)
## Data: high_only (Number of observations: 1739)
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
## total post-warmup samples = 10000
##
## Group-Level Effects:
## ~ParticipantName (Number of levels: 52)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept) 0.16 0.07 0.02 0.28 1.00 870
## sd(Median_Initial.c100) 0.32 0.24 0.01 0.92 1.00 5092
## sd(First_Instance) 0.06 0.05 0.00 0.17 1.00 3951
## sd(logfreq.c) 0.07 0.04 0.00 0.17 1.00 2918
## sd(TargetProp) 0.15 0.11 0.01 0.39 1.01 1091
## sd(PartTargetProp) 0.16 0.11 0.01 0.38 1.00 1273
## sd(Duration.c100) 0.03 0.02 0.00 0.07 1.00 5067
## sd(AoA.c100) 1.34 0.99 0.05 3.68 1.00 4001
## Tail_ESS
## sd(Intercept) 1302
## sd(Median_Initial.c100) 4120
## sd(First_Instance) 4283
## sd(logfreq.c) 3859
## sd(TargetProp) 2458
## sd(PartTargetProp) 2948
## sd(Duration.c100) 4621
## sd(AoA.c100) 4392
##
## ~Target (Number of levels: 18)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.05 0.04 0.00 0.15 1.00 4282 4637
## sd(Vocab.c100) 0.10 0.07 0.00 0.25 1.00 2784 4010
## sd(First_Instance) 0.13 0.07 0.01 0.28 1.00 2623 3509
## sd(PartTargetProp) 0.09 0.07 0.00 0.26 1.00 4024 4289
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept -0.96 0.29 -1.53 -0.39 1.00 5462 6841
## Median_Initial.c100 -0.34 0.42 -1.15 0.48 1.00 6502 6460
## Vocab.c100 0.07 0.11 -0.14 0.28 1.00 6869 7263
## First_Instance 0.10 0.06 -0.02 0.23 1.00 9004 6982
## logfreq.c100 3.78 5.15 -6.45 13.85 1.00 6129 5908
## TargetProp 2.53 0.52 1.52 3.56 1.00 5195 6638
## PartTargetProp 1.26 0.19 0.89 1.63 1.00 9843 7332
## Duration.c100 -0.00 0.04 -0.08 0.08 1.00 5436 5376
## AoA.c100 0.21 1.72 -3.29 3.52 1.00 5271 4869
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## phi 2.40 0.08 2.24 2.57 1.00 10547 7182
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
hypothesis(m6, "Median_Initial.c100 < 0")
## Hypothesis Tests for class b:
## Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... < 0 -0.34 0.42 -1 0.34 3.96
## Post.Prob Star
## 1 0.8
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
m7 <- brm(Prop2 ~ Median_Initial.c100 + Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100+ (1 + Median_Initial.c100 +First_Instance + logfreq.c100 + TargetProp + PartTargetProp + Duration.c100+ AoA.c100|| ParticipantName) + (1 + Vocab.c100 +First_Instance + PartTargetProp || Target), family=Beta("logit", "log"),prior=prior(student_t(5,0,2), class=sd), data=low_only, chains=4, file="m7", iter=5000, cores=8, save_all_pars=TRUE)
m7 <- add_criterion(m7, "loo")
## Automatically saving the model object in 'm7.rds'
summary(m7)
## Family: beta
## Links: mu = logit; phi = identity
## Formula: Prop2 ~ Median_Initial.c100 + Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + logfreq.c100 + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 || ParticipantName) + (1 + Vocab.c100 + First_Instance + PartTargetProp || Target)
## Data: low_only (Number of observations: 1662)
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
## total post-warmup samples = 10000
##
## Group-Level Effects:
## ~ParticipantName (Number of levels: 48)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept) 0.19 0.07 0.02 0.31 1.00 962
## sd(Median_Initial.c100) 0.54 0.36 0.02 1.33 1.00 2849
## sd(First_Instance) 0.13 0.08 0.01 0.29 1.00 1999
## sd(logfreq.c100) 1.80 1.59 0.06 5.84 1.00 6868
## sd(TargetProp) 0.16 0.12 0.01 0.42 1.00 1220
## sd(PartTargetProp) 0.15 0.10 0.01 0.39 1.00 1439
## sd(Duration.c100) 0.03 0.02 0.00 0.09 1.00 4274
## sd(AoA.c100) 1.36 1.00 0.05 3.68 1.00 3669
## Tail_ESS
## sd(Intercept) 1355
## sd(Median_Initial.c100) 3828
## sd(First_Instance) 3219
## sd(logfreq.c100) 4367
## sd(TargetProp) 2250
## sd(PartTargetProp) 3016
## sd(Duration.c100) 4345
## sd(AoA.c100) 3763
##
## ~Target (Number of levels: 18)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.10 0.07 0.01 0.25 1.00 2110 3728
## sd(Vocab.c100) 0.03 0.03 0.00 0.10 1.00 4566 4453
## sd(First_Instance) 0.10 0.07 0.01 0.25 1.00 2792 3746
## sd(PartTargetProp) 0.16 0.11 0.01 0.41 1.00 2297 4141
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept -0.75 0.35 -1.47 -0.08 1.00 6117 5121
## Median_Initial.c100 -0.71 0.51 -1.72 0.32 1.00 5633 5483
## Vocab.c100 -0.01 0.05 -0.11 0.09 1.00 6378 6701
## First_Instance -0.10 0.06 -0.22 0.02 1.00 9556 6878
## logfreq.c100 -1.01 6.44 -13.90 11.78 1.00 5317 5750
## TargetProp 2.36 0.63 1.17 3.67 1.00 5881 4742
## PartTargetProp 1.27 0.20 0.88 1.67 1.00 11506 7827
## Duration.c100 0.02 0.05 -0.07 0.12 1.00 4608 4699
## AoA.c100 -2.08 2.14 -6.54 1.90 1.00 4670 5237
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## phi 2.42 0.09 2.26 2.59 1.00 10536 7561
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
tibble(m7_k = m7$criteria$loo$diagnostics$pareto_k) %>%
ggplot(aes(x=m7_k)) +
geom_vline(xintercept=.5, linetype=2) +
stat_dots()
hypothesis(m7, "Median_Initial.c100 < 0")
## Hypothesis Tests for class b:
## Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... < 0 -0.71 0.51 -1.53 0.13 12.19
## Post.Prob Star
## 1 0.92
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.