Setup

library(tidyverse)
library(here)
library(lubridate)
library(ggthemes)
library(langcog)
library(mirt)
library(knitr)
pilot_data_filtered <- read_csv(file = here::here('data/preprocessed_data/all_preprocessed_data.csv'))

Get item info for later

item_info_clip <- pilot_data_filtered %>%
  filter(cohort == 'prolific') %>%
  distinct(item_pair, wordPairing) %>%
  rename(wordPairingClip = wordPairing)

Look at some descriptives by rocketship cohort

school_filtered_kids <- pilot_data_filtered %>%
  filter(cohort=='school') %>%
  group_by(pid) %>%
  summarize(kid_prop_correct = mean(correct))

school_filtered_items <- pilot_data_filtered %>%
  filter(cohort=='school') %>%
  group_by(item_pair) %>%
  summarize(item_prop_correct = mean(correct), num_responses=length(unique(pid)))
hist(school_filtered_kids$kid_prop_correct)

hist(school_filtered_items$item_prop_correct)

## Items that are below chance?

school_filtered_items %>% filter(item_prop_correct<.5) %>%
  arrange(item_prop_correct) %>%
  kable()
item_pair item_prop_correct num_responses
colony_herd 0.2500000 135
savor_numb 0.2605634 142
precarious_taiqi 0.2658228 158
mulch_compost 0.2688679 211
precarious_cheerful 0.2785714 137
facade_interior 0.2820513 154
convoy_orchestra 0.2867647 136
urban_rural 0.3101266 158
colony_pack 0.3120567 140
logistics_fencer 0.3196721 122
urban_maritime 0.3287671 146
bobsled_sidecar 0.3333333 222
percussion_music stand 0.3680000 124
timid_interested 0.3716216 148
urban_village 0.3770492 120
savor_toothbrushing 0.4068966 145
triad_duo 0.4102564 156
bust_buddha statue 0.4148148 135
candlestick_candle 0.4178404 212
intersection_monastery 0.4202899 137
bust_monument 0.4214286 139
habit_chasuble 0.4222222 135
savor_to smell 0.4244604 137
precarious_to read aloud 0.4313725 150
tumble_chisel 0.4316547 137
pitcher_tumbleweed 0.4375000 208
skimmer_strainer 0.4452055 145
metronome_voltmeter 0.4468085 140
facade_fog 0.4645669 127
intersection_level 0.4696970 132
skimmer_pasta spoon 0.4705882 152
aversion_dull 0.4841270 124
freezer_cooler 0.4864865 221
tourniquet_weather vane 0.4887218 133
bust_statue 0.4892086 139
timid_pensive 0.4896552 145
triad_myriad 0.4916667 120
tuxedo_suit 0.4916667 237
grate_crate 0.4973545 189
thermos_oilcan 0.4978166 228
pilot_data_filtered <- pilot_data_filtered %>%
  filter(cohort=='school')

Get item resposnes for rocketship only

Compute pc, # responses

items_all_responses <- pilot_data_filtered %>%
  group_by(item_pair) %>%
  summarize(num_responses = length(correct), pc = mean(correct))  

For kids with subset of items

Don’t have to eliminate any items to analyze rocketship data. Every item is below ceiling.

d_wide_kid<- pilot_data_filtered %>%
  ungroup() %>%
  select(sub_id, item_pair, correct) %>%
  arrange(item_pair) %>%
  ungroup() %>%
  pivot_wider(names_from=item_pair, values_from=correct, values_fn = ~mean(.x)) %>%
  ungroup()

d_mat_kid <- d_wide_kid %>%
  select(-sub_id) %>%
  data.frame %>%
  data.matrix 

rownames(d_mat_kid) <- d_wide_kid$sub_id

Fit a 2PL model with some priors

start.dim = length(colnames(d_wide_kid))-1
mm = (
  'F = 1-%d,
PRIOR = (1-%d, a1, norm, .2, 1),
PRIOR = (1-%d, d, norm, 0, 2)'
)
mm = mirt.model(sprintf(mm,start.dim,start.dim,start.dim))

mod_2pl_priors_kid <- mirt::mirt(d_mat_kid, mm, itemtype='2PL', guess=.5,  upper=1, verbose=TRUE)
## 
Iteration: 1, Log-Lik: -38726.907, Max-Change: 8.42844
Iteration: 2, Log-Lik: -30825.301, Max-Change: 4.00785
Iteration: 3, Log-Lik: -30372.271, Max-Change: 0.38528
Iteration: 4, Log-Lik: -30326.296, Max-Change: 0.22865
Iteration: 5, Log-Lik: -30316.713, Max-Change: 0.14023
Iteration: 6, Log-Lik: -30314.417, Max-Change: 0.08702
Iteration: 7, Log-Lik: -30313.804, Max-Change: 0.04943
Iteration: 8, Log-Lik: -30313.628, Max-Change: 0.04554
Iteration: 9, Log-Lik: -30313.566, Max-Change: 0.04211
Iteration: 10, Log-Lik: -30313.536, Max-Change: 0.00956
Iteration: 11, Log-Lik: -30313.532, Max-Change: 0.00361
Iteration: 12, Log-Lik: -30313.531, Max-Change: 0.00111
Iteration: 13, Log-Lik: -30313.530, Max-Change: 0.00099
Iteration: 14, Log-Lik: -30313.530, Max-Change: 0.00080
Iteration: 15, Log-Lik: -30313.530, Max-Change: 0.00349
Iteration: 16, Log-Lik: -30313.530, Max-Change: 0.00327
Iteration: 17, Log-Lik: -30313.529, Max-Change: 0.00059
Iteration: 18, Log-Lik: -30313.529, Max-Change: 0.00243
Iteration: 19, Log-Lik: -30313.529, Max-Change: 0.00052
Iteration: 20, Log-Lik: -30313.529, Max-Change: 0.00200
Iteration: 21, Log-Lik: -30313.529, Max-Change: 0.00037
Iteration: 22, Log-Lik: -30313.529, Max-Change: 0.00035
Iteration: 23, Log-Lik: -30313.529, Max-Change: 0.00146
Iteration: 24, Log-Lik: -30313.529, Max-Change: 0.00025
Iteration: 25, Log-Lik: -30313.529, Max-Change: 0.00024
Iteration: 26, Log-Lik: -30313.529, Max-Change: 0.00101
Iteration: 27, Log-Lik: -30313.529, Max-Change: 0.00019
Iteration: 28, Log-Lik: -30313.529, Max-Change: 0.00018
Iteration: 29, Log-Lik: -30313.529, Max-Change: 0.00080
Iteration: 30, Log-Lik: -30313.529, Max-Change: 0.00013
Iteration: 31, Log-Lik: -30313.529, Max-Change: 0.00013
Iteration: 32, Log-Lik: -30313.529, Max-Change: 0.00056
Iteration: 33, Log-Lik: -30313.529, Max-Change: 0.00010
Iteration: 34, Log-Lik: -30313.529, Max-Change: 0.00010
Iteration: 35, Log-Lik: -30313.529, Max-Change: 0.00047
Iteration: 36, Log-Lik: -30313.529, Max-Change: 0.00037
Iteration: 37, Log-Lik: -30313.529, Max-Change: 0.00007

Munge coefficeints for plotting

coefs_2pl_kid <- as_data_frame(coef(mod_2pl_priors_kid, simplify = TRUE)$items) %>%
  mutate(item_pair = rownames(coef(mod_2pl_priors_kid, simplify = TRUE)$items))

Look at difficulty vs. slopes in kids only

ggplot(data = coefs_2pl_kid, aes(d, a1)) + 
  geom_point(alpha=.5) + 
  ggrepel::geom_label_repel(aes(label = item_pair), max.overlaps=20, size=2) +
  theme_few(base_size=10) + 
  xlab("Kid IRT difficulty") +
  ylab("Kid IRT discriminability (slope)")

Look at individual item curves for 2PL model

thetas <- seq(-6,6,.1)

irt2pl <- function(a, d, theta = seq(-6,6,.1)) {
  p = boot::inv.logit(a * (theta + d))
  return(p)
}

Plot items with best discrimination

iccs <- coefs_2pl_kid %>%
  filter(a1 > quantile(a1, .9)) %>%
  split(.$item_pair) %>%
  map_df(function(d) {
    return(data_frame(item_pair = d$item_pair,
                      theta = thetas, 
                      p = irt2pl(d$a1, d$d, thetas)))
  })

ggplot(iccs,  
       aes(x = theta, y = p)) + 
  geom_line() + 
  facet_wrap(~item_pair) + 
  xlab("Ability") + 
  ylab("Probability of comprehension") +
  ggtitle('Items with best discrimination (rocketship)')

Plot items with worst discrimination

iccs <- coefs_2pl_kid %>%
  filter(a1 < quantile(a1, .1)) %>%
  split(.$item_pair) %>%
  map_df(function(d) {
    return(data_frame(item_pair = d$item_pair,
                      theta = thetas, 
                      p = irt2pl(d$a1, d$d, thetas)))
  })

ggplot(iccs,  
       aes(x = theta, y = p)) + 
  geom_line() + 
  facet_wrap(~item_pair) + 
  xlab("Ability") + 
  ylab("Probability of comprehension") +
  ggtitle('Items with worst discrimination (all data)')

Plot easiest items (NEG difficulty)

iccs <- coefs_2pl_kid %>%
  filter(d < quantile(d, .1)) %>%
  split(.$item_pair) %>%
  map_df(function(d) {
    return(data_frame(item_pair = d$item_pair,
                      theta = thetas, 
                      p = irt2pl(d$a1, d$d, thetas)))
  })

ggplot(iccs,  
       aes(x = theta, y = p)) + 
  geom_line() + 
  facet_wrap(~item_pair) + 
  xlab("Ability") + 
  ylab("Probability of comprehension") +
  ggtitle('Most difficult items (rocketship)')

Plot most difficult items (POS difficulty param)

iccs <- coefs_2pl_kid %>%
  filter(d > quantile(d, .9)) %>%
  split(.$item_pair) %>%
  map_df(function(d) {
    return(data_frame(item_pair = d$item_pair,
                      theta = thetas, 
                      p = irt2pl(d$a1, d$d, thetas)))
  })

ggplot(iccs,  
       aes(x = theta, y = p)) + 
  geom_line() + 
  facet_wrap(~item_pair) + 
  xlab("Ability") + 
  ylab("Probability of comprehension") +
  ggtitle('Easiest items (rocketship)')

Plot HARD items that discriminate well

iccs <- coefs_2pl_kid  %>%
  filter(d > quantile(d, .9) & a1 > quantile(a1, .9)) %>%
  split(.$item_pair) %>%
  map_df(function(d) {
    return(data_frame(item_pair = d$item_pair,
                      theta = thetas, 
                      p = irt2pl(d$a1, d$d, thetas)))
  })

ggplot(iccs,  
       aes(x = theta, y = p)) + 
  geom_line() + 
  facet_wrap(~item_pair) + 
  xlab("Ability") + 
  ylab("Probability of comprehension") +
  ggtitle('Easy items that discriminate well')

Plot EASY items that discriminate well

iccs <- coefs_2pl_kid  %>%
  filter(d < quantile(d, .3) & a1 > quantile(a1, .9)) %>%
  split(.$item_pair) %>%
  map_df(function(d) {
    return(data_frame(item_pair = d$item_pair,
                      theta = thetas, 
                      p = irt2pl(d$a1, d$d, thetas)))
  })

ggplot(iccs,  
       aes(x = theta, y = p)) + 
  geom_line() + 
  facet_wrap(~item_pair) + 
  xlab("Ability") + 
  ylab("Probability of comprehension") +
  ggtitle('Difficult items that discriminate well')

Iterative 2PL IRT model

With guess rate of 0.5 Removes items that have slopes <.7

outliers <- TRUE
maxiter <- 20
iteration <- 0
df_good <- d_mat_kid
aminmax <- c(.7, Inf) # Keep items with positive slopes between .7 and 1

# Model priors specified in loop

while (outliers > 0 & iteration<maxiter){
  iteration <- iteration + 1;
  start.dim <- dim(df_good)[2]-1
  mm = (
  'F = 1-%d,
  PRIOR = (1-%d, a1, norm, .2, 1),
  PRIOR = (1-%d, d, norm, 0, 2)'
  )
  mm = mirt.model(sprintf(mm,start.dim,start.dim,start.dim))
  m <- mirt(df_good, model = mm,itemtype = '2PL',guess=0.5) # 2AFC. Guess Rate = 0.5
  co <- coef(m,simplify=TRUE, IRTpars = TRUE) # Get coeeficients
  co <- tibble::rownames_to_column(as.data.frame(co$items),'words')
  ggplot(co, aes(a, b)) + geom_point(size=3)
  ggsave(sprintf('2PL-ModelParams_%d.png',iteration))
  
  # Remove items with low or extreme slope and refit
  df_good <- df_good[,which(co$a>aminmax[1] & co$a<aminmax[2])]
  end.dim <- dim(df_good)[2]-1
  outliers <- sum(!(co$a>aminmax[1] & co$a<aminmax[2]))
  print(sprintf('2PL ITERATION %d. STARTED WITH %d ITEMS. %d OUTLIERS REMOVED. %d ITEMS RETAINED.',iteration,start.dim,outliers,end.dim))
}
## 
Iteration: 1, Log-Lik: -38710.106, Max-Change: 8.22634
Iteration: 2, Log-Lik: -30827.560, Max-Change: 3.80295
Iteration: 3, Log-Lik: -30376.405, Max-Change: 0.41460
Iteration: 4, Log-Lik: -30328.905, Max-Change: 0.24434
Iteration: 5, Log-Lik: -30318.814, Max-Change: 0.15549
Iteration: 6, Log-Lik: -30316.366, Max-Change: 0.09492
Iteration: 7, Log-Lik: -30315.727, Max-Change: 0.04536
Iteration: 8, Log-Lik: -30315.553, Max-Change: 0.03867
Iteration: 9, Log-Lik: -30315.498, Max-Change: 0.01352
Iteration: 10, Log-Lik: -30315.488, Max-Change: 0.01988
Iteration: 11, Log-Lik: -30315.478, Max-Change: 0.00511
Iteration: 12, Log-Lik: -30315.475, Max-Change: 0.00326
Iteration: 13, Log-Lik: -30315.473, Max-Change: 0.00131
Iteration: 14, Log-Lik: -30315.473, Max-Change: 0.00389
Iteration: 15, Log-Lik: -30315.473, Max-Change: 0.00323
Iteration: 16, Log-Lik: -30315.473, Max-Change: 0.00100
Iteration: 17, Log-Lik: -30315.472, Max-Change: 0.00264
Iteration: 18, Log-Lik: -30315.472, Max-Change: 0.00050
Iteration: 19, Log-Lik: -30315.472, Max-Change: 0.00211
Iteration: 20, Log-Lik: -30315.472, Max-Change: 0.00105
Iteration: 21, Log-Lik: -30315.472, Max-Change: 0.00174
Iteration: 22, Log-Lik: -30315.472, Max-Change: 0.00084
Iteration: 23, Log-Lik: -30315.472, Max-Change: 0.00025
Iteration: 24, Log-Lik: -30315.472, Max-Change: 0.00115
Iteration: 25, Log-Lik: -30315.472, Max-Change: 0.00024
Iteration: 26, Log-Lik: -30315.472, Max-Change: 0.00093
Iteration: 27, Log-Lik: -30315.472, Max-Change: 0.00016
Iteration: 28, Log-Lik: -30315.472, Max-Change: 0.00015
Iteration: 29, Log-Lik: -30315.472, Max-Change: 0.00067
Iteration: 30, Log-Lik: -30315.472, Max-Change: 0.00012
Iteration: 31, Log-Lik: -30315.472, Max-Change: 0.00012
Iteration: 32, Log-Lik: -30315.472, Max-Change: 0.00056
Iteration: 33, Log-Lik: -30315.472, Max-Change: 0.00009
## [1] "2PL ITERATION 1. STARTED WITH 392 ITEMS. 134 OUTLIERS REMOVED. 258 ITEMS RETAINED."
## 
Iteration: 1, Log-Lik: -23125.096, Max-Change: 3.71822
Iteration: 2, Log-Lik: -17876.076, Max-Change: 1.13578
Iteration: 3, Log-Lik: -17512.097, Max-Change: 0.49884
Iteration: 4, Log-Lik: -17446.204, Max-Change: 0.22954
Iteration: 5, Log-Lik: -17432.551, Max-Change: 0.11946
Iteration: 6, Log-Lik: -17429.247, Max-Change: 0.08365
Iteration: 7, Log-Lik: -17428.354, Max-Change: 0.05167
Iteration: 8, Log-Lik: -17428.079, Max-Change: 0.03561
Iteration: 9, Log-Lik: -17427.981, Max-Change: 0.02887
Iteration: 10, Log-Lik: -17427.924, Max-Change: 0.01856
Iteration: 11, Log-Lik: -17427.917, Max-Change: 0.00547
Iteration: 12, Log-Lik: -17427.914, Max-Change: 0.00499
Iteration: 13, Log-Lik: -17427.912, Max-Change: 0.00404
Iteration: 14, Log-Lik: -17427.911, Max-Change: 0.00135
Iteration: 15, Log-Lik: -17427.911, Max-Change: 0.00051
Iteration: 16, Log-Lik: -17427.911, Max-Change: 0.00047
Iteration: 17, Log-Lik: -17427.911, Max-Change: 0.00220
Iteration: 18, Log-Lik: -17427.911, Max-Change: 0.00160
Iteration: 19, Log-Lik: -17427.911, Max-Change: 0.00151
Iteration: 20, Log-Lik: -17427.911, Max-Change: 0.00024
Iteration: 21, Log-Lik: -17427.911, Max-Change: 0.00116
Iteration: 22, Log-Lik: -17427.911, Max-Change: 0.00021
Iteration: 23, Log-Lik: -17427.911, Max-Change: 0.00089
Iteration: 24, Log-Lik: -17427.911, Max-Change: 0.00014
Iteration: 25, Log-Lik: -17427.911, Max-Change: 0.00014
Iteration: 26, Log-Lik: -17427.911, Max-Change: 0.00068
Iteration: 27, Log-Lik: -17427.911, Max-Change: 0.00012
Iteration: 28, Log-Lik: -17427.911, Max-Change: 0.00011
Iteration: 29, Log-Lik: -17427.911, Max-Change: 0.00055
Iteration: 30, Log-Lik: -17427.911, Max-Change: 0.00045
Iteration: 31, Log-Lik: -17427.911, Max-Change: 0.00011
Iteration: 32, Log-Lik: -17427.911, Max-Change: 0.00036
Iteration: 33, Log-Lik: -17427.911, Max-Change: 0.00008
## [1] "2PL ITERATION 2. STARTED WITH 258 ITEMS. 10 OUTLIERS REMOVED. 248 ITEMS RETAINED."
## 
Iteration: 1, Log-Lik: -22268.333, Max-Change: 3.43508
Iteration: 2, Log-Lik: -17244.851, Max-Change: 1.11786
Iteration: 3, Log-Lik: -16882.382, Max-Change: 0.49423
Iteration: 4, Log-Lik: -16817.121, Max-Change: 0.21724
Iteration: 5, Log-Lik: -16803.728, Max-Change: 0.11726
Iteration: 6, Log-Lik: -16800.517, Max-Change: 0.07484
Iteration: 7, Log-Lik: -16799.650, Max-Change: 0.04188
Iteration: 8, Log-Lik: -16799.381, Max-Change: 0.02860
Iteration: 9, Log-Lik: -16799.283, Max-Change: 0.02355
Iteration: 10, Log-Lik: -16799.227, Max-Change: 0.01808
Iteration: 11, Log-Lik: -16799.219, Max-Change: 0.00480
Iteration: 12, Log-Lik: -16799.216, Max-Change: 0.00444
Iteration: 13, Log-Lik: -16799.214, Max-Change: 0.00354
Iteration: 14, Log-Lik: -16799.213, Max-Change: 0.00153
Iteration: 15, Log-Lik: -16799.213, Max-Change: 0.00046
Iteration: 16, Log-Lik: -16799.213, Max-Change: 0.00042
Iteration: 17, Log-Lik: -16799.213, Max-Change: 0.00040
Iteration: 18, Log-Lik: -16799.213, Max-Change: 0.00188
Iteration: 19, Log-Lik: -16799.213, Max-Change: 0.00127
Iteration: 20, Log-Lik: -16799.213, Max-Change: 0.00121
Iteration: 21, Log-Lik: -16799.213, Max-Change: 0.00017
Iteration: 22, Log-Lik: -16799.213, Max-Change: 0.00017
Iteration: 23, Log-Lik: -16799.213, Max-Change: 0.00086
Iteration: 24, Log-Lik: -16799.213, Max-Change: 0.00016
Iteration: 25, Log-Lik: -16799.213, Max-Change: 0.00077
Iteration: 26, Log-Lik: -16799.213, Max-Change: 0.00014
Iteration: 27, Log-Lik: -16799.213, Max-Change: 0.00057
Iteration: 28, Log-Lik: -16799.213, Max-Change: 0.00019
Iteration: 29, Log-Lik: -16799.213, Max-Change: 0.00009
## [1] "2PL ITERATION 3. STARTED WITH 248 ITEMS. 3 OUTLIERS REMOVED. 245 ITEMS RETAINED."
## 
Iteration: 1, Log-Lik: -22099.297, Max-Change: 3.73607
Iteration: 2, Log-Lik: -17131.917, Max-Change: 1.10484
Iteration: 3, Log-Lik: -16767.013, Max-Change: 0.48888
Iteration: 4, Log-Lik: -16701.577, Max-Change: 0.21419
Iteration: 5, Log-Lik: -16688.203, Max-Change: 0.12317
Iteration: 6, Log-Lik: -16685.022, Max-Change: 0.07777
Iteration: 7, Log-Lik: -16684.174, Max-Change: 0.04457
Iteration: 8, Log-Lik: -16683.915, Max-Change: 0.02991
Iteration: 9, Log-Lik: -16683.823, Max-Change: 0.02424
Iteration: 10, Log-Lik: -16683.772, Max-Change: 0.01843
Iteration: 11, Log-Lik: -16683.765, Max-Change: 0.00439
Iteration: 12, Log-Lik: -16683.762, Max-Change: 0.00437
Iteration: 13, Log-Lik: -16683.760, Max-Change: 0.00330
Iteration: 14, Log-Lik: -16683.759, Max-Change: 0.00074
Iteration: 15, Log-Lik: -16683.759, Max-Change: 0.00044
Iteration: 16, Log-Lik: -16683.759, Max-Change: 0.00039
Iteration: 17, Log-Lik: -16683.759, Max-Change: 0.00181
Iteration: 18, Log-Lik: -16683.759, Max-Change: 0.00131
Iteration: 19, Log-Lik: -16683.759, Max-Change: 0.00122
Iteration: 20, Log-Lik: -16683.759, Max-Change: 0.00097
Iteration: 21, Log-Lik: -16683.759, Max-Change: 0.00016
Iteration: 22, Log-Lik: -16683.759, Max-Change: 0.00081
Iteration: 23, Log-Lik: -16683.759, Max-Change: 0.00022
Iteration: 24, Log-Lik: -16683.759, Max-Change: 0.00062
Iteration: 25, Log-Lik: -16683.759, Max-Change: 0.00030
Iteration: 26, Log-Lik: -16683.759, Max-Change: 0.00011
Iteration: 27, Log-Lik: -16683.759, Max-Change: 0.00043
Iteration: 28, Log-Lik: -16683.759, Max-Change: 0.00014
Iteration: 29, Log-Lik: -16683.759, Max-Change: 0.00006
## [1] "2PL ITERATION 4. STARTED WITH 245 ITEMS. 1 OUTLIERS REMOVED. 244 ITEMS RETAINED."
## 
Iteration: 1, Log-Lik: -22059.287, Max-Change: 3.43341
Iteration: 2, Log-Lik: -17088.199, Max-Change: 1.14304
Iteration: 3, Log-Lik: -16732.518, Max-Change: 0.46778
Iteration: 4, Log-Lik: -16666.957, Max-Change: 0.22712
Iteration: 5, Log-Lik: -16653.408, Max-Change: 0.11582
Iteration: 6, Log-Lik: -16650.258, Max-Change: 0.07153
Iteration: 7, Log-Lik: -16649.422, Max-Change: 0.03929
Iteration: 8, Log-Lik: -16649.168, Max-Change: 0.02436
Iteration: 9, Log-Lik: -16649.078, Max-Change: 0.01989
Iteration: 10, Log-Lik: -16649.030, Max-Change: 0.01718
Iteration: 11, Log-Lik: -16649.023, Max-Change: 0.00377
Iteration: 12, Log-Lik: -16649.020, Max-Change: 0.00370
Iteration: 13, Log-Lik: -16649.018, Max-Change: 0.00277
Iteration: 14, Log-Lik: -16649.017, Max-Change: 0.00069
Iteration: 15, Log-Lik: -16649.017, Max-Change: 0.00037
Iteration: 16, Log-Lik: -16649.017, Max-Change: 0.00033
Iteration: 17, Log-Lik: -16649.017, Max-Change: 0.00030
Iteration: 18, Log-Lik: -16649.017, Max-Change: 0.00144
Iteration: 19, Log-Lik: -16649.017, Max-Change: 0.00096
Iteration: 20, Log-Lik: -16649.017, Max-Change: 0.00089
Iteration: 21, Log-Lik: -16649.017, Max-Change: 0.00064
Iteration: 22, Log-Lik: -16649.017, Max-Change: 0.00016
Iteration: 23, Log-Lik: -16649.017, Max-Change: 0.00057
Iteration: 24, Log-Lik: -16649.017, Max-Change: 0.00012
Iteration: 25, Log-Lik: -16649.017, Max-Change: 0.00010
Iteration: 26, Log-Lik: -16649.017, Max-Change: 0.00042
Iteration: 27, Log-Lik: -16649.017, Max-Change: 0.00008
## [1] "2PL ITERATION 5. STARTED WITH 244 ITEMS. 1 OUTLIERS REMOVED. 243 ITEMS RETAINED."
## 
Iteration: 1, Log-Lik: -22014.856, Max-Change: 3.43162
Iteration: 2, Log-Lik: -17047.344, Max-Change: 1.13300
Iteration: 3, Log-Lik: -16688.677, Max-Change: 0.47787
Iteration: 4, Log-Lik: -16623.472, Max-Change: 0.22287
Iteration: 5, Log-Lik: -16610.147, Max-Change: 0.11010
Iteration: 6, Log-Lik: -16607.053, Max-Change: 0.06954
Iteration: 7, Log-Lik: -16606.227, Max-Change: 0.03702
Iteration: 8, Log-Lik: -16605.975, Max-Change: 0.02144
Iteration: 9, Log-Lik: -16605.885, Max-Change: 0.01778
Iteration: 10, Log-Lik: -16605.836, Max-Change: 0.01680
Iteration: 11, Log-Lik: -16605.829, Max-Change: 0.00338
Iteration: 12, Log-Lik: -16605.826, Max-Change: 0.00333
Iteration: 13, Log-Lik: -16605.824, Max-Change: 0.00253
Iteration: 14, Log-Lik: -16605.823, Max-Change: 0.00072
Iteration: 15, Log-Lik: -16605.823, Max-Change: 0.00033
Iteration: 16, Log-Lik: -16605.823, Max-Change: 0.00030
Iteration: 17, Log-Lik: -16605.823, Max-Change: 0.00028
Iteration: 18, Log-Lik: -16605.823, Max-Change: 0.00131
Iteration: 19, Log-Lik: -16605.823, Max-Change: 0.00087
Iteration: 20, Log-Lik: -16605.823, Max-Change: 0.00081
Iteration: 21, Log-Lik: -16605.823, Max-Change: 0.00012
Iteration: 22, Log-Lik: -16605.823, Max-Change: 0.00058
Iteration: 23, Log-Lik: -16605.823, Max-Change: 0.00017
Iteration: 24, Log-Lik: -16605.823, Max-Change: 0.00051
Iteration: 25, Log-Lik: -16605.823, Max-Change: 0.00023
Iteration: 26, Log-Lik: -16605.823, Max-Change: 0.00009
## [1] "2PL ITERATION 6. STARTED WITH 243 ITEMS. 2 OUTLIERS REMOVED. 241 ITEMS RETAINED."
## 
Iteration: 1, Log-Lik: -21933.455, Max-Change: 3.43057
Iteration: 2, Log-Lik: -16944.498, Max-Change: 1.15235
Iteration: 3, Log-Lik: -16581.401, Max-Change: 0.47985
Iteration: 4, Log-Lik: -16514.712, Max-Change: 0.22473
Iteration: 5, Log-Lik: -16501.274, Max-Change: 0.11448
Iteration: 6, Log-Lik: -16498.171, Max-Change: 0.07144
Iteration: 7, Log-Lik: -16497.352, Max-Change: 0.04128
Iteration: 8, Log-Lik: -16497.105, Max-Change: 0.02029
Iteration: 9, Log-Lik: -16497.019, Max-Change: 0.01413
Iteration: 10, Log-Lik: -16496.975, Max-Change: 0.01735
Iteration: 11, Log-Lik: -16496.968, Max-Change: 0.00266
Iteration: 12, Log-Lik: -16496.964, Max-Change: 0.00267
Iteration: 13, Log-Lik: -16496.962, Max-Change: 0.00200
Iteration: 14, Log-Lik: -16496.962, Max-Change: 0.00073
Iteration: 15, Log-Lik: -16496.961, Max-Change: 0.00035
Iteration: 16, Log-Lik: -16496.961, Max-Change: 0.00024
Iteration: 17, Log-Lik: -16496.961, Max-Change: 0.00023
Iteration: 18, Log-Lik: -16496.961, Max-Change: 0.00022
Iteration: 19, Log-Lik: -16496.961, Max-Change: 0.00085
Iteration: 20, Log-Lik: -16496.961, Max-Change: 0.00070
Iteration: 21, Log-Lik: -16496.961, Max-Change: 0.00054
Iteration: 22, Log-Lik: -16496.961, Max-Change: 0.00016
Iteration: 23, Log-Lik: -16496.961, Max-Change: 0.00046
Iteration: 24, Log-Lik: -16496.961, Max-Change: 0.00013
Iteration: 25, Log-Lik: -16496.961, Max-Change: 0.00011
Iteration: 26, Log-Lik: -16496.961, Max-Change: 0.00035
Iteration: 27, Log-Lik: -16496.961, Max-Change: 0.00009
## [1] "2PL ITERATION 7. STARTED WITH 241 ITEMS. 2 OUTLIERS REMOVED. 239 ITEMS RETAINED."
## 
Iteration: 1, Log-Lik: -21645.809, Max-Change: 3.78395
Iteration: 2, Log-Lik: -16743.854, Max-Change: 1.09115
Iteration: 3, Log-Lik: -16393.471, Max-Change: 0.48758
Iteration: 4, Log-Lik: -16328.700, Max-Change: 0.22337
Iteration: 5, Log-Lik: -16315.810, Max-Change: 0.11046
Iteration: 6, Log-Lik: -16312.821, Max-Change: 0.06425
Iteration: 7, Log-Lik: -16312.035, Max-Change: 0.03419
Iteration: 8, Log-Lik: -16311.800, Max-Change: 0.02271
Iteration: 9, Log-Lik: -16311.721, Max-Change: 0.01615
Iteration: 10, Log-Lik: -16311.679, Max-Change: 0.01581
Iteration: 11, Log-Lik: -16311.673, Max-Change: 0.00370
Iteration: 12, Log-Lik: -16311.670, Max-Change: 0.00343
Iteration: 13, Log-Lik: -16311.668, Max-Change: 0.00136
Iteration: 14, Log-Lik: -16311.668, Max-Change: 0.00047
Iteration: 15, Log-Lik: -16311.667, Max-Change: 0.00042
Iteration: 16, Log-Lik: -16311.667, Max-Change: 0.00170
Iteration: 17, Log-Lik: -16311.667, Max-Change: 0.00133
Iteration: 18, Log-Lik: -16311.667, Max-Change: 0.00053
Iteration: 19, Log-Lik: -16311.667, Max-Change: 0.00040
Iteration: 20, Log-Lik: -16311.667, Max-Change: 0.00107
Iteration: 21, Log-Lik: -16311.667, Max-Change: 0.00023
Iteration: 22, Log-Lik: -16311.667, Max-Change: 0.00018
Iteration: 23, Log-Lik: -16311.667, Max-Change: 0.00084
Iteration: 24, Log-Lik: -16311.667, Max-Change: 0.00014
Iteration: 25, Log-Lik: -16311.667, Max-Change: 0.00014
Iteration: 26, Log-Lik: -16311.667, Max-Change: 0.00067
Iteration: 27, Log-Lik: -16311.667, Max-Change: 0.00011
Iteration: 28, Log-Lik: -16311.667, Max-Change: 0.00054
Iteration: 29, Log-Lik: -16311.667, Max-Change: 0.00011
Iteration: 30, Log-Lik: -16311.667, Max-Change: 0.00044
Iteration: 31, Log-Lik: -16311.667, Max-Change: 0.00011
Iteration: 32, Log-Lik: -16311.667, Max-Change: 0.00006
## [1] "2PL ITERATION 8. STARTED WITH 239 ITEMS. 2 OUTLIERS REMOVED. 237 ITEMS RETAINED."
## 
Iteration: 1, Log-Lik: -21561.386, Max-Change: 3.42916
Iteration: 2, Log-Lik: -16696.436, Max-Change: 1.12387
Iteration: 3, Log-Lik: -16336.409, Max-Change: 0.48473
Iteration: 4, Log-Lik: -16269.501, Max-Change: 0.22708
Iteration: 5, Log-Lik: -16255.881, Max-Change: 0.11806
Iteration: 6, Log-Lik: -16252.728, Max-Change: 0.06941
Iteration: 7, Log-Lik: -16251.899, Max-Change: 0.03903
Iteration: 8, Log-Lik: -16251.652, Max-Change: 0.03153
Iteration: 9, Log-Lik: -16251.565, Max-Change: 0.01347
Iteration: 10, Log-Lik: -16251.535, Max-Change: 0.01009
Iteration: 11, Log-Lik: -16251.522, Max-Change: 0.00812
Iteration: 12, Log-Lik: -16251.517, Max-Change: 0.00201
Iteration: 13, Log-Lik: -16251.516, Max-Change: 0.00149
Iteration: 14, Log-Lik: -16251.515, Max-Change: 0.00108
Iteration: 15, Log-Lik: -16251.514, Max-Change: 0.00060
Iteration: 16, Log-Lik: -16251.514, Max-Change: 0.00039
Iteration: 17, Log-Lik: -16251.514, Max-Change: 0.00033
Iteration: 18, Log-Lik: -16251.514, Max-Change: 0.00031
Iteration: 19, Log-Lik: -16251.514, Max-Change: 0.00106
Iteration: 20, Log-Lik: -16251.513, Max-Change: 0.00100
Iteration: 21, Log-Lik: -16251.513, Max-Change: 0.00021
Iteration: 22, Log-Lik: -16251.513, Max-Change: 0.00018
Iteration: 23, Log-Lik: -16251.513, Max-Change: 0.00073
Iteration: 24, Log-Lik: -16251.513, Max-Change: 0.00013
Iteration: 25, Log-Lik: -16251.513, Max-Change: 0.00013
Iteration: 26, Log-Lik: -16251.513, Max-Change: 0.00062
Iteration: 27, Log-Lik: -16251.513, Max-Change: 0.00010
## [1] "2PL ITERATION 9. STARTED WITH 237 ITEMS. 3 OUTLIERS REMOVED. 234 ITEMS RETAINED."
## 
Iteration: 1, Log-Lik: -21105.021, Max-Change: 3.40870
Iteration: 2, Log-Lik: -16366.767, Max-Change: 1.14455
Iteration: 3, Log-Lik: -16009.189, Max-Change: 0.46878
Iteration: 4, Log-Lik: -15942.475, Max-Change: 0.22552
Iteration: 5, Log-Lik: -15928.894, Max-Change: 0.12093
Iteration: 6, Log-Lik: -15925.759, Max-Change: 0.06639
Iteration: 7, Log-Lik: -15924.938, Max-Change: 0.03515
Iteration: 8, Log-Lik: -15924.695, Max-Change: 0.02979
Iteration: 9, Log-Lik: -15924.610, Max-Change: 0.01289
Iteration: 10, Log-Lik: -15924.581, Max-Change: 0.01015
Iteration: 11, Log-Lik: -15924.569, Max-Change: 0.00392
Iteration: 12, Log-Lik: -15924.565, Max-Change: 0.00244
Iteration: 13, Log-Lik: -15924.563, Max-Change: 0.00229
Iteration: 14, Log-Lik: -15924.562, Max-Change: 0.00165
Iteration: 15, Log-Lik: -15924.561, Max-Change: 0.00088
Iteration: 16, Log-Lik: -15924.561, Max-Change: 0.00073
Iteration: 17, Log-Lik: -15924.561, Max-Change: 0.00041
Iteration: 18, Log-Lik: -15924.561, Max-Change: 0.00028
Iteration: 19, Log-Lik: -15924.561, Max-Change: 0.00082
Iteration: 20, Log-Lik: -15924.561, Max-Change: 0.00016
Iteration: 21, Log-Lik: -15924.561, Max-Change: 0.00063
Iteration: 22, Log-Lik: -15924.561, Max-Change: 0.00020
Iteration: 23, Log-Lik: -15924.561, Max-Change: 0.00008
## [1] "2PL ITERATION 10. STARTED WITH 234 ITEMS. 3 OUTLIERS REMOVED. 231 ITEMS RETAINED."
## 
Iteration: 1, Log-Lik: -20900.911, Max-Change: 3.51176
Iteration: 2, Log-Lik: -16217.180, Max-Change: 1.07254
Iteration: 3, Log-Lik: -15872.313, Max-Change: 0.45891
Iteration: 4, Log-Lik: -15808.101, Max-Change: 0.21424
Iteration: 5, Log-Lik: -15794.888, Max-Change: 0.10735
Iteration: 6, Log-Lik: -15791.766, Max-Change: 0.06403
Iteration: 7, Log-Lik: -15790.953, Max-Change: 0.03452
Iteration: 8, Log-Lik: -15790.714, Max-Change: 0.02181
Iteration: 9, Log-Lik: -15790.634, Max-Change: 0.01168
Iteration: 10, Log-Lik: -15790.596, Max-Change: 0.01294
Iteration: 11, Log-Lik: -15790.588, Max-Change: 0.00368
Iteration: 12, Log-Lik: -15790.585, Max-Change: 0.00186
Iteration: 13, Log-Lik: -15790.584, Max-Change: 0.00117
Iteration: 14, Log-Lik: -15790.583, Max-Change: 0.00065
Iteration: 15, Log-Lik: -15790.583, Max-Change: 0.00036
Iteration: 16, Log-Lik: -15790.583, Max-Change: 0.00133
Iteration: 17, Log-Lik: -15790.582, Max-Change: 0.00031
Iteration: 18, Log-Lik: -15790.582, Max-Change: 0.00104
Iteration: 19, Log-Lik: -15790.582, Max-Change: 0.00024
Iteration: 20, Log-Lik: -15790.582, Max-Change: 0.00068
Iteration: 21, Log-Lik: -15790.582, Max-Change: 0.00014
Iteration: 22, Log-Lik: -15790.582, Max-Change: 0.00011
Iteration: 23, Log-Lik: -15790.582, Max-Change: 0.00049
Iteration: 24, Log-Lik: -15790.582, Max-Change: 0.00008
## [1] "2PL ITERATION 11. STARTED WITH 231 ITEMS. 1 OUTLIERS REMOVED. 230 ITEMS RETAINED."
## 
Iteration: 1, Log-Lik: -20894.014, Max-Change: 3.47163
Iteration: 2, Log-Lik: -16197.510, Max-Change: 1.10747
Iteration: 3, Log-Lik: -15847.757, Max-Change: 0.47465
Iteration: 4, Log-Lik: -15781.920, Max-Change: 0.21929
Iteration: 5, Log-Lik: -15768.885, Max-Change: 0.11853
Iteration: 6, Log-Lik: -15765.812, Max-Change: 0.06637
Iteration: 7, Log-Lik: -15765.015, Max-Change: 0.03885
Iteration: 8, Log-Lik: -15764.781, Max-Change: 0.02976
Iteration: 9, Log-Lik: -15764.702, Max-Change: 0.01312
Iteration: 10, Log-Lik: -15764.675, Max-Change: 0.00761
Iteration: 11, Log-Lik: -15764.664, Max-Change: 0.00750
Iteration: 12, Log-Lik: -15764.660, Max-Change: 0.00203
Iteration: 13, Log-Lik: -15764.659, Max-Change: 0.00140
Iteration: 14, Log-Lik: -15764.658, Max-Change: 0.00101
Iteration: 15, Log-Lik: -15764.657, Max-Change: 0.00043
Iteration: 16, Log-Lik: -15764.657, Max-Change: 0.00036
Iteration: 17, Log-Lik: -15764.657, Max-Change: 0.00030
Iteration: 18, Log-Lik: -15764.657, Max-Change: 0.00025
Iteration: 19, Log-Lik: -15764.657, Max-Change: 0.00081
Iteration: 20, Log-Lik: -15764.657, Max-Change: 0.00063
Iteration: 21, Log-Lik: -15764.657, Max-Change: 0.00017
Iteration: 22, Log-Lik: -15764.657, Max-Change: 0.00014
Iteration: 23, Log-Lik: -15764.657, Max-Change: 0.00047
Iteration: 24, Log-Lik: -15764.657, Max-Change: 0.00009
## [1] "2PL ITERATION 12. STARTED WITH 230 ITEMS. 2 OUTLIERS REMOVED. 228 ITEMS RETAINED."
## 
Iteration: 1, Log-Lik: -20678.137, Max-Change: 3.41323
Iteration: 2, Log-Lik: -16022.707, Max-Change: 1.11222
Iteration: 3, Log-Lik: -15674.103, Max-Change: 0.47777
Iteration: 4, Log-Lik: -15607.905, Max-Change: 0.21452
Iteration: 5, Log-Lik: -15594.767, Max-Change: 0.12253
Iteration: 6, Log-Lik: -15591.651, Max-Change: 0.06874
Iteration: 7, Log-Lik: -15590.841, Max-Change: 0.03701
Iteration: 8, Log-Lik: -15590.604, Max-Change: 0.03203
Iteration: 9, Log-Lik: -15590.524, Max-Change: 0.01460
Iteration: 10, Log-Lik: -15590.498, Max-Change: 0.00918
Iteration: 11, Log-Lik: -15590.487, Max-Change: 0.00622
Iteration: 12, Log-Lik: -15590.483, Max-Change: 0.00249
Iteration: 13, Log-Lik: -15590.482, Max-Change: 0.00199
Iteration: 14, Log-Lik: -15590.481, Max-Change: 0.00239
Iteration: 15, Log-Lik: -15590.480, Max-Change: 0.00120
Iteration: 16, Log-Lik: -15590.480, Max-Change: 0.00086
Iteration: 17, Log-Lik: -15590.480, Max-Change: 0.00036
Iteration: 18, Log-Lik: -15590.480, Max-Change: 0.00024
Iteration: 19, Log-Lik: -15590.480, Max-Change: 0.00085
Iteration: 20, Log-Lik: -15590.480, Max-Change: 0.00015
Iteration: 21, Log-Lik: -15590.480, Max-Change: 0.00067
Iteration: 22, Log-Lik: -15590.480, Max-Change: 0.00014
Iteration: 23, Log-Lik: -15590.480, Max-Change: 0.00045
Iteration: 24, Log-Lik: -15590.480, Max-Change: 0.00011
Iteration: 25, Log-Lik: -15590.480, Max-Change: 0.00009
## [1] "2PL ITERATION 13. STARTED WITH 228 ITEMS. 1 OUTLIERS REMOVED. 227 ITEMS RETAINED."
## 
Iteration: 1, Log-Lik: -20551.838, Max-Change: 3.55962
Iteration: 2, Log-Lik: -15952.970, Max-Change: 1.05910
Iteration: 3, Log-Lik: -15610.186, Max-Change: 0.44811
Iteration: 4, Log-Lik: -15544.850, Max-Change: 0.21331
Iteration: 5, Log-Lik: -15531.402, Max-Change: 0.11267
Iteration: 6, Log-Lik: -15528.260, Max-Change: 0.06546
Iteration: 7, Log-Lik: -15527.458, Max-Change: 0.04007
Iteration: 8, Log-Lik: -15527.228, Max-Change: 0.03111
Iteration: 9, Log-Lik: -15527.152, Max-Change: 0.01425
Iteration: 10, Log-Lik: -15527.127, Max-Change: 0.00802
Iteration: 11, Log-Lik: -15527.117, Max-Change: 0.00851
Iteration: 12, Log-Lik: -15527.113, Max-Change: 0.00181
Iteration: 13, Log-Lik: -15527.112, Max-Change: 0.00157
Iteration: 14, Log-Lik: -15527.111, Max-Change: 0.00191
Iteration: 15, Log-Lik: -15527.111, Max-Change: 0.00123
Iteration: 16, Log-Lik: -15527.111, Max-Change: 0.00082
Iteration: 17, Log-Lik: -15527.111, Max-Change: 0.00030
Iteration: 18, Log-Lik: -15527.111, Max-Change: 0.00023
Iteration: 19, Log-Lik: -15527.110, Max-Change: 0.00075
Iteration: 20, Log-Lik: -15527.110, Max-Change: 0.00018
Iteration: 21, Log-Lik: -15527.110, Max-Change: 0.00059
Iteration: 22, Log-Lik: -15527.110, Max-Change: 0.00018
Iteration: 23, Log-Lik: -15527.110, Max-Change: 0.00041
Iteration: 24, Log-Lik: -15527.110, Max-Change: 0.00011
Iteration: 25, Log-Lik: -15527.110, Max-Change: 0.00009
## [1] "2PL ITERATION 14. STARTED WITH 227 ITEMS. 1 OUTLIERS REMOVED. 226 ITEMS RETAINED."
## 
Iteration: 1, Log-Lik: -20480.368, Max-Change: 3.57150
Iteration: 2, Log-Lik: -15916.257, Max-Change: 1.05689
Iteration: 3, Log-Lik: -15574.672, Max-Change: 0.44964
Iteration: 4, Log-Lik: -15509.718, Max-Change: 0.21928
Iteration: 5, Log-Lik: -15496.398, Max-Change: 0.11106
Iteration: 6, Log-Lik: -15493.362, Max-Change: 0.06429
Iteration: 7, Log-Lik: -15492.585, Max-Change: 0.03724
Iteration: 8, Log-Lik: -15492.361, Max-Change: 0.03270
Iteration: 9, Log-Lik: -15492.287, Max-Change: 0.01313
Iteration: 10, Log-Lik: -15492.259, Max-Change: 0.00812
Iteration: 11, Log-Lik: -15492.252, Max-Change: 0.00414
Iteration: 12, Log-Lik: -15492.249, Max-Change: 0.00347
Iteration: 13, Log-Lik: -15492.248, Max-Change: 0.00197
Iteration: 14, Log-Lik: -15492.247, Max-Change: 0.00036
Iteration: 15, Log-Lik: -15492.247, Max-Change: 0.00021
Iteration: 16, Log-Lik: -15492.247, Max-Change: 0.00014
Iteration: 17, Log-Lik: -15492.247, Max-Change: 0.00013
Iteration: 18, Log-Lik: -15492.247, Max-Change: 0.00065
Iteration: 19, Log-Lik: -15492.247, Max-Change: 0.00051
Iteration: 20, Log-Lik: -15492.247, Max-Change: 0.00039
Iteration: 21, Log-Lik: -15492.247, Max-Change: 0.00006
## [1] "2PL ITERATION 15. STARTED WITH 226 ITEMS. 1 OUTLIERS REMOVED. 225 ITEMS RETAINED."
## 
Iteration: 1, Log-Lik: -20409.381, Max-Change: 3.53908
Iteration: 2, Log-Lik: -15876.836, Max-Change: 1.09682
Iteration: 3, Log-Lik: -15542.584, Max-Change: 0.46615
Iteration: 4, Log-Lik: -15479.470, Max-Change: 0.20800
Iteration: 5, Log-Lik: -15467.013, Max-Change: 0.10715
Iteration: 6, Log-Lik: -15464.152, Max-Change: 0.06237
Iteration: 7, Log-Lik: -15463.413, Max-Change: 0.03354
Iteration: 8, Log-Lik: -15463.198, Max-Change: 0.03453
Iteration: 9, Log-Lik: -15463.125, Max-Change: 0.01348
Iteration: 10, Log-Lik: -15463.098, Max-Change: 0.00826
Iteration: 11, Log-Lik: -15463.089, Max-Change: 0.00513
Iteration: 12, Log-Lik: -15463.087, Max-Change: 0.00223
Iteration: 13, Log-Lik: -15463.086, Max-Change: 0.00175
Iteration: 14, Log-Lik: -15463.085, Max-Change: 0.00065
Iteration: 15, Log-Lik: -15463.085, Max-Change: 0.00051
Iteration: 16, Log-Lik: -15463.084, Max-Change: 0.00137
Iteration: 17, Log-Lik: -15463.084, Max-Change: 0.00029
Iteration: 18, Log-Lik: -15463.084, Max-Change: 0.00076
Iteration: 19, Log-Lik: -15463.084, Max-Change: 0.00026
Iteration: 20, Log-Lik: -15463.084, Max-Change: 0.00053
Iteration: 21, Log-Lik: -15463.084, Max-Change: 0.00017
Iteration: 22, Log-Lik: -15463.084, Max-Change: 0.00014
Iteration: 23, Log-Lik: -15463.084, Max-Change: 0.00008
## [1] "2PL ITERATION 16. STARTED WITH 225 ITEMS. 1 OUTLIERS REMOVED. 224 ITEMS RETAINED."
## 
Iteration: 1, Log-Lik: -20408.003, Max-Change: 3.42440
Iteration: 2, Log-Lik: -15863.286, Max-Change: 1.10900
Iteration: 3, Log-Lik: -15527.606, Max-Change: 0.46590
Iteration: 4, Log-Lik: -15463.220, Max-Change: 0.21335
Iteration: 5, Log-Lik: -15450.418, Max-Change: 0.11746
Iteration: 6, Log-Lik: -15447.397, Max-Change: 0.06653
Iteration: 7, Log-Lik: -15446.619, Max-Change: 0.03499
Iteration: 8, Log-Lik: -15446.395, Max-Change: 0.03297
Iteration: 9, Log-Lik: -15446.320, Max-Change: 0.01264
Iteration: 10, Log-Lik: -15446.292, Max-Change: 0.00729
Iteration: 11, Log-Lik: -15446.284, Max-Change: 0.00495
Iteration: 12, Log-Lik: -15446.281, Max-Change: 0.00207
Iteration: 13, Log-Lik: -15446.280, Max-Change: 0.00166
Iteration: 14, Log-Lik: -15446.280, Max-Change: 0.00065
Iteration: 15, Log-Lik: -15446.279, Max-Change: 0.00050
Iteration: 16, Log-Lik: -15446.279, Max-Change: 0.00131
Iteration: 17, Log-Lik: -15446.279, Max-Change: 0.00023
Iteration: 18, Log-Lik: -15446.279, Max-Change: 0.00076
Iteration: 19, Log-Lik: -15446.279, Max-Change: 0.00020
Iteration: 20, Log-Lik: -15446.279, Max-Change: 0.00055
Iteration: 21, Log-Lik: -15446.279, Max-Change: 0.00013
Iteration: 22, Log-Lik: -15446.279, Max-Change: 0.00011
Iteration: 23, Log-Lik: -15446.279, Max-Change: 0.00008
## [1] "2PL ITERATION 17. STARTED WITH 224 ITEMS. 2 OUTLIERS REMOVED. 222 ITEMS RETAINED."
## 
Iteration: 1, Log-Lik: -20297.035, Max-Change: 3.45099
Iteration: 2, Log-Lik: -15755.747, Max-Change: 1.09830
Iteration: 3, Log-Lik: -15421.577, Max-Change: 0.47127
Iteration: 4, Log-Lik: -15357.255, Max-Change: 0.21627
Iteration: 5, Log-Lik: -15344.387, Max-Change: 0.10997
Iteration: 6, Log-Lik: -15341.410, Max-Change: 0.06225
Iteration: 7, Log-Lik: -15340.642, Max-Change: 0.03292
Iteration: 8, Log-Lik: -15340.420, Max-Change: 0.01914
Iteration: 9, Log-Lik: -15340.349, Max-Change: 0.02206
Iteration: 10, Log-Lik: -15340.316, Max-Change: 0.00803
Iteration: 11, Log-Lik: -15340.311, Max-Change: 0.00222
Iteration: 12, Log-Lik: -15340.308, Max-Change: 0.00207
Iteration: 13, Log-Lik: -15340.307, Max-Change: 0.00126
Iteration: 14, Log-Lik: -15340.306, Max-Change: 0.00041
Iteration: 15, Log-Lik: -15340.306, Max-Change: 0.00025
Iteration: 16, Log-Lik: -15340.306, Max-Change: 0.00015
Iteration: 17, Log-Lik: -15340.306, Max-Change: 0.00067
Iteration: 18, Log-Lik: -15340.306, Max-Change: 0.00057
Iteration: 19, Log-Lik: -15340.306, Max-Change: 0.00050
Iteration: 20, Log-Lik: -15340.306, Max-Change: 0.00013
Iteration: 21, Log-Lik: -15340.306, Max-Change: 0.00039
Iteration: 22, Log-Lik: -15340.306, Max-Change: 0.00012
Iteration: 23, Log-Lik: -15340.306, Max-Change: 0.00027
Iteration: 24, Log-Lik: -15340.306, Max-Change: 0.00008
## [1] "2PL ITERATION 18. STARTED WITH 222 ITEMS. 1 OUTLIERS REMOVED. 221 ITEMS RETAINED."
## 
Iteration: 1, Log-Lik: -20281.142, Max-Change: 3.46206
Iteration: 2, Log-Lik: -15691.976, Max-Change: 1.08807
Iteration: 3, Log-Lik: -15354.557, Max-Change: 0.47109
Iteration: 4, Log-Lik: -15288.727, Max-Change: 0.22088
Iteration: 5, Log-Lik: -15275.489, Max-Change: 0.11344
Iteration: 6, Log-Lik: -15272.405, Max-Change: 0.06584
Iteration: 7, Log-Lik: -15271.606, Max-Change: 0.03524
Iteration: 8, Log-Lik: -15271.376, Max-Change: 0.02016
Iteration: 9, Log-Lik: -15271.302, Max-Change: 0.02501
Iteration: 10, Log-Lik: -15271.268, Max-Change: 0.00802
Iteration: 11, Log-Lik: -15271.262, Max-Change: 0.00417
Iteration: 12, Log-Lik: -15271.260, Max-Change: 0.00180
Iteration: 13, Log-Lik: -15271.259, Max-Change: 0.00086
Iteration: 14, Log-Lik: -15271.259, Max-Change: 0.00053
Iteration: 15, Log-Lik: -15271.258, Max-Change: 0.00044
Iteration: 16, Log-Lik: -15271.258, Max-Change: 0.00115
Iteration: 17, Log-Lik: -15271.258, Max-Change: 0.00022
Iteration: 18, Log-Lik: -15271.258, Max-Change: 0.00091
Iteration: 19, Log-Lik: -15271.258, Max-Change: 0.00020
Iteration: 20, Log-Lik: -15271.258, Max-Change: 0.00064
Iteration: 21, Log-Lik: -15271.258, Max-Change: 0.00013
Iteration: 22, Log-Lik: -15271.258, Max-Change: 0.00010
Iteration: 23, Log-Lik: -15271.258, Max-Change: 0.00048
Iteration: 24, Log-Lik: -15271.258, Max-Change: 0.00008
## [1] "2PL ITERATION 19. STARTED WITH 221 ITEMS. 2 OUTLIERS REMOVED. 219 ITEMS RETAINED."
## 
Iteration: 1, Log-Lik: -19968.508, Max-Change: 3.47981
Iteration: 2, Log-Lik: -15475.798, Max-Change: 1.09562
Iteration: 3, Log-Lik: -15142.444, Max-Change: 0.48839
Iteration: 4, Log-Lik: -15077.166, Max-Change: 0.21951
Iteration: 5, Log-Lik: -15063.965, Max-Change: 0.10982
Iteration: 6, Log-Lik: -15060.889, Max-Change: 0.06120
Iteration: 7, Log-Lik: -15060.093, Max-Change: 0.03801
Iteration: 8, Log-Lik: -15059.865, Max-Change: 0.03106
Iteration: 9, Log-Lik: -15059.790, Max-Change: 0.01466
Iteration: 10, Log-Lik: -15059.767, Max-Change: 0.01153
Iteration: 11, Log-Lik: -15059.756, Max-Change: 0.00771
Iteration: 12, Log-Lik: -15059.753, Max-Change: 0.00172
Iteration: 13, Log-Lik: -15059.752, Max-Change: 0.00150
Iteration: 14, Log-Lik: -15059.751, Max-Change: 0.00183
Iteration: 15, Log-Lik: -15059.751, Max-Change: 0.00106
Iteration: 16, Log-Lik: -15059.751, Max-Change: 0.00070
Iteration: 17, Log-Lik: -15059.750, Max-Change: 0.00032
Iteration: 18, Log-Lik: -15059.750, Max-Change: 0.00025
Iteration: 19, Log-Lik: -15059.750, Max-Change: 0.00086
Iteration: 20, Log-Lik: -15059.750, Max-Change: 0.00014
Iteration: 21, Log-Lik: -15059.750, Max-Change: 0.00069
Iteration: 22, Log-Lik: -15059.750, Max-Change: 0.00013
Iteration: 23, Log-Lik: -15059.750, Max-Change: 0.00048
Iteration: 24, Log-Lik: -15059.750, Max-Change: 0.00008
## [1] "2PL ITERATION 20. STARTED WITH 219 ITEMS. 1 OUTLIERS REMOVED. 218 ITEMS RETAINED."

