Class ShiftedDistribution

    • Constructor Detail

      • ShiftedDistribution

        public ShiftedDistribution​(DistributionIfc distribution,
                                   double shift)
        Constructs a shifted distribution based on the provided distribution
        Parameters:
        distribution - the distribution to shift
        shift - The linear shift
      • ShiftedDistribution

        public ShiftedDistribution​(DistributionIfc distribution,
                                   double shift,
                                   java.lang.String name)
        Constructs a shifted distribution based on t he provided distribution
        Parameters:
        distribution - the distribution to shift
        shift - The linear shift
        name - an optional name/label
    • Method Detail

      • setDistribution

        public final void setDistribution​(DistributionIfc distribution,
                                          double shift)
        Changes the underlying distribution and the shift
        Parameters:
        distribution - must not be null
        shift - must be >=0.0
      • setShift

        public final void setShift​(double shift)
        Changes the shift
        Parameters:
        shift - must be >=0.0
      • setParameters

        public final void setParameters​(double[] parameters)
        Sets the parameters of the shifted distribution shift = parameter[0] If supplied, the other elements of the array are used in setting the parameters of the underlying distribution. If only the shift is supplied as a parameter, then the underlying distribution's parameters are not changed (and do not need to be supplied)
        Specified by:
        setParameters in interface ParametersIfc
        Parameters:
        parameters - an array of doubles representing the parameters
      • cdf

        public final double cdf​(double x)
        Description copied from interface: CDFIfc
        Returns the F(x) = Pr{X <= x} where F represents the cumulative distribution function
        Specified by:
        cdf in interface CDFIfc
        Parameters:
        x - a double representing the upper limit
        Returns:
        a double representing the probability
      • getMean

        public final double getMean()
        Description copied from interface: MeanIfc
        Returns the mean or expected value of a distribution
        Specified by:
        getMean in interface MeanIfc
        Returns:
        double the mean or expected value for the distribution
      • getParameters

        public final double[] getParameters()
        Gets the parameters for the shifted distribution shift = parameter[0] The other elements of the returned array are the parameters of the underlying distribution
        Specified by:
        getParameters in interface ParametersIfc
        Returns:
        Returns an array of the parameters
      • getVariance

        public double getVariance()
        Description copied from interface: VarianceIfc
        Returns the variance of the distribution if defined
        Specified by:
        getVariance in interface VarianceIfc
        Returns:
        double the variance of the random variable
      • invCDF

        public double invCDF​(double p)
        Description copied from interface: InverseCDFIfc
        Provides the inverse cumulative distribution function for the distribution While closed form solutions for the inverse cdf may not exist, numerical search methods can be used to solve F(X) = U.
        Specified by:
        invCDF in interface InverseCDFIfc
        Parameters:
        p - The probability to be evaluated for the inverse, p must be [0,1] or an IllegalArgumentException is thrown
        Returns:
        The inverse cdf evaluated at the supplied probability
      • firstOrderLossFunction

        public double firstOrderLossFunction​(double x)
        Description copied from interface: FirstOrderLossFunctionIfc
        Computes the first order loss function for the function for given value of x, G1(x) = E[max(X-x,0)]
        Specified by:
        firstOrderLossFunction in interface FirstOrderLossFunctionIfc
        Parameters:
        x - The value to be evaluated
        Returns:
        The loss function value, E[max(X-x,0)]
      • secondOrderLossFunction

        public double secondOrderLossFunction​(double x)
        Description copied from interface: SecondOrderLossFunctionIfc
        Computes the 2nd order loss function for the distribution function for given value of x, G2(x) = (1/2)E[max(X-x,0)*max(X-x-1,0)]
        Specified by:
        secondOrderLossFunction in interface SecondOrderLossFunctionIfc
        Parameters:
        x - The value to be evaluated
        Returns:
        The loss function value, (1/2)E[max(X-x,0)*max(X-x-1,0)]
      • thirdOrderLossFunction

        public double thirdOrderLossFunction​(double x)