Description Usage Arguments Details Value Warning Note Author(s) References See Also Examples

View source: R/family.normal.R

Fits a (generalized) folded (univariate) normal distribution.

1 2 | ```
foldnormal(lmean = "identitylink", lsd = "loglink", imean = NULL, isd = NULL,
a1 = 1, a2 = 1, nsimEIM = 500, imethod = 1, zero = NULL)
``` |

`lmean, lsd` |
Link functions for the mean and standard
deviation parameters of the usual univariate normal distribution.
They are |

`imean, isd` |
Optional initial values for |

`a1, a2` |
Positive weights, called |

`nsimEIM, imethod, zero` |
See |

If a random variable has an ordinary univariate normal distribution
then the absolute value of that random variable has an ordinary
*folded normal distribution*. That is, the sign has not been
recorded; only the magnitude has been measured.

More generally, suppose *X* is normal with mean `mean`

and
standard deviation `sd`

.
Let *Y=max(a1*X, -a2*X)*
where *a1* and *a2* are positive weights.
This means that *Y = a1*X* for *X > 0*, and
*Y = a2*X* for *X < 0*.
Then *Y* is said to have a
*generalized folded normal distribution*.
The ordinary folded normal distribution corresponds to the
special case *a1 = a2 = 1*.

The probability density function of the ordinary
folded normal distribution
can be written
`dnorm(y, mean, sd) + dnorm(y, -mean, sd)`

for
*y ≥ 0*.
By default, `mean`

and `log(sd)`

are the linear/additive
predictors.
Having `mean=0`

and `sd=1`

results in the
*half-normal* distribution.
The mean of an ordinary folded normal distribution is

*
E(Y) = sigma*sqrt(2/pi)*exp(-mu^2/(2*sigma^2)) +
mu*[1-2*Phi(-mu/sigma)] *

and these are returned as the fitted values.
Here, *Phi* is the cumulative distribution function of a
standard normal (`pnorm`

).

An object of class `"vglmff"`

(see `vglmff-class`

).
The object is used by modelling functions such as `vglm`

and `vgam`

.

Under- or over-flow may occur if the data is ill-conditioned. It is recommended that several different initial values be used to help avoid local solutions.

The response variable for this family function is the same as
`uninormal`

except positive values are required.
Reasonably good initial values are needed.
Fisher scoring using simulation is implemented.

See `CommonVGAMffArguments`

for general information about
many of these arguments.

Yet to do: implement the results of Johnson (1962) which gives expressions for the EIM, albeit, under a different parameterization. Also, one element of the EIM appears to require numerical integration.

Thomas W. Yee

Lin, P. C. (2005).
Application of the generalized folded-normal distribution to the process
capability measures.
*International Journal of Advanced Manufacturing Technology*,
**26**, 825–830.

Johnson, N. L. (1962).
The folded normal distribution:
accuracy of estimation by maximum likelihood.
*Technometrics*,
**4**, 249–256.

`rfoldnorm`

,
`uninormal`

,
`dnorm`

,
`skewnormal`

.

1 2 3 4 5 6 7 8 9 10 11 12 | ```
## Not run: m <- 2; SD <- exp(1)
fdata <- data.frame(y = rfoldnorm(n <- 1000, m = m, sd = SD))
hist(with(fdata, y), prob = TRUE, main = paste("foldnormal(m = ", m,
", sd = ", round(SD, 2), ")"))
fit <- vglm(y ~ 1, foldnormal, data = fdata, trace = TRUE)
coef(fit, matrix = TRUE)
(Cfit <- Coef(fit))
# Add the fit to the histogram:
mygrid <- with(fdata, seq(min(y), max(y), len = 200))
lines(mygrid, dfoldnorm(mygrid, Cfit[1], Cfit[2]), col = "orange")
## End(Not run)
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.