Show items by difficulty

coefficients_pruned_items <- co %>%
  rename(slope = a, difficulty = b, item_pair = words) %>%
  arrange(-difficulty) 

# high value = high difficulty
coefficients_pruned_items %>%
  kable()
item_pair slope difficulty g u
pitcher_tumbleweed 0.7699518 4.4190482 0.5 1
coaster_painting 0.7442494 3.3960178 0.5 1
pitcher_batter 0.8454351 2.7856874 0.5 1
swordfish_catfish 1.1251841 2.2648695 0.5 1
mischievous_headaches 1.1270346 2.1935980 0.5 1
percussion_accordion 1.1417829 2.1635329 0.5 1
flan_fuse 0.9282225 2.1520565 0.5 1
cheese_butter 1.0976022 2.1077576 0.5 1
scaffolding_satellite 1.2898537 1.8012930 0.5 1
rosette_rose.ball 0.8466239 1.6345395 0.5 1
scrabble_whisk 1.4503297 1.5274864 0.5 1
aloe_bracket 1.4271506 1.4932443 0.5 1
gutter_filter 0.8309295 1.4540764 0.5 1
grate_reel 0.8259592 1.2969858 0.5 1
ecstatic_to.sleep 1.2707956 1.2903404 0.5 1
preserve_grilling 0.9146081 1.2311963 0.5 1
habit_diving.helmet 1.2644014 1.2153427 0.5 1
bobsled_dip 0.9253009 1.0740932 0.5 1
preserve_peel 0.9788532 1.0720997 0.5 1
bouquet_bandanna 1.6397969 0.9773572 0.5 1
intersection_avenue 1.6334464 0.9198264 0.5 1
bouquet_centerpiece 1.9668510 0.8890159 0.5 1
prune_raisin 0.8968020 0.8287550 0.5 1
slope_sky 0.7628325 0.7124675 0.5 1
stump_log 1.3964172 0.6050841 0.5 1
preserve_Heels 0.9608349 0.6047207 0.5 1
prism_radar 1.7486982 0.6035973 0.5 1
scrabble_poker 1.6343375 0.5853192 0.5 1
artifact_crystal 1.8782721 0.4514049 0.5 1
antenna_stem 1.1103216 0.3507095 0.5 1
rickety_dusk 1.7530558 0.3391963 0.5 1
syringe_seismograph 0.9649365 0.3307415 0.5 1
ecstatic_tired 0.9994697 0.2997397 0.5 1
pecan_peanut 1.2651690 0.2921406 0.5 1
parsley_tiara 1.7433351 0.2544090 0.5 1
cloak_hood 1.1199604 0.1926389 0.5 1
mandolin_mast 1.2704943 0.1156732 0.5 1
kayak_pendulum 1.3878609 0.0580533 0.5 1
saffron_cinnamon 1.6788586 0.0305519 0.5 1
corset_mantle 0.9798751 0.0214715 0.5 1
scaffolding_veil 1.5218856 -0.0231747 0.5 1
tapestry_backdrop 0.7054356 -0.0398321 0.5 1
pistachio_taco 1.0339945 -0.0510181 0.5 1
omelet_clay 1.0928400 -0.0591312 0.5 1
silverware_trophy 1.2288631 -0.0631135 0.5 1
headdress_crown 1.0117862 -0.2049739 0.5 1
gourmet_archaeological 1.6270659 -0.2074544 0.5 1
steam_pottery 1.8569712 -0.2166768 0.5 1
otter_beaver 1.4674086 -0.2198180 0.5 1
steam_rust 1.2104739 -0.2474933 0.5 1
cloak_cinnamon 1.2492424 -0.2479416 0.5 1
foam_float 1.9912624 -0.2529216 0.5 1
cornbread_corn 1.4187072 -0.3222535 0.5 1
thermos_firewood 1.8457314 -0.3257635 0.5 1
oatmeal_cereal 1.5584790 -0.3518695 0.5 1
artifact_herringbone 0.9052514 -0.3551196 0.5 1
sprinkler_sparkler 0.9002767 -0.3870163 0.5 1
syringe_vial 0.8430071 -0.3966057 0.5 1
bulldozer_tractor 1.1850904 -0.4016744 0.5 1
prism_subway 0.9268516 -0.4431109 0.5 1
stump_bookshelf 1.7559150 -0.4509028 0.5 1
kimono_cardigan 0.8344511 -0.4995001 0.5 1
saddle_handle 1.3494486 -0.5143269 0.5 1
prune_headrest 0.7494559 -0.5846496 0.5 1
rosette_manhole.cover 1.3496921 -0.6211950 0.5 1
gourmet_surgical 1.4850983 -0.6211997 0.5 1
oil_gel 1.0404520 -0.6318395 0.5 1
saddle_figurine 0.7951707 -0.6644408 0.5 1
pecan_steak 1.1580884 -0.7121039 0.5 1
latch_lock 1.1155507 -0.7243404 0.5 1
aloe_cactus 0.9581740 -0.8101365 0.5 1
stew_mixer 1.4634515 -0.8110132 0.5 1
slope_flat 0.9400335 -0.8394563 0.5 1
strap_sweater 1.5954863 -0.8803757 0.5 1
bark_skin 1.2935690 -0.9176953 0.5 1
coaster_card 0.7776972 -0.9494355 0.5 1
pump_plug 1.1719972 -0.9988315 0.5 1
blower_burner 1.3500984 -1.0656284 0.5 1
cork_skateboard 1.5968757 -1.0708181 0.5 1
screw_saw 1.5452477 -1.1140107 0.5 1
papaya_hotplate 1.6520891 -1.1204098 0.5 1
screw_corkscrew 0.8817926 -1.1263881 0.5 1
biscuit_column 1.4882177 -1.1402855 0.5 1
foam_quilt 0.8092869 -1.1429242 0.5 1
gutter_almond 1.3782892 -1.1532342 0.5 1
shredder_razor 1.0868665 -1.1701431 0.5 1
bark_thumb 1.4332718 -1.2010972 0.5 1
latch_microwave 1.2583986 -1.2066676 0.5 1
gourmet_astronomical 1.4421788 -1.2112201 0.5 1
cork_jersey 0.8827334 -1.2442485 0.5 1
swing_slide 1.6226913 -1.2632057 0.5 1
shredder_padlock 1.0629651 -1.2791306 0.5 1
silverware_garlic 1.2612611 -1.2823035 0.5 1
stretcher_drill 1.2795501 -1.2899243 0.5 1
fence_mask 1.9034492 -1.2924257 0.5 1
ship_boat 1.5977159 -1.3013538 0.5 1
spinach_mint 1.1126790 -1.3103379 0.5 1
sloth_clam 1.1939162 -1.3193463 0.5 1
seagull_pigeon 1.5756104 -1.3351871 0.5 1
neck_shoulder 1.2183014 -1.3573539 0.5 1
snail_worm 1.2778925 -1.3648625 0.5 1
seaweed_seafood 0.7060453 -1.4891569 0.5 1
honey_puppet 1.3615617 -1.4931405 0.5 1
conference_toast 0.9736322 -1.4964002 0.5 1
squash_pumpkin 1.3173044 -1.5717328 0.5 1
hopscotch_funnel 1.8304342 -1.5747707 0.5 1
dumpling_rocket 1.5467569 -1.5759944 0.5 1
teabag_tea 1.0089897 -1.5885716 0.5 1
barrel_shelf 1.2901653 -1.5922629 0.5 1
bandage_bag.binder 1.0540984 -1.6014692 0.5 1
cassette_tape 0.7959860 -1.6125587 0.5 1
chandelier_pepperoni 1.3210822 -1.6142755 0.5 1
chat_horse.riding 1.6151021 -1.6148136 0.5 1
cymbal_mallet 0.7168923 -1.6244964 0.5 1
taillight_luggage 1.2488765 -1.6332167 0.5 1
bulldozer_orange 1.3947495 -1.6396031 0.5 1
koala_panda 1.3538681 -1.6409223 0.5 1
puddle_bubble 1.1517374 -1.6536558 0.5 1
net_tee 1.3709936 -1.6586239 0.5 1
locker_basket 1.7363608 -1.7428649 0.5 1
shower_soap 1.2953204 -1.7591999 0.5 1
ski_suitcase 1.8358876 -1.7830641 0.5 1
treasure_gift 1.4318424 -1.7942634 0.5 1
squirrel_eagle 1.7113023 -1.7992196 0.5 1
honey_baby 1.8227065 -1.8025189 0.5 1
sink_stair 1.9247875 -1.8139073 0.5 1
fruitcake_fudge 1.2588447 -1.8149676 0.5 1
buffet_counter 1.5559307 -1.8153295 0.5 1
artifact_honeycomb 1.1696099 -1.8453699 0.5 1
towel_blanket 0.9686179 -1.8456850 0.5 1
sandbag_valve 1.0148338 -1.8490923 0.5 1
strap_staple 1.1437606 -1.8750296 0.5 1
caramel_olive 1.3697619 -1.8836719 0.5 1
bandage_mop 1.2251416 -1.8875543 0.5 1
squash_branch 1.2363258 -1.8915154 0.5 1
cassette_book 1.0294846 -1.9104343 0.5 1
chandelier_lightbulb 1.6421180 -1.9115793 0.5 1
scoop_statue 1.3393773 -1.9166569 0.5 1
chat_referee 1.1597086 -1.9190710 0.5 1
tongue_lipstick 1.7560864 -1.9222333 0.5 1
stretcher_thermostat 0.8455462 -1.9517587 0.5 1
clothespin_volleyball 1.2485737 -1.9668607 0.5 1
oil_grain 1.3509641 -1.9696110 0.5 1
swordfish_leopard 1.4840601 -1.9769917 0.5 1
net_domino 1.6068521 -1.9909046 0.5 1
neck_diaper 1.1583595 -1.9995848 0.5 1
trumpet_flute 0.9419716 -2.0016548 0.5 1
barrel_bucket 1.5917377 -2.0177461 0.5 1
fruitcake_dough 0.8614604 -2.0498246 0.5 1
hopscotch_chalk 1.0197235 -2.0537818 0.5 1
camp_to.steal 1.4005319 -2.0918457 0.5 1
spatula_lava 1.1446147 -2.1455316 0.5 1
shirt_uniform 1.1161797 -2.1509447 0.5 1
gazelle_tarantula 0.7639602 -2.1570770 0.5 1
swing_foot 1.3215308 -2.1613289 0.5 1
teapot_brake 1.3879848 -2.1951854 0.5 1
telescope_tripod 0.9901167 -2.2394800 0.5 1
seaweed_mousetrap 1.4059356 -2.2454470 0.5 1
spinach_buckle 1.0997213 -2.2467786 0.5 1
candlestick_egg 1.0548646 -2.2490697 0.5 1
acorn_coconut 1.4050201 -2.2579794 0.5 1
tapestry_leggings 1.2254626 -2.2643778 0.5 1
horn_chin 1.0771731 -2.2711884 0.5 1
map_ruby 1.3005822 -2.2889260 0.5 1
seagull_lobster 1.4707195 -2.2911118 0.5 1
bamboo_lumber 1.4163102 -2.2927793 0.5 1
rice_dice 1.2316634 -2.3446649 0.5 1
teabag_fingerprint 1.1971831 -2.3628399 0.5 1
blender_mailbox 1.2799485 -2.3648786 0.5 1
hedgehog_owl 1.4990797 -2.3682111 0.5 1
hamster_tadpole 1.5787080 -2.3723838 0.5 1
squirrel_monkey 1.1572664 -2.3812380 0.5 1
lollipop_candy 1.4498903 -2.3831054 0.5 1
buffet_crib 1.1939243 -2.3899391 0.5 1
coffee_drink 1.3490517 -2.4022233 0.5 1
elbow_bed 1.6338491 -2.4133081 0.5 1
otter_goose 0.8605801 -2.4201500 0.5 1
milkshake_robot 1.2365234 -2.4273571 0.5 1
towel_sausage 1.1828406 -2.4392836 0.5 1
sink_toilet 1.1452864 -2.4528371 0.5 1
trumpet_violin 1.0369922 -2.4811853 0.5 1
blender_blind 1.1975060 -2.4869745 0.5 1
puddle_baseball 0.7310268 -2.5102153 0.5 1
hedgehog_iguana 0.7989952 -2.5136325 0.5 1
ski_ice 0.8937355 -2.5394483 0.5 1
hoe_dustpan 0.8095499 -2.5683439 0.5 1
sloth_donkey 1.2181174 -2.5849016 0.5 1
carousel_dish 0.9947746 -2.6102591 0.5 1
hamster_rabbit 0.9978886 -2.6113685 0.5 1
coffee_vase 0.9581026 -2.6339383 0.5 1
map_marker 0.9844406 -2.6436128 0.5 1
elbow_arm 0.7858375 -2.6457866 0.5 1
triangle_diamond 1.1801765 -2.7973009 0.5 1
acorn_key 1.1597050 -2.8011880 0.5 1
triangle_lighter 1.3116216 -2.8593427 0.5 1
pie_pizza 0.9250047 -2.8699655 0.5 1
carrot_phone 1.0050115 -2.8937356 0.5 1
potato_glasses 1.2054244 -2.9506343 0.5 1
treasure_rope 1.1697414 -2.9888571 0.5 1
oatmeal_collar 1.0483076 -3.0011361 0.5 1
bamboo_yacht 0.7678036 -3.0977392 0.5 1
cake_refrigerator 0.9787270 -3.1253358 0.5 1
fan_boulder 0.9495205 -3.1293771 0.5 1
fence_railing 1.0654348 -3.1477351 0.5 1
snail_cow 1.0907459 -3.2105125 0.5 1
cornbread_wreath 1.1209167 -3.2399736 0.5 1
potato_pot 0.9253751 -3.2856220 0.5 1
cheese_mud 0.9712643 -3.3491948 0.5 1
fan_album 1.0509054 -3.3793213 0.5 1
sprinkler_flower 0.9845343 -3.4030475 0.5 1
shower_toe 0.7794190 -3.5334849 0.5 1
carrot_vegetable 0.9201296 -3.5719998 0.5 1
telescope_windshield 0.9360145 -3.5841938 0.5 1
lollipop_doorbell 0.7624874 -3.6135824 0.5 1
rice_box 0.9842183 -3.7032166 0.5 1
marshmallow_dryer 0.8406045 -3.8466565 0.5 1
sunflower_pineapple 0.7597429 -3.8719704 0.5 1
cake_dessert 0.7994461 -4.1138966 0.5 1
fox_reindeer 0.8778004 -4.1549434 0.5 1
tulip_glove 0.0000000 -Inf 0.5 1

Get item info for the ones we are left with

coefficients_pruned_items <- coefficients_pruned_items %>%
  left_join(item_info_clip) %>%
  mutate(wordPairingClip = replace_na(wordPairingClip, 'DAIVT'))

Replot coefficients for these items

ggplot(data = coefficients_pruned_items, aes(x=difficulty, y=slope, col=wordPairingClip)) + 
  geom_point(alpha=.5) + 
  ggrepel::geom_label_repel(aes(label = item_pair), max.overlaps=20, size=1) +
  theme_few(base_size=10) + 
  xlab("Kid IRT difficulty") +
  ylab("Kid IRT discriminability (slope)") +
  ggtitle('Prunted items slope vs. difficulty')

ggsave('pruned_model_by_item.pdf', height=4, width=7, units='in')

Get thetas from latest models and plot against PC

thetas <- fscores(m) %>%
  as_tibble() %>%
  add_column(sub_id = d_wide_kid$sub_id)

sub_data <- pilot_data_filtered %>%
  filter(cohort=='school') %>%
  distinct(sub_id, item_pair, correct) %>%
  group_by(sub_id) %>%
  summarize(mean_pc = mean(correct), num_trials = length(correct)) %>%
  left_join(thetas)

Theta tracks PC, good sanity check!

ggplot(data = sub_data, aes(x=F, y=mean_pc)) +
  geom_point(alpha=.15) +
  theme_few()  +
  xlab('Theta estimates') +
  ylab('Avg PC') +
  geom_smooth()

