Repository navigation
Added
run_graceandrun_reaprefine any directed candidate graph (candidate_graph=) or a
CDNOTS graph: GRACE with L0 Hard Concrete gates, REAP with a spline partial-F
grow-shrink (contemporaneous=True,effect_floor="adaptive"); CLI
discover --algorithm reap. New GRACE options: grow rounds (grow_rounds,
grow_variance, ...), an F-tested autoregressive head (ar_path),
gate_threshold="auto" | "li",lambda_rule,effect_floor,data_transform,
noise_model, with matchingGraceResultfields.- CI tests
gcm,wgcm,pcm(residual score) andraft,rift(random-feature
F-tests);order_independent=TrueonKCIGPU,LinSigCIGPU,GCMIGPU,CMIknnGPU
andCMIknnMixedGPU. - CDNOTS+ options, off by default:
lag0_orient="lingam"orients undirected lag-0 edges
(bootstrap-checked DirectLiNGAM, linear mechanisms);addback_alpha/veto_alpha/
alpha_mcigrow and prune lagged links (result.lag_refinements);
return_prefix=Truewithfinish_cdnots_plus()reuses one skeleton. - CDNOTS / CDNOTS+:
majority_gamma(ambiguity band for the majority collider rule) and
run_cdnots(collider_search="full" | "sepset"). - Rendering of undirected lag-0 edges is chosen after discovery:
to_binary(undirected=, conflict=), losslessto_marks(),plot(undirected=), and the same on the tigramite
converters (cg_tigunchanged).evaluate_graph()adds*_lag0,*_lag0_adjand
*_lagposmetrics. run_lucid(pervasive_lagged="factor_adjusted"): opt-in factor-adjusted lagged edges on
the pervasive route.check_variance_dependence(variance-only lagged parents), feeding newinspectfacts
andrecommendation["refine"];merge_lag0.corr_table()andpairs_panel().- Opt-in generator fixes:
henon_chain(bounded_start=True),
topology_scp(coef_pools="fixed"),RegimeConfig(threshold_rounding="ceil"). - Example notebooks
ci_test_selectionanddowhy_latent_confounders.
Changed
Results can change for:
- CDNOTS / CDNOTS+ lag-0 orientation: Meek R1 runs to closure, collider votes condition on
correctly shifted parents, ambiguous triples and NaN scores stay undirected, collider
cycles keep their true edges. Also CDNOTS+ withinclude_C=Trueandlag_verify=True. run_cdnots_pluswraps discrete-unaware CI tests inStratifiedCIT, likerun_cdnots;
neither wrapschisq/gsquared(discrete_cols=[]restores the old behaviour).- A one-sided lag-0 forbid keeps the adjacency; forbid both directions to remove it.
- GRACE defaults to its paper configuration (rank transform, Student-t likelihood,
lambda_rule="xcorr", one grow round, autoregressive head,gate_threshold="auto",
effect_floor=1-exp(-0.02)). A suppliedskeleton=is a starting point;
grow_rounds=0, ar_path=Falsekeeps the result inside it. recommend_config: always CDNOTS; the CI test follows the data (cmiknn-mixed-gpu,
rcot,raft,parcorr-gpu), with a GRACE or REAP refinement.- LUCID and
inspectplace the Marchenko-Pastur edge from residual degrees of freedom, so
routing andn_factorschange on wide panels. DFCITGPU: the bandwidth scales with |Z| and uses leave-one-out smoothing; the automatic
block length is sqrt(n) of the tested rows; the CLI anddiscover_dfpass it their alpha.sigkci/SigKCIGPUare renamedlinsig/LinSigCIGPU(old names deprecated) with a
kernel-scaledridge;RCOTGPUdefaults tonum_f2=min(25, floor(sqrt(T))),
n_avg=1,seed=42;ParCorrGPU.__call__reads the cached covariance (5.8x faster for
scalar callers).causal-ts -sseeds the CI test, and disk-cache keys include every result-shaping
setting, so old caches miss.discover -a cdnots+defaults--alphato 0.01.run_regime_discoverycounts lag-0 edges in the segment vote;to_design_matrixdrops
lagged children (with a warning);inspectskips non-numeric columns.- Cedar
pvalue_matrixis NaN (JSONnull) for untested self-loops and required edges.
API:
- Keyword-only:
orient_margin,legacy_mci_conds,routed_deconfoundoptions after
arch_alpha, andrun_cdnots_gatedarguments afterlambda_cv. discover_df(ci_test=)reaches GRACE, GRACE-SS and REAP;create_ci_testignores
devicefor CPU-only tests;causalts.__all__drops import helpers; Cedar's
max_prune_pathis deprecated.
Fixed
- CDNOTS / CDNOTS+ background knowledge: required lag-0 edges are oriented and never
tested away (time-shifted copies included); edges forbidden both ways are removed; the
forbidden-ancestor cleanup keeps required edges;ancestral_violationsreports
unsatisfied constraints. - CDNOTS+:
pvalue_matrixdropped lagged tests and transposed lag-0 ones;max_conds_*
kept the lowest-indexed parents instead of the strongest; a gappedlag_listread the
wrong lags; a C column was taken as a collider middle; laggedo-o/x-xand C edges
rendered wrongly. - Discrete data:
StratifiedCIT/CMIknnMixedGPUlag structure, missing values, cache
keys and permutation null; misaligned discrete columns withinclude_C=True; a crash
with--ci-test cmiknn-mixed-gpu(now rejected for CEDAR and GRACE-SS); boolean columns. - CI tests: infinite input raises
ValueError;ParCorrGPUstale cache after replaced
data and ill-conditioned batch tests (#74);GCMIGPUwith multivariate X or Y;
randomised nulls honourseed;RCOTGPUorder dependence;LinSigCIGPUreuse across
lag layouts;DFCITGPUover-rejection with |Z| >= 2 and the CLI's fixed block length. - GRACE
run_ci_skeleton(include_C=False)treated the last variable as C; a core-only
install failed to import (undeclaredsix). causal-ts evaluate/--ground-truthtrimmed extra lags;shd_2d/shd_3d
counting; graph comparison plots with lag-0 mirror marks or one variable;
run_tigramite(method="pc_stable")returned an empty graph;select_featuresC-label
collisions.sensitivity_analysis()androuted_deconfound(keep_undirected=True, pervasive_base="tetrad")no longer raise;ChangePointRegimeDetector.assignon
pandas 3;generate -s 0;check_linearityon long lags; read-only input warnings;
docstring and CLI help errors.