knitr::opts_chunk$set(collapse = TRUE, comment = "#>") library(eyeprocess)
The central 0.10 question is not whether adding sensors makes a model more complicated. It is whether a process channel provides additional measurement information for a defined target. Because RT, gaze and pupil may be correlated, their contributions are not assumed to add linearly.
M3 therefore defines the complete response-anchored lattice:
eyeprocess:::.ep10_m3_ablation_definitions()
The eight models are response only; response + RT; response + gaze; response + pupil; each two-process-channel combination; and the full four-channel model.
sim <- simulate_multimodal_m3(n_person = 100, n_item = 12, seed = 20260815) ab <- multimodal_m3_ablation( sim, chains = 4, parallel_chains = 4, iter_warmup = 750, iter_sampling = 750, refresh = 0 ) info <- multimodal_m3_process_information(ab) print(info)
multimodal_m3_process_information() uses response-target PSIS-LOO and posterior variance of person ability. It does not sum channel Fisher information under a correlated joint model.
Pupil is compared with and without the channel in four contexts: response only, response + RT, response + gaze, and response + RT + gaze. The paired response-ELPD contrast is accompanied by a standard error and a descriptive evidence classification. The classification can return no_clear_incremental_pupil_information; this is an intended scientific outcome, not a failure of the package.
info$incremental_pupil plot(info, type = "incremental_pupil")
The non-additivity table contrasts the full model with the sum of single-channel additions and asks whether the incremental pupil gain is attenuated or amplified after RT and gaze are already included.
info$nonadditivity plot(info, type = "redundancy")
These are model-conditional predictive contrasts. “Synergy” in this table means non-additivity on the response ELPD scale; it does not establish a causal interaction among psychological processes.
M3 adds two deliberately practical diagnostics. sensor_value reports pupil response-target gain per usable pupil observation and per analyst-supplied relative sensor cost. channel_conflict places predictive performance beside convergence/stability diagnostics. A sensor can improve an in-sample latent representation while worsening response prediction or computational geometry; M3 surfaces that conflict rather than hiding it behind one scalar rank.
info$sensor_value info$channel_conflict plot(info, type = "sensor_value") plot(info, type = "conflict")
These diagnostics are not economic cost-effectiveness analyses and not causal estimates. Their role is to prevent “more modalities” from becoming an automatic conclusion of “more information.”
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.