Repository navigation
feat: calibrate(bounds=) holds g within bounds during the solve, as R's grake - #421
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
calibrate(bounds=(lo, hi))andcalibrate_matrix(bounds=)no longer raiseNOT_SUPPORTED: the factor g = new/old weight is held within the bounds during the solve, as R survey'scalibrate(bounds=)with the linear distance.calibrate_boundedandcalibrate_bounded_by_domain, a port ofgrakewithcal.linear(Newton steps on theMASS::ginvpseudo-inverse, R's stopping rule|misfit| / (1 + |t|) < epsilon, and its pre-scaling of weights far below the controls).tol=(1e-7, Repsilon) andmax_iter=(50, Rmaxit), used with bounds. A solve that stops short raisesWEIGHTING_NOT_CONVERGEDnaming the domains or replicate weights;on_nonconvergence="warn"keeps the last iterate (Rforce=TRUE). Failed replicates followon_nonconvergence, as the closed-form replicate check does; R keeps them with a warning.bounds=withtrimming=raisesNOT_SUPPORTED. No side set keeps the closed form, unchanged.Tests: R 4.5 fixtures on apiclus1, apistrat and apisrs (two-sided, one-sided,
tol=0.01,scale=, stratum interaction,by=, unit weights, non-convergence, JK1 replicates). Weights match at 1e-12, Taylor SEs at 1e-8, and the failing replicates (9, 11, 12) and their miss match R. Rust unit tests pin hand-computed cases. The five tests that asserted the refusal are replaced.Needs an svy-rs release before svy.