Plot items in pruned model

thetas <- seq(-6,6,.1)
coefficients_pruned_items <- coefficients_pruned_items %>%
  mutate(a1 = slope, d = difficulty)

with best discrimination

iccs <- coefficients_pruned_items %>%
  filter(a1 > quantile(a1, .9)) %>%
  split(.$item_pair) %>%
  map_df(function(d) {
    return(data_frame(item_pair = d$item_pair,
                      theta = thetas, 
                      p = irt2pl(d$a1, d$d, thetas)))
  })

ggplot(iccs,  
       aes(x = theta, y = p)) + 
  geom_line() + 
  facet_wrap(~item_pair) + 
  xlab("Ability") + 
  ylab("Probability of comprehension") +
  ggtitle('Items with best discrimination (pruned model, rocketship)')

Replot coefficients for pruned model

Plot items with worst discrimination

iccs <- coefficients_pruned_items %>%
  filter(a1 < quantile(a1, .1)) %>%
  split(.$item_pair) %>%
  map_df(function(d) {
    return(data_frame(item_pair = d$item_pair,
                      theta = thetas, 
                      p = irt2pl(d$a1, d$d, thetas)))
  })

ggplot(iccs,  
       aes(x = theta, y = p)) + 
  geom_line() + 
  facet_wrap(~item_pair) + 
  xlab("Ability") + 
  ylab("Probability of comprehension") +
  ggtitle('Items with worst discrimination (rocketship, pruned model)')

