feat(psychometric): restore Driver p.16 TIPREDVARstd v/v=1 on main - #475
feat(psychometric): restore Driver p.16 TIPREDVARstd v/v=1 on main#475seonghobae wants to merge 1 commit into
Conversation
Restore recover_standardised_time_independent_predictor_variance as the footnote-4 quadratic form of Table 3 TIPREDVAR after strictly positive v. Zero predictor variance fails closed, matching 2017-era solve(sqrt(0)). Distinct named quantities remain distinct when they equal 1. JSS PDF re-opened 2026-09-01T19:20Z. Meredith (1993) and Mislevy (1991) remain unread.
|
Warning Review limit reachedNext included review available in 41 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (8)
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. Comment |
| /// and remains a distinct named quantity. This crate now exports | ||
| /// `TIPREDVARstd`. This crate does not currently export | ||
| /// `DIFFUSIONstd`; the refuse still names that quantity. This is | ||
| /// not a Kalman filter, not a matrix `expm`, not DSEM, and not | ||
| /// ctsem estimation. |
There was a problem hiding this comment.
| let predictor_sd = time_independent_predictor_variance.sqrt(); | ||
| let inverse_sd = require_finite(1.0 / predictor_sd)?; | ||
| let scaled = require_finite(inverse_sd * time_independent_predictor_variance)?; | ||
| require_finite(scaled * inverse_sd) |
|
Canonical-owner repair started in |
Restore one named Driver, Oud, and Voelkle (2017) p. 16 map on current
main: scalarTIPREDVARstdasv / v = 1after strictly positiveTIPREDVAR.Paper (re-opened this cycle)
JSS PDF re-opened 2026-09-01T19:20Z from https://www.jstatsoft.org/index.php/jss/article/download/v077i05/1104.
TIPREDVARthe lower-triangularn.TIpred × n.TIpredCholesky matrix of time-independent predictors variance/covariance.TIPREDVAR.stdwhen appropriate. The printed example isdiscreteDRIFTstd, notTIPREDVARstd.2017-era cran/ctsem 2.5.0
R/summary.ctsemFit.R(re-opened this cycle):if(ridging==TRUE) ridging<- .0001 else ridging <- 0. Default ridge is 0. UnlikeTRAITVAR/MANIFESTTRAITVAR, that source does not skip formingTIPREDVARstdwhenv = 0;solve(sqrt(0))fails. OpenMx%&%ist(A) %*% B %*% A.Meredith (1993) remains unread. Mislevy (1991) remains unread.
Map
recover_standardised_time_independent_predictor_variance:v.vfails closed (StandardisedTimeIndependentPredictorVarianceRequiresPositivePredictorVariance).1 / √v, then(1 / √v) v (1 / √v). Return the quadratic form, not a hardcodedOk(1.0).vrecover the same 1.TIPREDVARdoes not require stablea < 0.Refuses (equal numbers remain distinct named quantities):
TIPREDVARis notTIPREDVARstdMANIFESTVARstdθ / θ = 1is notTIPREDVARstd(this crate already exportsMANIFESTVARstd)addedTIPREDVAR(B / a)² vis extra process variance, not this correlationThe existing refuse of
TIPREDVARstdasasymDIFFUSIONstdis kept.Not this PR
DIFFUSIONstdq / p = −2 a.Local verification
cargo +1.98.0 test -p psychometric_core --lib— 189 passedTIPREDVARstdintegration tests — passedcargo +1.98.0 clippy -p psychometric_core --all-targets -- -D warnings— cleanRUSTDOCFLAGS='-D warnings' cargo +1.98.0 doc -p psychometric_core --no-deps— cleancargo +1.98.0 fmt --all -- --check— clean