--- title: "Advanced model programme and validation" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Advanced model programme and validation} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include=FALSE} knitr::opts_chunk$set(collapse = TRUE, comment = "#>", eval = FALSE) ``` The advanced functions are model families with explicit validation obligations. They are not automatically confirmatory because they execute. ## Dynamic gaze-state IRTree baseline ```{r} dynamic <- fit_dynamic_irtree( dataset, dynamic_irtree_spec(source = "samples", include_response = TRUE) ) plot(dynamic) ``` ## Functional pupil-informed IRT ```{r} pupil_fit <- fit_joint_functional_pupil_irt( dataset, functional_pupil_irt_spec(df = 5, engine = "two_stage_lme4") ) plot(pupil_fit) ``` ## Theory-defined strategies ```{r} prototypes <- rbind( constructive = c(matrix_dwell = 0.8, toggling = -0.5), elimination = c(matrix_dwell = -0.4, toggling = 0.9) ) strategy_fit <- fit_theory_strategy_irt( dataset, theory_strategy_spec(prototypes) ) plot(strategy_fit) ``` ## Gaze-informed diffusion ```{r} diffusion <- fit_gaze_diffusion_irt( dataset, gaze_diffusion_spec( engine = "ez_regression", gaze_features = c("dwell_time_ms", "first_fixation_latency_ms") ) ) plot(diffusion) ``` Each model should undergo parameter recovery, coverage, misspecification, grouped validation, preprocessing sensitivity, and empirical reproduction before confirmatory use. ## Monte Carlo design The package supplies a declared design grid rather than hiding validation conditions inside scripts. The screening grid varies sample size, item count, ability--speed correlation, process effects, feature reliability, process missingness, AOI-state error, pupil autocorrelation, luminance confounding, DIF, and local dependence. ```{r} grid <- advanced_validation_grid(quick = TRUE) head(grid) simulation <- do.call( simulate_advanced_process_data, c(as.list(grid[1, ]), list(seed = 20260804L)) ) str(simulation, max.level = 1) ``` A production validation run should use the full grid or a preregistered subset, sufficient replications, confidence intervals, explicit expected-failure scenarios, and grouped person/item validation. A fitted object without interval coverage or a reproduction object without published targets cannot satisfy the promotion gate. ## Evidence promotion gate ```{r} evidence <- list( fit_process_irt = list( recovery = recovery_result, calibration = sbc_result, misspecification = misspecification_result, grouped_validation = grouped_result, engine_equivalence = engine_result, empirical_reproduction = reproduction_result, sensitivity = multiverse_result ) ) model_audit <- audit_advanced_model_evidence(evidence) plot(model_audit) write_advanced_model_evidence_report(model_audit, "validation/advanced-model-evidence.md") ``` A model is promoted only when all evidence gates declared in `advanced_model_evidence_spec()` are satisfied.