Plot items with highest difficulty

iccs <- coefficients_pruned_items %>%
  filter(d > quantile(d, .9)) %>%
  split(.$item_pair) %>%
  map_df(function(d) {
    return(data_frame(item_pair = d$item_pair,
                      theta = thetas, 
                      p = irt2pl(d$a1, d$d, thetas)))
  })

ggplot(iccs,  
       aes(x = theta, y = p)) + 
  geom_line() + 
  facet_wrap(~item_pair) + 
  xlab("Ability") + 
  ylab("Probability of comprehension") +
  ggtitle('Most difficult items (rocketship, pruned moel)')

Plot easiest items

iccs <- coefficients_pruned_items %>%
  filter(d < quantile(d, .1)) %>%
  split(.$item_pair) %>%
  map_df(function(d) {
    return(data_frame(item_pair = d$item_pair,
                      theta = thetas, 
                      p = irt2pl(d$a1, d$d, thetas)))
  })

ggplot(iccs,  
       aes(x = theta, y = p)) + 
  geom_line() + 
  facet_wrap(~item_pair) + 
  xlab("Ability") + 
  ylab("Probability of comprehension") +
  ggtitle('Easiest items (rocketship, pruned model)')

Plot hard items that discriminate well

iccs <- coefficients_pruned_items  %>%
  filter(d > quantile(d, .8) & a1 > quantile(a1, .8)) %>%
  split(.$item_pair) %>%
  map_df(function(d) {
    return(data_frame(item_pair = d$item_pair,
                      theta = thetas, 
                      p = irt2pl(d$a1, d$d, thetas)))
  })

