This script is the set of analyses for the Cog Sci paper.
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.
Frequency for each word:
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%>%
group_by(ParticipantName) %>%
slice(1) %>%
ungroup() %>%
summarise(
median = median(VocabTotal)
)
RT_30mo$VocabSplit <- ifelse(RT_30mo$VocabTotal < 545, yes=0, no =1)
RT_30mo$VocabSplit <- factor(RT_30mo$VocabSplit, labels = c("low", "high"))
LT_30mo$VocabSplit <- ifelse(LT_30mo$VocabTotal < 545, yes=0, no =1)
LT_30mo$VocabSplit <- factor(LT_30mo$VocabSplit,labels = c("low", "high"))
First, analyse looks to target in pre onset window
Get average looks to target for each word prior to word onset.
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 and difficult to interpret)
Prior_looks$Prop2 <- ((Prior_looks$Prop)*(Prior_looks$SamplesTotal-1) + 1/2)/Prior_looks$SamplesTotal
Prior_looks <- mutate(Prior_looks,
Vocab.c100 = (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 2248
## sd(Median_Initial.c100) 0.28 0.20 0.01 0.73 1.00 4140
## sd(AoA.c100) 2.42 1.03 0.24 4.25 1.00 2308
## sd(First_Instance) 0.08 0.04 0.01 0.17 1.00 2324
## sd(TrialNumber.100) 0.78 0.11 0.56 1.00 1.00 4416
## sd(logfreq.c100) 10.53 3.49 1.88 16.47 1.00 1954
## Tail_ESS
## sd(Intercept) 4453
## sd(Median_Initial.c100) 4888
## sd(AoA.c100) 2725
## sd(First_Instance) 3533
## sd(TrialNumber.100) 6259
## sd(logfreq.c100) 1678
##
## ~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 4507 5033
## sd(First_Instance) 0.10 0.06 0.01 0.22 1.00 2973 4675
## sd(Vocab.c100) 0.08 0.03 0.04 0.14 1.00 3544 3621
## sd(TrialNumber.100) 0.82 0.29 0.29 1.46 1.00 3710 3517
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept 0.30 0.12 0.06 0.55 1.00 5475 5592
## Median_Initial.c100 -0.21 1.12 -2.38 2.03 1.00 5644 5490
## Vocab.c100 0.00 0.03 -0.05 0.06 1.00 8401 7562
## AoA.c100 0.63 3.93 -7.07 8.52 1.00 6130 5969
## First_Instance -0.09 0.05 -0.20 0.02 1.00 13842 7965
## TrialNumber.100 0.21 0.31 -0.40 0.84 1.00 8751 7324
## logfreq.c100 -1.19 14.07 -29.34 26.62 1.00 4950 5050
##
## 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.01 1.00 10210 7399
##
## 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.
hypothesis(mpo_baseline, "First_Instance < 0")
## Hypothesis Tests for class b:
## Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (First_Instance) < 0 -0.09 0.05 -0.18 0 18.46
## Post.Prob Star
## 1 0.95
## ---
## '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.
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 2367
## sd(Median_Initial.c100) 0.28 0.20 0.01 0.73 1.00 4810
## sd(AoA.c100) 2.28 1.03 0.21 4.18 1.00 2334
## sd(First_Instance) 0.09 0.04 0.01 0.17 1.00 2385
## sd(TrialNumber.100) 0.77 0.12 0.55 1.01 1.00 3674
## sd(logfreq.c100) 10.18 3.93 0.89 16.57 1.00 1530
## Tail_ESS
## sd(Intercept) 3568
## sd(Median_Initial.c100) 5194
## sd(AoA.c100) 2986
## sd(First_Instance) 4196
## sd(TrialNumber.100) 5044
## sd(logfreq.c100) 1715
##
## ~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 5182 5967
## sd(First_Instance) 0.10 0.06 0.01 0.22 1.00 2968 5551
## sd(Vocab.c100) 0.08 0.03 0.04 0.14 1.00 3804 5094
## sd(TrialNumber.100) 0.81 0.29 0.28 1.42 1.00 4276 4148
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat
## Intercept 0.30 0.12 0.06 0.55 1.00
## Median_Initial.c100 -0.20 1.08 -2.35 1.93 1.00
## Vocab.c100 0.00 0.03 -0.05 0.06 1.00
## AoA.c100 0.69 3.84 -6.95 8.21 1.00
## First_Instance -0.09 0.05 -0.19 0.02 1.00
## TrialNumber.100 0.21 0.31 -0.40 0.84 1.00
## logfreq.c100 -1.28 13.76 -28.66 26.00 1.00
## Median_Initial.c100:Vocab.c100 -0.07 0.25 -0.56 0.43 1.00
## Bulk_ESS Tail_ESS
## Intercept 6209 7228
## Median_Initial.c100 7086 6675
## Vocab.c100 8804 6458
## AoA.c100 7516 6589
## First_Instance 14467 7801
## TrialNumber.100 10396 7534
## logfreq.c100 7516 6413
## Median_Initial.c100:Vocab.c100 9853 7400
##
## 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.01 1.00 8665 6800
##
## 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
)
mean(RT_30mo$VocabTotal)
## [1] 524.9899
sd(RT_30mo$VocabTotal)
## [1] 109.8289
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(3,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 928
## sd(Median_Initial.c100) 0.99 0.31 0.27 1.57 1.00 2425
## sd(First_Instance) 0.10 0.06 0.01 0.21 1.00 2830
## sd(TargetProp) 0.14 0.09 0.01 0.34 1.00 1429
## sd(Duration.c100) 0.04 0.03 0.00 0.09 1.00 3094
## sd(PartTargetProp) 0.22 0.11 0.02 0.43 1.00 1045
## sd(logfreq.c100) 2.48 2.37 0.06 9.01 1.00 5606
## sd(AoA.c100) 1.69 1.03 0.09 3.81 1.00 2763
## Tail_ESS
## sd(Intercept) 3518
## sd(Median_Initial.c100) 2489
## sd(First_Instance) 4666
## sd(TargetProp) 3064
## sd(Duration.c100) 5270
## sd(PartTargetProp) 3516
## sd(logfreq.c100) 5577
## sd(AoA.c100) 4542
##
## ~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 4018 5943
## sd(Vocab.c100) 0.03 0.02 0.00 0.08 1.00 4812 6493
## sd(First_Instance) 0.09 0.05 0.01 0.20 1.00 3294 5250
## sd(PartTargetProp) 0.14 0.09 0.01 0.33 1.00 3509 4933
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept 6.30 0.23 5.83 6.77 1.00 10275 7536
## Median_Initial.c100 0.51 0.36 -0.20 1.22 1.00 11136 7109
## Vocab.c100 -0.08 0.03 -0.13 -0.02 1.00 10266 7057
## First_Instance -0.01 0.04 -0.10 0.08 1.00 14296 7948
## PartTargetProp -0.19 0.15 -0.49 0.10 1.00 17355 7885
## TargetProp -0.86 0.44 -1.75 0.00 1.00 10564 7438
## logfreq.c100 3.64 4.30 -4.57 12.53 1.00 10761 7101
## AoA.c100 1.36 1.44 -1.39 4.40 1.00 9956 6506
## Duration.c100 0.01 0.03 -0.06 0.07 1.00 8757 6071
##
## 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 9441 7404
## ndt 142.94 9.89 122.02 160.59 1.00 12678 7676
##
## 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.11 12.21
## 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.
RT_30mo%>%
mutate(
m0_k = m0$criteria$loo$diagnostics$pareto_k
) %>%
filter(m0_k >= .70)
On some prior runs, I had large Pareto k’s, so I removed them and refit. I saved this code in case it needs to be used in the future. #{r} #m0b <- RT_30mo%>% # mutate( # m0_k = m0$criteria$loo$diagnostics$pareto_k # ) %>% # filter(m0_k < .70) %>% # 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(3,0,2), class=sd), chains=4, iter=5000, cores=8, save_all_pars=TRUE) #
#{r} #summary(m0b) #3 #hypothesis(m0b, "Median_Initial.c100 > 0") #
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(3,0,2), class=sd), chains=4, iter=5000, cores=8, save_all_pars=TRUE)
m1 <- add_criterion(m1, "loo")
summary(m1)
## 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: 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.01 1157
## sd(Median_Initial.c100) 0.99 0.31 0.28 1.56 1.00 2565
## sd(First_Instance) 0.10 0.05 0.01 0.20 1.00 2733
## sd(TargetProp) 0.14 0.09 0.01 0.34 1.01 1424
## sd(Duration.c100) 0.04 0.03 0.00 0.10 1.00 2960
## sd(PartTargetProp) 0.22 0.11 0.01 0.43 1.00 1242
## sd(logfreq.c100) 2.55 2.38 0.08 8.99 1.00 4749
## sd(AoA.c100) 1.75 1.05 0.10 3.87 1.00 2517
## Tail_ESS
## sd(Intercept) 3076
## sd(Median_Initial.c100) 2770
## sd(First_Instance) 4623
## sd(TargetProp) 2542
## sd(Duration.c100) 5222
## sd(PartTargetProp) 3017
## sd(logfreq.c100) 5163
## sd(AoA.c100) 4716
##
## ~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 3667 5562
## sd(Vocab.c100) 0.03 0.02 0.00 0.08 1.00 5153 6441
## sd(First_Instance) 0.09 0.05 0.01 0.20 1.00 3129 4908
## sd(PartTargetProp) 0.14 0.09 0.01 0.33 1.00 3055 5688
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat
## Intercept 6.30 0.23 5.85 6.76 1.00
## Median_Initial.c100 0.56 0.37 -0.15 1.28 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.59 4.18 -4.52 12.17 1.00
## TargetProp -0.86 0.44 -1.74 -0.01 1.00
## PartTargetProp -0.20 0.15 -0.50 0.10 1.00
## AoA.c100 1.36 1.43 -1.33 4.39 1.00
## Duration.c100 0.01 0.03 -0.06 0.07 1.00
## Median_Initial.c100:Vocab.c100 0.36 0.20 -0.05 0.76 1.00
## Bulk_ESS Tail_ESS
## Intercept 11353 7180
## Median_Initial.c100 10616 7240
## Vocab.c100 9979 6893
## First_Instance 13578 6915
## logfreq.c100 11016 7427
## TargetProp 11848 7187
## PartTargetProp 16829 7872
## AoA.c100 9808 5977
## Duration.c100 9081 6405
## Median_Initial.c100:Vocab.c100 13301 7651
##
## 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 8851 7605
## ndt 143.51 10.03 121.76 161.36 1.00 11309 7151
##
## 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.2 0.02 0.7 23.69
## 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.56 0.37 -0.03 1.15 16.42
## 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. #{r} #RT_30mo%>% # mutate( # m1_k = m1$criteria$loo$diagnostics$pareto_k # ) %>% # filter(m1_k >= .70) #
I have noticed that in some runs, this model has trouble – producing large R hat statistics, small effective sample sizes and Pareto’s Ks of 8 or so. It usually runs fine however and produces output similar to what is discussed in the paper. #{r} #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(3,0,2), class=sd), chains=4, iter=5000, cores=8, save_all_pars=TRUE) #
#{r} #$summary(m1b) #
#{r} #hypothesis(m1b, "Median_Initial.c100:Vocab.c100 > 0") #hypothesis(m1b, "Median_Initial.c100 > 0") #
#{r} #m1b <- add_criterion(m1b, "loo") #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.
p <- 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))
ggsave(
filename = "plot1.tiff",
plot = p,
width=5.5,
height=2.5,
units="in",
device="tiff",
dpi=600
)
## Warning: Removed 82 rows containing missing values (geom_point).
p2 <- plot(marginal_effects(m1, "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))
p.2 <- p2a + p2b + plot_layout(guides = "collect")
ggsave(
filename = "plot2.tiff",
plot = p.2,
width=6.2,
height=2.5,
units="in",
device="tiff",
dpi=600
)
## Warning: Removed 82 rows containing missing values (geom_point).
m1 %>%
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()
hypothesis(
m1, "Median_Initial.c100 - 1.28839*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.43 -0.6 0.8 1.5
## Post.Prob Star
## 1 0.6
## ---
## '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.1901011*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.5 0.36 -0.1 1.08 11.66
## 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(
m1, "Median_Initial.c100 +0.9081879*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.89 0.43 0.2 1.59 50.55
## Post.Prob Star
## 1 0.98 *
## ---
## '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.
544 - 1.28839*100
## [1] 415.161
544 - 0.190101*100
## [1] 524.9899
544 + 0.9081879*100
## [1] 634.8188
remove(m1)
remove(m1b)
## Warning in remove(m1b): object 'm1b' not found
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")
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: 601)
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
## total post-warmup samples = 10000
##
## Group-Level Effects:
## ~ParticipantName (Number of levels: 51)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept) 0.11 0.07 0.01 0.25 1.00 1613
## sd(Median_Initial.c100) 0.89 0.45 0.07 1.77 1.00 2348
## sd(First_Instance) 0.09 0.06 0.00 0.23 1.00 3355
## sd(logfreq.c100) 6.25 5.56 0.18 19.34 1.00 2330
## sd(PartTargetProp) 0.22 0.13 0.01 0.49 1.00 1716
## sd(TargetProp) 0.18 0.12 0.01 0.43 1.00 1838
## sd(Duration.c100) 0.09 0.04 0.01 0.16 1.00 2206
## sd(AoA.c100) 2.07 1.35 0.10 5.00 1.00 2913
## Tail_ESS
## sd(Intercept) 3998
## sd(Median_Initial.c100) 3996
## sd(First_Instance) 4970
## sd(logfreq.c100) 4202
## sd(PartTargetProp) 3850
## sd(TargetProp) 3621
## sd(Duration.c100) 2621
## sd(AoA.c100) 4508
##
## ~Target (Number of levels: 18)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.07 0.06 0.00 0.22 1.00 3417 4379
## sd(First_Instance) 0.12 0.08 0.01 0.29 1.00 3172 4909
## sd(Vocab.c100) 0.08 0.06 0.00 0.22 1.00 5189 5949
## sd(PartTargetProp) 0.16 0.12 0.01 0.44 1.00 3489 5250
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept 6.36 0.32 5.73 7.02 1.00 8290 6418
## Median_Initial.c100 0.76 0.51 -0.25 1.77 1.00 6612 6933
## First_Instance -0.07 0.07 -0.20 0.06 1.00 10517 7555
## logfreq.c100 2.52 6.18 -9.77 14.73 1.00 6515 5010
## TargetProp -1.42 0.61 -2.67 -0.23 1.00 7141 6192
## PartTargetProp 0.03 0.23 -0.42 0.48 1.00 10578 7043
## Duration.c100 -0.01 0.05 -0.11 0.09 1.00 5957 5295
## Vocab.c100 0.06 0.10 -0.15 0.26 1.00 10300 7531
## AoA.c100 1.42 2.05 -2.41 5.76 1.00 6140 5797
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma 0.63 0.04 0.56 0.71 1.00 6195 6251
## ndt 156.60 10.95 132.39 175.07 1.00 7604 6733
##
## 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.76 0.51 -0.07 1.6 14.38
## 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: 600)
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
## total post-warmup samples = 10000
##
## Group-Level Effects:
## ~ParticipantName (Number of levels: 51)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept) 0.12 0.07 0.00 0.25 1.00 1158
## sd(Median_Initial.c100) 0.87 0.45 0.06 1.76 1.00 1963
## sd(First_Instance) 0.09 0.06 0.00 0.22 1.00 2801
## sd(TargetProp) 0.19 0.12 0.01 0.44 1.00 1356
## sd(PartTargetProp) 0.22 0.13 0.01 0.48 1.00 1360
## sd(Duration.c100) 0.09 0.04 0.01 0.17 1.01 1577
## sd(logfreq.c100) 5.26 5.42 0.13 18.98 1.00 1622
## sd(AoA.c100) 1.92 1.30 0.10 4.77 1.00 2334
## Tail_ESS
## sd(Intercept) 2035
## sd(Median_Initial.c100) 2509
## sd(First_Instance) 3668
## sd(TargetProp) 3093
## sd(PartTargetProp) 3315
## sd(Duration.c100) 1925
## sd(logfreq.c100) 3113
## sd(AoA.c100) 3754
##
## ~Target (Number of levels: 18)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.07 0.06 0.00 0.20 1.00 2812 4290
## sd(Vocab.c100) 0.07 0.05 0.00 0.20 1.00 4178 4601
## sd(First_Instance) 0.13 0.08 0.01 0.31 1.00 2482 3643
## sd(PartTargetProp) 0.15 0.11 0.01 0.42 1.00 2418 4096
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept 6.36 0.32 5.74 7.01 1.00 5446 5627
## Median_Initial.c100 0.79 0.50 -0.22 1.77 1.00 4540 5613
## Vocab.c100 0.07 0.11 -0.14 0.28 1.00 6803 7056
## First_Instance -0.06 0.07 -0.20 0.07 1.00 5296 5834
## logfreq.c100 2.68 6.04 -9.06 15.16 1.00 3868 4403
## TargetProp -1.43 0.61 -2.69 -0.27 1.00 4855 5360
## PartTargetProp 0.04 0.23 -0.40 0.49 1.00 7252 6585
## Duration.c100 -0.00 0.05 -0.11 0.09 1.00 3713 4176
## AoA.c100 1.40 1.97 -2.31 5.47 1.00 3927 4114
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma 0.63 0.04 0.55 0.71 1.00 3744 4741
## ndt 156.57 11.25 131.48 175.34 1.00 4572 5064
##
## 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.79 0.5 -0.03 1.6 16.57
## 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=5000, file="m3", cores=8,prior=prior(student_t(3,0,2)), save_all_pars=TRUE)
m3 <- add_criterion(m3, "loo")
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: 586)
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
## total post-warmup samples = 10000
##
## Group-Level Effects:
## ~ParticipantName (Number of levels: 49)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept) 0.10 0.06 0.01 0.22 1.01 1144
## sd(Median_Initial.c100) 0.99 0.43 0.11 1.81 1.00 1425
## sd(First_Instance) 0.11 0.07 0.01 0.25 1.00 2148
## sd(logfreq.c100) 2.08 1.77 0.08 6.65 1.00 6965
## sd(Duration.c100) 0.03 0.02 0.00 0.08 1.00 4456
## sd(PartTargetProp) 0.23 0.12 0.01 0.46 1.00 1276
## sd(TargetProp) 0.14 0.10 0.01 0.36 1.00 1684
## sd(AoA.c100) 1.71 1.17 0.07 4.30 1.00 2731
## Tail_ESS
## sd(Intercept) 2750
## sd(Median_Initial.c100) 1338
## sd(First_Instance) 3320
## sd(logfreq.c100) 5159
## sd(Duration.c100) 3961
## sd(PartTargetProp) 2497
## sd(TargetProp) 3090
## sd(AoA.c100) 3569
##
## ~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.16 1.00 3619 4794
## sd(First_Instance) 0.07 0.05 0.00 0.18 1.00 4653 5683
## sd(Vocab.c100) 0.03 0.03 0.00 0.09 1.00 4009 4043
## sd(PartTargetProp) 0.12 0.09 0.01 0.33 1.00 2784 3921
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept 6.07 0.26 5.54 6.58 1.00 6765 6900
## Median_Initial.c100 0.15 0.40 -0.65 0.95 1.00 6861 6212
## First_Instance 0.06 0.06 -0.06 0.17 1.00 9362 7578
## logfreq.c100 0.64 2.26 -3.56 5.55 1.00 10402 6083
## Vocab.c100 -0.07 0.04 -0.16 0.01 1.00 5906 6652
## PartTargetProp -0.46 0.21 -0.87 -0.06 1.00 9053 7348
## TargetProp -0.17 0.48 -1.12 0.78 1.00 6591 6816
## Duration.c100 0.04 0.03 -0.03 0.11 1.00 5995 6656
## AoA.c100 0.47 1.20 -1.87 2.90 1.00 7406 6550
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma 0.58 0.04 0.51 0.65 1.00 5340 6194
## ndt 140.74 15.19 107.03 166.34 1.00 5139 5303
##
## 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.15 0.4 -0.51 0.8 1.83
## Post.Prob Star
## 1 0.65
## ---
## '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=5000, 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: 586)
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
## total post-warmup samples = 10000
##
## Group-Level Effects:
## ~ParticipantName (Number of levels: 49)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept) 0.11 0.06 0.01 0.23 1.01 1303
## sd(Median_Initial.c100) 0.99 0.43 0.09 1.80 1.00 1640
## sd(First_Instance) 0.11 0.07 0.01 0.25 1.00 1689
## sd(TargetProp) 0.14 0.10 0.01 0.36 1.00 1629
## sd(PartTargetProp) 0.22 0.12 0.01 0.47 1.00 1288
## sd(Duration.c100) 0.03 0.02 0.00 0.08 1.00 3823
## sd(logfreq.c100) 1.73 1.52 0.06 5.73 1.00 6921
## sd(AoA.c100) 1.53 1.09 0.08 4.06 1.00 3102
## Tail_ESS
## sd(Intercept) 2889
## sd(Median_Initial.c100) 1582
## sd(First_Instance) 2946
## sd(TargetProp) 3387
## sd(PartTargetProp) 2557
## sd(Duration.c100) 3780
## sd(logfreq.c100) 4602
## sd(AoA.c100) 4344
##
## ~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.18 1.00 2874 3905
## sd(Vocab.c100) 0.03 0.03 0.00 0.10 1.00 3353 4308
## sd(First_Instance) 0.07 0.05 0.00 0.19 1.00 3730 4432
## sd(PartTargetProp) 0.14 0.10 0.01 0.36 1.00 2754 3864
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept 6.09 0.28 5.54 6.64 1.00 6103 5734
## Median_Initial.c100 0.19 0.43 -0.66 1.06 1.00 5219 5867
## Vocab.c100 -0.07 0.04 -0.16 0.01 1.00 5458 6468
## First_Instance 0.06 0.06 -0.06 0.17 1.00 7588 7020
## logfreq.c100 3.25 4.98 -6.63 13.25 1.00 5497 6033
## TargetProp -0.23 0.53 -1.27 0.80 1.00 5881 6314
## PartTargetProp -0.47 0.21 -0.88 -0.06 1.00 8487 7875
## Duration.c100 0.03 0.04 -0.05 0.11 1.00 4768 5046
## AoA.c100 1.11 1.72 -2.19 4.62 1.00 4396 4827
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma 0.58 0.04 0.51 0.65 1.00 4582 6421
## ndt 141.91 14.63 109.80 166.90 1.00 4448 5445
##
## 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(3,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")
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.3 76.1
## p_loo 96.9 3.0
## looic -5090.6 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)
## 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.05 0.08 0.27 1.00 1016
## sd(Median_Initial.c100) 0.30 0.22 0.01 0.82 1.00 3829
## sd(TargetProp) 0.11 0.08 0.00 0.31 1.00 913
## sd(PartTargetProp) 0.11 0.08 0.00 0.29 1.00 1151
## sd(logfreq.c100) 1.83 1.63 0.07 6.19 1.00 5290
## sd(Duration.c100) 0.02 0.01 0.00 0.06 1.00 5504
## sd(First_Instance) 0.07 0.05 0.00 0.17 1.00 2445
## sd(AoA.c100) 1.11 0.79 0.05 2.91 1.00 3570
## Tail_ESS
## sd(Intercept) 731
## sd(Median_Initial.c100) 4831
## sd(TargetProp) 905
## sd(PartTargetProp) 1975
## sd(logfreq.c100) 4960
## sd(Duration.c100) 4782
## sd(First_Instance) 4191
## sd(AoA.c100) 4790
##
## ~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 1897 2746
## sd(First_Instance) 0.11 0.06 0.01 0.23 1.00 2702 2501
## sd(Vocab.c100) 0.02 0.02 0.00 0.06 1.00 5952 5081
## sd(PartTargetProp) 0.13 0.08 0.01 0.32 1.00 2567 4256
##
## 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 6242 5671
## Median_Initial.c100 -0.55 0.38 -1.28 0.23 1.00 5708 5286
## Vocab.c100 0.01 0.03 -0.04 0.07 1.00 7456 6955
## logfreq.c100 0.86 4.84 -9.21 9.85 1.00 5662 4811
## First_Instance 0.00 0.05 -0.09 0.10 1.00 8224 7322
## TargetProp 2.45 0.47 1.54 3.43 1.00 6203 5477
## PartTargetProp 1.29 0.14 1.02 1.56 1.00 10997 7319
## Duration.c100 0.01 0.04 -0.05 0.09 1.00 5162 4422
## AoA.c100 -1.28 1.65 -4.80 1.72 1.00 4527 3889
##
## 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 11391 7354
##
## 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)
p.3 <- 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)
ggsave(
filename = "plot3.tiff",
plot = p.3,
width=6.2,
height=2.5,
units="in",
device="tiff",
dpi=600
)
## 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.08 13.16
## 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(student_t(3,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")
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)
## 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 + 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.09 0.27 1.00 732
## sd(Median_Initial.c100) 0.30 0.22 0.01 0.81 1.00 3286
## sd(First_Instance) 0.07 0.05 0.00 0.18 1.00 1690
## sd(TargetProp) 0.11 0.08 0.00 0.32 1.00 799
## sd(logfreq.c100) 1.84 1.63 0.06 6.08 1.00 4982
## sd(PartTargetProp) 0.11 0.08 0.00 0.29 1.00 1143
## sd(Duration.c100) 0.02 0.02 0.00 0.06 1.00 4681
## sd(AoA.c100) 1.10 0.81 0.05 3.00 1.00 2661
## Tail_ESS
## sd(Intercept) 469
## sd(Median_Initial.c100) 4385
## sd(First_Instance) 3413
## sd(TargetProp) 591
## sd(logfreq.c100) 4005
## sd(PartTargetProp) 1964
## sd(Duration.c100) 4287
## sd(AoA.c100) 3824
##
## ~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 1967 3581
## sd(Vocab.c100) 0.02 0.02 0.00 0.06 1.00 5277 4174
## sd(First_Instance) 0.11 0.06 0.01 0.23 1.00 2031 1730
## sd(PartTargetProp) 0.13 0.08 0.01 0.32 1.00 2304 4225
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat
## Intercept -0.85 0.26 -1.40 -0.34 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.89 4.89 -9.11 10.57 1.00
## TargetProp 2.45 0.48 1.53 3.44 1.00
## PartTargetProp 1.29 0.14 1.02 1.56 1.00
## Duration.c100 0.01 0.04 -0.06 0.09 1.00
## AoA.c100 -1.29 1.60 -4.63 1.72 1.00
## Median_Initial.c100:Vocab.c100 0.11 0.18 -0.24 0.46 1.00
## Bulk_ESS Tail_ESS
## Intercept 4721 4436
## Median_Initial.c100 5078 5193
## Vocab.c100 5008 7279
## First_Instance 6747 7008
## logfreq.c100 4643 4850
## TargetProp 4559 4667
## PartTargetProp 8623 7225
## Duration.c100 4226 4190
## AoA.c100 4104 4372
## Median_Initial.c100:Vocab.c100 9458 6862
##
## 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.50 1.00 8497 7200
##
## 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.19 0.41 2.87
## 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.14 0.09 12.14
## 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, prior = prior(student_t(3,0,2)), file="m6", chains=4, cores=8, save_all_pars=TRUE)
m6 <- add_criterion(m6, "loo")
summary(m6)
## 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 1166
## sd(Median_Initial.c100) 0.33 0.25 0.01 0.92 1.00 4659
## sd(First_Instance) 0.06 0.05 0.00 0.17 1.00 4026
## sd(logfreq.c) 0.07 0.04 0.00 0.16 1.00 2717
## sd(TargetProp) 0.15 0.10 0.01 0.38 1.00 1573
## sd(PartTargetProp) 0.16 0.11 0.01 0.39 1.00 1368
## sd(Duration.c100) 0.03 0.02 0.00 0.07 1.00 4746
## sd(AoA.c100) 1.35 1.00 0.05 3.69 1.00 3372
## Tail_ESS
## sd(Intercept) 1928
## sd(Median_Initial.c100) 4294
## sd(First_Instance) 3726
## sd(logfreq.c) 3723
## sd(TargetProp) 2681
## sd(PartTargetProp) 3679
## sd(Duration.c100) 3192
## sd(AoA.c100) 3583
##
## ~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.14 1.00 4363 4382
## sd(Vocab.c100) 0.09 0.06 0.00 0.23 1.00 2941 3936
## sd(First_Instance) 0.12 0.07 0.01 0.28 1.00 2374 3132
## sd(PartTargetProp) 0.08 0.07 0.00 0.25 1.00 3980 3840
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept -0.90 0.28 -1.46 -0.35 1.00 7323 6680
## Median_Initial.c100 -0.38 0.39 -1.14 0.40 1.00 7547 7035
## Vocab.c100 0.07 0.10 -0.13 0.27 1.00 7884 7226
## First_Instance 0.10 0.06 -0.02 0.23 1.00 9011 7307
## logfreq.c100 0.78 2.27 -3.56 5.74 1.00 10607 5747
## TargetProp 2.43 0.50 1.44 3.45 1.00 6949 6826
## PartTargetProp 1.27 0.18 0.91 1.63 1.00 11857 8578
## Duration.c100 -0.00 0.04 -0.07 0.07 1.00 7346 7226
## AoA.c100 -0.11 1.25 -2.65 2.40 1.00 8460 6846
##
## 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.56 1.00 10067 7867
##
## 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)
## 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 1166
## sd(Median_Initial.c100) 0.33 0.25 0.01 0.92 1.00 4659
## sd(First_Instance) 0.06 0.05 0.00 0.17 1.00 4026
## sd(logfreq.c) 0.07 0.04 0.00 0.16 1.00 2717
## sd(TargetProp) 0.15 0.10 0.01 0.38 1.00 1573
## sd(PartTargetProp) 0.16 0.11 0.01 0.39 1.00 1368
## sd(Duration.c100) 0.03 0.02 0.00 0.07 1.00 4746
## sd(AoA.c100) 1.35 1.00 0.05 3.69 1.00 3372
## Tail_ESS
## sd(Intercept) 1928
## sd(Median_Initial.c100) 4294
## sd(First_Instance) 3726
## sd(logfreq.c) 3723
## sd(TargetProp) 2681
## sd(PartTargetProp) 3679
## sd(Duration.c100) 3192
## sd(AoA.c100) 3583
##
## ~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.14 1.00 4363 4382
## sd(Vocab.c100) 0.09 0.06 0.00 0.23 1.00 2941 3936
## sd(First_Instance) 0.12 0.07 0.01 0.28 1.00 2374 3132
## sd(PartTargetProp) 0.08 0.07 0.00 0.25 1.00 3980 3840
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept -0.90 0.28 -1.46 -0.35 1.00 7323 6680
## Median_Initial.c100 -0.38 0.39 -1.14 0.40 1.00 7547 7035
## Vocab.c100 0.07 0.10 -0.13 0.27 1.00 7884 7226
## First_Instance 0.10 0.06 -0.02 0.23 1.00 9011 7307
## logfreq.c100 0.78 2.27 -3.56 5.74 1.00 10607 5747
## TargetProp 2.43 0.50 1.44 3.45 1.00 6949 6826
## PartTargetProp 1.27 0.18 0.91 1.63 1.00 11857 8578
## Duration.c100 -0.00 0.04 -0.07 0.07 1.00 7346 7226
## AoA.c100 -0.11 1.25 -2.65 2.40 1.00 8460 6846
##
## 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.56 1.00 10067 7867
##
## 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.38 0.39 -1.02 0.27 5.41
## Post.Prob Star
## 1 0.84
## ---
## '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(3,0,2), class=sd), data=low_only, chains=4, file="m7", iter=5000, cores=8, save_all_pars=TRUE)
m7 <- add_criterion(m7, "loo")
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.32 1.00 1019
## sd(Median_Initial.c100) 0.54 0.36 0.02 1.33 1.00 3335
## sd(First_Instance) 0.13 0.08 0.01 0.29 1.00 1973
## sd(logfreq.c100) 1.90 1.72 0.07 6.46 1.00 7277
## sd(TargetProp) 0.16 0.11 0.01 0.42 1.00 1319
## sd(PartTargetProp) 0.15 0.11 0.01 0.39 1.00 1394
## sd(Duration.c100) 0.03 0.02 0.00 0.09 1.00 4142
## sd(AoA.c100) 1.35 1.01 0.06 3.73 1.00 3715
## Tail_ESS
## sd(Intercept) 1323
## sd(Median_Initial.c100) 4253
## sd(First_Instance) 3099
## sd(logfreq.c100) 5298
## sd(TargetProp) 2088
## sd(PartTargetProp) 2604
## sd(Duration.c100) 3870
## sd(AoA.c100) 4314
##
## ~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 2099 3992
## sd(Vocab.c100) 0.04 0.03 0.00 0.10 1.00 4229 4737
## sd(First_Instance) 0.10 0.07 0.01 0.25 1.00 2895 3781
## sd(PartTargetProp) 0.16 0.11 0.01 0.41 1.00 2320 3749
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept -0.74 0.34 -1.44 -0.10 1.00 5913 5189
## Median_Initial.c100 -0.73 0.51 -1.74 0.31 1.00 6029 5936
## Vocab.c100 -0.01 0.05 -0.10 0.09 1.00 6491 7331
## First_Instance -0.10 0.06 -0.23 0.03 1.00 8641 6695
## logfreq.c100 -1.17 6.36 -14.32 11.01 1.00 5360 6215
## TargetProp 2.35 0.63 1.17 3.64 1.00 5754 4767
## PartTargetProp 1.27 0.20 0.87 1.66 1.00 11084 6909
## Duration.c100 0.02 0.05 -0.07 0.12 1.00 4751 4610
## AoA.c100 -2.11 2.17 -6.59 1.98 1.00 4986 5166
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## phi 2.42 0.08 2.26 2.60 1.00 10028 7697
##
## 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.73 0.51 -1.55 0.11 12.95
## 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.