Skip to content

[RFC]: Tracking issue for complete implementation of @stdlib/stats/base/dists/halfnormal package #9416

@navyansh007

Description

@navyansh007

Description

This tracking issue proposes adding comprehensive support for the half-normal distribution in @stdlib/stats/base/dists/halfnormal. The half-normal distribution is the distribution of the absolute value of a normally distributed random variable with mean 0. It is commonly used in statistical applications such as stochastic frontier analysis, modeling measurement errors, and other fields where only the magnitude of a normally distributed variable is of interest.

Rationale

Why is this feature important?

  1. Completeness: Expanding stdlib's statistical distributions library to include the half-normal distribution provides users with a comprehensive set of tools for statistical analysis.

  2. Common Use Cases: The half-normal distribution is widely used in:

    • Stochastic frontier analysis
    • Quality control and process capability studies
    • Modeling absolute deviations and measurement errors
    • Bayesian analysis as a prior distribution
  3. Consistency: Following stdlib's existing patterns for probability distributions ensures a consistent API and user experience.

  4. Scientific Computing: Enables researchers and data scientists to perform half-normal distribution calculations natively within stdlib without external dependencies.

Proposed Solution

How do you propose to implement this feature?

Implement the half-normal distribution following the established pattern used for other continuous distributions in stdlib (e.g., normal, exponential, gamma). This includes creating subpackages for various distribution functions, properties, and utilities within @stdlib/stats/base/dists/halfnormal/.

Implementation Checklist

The following subpackages need to be implemented for the half-normal distribution:

Core Distribution Functions

  • @stdlib/stats/base/dists/halfnormal/cdf - Cumulative distribution function (CDF)
  • @stdlib/stats/base/dists/halfnormal/pdf - Probability density function (PDF)
  • @stdlib/stats/base/dists/halfnormal/quantile - Quantile function (inverse CDF)
  • @stdlib/stats/base/dists/halfnormal/logcdf - Logarithm of cumulative distribution function
  • @stdlib/stats/base/dists/halfnormal/logpdf - Logarithm of probability density function

Distribution Properties

  • @stdlib/stats/base/dists/halfnormal/mean - Expected value (mean)
  • @stdlib/stats/base/dists/halfnormal/median - Median
  • @stdlib/stats/base/dists/halfnormal/mode - Mode
  • @stdlib/stats/base/dists/halfnormal/variance - Variance
  • @stdlib/stats/base/dists/halfnormal/stdev - Standard deviation
  • @stdlib/stats/base/dists/halfnormal/entropy - Differential entropy
  • @stdlib/stats/base/dists/halfnormal/skewness - Skewness
  • @stdlib/stats/base/dists/halfnormal/kurtosis - Excess kurtosis

Generating Functions

  • @stdlib/stats/base/dists/halfnormal/mgf - Moment-generating function (MGF)

Constructor and Utilities

  • @stdlib/stats/base/dists/halfnormal/ctor - Distribution constructor

Main Package

  • @stdlib/stats/base/dists/halfnormal - Main package with exports and documentation

Related Issues

Questions

  • Are there any additional distribution-specific functions that should be included beyond the standard set?
  • Should we implement any specialized constants related to the half-normal distribution?

Other

No.

Checklist

  • I have read and understood the Code of Conduct.
  • Searched for existing issues and pull requests.
  • The issue name begins with RFC:.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions