mog {MPS} | R Documentation |
Marshall-Olkin G distribution
Description
Computes the pdf, cdf, quantile, and random numbers, draws the q-q plot, and estimates the parameters of the Marshall-Olkin G
distribution. General form for the probability density function (pdf) of the Marshall-Olkin G
distribution due to Marshall and Olkin (1997) is given by
f(x,{\Theta}) = \frac{{ag(x-\mu,\theta )}}{{{{\left[ {1 - \left( {1 - a} \right)\left( {1 - G(x-\mu,\theta )} \right)} \right]}^2}}},
where \theta
is the baseline family parameter vector. Also, a>0 and \mu
are the extra parameters induced to the baseline cumulative distribution function (cdf) G
whose pdf is g
. The general form for the cumulative distribution function (cdf) of the Marshall-Olkin G
distribution is given by
F(x,{\Theta}) = 1 - \frac{{a\left( {1 - G(x-\mu,\theta )} \right)}}{{\left[ {1 - \left( {1 - a} \right)\left( {1 - G(x-\mu,\theta )} \right)} \right]}}.
Here, the baseline G
refers to the cdf of famous families such as: Birnbaum-Saunders, Burr type XII, Exponential, Chen, Chisquare, F, Frechet, Gamma, Gompertz, Linear failure rate (lfr), Log-normal, Log-logistic, Lomax, Rayleigh, and Weibull. The parameter vector is \Theta=(a,\theta,\mu)
where \theta
is the baseline G
family's parameter space. If \theta
consists of the shape and scale parameters, the last component of \theta
is the scale parameter. Always, the location parameter \mu
is placed in the last component of \Theta
.
Usage
dmog(mydata, g, param, location = TRUE, log=FALSE)
pmog(mydata, g, param, location = TRUE, log.p = FALSE, lower.tail = TRUE)
qmog(p, g, param, location = TRUE, log.p = FALSE, lower.tail = TRUE)
rmog(n, g, param, location = TRUE)
qqmog(mydata, g, location = TRUE, method)
mpsmog(mydata, g, location = TRUE, method, sig.level)
Arguments
g |
The name of family's pdf including: " |
p |
a vector of value(s) between 0 and 1 at which the quantile needs to be computed. |
n |
number of realizations to be generated. |
mydata |
Vector of observations. |
param |
parameter vector |
location |
If |
log |
If |
log.p |
If |
lower.tail |
If |
method |
The used method for maximizing the sum of log-spacing function. It will be " |
sig.level |
Significance level for the Chi-square goodness-of-fit test. |
Details
It can be shown that the Moran's statistic follows a normal distribution. Also, a chi-square approximation exists for small samples whose mean and variance approximately are m(log
(m)+0.57722)-0.5-1/(12m) and m(\pi^2
/6-1)-0.5-1/(6m), respectively, with m=n+1
, see Cheng and Stephens (1989). So, a hypothesis tesing can be constructed based on a sample of n
independent realizations at the given significance level, indicated in above as sig.level
.
Value
A vector of the same length as
mydata
, giving the pdf values computed atmydata
.A vector of the same length as
mydata
, giving the cdf values computed atmydata
.A vector of the same length as
p
, giving the quantile values computed atp
.A vector of the same length as
n
, giving the random numbers realizations.A sequence of goodness-of-fit statistics such as: Akaike Information Criterion (
AIC
), Consistent Akaike Information Criterion (CAIC
), Bayesian Information Criterion (BIC
), Hannan-Quinn information criterion (HQIC
), Cramer-von Misses statistic (CM
), Anderson Darling statistic (AD
), log-likelihood statistic (log
), and Moran's statistic (M
). The Kolmogorov-Smirnov (KS
) test statistic and correspondingp-value
. The Chi-square test statistic, critical upper tail Chi-square distribution, relatedp-value
, and the convergence status.
Author(s)
Mahdi Teimouri
References
Cheng, R. C. H. and Stephens, M. A. (1989). A goodness-of-fit test using Moran's statistic with estimated parameters, Biometrika, 76 (2), 385-392.
Marshall, A. W. and Olkin, I. (1997). A new method for adding a parameter to a family of distributions with application to the exponential and Weibull families, Biometrika, 84, 641-652.
Examples
mydata<-rweibull(100,shape=2,scale=2)+3
dmog(mydata, "weibull", c(0.5,2,2,3))
pmog(mydata, "weibull", c(0.5,2,2,3))
qmog(runif(100), "weibull", c(0.5,2,2,3))
rmog(100, "weibull", c(0.5,2,2,3))
qqmog(mydata, "weibull", TRUE, "Nelder-Mead")
mpsmog(mydata, "weibull", TRUE, "Nelder-Mead", 0.05)