ggplot(iccs,  
       aes(x = theta, y = p)) + 
  geom_line() + 
  facet_wrap(~item_pair) + 
  xlab("Ability") + 
  ylab("Probability of comprehension") +
  ggtitle('Difficult items that discriminate well')

Look at item parameters vs. pc

coefficients_pruned_items <- coefficients_pruned_items %>%
  left_join(items_all_responses)

Difficulty vs. PC

ggplot(data = coefficients_pruned_items, aes(x=difficulty, y=pc, col=wordPairingClip)) + 
  geom_point(alpha=.5) + 
  ggrepel::geom_label_repel(aes(label = item_pair), max.overlaps=20, size=1) +
  theme_few(base_size=10) + 
  xlab("Kid IRT difficulty") +
  ylab("Kid overall PC") +
  ylim(.4,1) +
  geom_smooth() +
  geom_hline(yintercept=.5, color='grey') +
  ggtitle('Prunted items difficulty vs. pc')

Slopes vs. PC

ggplot(data = coefficients_pruned_items, aes(x=slope, y=pc, col=wordPairingClip)) + 
  geom_point(alpha=.5) + 
  ggrepel::geom_label_repel(aes(label = item_pair), max.overlaps=20, size=1) +
  theme_few(base_size=10) + 
  xlab("Kid IRT slope") +
  ylab("Kid overall PC") +
  ylim(.4,1) +
  geom_smooth() +
  geom_hline(yintercept=.5, color='grey') +
  ggtitle('Prunted items slope vs. pc')

Refit a rasch model with these items only (ongoing)

# kept_items = coefficients_pruned_items$item_pair
# 
# d_wide_kid_model_subset<- pilot_data_filtered %>%
#   ungroup() %>%
#   filter(cohort == 'school') %>%
#   filter(item_pair %in% kept_items) %>%
#   select(sub_id, item_pair, correct) %>%
#   arrange(item_pair) %>%
#   ungroup() %>%
#   pivot_wider(names_from=item_pair, values_from=correct, values_fn = ~mean(.x)) %>%
#   ungroup()
# 
# d_mat_kid_model_subset <- d_wide_kid_model_subset %>%
#   select(-sub_id) %>%
#   data.frame %>%
#   data.matrix 
# 
# rownames(d_mat_kid_model_subset) <- d_wide_kid_model_subset$sub_id
# 
# assertthat::assert_that(dim(d_mat_kid_model_subset)[2]==length(kept_items))