# NormalMix: Mixture of Two Normal Distributions In EnvStats: Package for Environmental Statistics, Including US EPA Guidance

## Description

Density, distribution function, quantile function, and random generation for a mixture of two normal distribution with parameters `mean1`, `sd1`, `mean2`, `sd2`, and `p.mix`.

## Usage

 ```1 2 3 4``` ``` dnormMix(x, mean1 = 0, sd1 = 1, mean2 = 0, sd2 = 1, p.mix = 0.5) pnormMix(q, mean1 = 0, sd1 = 1, mean2 = 0, sd2 = 1, p.mix = 0.5) qnormMix(p, mean1 = 0, sd1 = 1, mean2 = 0, sd2 = 1, p.mix = 0.5) rnormMix(n, mean1 = 0, sd1 = 1, mean2 = 0, sd2 = 1, p.mix = 0.5) ```

## Arguments

 `x` vector of quantiles. `q` vector of quantiles. `p` vector of probabilities between 0 and 1. `n` sample size. If `length(n)` is larger than 1, then `length(n)` random values are returned. `mean1` vector of means of the first normal random variable. The default is `mean1=0`. `sd1` vector of standard deviations of the first normal random variable. The default is `sd1=1`. `mean2` vector of means of the second normal random variable. The default is `mean2=0`. `sd2` vector of standard deviations of the second normal random variable. The default is `sd2=1`. `p.mix` vector of probabilities between 0 and 1 indicating the mixing proportion. For `rnormMix` this must be a single, non-missing number.

## Details

Let f(x; μ, σ) denote the density of a normal random variable with parameters `mean=`μ and `sd=`σ. The density, g, of a normal mixture random variable with parameters `mean1=`μ_1, `sd1=`σ_1, `mean2=`μ_2, `sd2=`σ_2, and `p.mix=`p is given by:

g(x; μ_1, σ_1, μ_2, σ_2, p) = (1 - p) f(x; μ_1, σ_1) + p f(x; μ_2, σ_2)

## Value

`dnormMix` gives the density, `pnormMix` gives the distribution function, `qnormMix` gives the quantile function, and `rnormMix` generates random deviates.

## Note

A normal mixture distribution is sometimes used to model data that appear to be “contaminated”; that is, most of the values appear to come from a single normal distribution, but a few “outliers” are apparent. In this case, the value of `mean2` would be larger than the value of `mean1`, and the mixing proportion `p.mix` would be fairly close to 0 (e.g., `p.mix=0.1`). The value of the second standard deviation (`sd2`) may or may not be the same as the value for the first (`sd1`).

Another application of the normal mixture distribution is to bi-modal data; that is, data exhibiting two modes.

## Author(s)

Steven P. Millard ([email protected])

## References

Johnson, N. L., S. Kotz, and A.W. Kemp. (1992). Univariate Discrete Distributions. Second Edition. John Wiley and Sons, New York, pp.53-54, and Chapter 8.

Johnson, N. L., S. Kotz, and N. Balakrishnan. (1994). Continuous Univariate Distributions, Volume 1. Second Edition. John Wiley and Sons, New York.

Normal, LognormalMix, Probability Distributions and Random Numbers.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31``` ``` # Density of a normal mixture with parameters mean1=0, sd1=1, # mean2=4, sd2=2, p.mix=0.5, evaluated at 1.5: dnormMix(1.5, mean2=4, sd2=2) #[1] 0.1104211 #---------- # The cdf of a normal mixture with parameters mean1=10, sd1=2, # mean2=20, sd2=2, p.mix=0.1, evaluated at 15: pnormMix(15, 10, 2, 20, 2, 0.1) #[1] 0.8950323 #---------- # The median of a normal mixture with parameters mean1=10, sd1=2, # mean2=20, sd2=2, p.mix=0.1: qnormMix(0.5, 10, 2, 20, 2, 0.1) #[1] 10.27942 #---------- # Random sample of 3 observations from a normal mixture with # parameters mean1=0, sd1=1, mean2=4, sd2=2, p.mix=0.5. # (Note: the call to set.seed simply allows you to reproduce this example.) set.seed(20) rnormMix(3, mean2=4, sd2=2) #[1] 0.07316778 2.06112801 1.05953620 ```

EnvStats documentation built on Oct. 10, 2017, 1:05 a.m.