Class NormalPD

All Implemented Interfaces:
ClosedFormMaximumLikelihoodInterface, PDFGradientInterface, PDFHessianInterface, Serializable, Cloneable

The normal (Gaussian) probability distribution.
See Also:
  • Constructor Details

    • NormalPD

      public NormalPD()
      Constructor for the normal probability distribution.
  • Method Details

    • getParameterLowerBounds

      public double[] getParameterLowerBounds()
      Returns the lower bounds of the parameters.
      Specified by:
      getParameterLowerBounds in class ProbabilityDistribution
      Returns:
      a double array containing the lower bounds for \(\mu\in\mathbb{R}\) and \(\sigma\gt0\)
    • getParameterUpperBounds

      public double[] getParameterUpperBounds()
      Returns the upper bounds of the parameters.
      Specified by:
      getParameterUpperBounds in class ProbabilityDistribution
      Returns:
      a double array containing the upper bounds for \(\mu\in\mathbb{R}\) and \(\sigma\gt0\)
    • pdf

      public double pdf(double x, double... params)
      Returns the value of the normal probability density function.

      The probability density function for a normal distribution is given by $$f(x; \mu,\sigma) = \frac{1}{\sqrt{2\pi}\sigma} {\exp}^{ -\frac{{(x - \mu)}^2}{{2 {\sigma}^2}} } $$ where \(\mu\) and \(\sigma >0\) are the mean and standard deviation of the random variable.

      Specified by:
      pdf in class ProbabilityDistribution
      Parameters:
      x - a double, the value (quantile) at which to evaluate the pdf
      params - a double array containing values of the parameters,\(\mu\) and \(\sigma\). The parameters can also be given in the form pdf(x,a,b), where a=\(\mu\) and b=\(\sigma\) are scalars.
      Returns:
      a double, the probability density at x given the parameter values
    • getPDFGradient

      public double[] getPDFGradient(double x, double... params)
      Returns the analytic gradient of the pdf.
      Specified by:
      getPDFGradient in interface PDFGradientInterface
      Parameters:
      x - a double, the value at which to evaluate the gradient
      params - a double array containing the parameters
      Returns:
      a double array containing the partial derivatives of the pdf with respect to the parameters
    • getPDFHessian

      public double[][] getPDFHessian(double x, double... params)
      Returns the analytic Hessian matrix of the pdf.
      Specified by:
      getPDFHessian in interface PDFHessianInterface
      Parameters:
      x - a double, the value at which to evaluate the Hessian
      params - a double array containing the parameters
      Returns:
      a double matrix containing the second partial derivatives of the pdf with respect to the parameters
    • getClosedFormMLE

      public double[] getClosedFormMLE(double[] x)
      Returns the closed form maximum likelihood estimates.
      Specified by:
      getClosedFormMLE in interface ClosedFormMaximumLikelihoodInterface
      Parameters:
      x - a double array containing the data
      Returns:
      a double array containing the maximum likelihood estimates for \(\mu\) and \(\sigma\)
    • getMLEs

      public double[] getMLEs(double[] x)
      Deprecated.
      Returns the mean and standard deviation of the sample data.

      These are the maximum likelihood estimates for the mean and standard deviation of the Normal distribution, given the data.

      Parameters:
      x - a double array containing the data
      Returns:
      a double array containing the mean and standard deviation
    • getClosedFormMlStandardError

      public double[] getClosedFormMlStandardError(double[] x)
      Returns the standard errors of the closed form maximum likelihood estimates.
      Specified by:
      getClosedFormMlStandardError in interface ClosedFormMaximumLikelihoodInterface
      Parameters:
      x - a double array containing the data
      Returns:
      a double array containing the standard errors for the estimates of \(\mu,\sigma\)