Class NonGaussianSemSimulation

java.lang.Object
edu.cmu.tetrad.algcomparison.simulation.SemSimulation
edu.cmu.tetrad.algcomparison.simulation.NonGaussianSemSimulation
All Implemented Interfaces:
Simulation, HasParameters, TetradSerializable, Serializable

public class NonGaussianSemSimulation extends SemSimulation
A linear SEM simulation whose exogenous noises are drawn independently from the distribution given by the customNoiseExpression parameter (default Exp(1)) rather than from Gaussians. This is the data-generating model assumed by LiNGAM-style algorithms.

The noise distribution is fixed to the custom expression; the engine-level switch between Gaussian and custom noise is not a user option for this simulation (for Gaussian noises, use SemSimulation). Because the noises are drawn directly from the expression, the error variance and error covariance bounds of the Gaussian simulation do not apply and are not listed: the noise scale is whatever the expression gives, and any correlated errors in the graph are ignored in this simulation.

See Also:
  • Constructor Details

    • NonGaussianSemSimulation

      public NonGaussianSemSimulation(RandomGraph graph)
      Constructs a NonGaussianSemSimulation object with the given RandomGraph object.
      Parameters:
      graph - the RandomGraph object used for simulation.
      Throws:
      NullPointerException - if graph is null.
  • Method Details

    • getDescription

      public String getDescription()
      Returns the description of the simulation.
      Specified by:
      getDescription in interface Simulation
      Overrides:
      getDescription in class SemSimulation
      Returns:
      a short, one-line description of the simulation.
    • getShortName

      public String getShortName()
      Returns the short name of the simulation.
      Specified by:
      getShortName in interface Simulation
      Overrides:
      getShortName in class SemSimulation
      Returns:
      The short name of the simulation.
    • getParameters

      public List<String> getParameters()
      Retrieves the parameters required for the simulation. These are the Linear Gaussian SEM's parameters minus the error variance and error covariance bounds, which the non-Gaussian noise path does not use, plus the noise distribution expression.
      Specified by:
      getParameters in interface HasParameters
      Specified by:
      getParameters in interface Simulation
      Overrides:
      getParameters in class SemSimulation
      Returns:
      A list of String names representing the parameters.