Class SensitivityAnalysis.MonteCarloResult

java.lang.Object
neqsim.process.util.fielddevelopment.SensitivityAnalysis.MonteCarloResult
All Implemented Interfaces:
Serializable
Enclosing class:
SensitivityAnalysis

public static final class SensitivityAnalysis.MonteCarloResult extends Object implements Serializable
Complete Monte Carlo analysis result.

Contains all trial results and computed statistics including percentiles, mean, standard deviation, and sensitivity rankings.

Version:
1.0
Author:
ESOL
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • trials

      private final List<SensitivityAnalysis.TrialResult> trials
    • p10

      private final double p10
    • p50

      private final double p50
    • p90

      private final double p90
    • mean

      private final double mean
    • stdDev

      private final double stdDev
    • min

      private final double min
    • max

      private final double max
    • tornadoSensitivities

      private final Map<String,Double> tornadoSensitivities
    • mostSensitiveParameters

      private final List<String> mostSensitiveParameters
    • feasibleCount

      private final int feasibleCount
    • convergedCount

      private final int convergedCount
    • outputName

      private final String outputName
    • outputUnit

      private final String outputUnit
  • Constructor Details

    • MonteCarloResult

      public MonteCarloResult(List<SensitivityAnalysis.TrialResult> trials, Map<String,Double> tornadoSensitivities, String outputName, String outputUnit)
      Creates a Monte Carlo result.
      Parameters:
      trials - list of trial results
      tornadoSensitivities - map of parameter name to sensitivity
      outputName - name of output metric
      outputUnit - unit of output metric
  • Method Details

    • getPercentileFromSorted

      private double getPercentileFromSorted(List<SensitivityAnalysis.TrialResult> sorted, double percentile)
    • getTrials

      Gets all trial results.
      Returns:
      unmodifiable list of trials
    • getP10

      public double getP10()
      Gets the P10 value.
      Returns:
      10th percentile
    • getP50

      public double getP50()
      Gets the P50 value.
      Returns:
      50th percentile (median)
    • getP90

      public double getP90()
      Gets the P90 value.
      Returns:
      90th percentile
    • getMean

      public double getMean()
      Gets the mean value.
      Returns:
      arithmetic mean
    • getStdDev

      public double getStdDev()
      Gets the standard deviation.
      Returns:
      sample standard deviation
    • getMin

      public double getMin()
      Gets the minimum value.
      Returns:
      minimum
    • getMax

      public double getMax()
      Gets the maximum value.
      Returns:
      maximum
    • getPercentile

      public double getPercentile(double percentile)
      Gets a specific percentile.
      Parameters:
      percentile - percentile (0-1)
      Returns:
      value at percentile
    • getTornadoSensitivities

      public Map<String,Double> getTornadoSensitivities()
      Gets tornado sensitivities.
      Returns:
      map of parameter name to sensitivity magnitude
    • getMostSensitiveParameters

      public List<String> getMostSensitiveParameters()
      Gets parameters ranked by sensitivity.
      Returns:
      list of parameter names from most to least sensitive
    • getFeasibleCount

      public int getFeasibleCount()
      Gets the number of feasible trials.
      Returns:
      feasible count
    • getConvergedCount

      public int getConvergedCount()
      Gets the number of converged trials.
      Returns:
      converged count
    • getOutputName

      public String getOutputName()
      Gets the output metric name.
      Returns:
      output name
    • getOutputUnit

      public String getOutputUnit()
      Gets the output unit.
      Returns:
      output unit
    • getHistogramData

      public double[][] getHistogramData(int numBins)
      Generates histogram bin data for plotting.
      Parameters:
      numBins - number of bins
      Returns:
      array of [binCenter, count] pairs
    • toTornadoMarkdown

      public String toTornadoMarkdown()
      Generates tornado diagram as Markdown.
      Returns:
      Markdown formatted tornado table
    • toSummaryMarkdown

      public String toSummaryMarkdown()
      Generates statistics summary as Markdown.
      Returns:
      Markdown formatted summary
    • toCSV

      public String toCSV(List<String> parameterNames)
      Exports trial data to CSV format.
      Parameters:
      parameterNames - list of parameter names for columns
      Returns:
      CSV string