Mixture of Two Normal Distributions
Density, distribution function, quantile function, and random generation
for a mixture of two normal distribution with parameters
mean1
, sd1
, mean2
, sd2
, and p.mix
.
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)
x |
vector of quantiles. |
q |
vector of quantiles. |
p |
vector of probabilities between 0 and 1. |
n |
sample size. If |
mean1 |
vector of means of the first normal random variable.
The default is |
sd1 |
vector of standard deviations of the first normal random variable.
The default is |
mean2 |
vector of means of the second normal random variable.
The default is |
sd2 |
vector of standard deviations of the second normal random variable.
The default is |
p.mix |
vector of probabilities between 0 and 1 indicating the mixing proportion.
For |
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)
dnormMix
gives the density, pnormMix
gives the distribution function,
qnormMix
gives the quantile function, and rnormMix
generates random
deviates.
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.
Steven P. Millard (EnvStats@ProbStatInfo.com)
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.
# 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
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.