Skip to content

feat(psychometric): recover Driver 2017-era addedTIPREDVARstd after addedTIPREDVAR - #203

Draft
seonghobae wants to merge 2 commits into
agent/psychometric-asymptotic-tipred-observed-variancefrom
agent/psychometric-standardised-asymptotic-tipred-variance
Draft

feat(psychometric): recover Driver 2017-era addedTIPREDVARstd after addedTIPREDVAR#203
seonghobae wants to merge 2 commits into
agent/psychometric-asymptotic-tipred-observed-variancefrom
agent/psychometric-standardised-asymptotic-tipred-variance

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

Stacked on #200 (8f42947) / #199 (7a476ed) / #198 (52a9b4c) / #196 (1cb91b4) / #194 (471b115) / #192 (1690c7b) / #190 (adb0bc6) / #189 (0836c35) / #188 (444304d) / #187 (6afd048) / #185 (69ffec6) / #184 (6b93147) / #183 (c10097be) / #182 (2d4d6bf) / #181 (542806b) / #49 (6f95142). ADR 0005 executable slice stays inside psychometric_core. This is not a second invariance crate and does not recreate #78 or #80. It does not duplicate #195 CINTstd, #197 T0TDPREDEFFECTstd, or #202 TDPREDEFFECTstd.

psychometric_core recovers the Driver, Oud, and Voelkle (2017, p. 16; §7.2, pp. 20–21; Table 2, p. 12; 2017-era ctsem summary.ctsemFit.R; JSS PDF re-opened 2026-08-23T21:22Z from https://www.jstatsoft.org/index.php/jss/article/download/v077i05/1104) scalar standardised extra time-independent predictor variance addedTIPREDVARstd. Page 16 prints standardised matrices with the suffix std when appropriate. After addedTIPREDVAR as asymTIPREDEFFECT %*% TIPREDVAR %*% t(asymTIPREDEFFECT), the 2017-era summary.ctsemFit.R forms addedTIPREDVARstd = solve(sqrt(diag(addedTIPREDVAR))) %&% addedTIPREDVAR. OpenMx %&% is the quadratic form t(A) %*% B %*% A. The default ridging = FALSE adds 0, not 0.0001; that ridge is a numerical hack and is not this exact map. The scalar correlation is extra / extra = 1 after strictly positive extra. Form addedTIPREDVAR first, then the ratio.

  • A zero extra has no positive extra SD and fails closed (StandardisedAsymptoticTimeIndependentVarianceRequiresPositiveExtraVariance).
  • v < 0 fails closed (InvalidNumericInput).
  • A non-event clock fails closed (EventTimeRequired).
  • a ≥ 0 cannot hold a finite process-mean change when the extra is nonzero and fails closed (AsymptoticTimeIndependentEffectRequiresStableDrift).
  • Unstandardised (B / a)² v is defined for a zero coefficient and for zero predictor variance; standardised addedTIPREDVAR is not.
  • λ² (B / a)² v is Eq. 5 of the extra, not this correlation.
  • t0_b² v is addedT0TIPREDVAR, not this asymptotic extra correlation.
  • TRAITVAR is not the standardisation variance.
  • The printed 2-latent addedTIPREDVAR 2.838 is not this scalar 1.

Still not a Kalman filter, not a matrix expm, not ESEM estimation, not DSEM, and not ctsem estimation. Meredith (1993) remains unread (Unpaywall 2026-08-23T21:22Z: is_oa: false; title Measurement Invariance, Factor Analysis and Factorial Invariance). Mislevy (1991, Psychometrika, 56, 177–196) remains unread (Unpaywall 2026-08-23T21:22Z: is_oa: false; title Randomization-Based Inference about Latent Variables from Complex Samples).

Do not merge, self-approve, or request Copilot.

@coderabbitai

coderabbitai Bot commented Aug 23, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant