49. StARS

Type: Wrapper / regularization-path stability tuner (Stability Approach to Regularization Selection)
Output: Same graph class as the wrapped algorithm (DAG / CPDAG / PAG / etc.)

StARS wraps a base Tetrad Algorithm and selects a value of a single tuning parameter (such as a penalty λ) using the Stability Approach to Regularization Selection.
It repeatedly runs the base algorithm on bootstrap subsamples across a range of parameter values, measures how unstable the adjacencies are, and chooses the largest parameter that keeps instability below a user-specified cutoff.


49.1. Key Idea

The workflow is:

  1. Generate bootstrap subsamples.
    Draw numSubsamples bootstrap samples (with replacement) of size percentSubsampleSize * N.

  2. Scan a parameter grid.
    For each parameter value between low and high (stepped by 0.5), set
    parameters[parameter] = lambda,
    then run the base algorithm on each subsample.

  3. Measure instability D(lambda).
    For each pair of variables i and j, compute theta(i,j), the fraction of subsample graphs in which they are adjacent.
    Compute xsi(i,j) = 2 * theta(i,j) * (1 - theta(i,j)).
    Then D(lambda) is the average of xsi(i,j) over all i < j.
    (Only adjacency is considered; orientations are ignored.)

  4. Pick the chosen parameter.
    Among all parameter values where D(lambda) is below the cutoff (StARS.cutoff), choose the one with the largest D(lambda).
    If using logScale = true, transform the chosen value via a base-10 exponential; otherwise use it directly.

  5. Final graph.
    Run the base algorithm once, on the full dataset, with this selected parameter value, and return its graph.


49.2. When to Use

Use StARS when:

  • You have an algorithm with a penalty or tuning parameter and want a principled, stability-based way to choose it.

  • You want adjacency robustness across subsamples, not just overall fit.

  • You are willing to spend extra time on a bootstrap + parameter scan to get a better-tuned model.

Typical use cases:

  • Score-based methods with penalty parameters (FGES, BOSS, DAGMA variants, etc.)

  • Constraint-based methods that use a threshold or alpha playing the role of a regularization parameter.

Related:

  • StabilitySelection — which aggregates edges by frequency instead of choosing a single parameter.


49.3. Prior Knowledge Support

StARS passes all knowledge constraints directly to the wrapped algorithm.

  • StARS itself has no knowledge object.

  • If the wrapped algorithm supports forbidden edges, required edges, tiers, or background knowledge, those constraints are fully honored during every subsample run and in the final full-data run.

Thus: knowledge support = whatever the wrapped algorithm supports.


49.4. Strengths

  • Provides a principled way to pick a regularization parameter.

  • Works with any Tetrad algorithm that exposes a tunable numeric parameter.

  • Parallelized (ForkJoinPool) for efficient subsample evaluation.

  • Returns a single, interpretable graph from the underlying algorithm.


49.5. Limitations

  • Computationally expensive (subsamples × parameter values × algorithm cost).

  • Only tunes one parameter.

  • Uses a fixed parameter grid (increments of 0.5).

  • Measures only adjacency instability, not orientation instability.

  • Some GUI parameters (e.g., StARS.tolerance) are currently placeholders.


49.6. Key Parameters in Tetrad

These appear in addition to the wrapped algorithm’s own parameters.

Parameter (camelCase)

Description

parameter (constructor arg)

Name of the parameter to tune (e.g., “penaltyDiscount”).

low, high (constructor args)

Range of parameter values to scan. Stepped internally by 0.5.

percentSubsampleSize

Fraction of N to use for bootstrap samples.

numSubsamples

Number of subsamples used to estimate instability.

StARS.cutoff

Instability cutoff. StARS chooses the largest lambda with D(lambda) < cutoff.

logScale

If true, interpret the scanned parameter values as log-base-10 values.

StARS.percentageB

Present in the parameter list for symmetry; not used in the current implementation.

StARS.tolerance

Placeholder; not used by the current code.

depth, verbose

Passed through to the wrapped algorithm.


49.7. Reference

Adapted from:

  • Liu, Roeder, and Wasserman (2010).
    “Stability Approach to Regularization Selection (StARS) for High-Dimensional Graphical Models.”

Tetrad generalizes this from graphical LASSO to arbitrary causal discovery algorithms by measuring adjacency instability between subsamples.


49.8. Summary

StARS selects a stability-optimal value of a tuning parameter by running a base Tetrad algorithm on many subsamples, measuring adjacency instability, and choosing the largest parameter that remains below a user-chosen stability cutoff. It produces a single, better-tuned result from the wrapped algorithm.