knitr::opts_chunk$set(collapse = TRUE, comment = "#>") library(eyeprocess)
Pupil measurements can vary with device, sampling rate, gaze geometry, missingness and preprocessing. A four-channel model therefore needs falsification and transport diagnostics in addition to a richer likelihood. M3 exposes those concerns without asserting that a device label itself explains measurement differences.
sim <- simulate_multimodal_m3( n_person = 80, n_item = 10, pupil_missingness = "device", seed = 20260815 ) audit <- audit_multimodal_m3_identifiability(sim) audit$device
plot(sim, type = "device") plot(audit, type = "device")
These outputs identify device-specific shifts or availability patterns in the simulation. They do not establish measurement invariance. Empirical device transport requires repeated-device or appropriately linked data, explicit equivalence/invariance analysis and validation of the underlying pupil units and preprocessing semantics.
neg <- multimodal_m3_negative_controls(sim, seed = 20260816) neg$provenance
M3 includes pupil permutations within item and within person, phase randomization, a luminance-only pseudo-pupil, and an irrelevant synthetic pupil channel. These deliberately break different aspects of person/item alignment. They are tests of whether the analysis pipeline is too willing to manufacture process value; they are not causal interventions and not participant-behavior or misconduct detectors.
plot(neg, type = "pupil_alignment")
After an ablation lattice has been fitted, multimodal_m3_process_information() reports the response-target pupil gain per usable pupil observation and per analyst-supplied relative sensor cost. This can support design discussions about whether a pupil channel is worth collecting under a specific model and target.
ab <- multimodal_m3_ablation(sim, chains = 4, parallel_chains = 4) info <- multimodal_m3_process_information(ab, pupil_cost = 1.5) info$sensor_value plot(info, type = "sensor_value")
The calculation is intentionally labeled a sensor value-of-information screen, not an economic cost-effectiveness analysis. It does not account automatically for equipment depreciation, staff time, participant burden, calibration failures, or the value of non-response outcomes.
The same information object places response ELPD beside convergence diagnostics. This makes a useful failure mode visible: a channel can look incrementally predictive while substantially worsening computational stability, or can sharpen latent estimates without improving held-out response prediction. M3 keeps those dimensions separate so that a single improvement cannot hide a meaningful trade-off.
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.