Returns as default the REBMIX algorithm output for mixtures of conditionally independent normal, lognormal, Weibull, gamma, binomial, Poisson, Dirac or von Mises component densities. If model
equals "REBMVNORM"
output for mixtures of multivariate normal component densities with unrestricted variance-covariance matrices is returned.
# S4 method for REBMIX
REBMIX(model = "REBMIX", Dataset = list(), Preprocessing = character(),
cmax = 15, Criterion = "AIC", pdf = character(), theta1 = numeric(),
theta2 = numeric(), K = "auto", y0 = numeric(), ymin = numeric(),
ymax = numeric(), ar = 0.1, Restraints = "loose", ...)
## ... and for other signatures
# S4 method for REBMIX
summary(object, ...)
## ... and for other signatures
see Methods section below.
a list of data frames of size \(n \times d\) containing d-dimensional datasets. Each of the \(d\) columns represents one random variable. Number of observations \(n\) equals the number of rows in the datasets.
a character vector giving the preprocessing types. One of "histogram"
, "Parzen window"
or "k-nearest neighbour"
.
maximum number of components \(c_{\mathrm{max}} > 0\). The default value is 15
.
a character vector giving the information criterion types. One of default Akaike "AIC"
, "AIC3"
, "AIC4"
or "AICc"
,
Bayesian "BIC"
, consistent Akaike "CAIC"
, Hannan-Quinn "HQC"
, minimum description length "MDL2"
or "MDL5"
,
approximate weight of evidence "AWE"
, classification likelihood "CLC"
,
integrated classification likelihood "ICL"
or "ICL-BIC"
, partition coefficient "PC"
,
total of positive relative deviations "D"
or sum of squares error "SSE"
.
a character vector of length \(d\) containing continuous or discrete parametric family types. One of "normal"
, "lognormal"
, "Weibull"
, "gamma"
, "binomial"
, "Poisson"
, "Dirac"
or "vonMises"
.
a vector of length \(d\) containing initial component parameters. One of \(n_{il} = \textrm{number of categories} - 1\) for "binomial"
distribution or "NA"
otherwise.
a vector of length \(d\) containing initial component parameters. Currently not used.
a character or a vector or a list of vectors containing numbers of bins \(v\) for the histogram and the Parzen window or numbers of nearest
neighbours \(k\) for the k-nearest neighbour. There is no genuine rule to identify \(v\) or \(k\). Consequently,
the REBMIX algorithm identifies them from the set K
of input values by
minimizing the information criterion. The Sturges rule \(v = 1 + \mathrm{log_{2}}(n)\), \(\mathrm{Log}_{10}\) rule \(v = 10 \mathrm{log_{10}}(n)\) or RootN
rule \(v = 2 \sqrt{n}\) can be applied to estimate the limiting numbers of bins
or the rule of thumb \(k = \sqrt{n}\) to guess the intermediate number of nearest neighbours. If, e.g., K = c(10, 20, 40, 60)
and minimum IC
coincides, e.g., 40
, brackets are set to 20
and 60
and the golden section is applied to refine the minimum search. See also kseq
for sequence of bins or nearest neighbours generation. The default value is "auto"
.
a vector of length \(d\) containing origins. The default value is numeric()
.
a vector of length \(d\) containing minimum observations. The default value is numeric()
.
a vector of length \(d\) containing maximum observations. The default value is numeric()
.
acceleration rate \(0 < a_{\mathrm{r}} \leq 1\). The default value is 0.1
and in most cases does not have to be altered.
a character giving the restraints type. One of "rigid"
or default "loose"
.
The rigid restraints are obsolete and applicable for well separated components only.
see Methods section below.
currently not used; additional arguments affecting the summary produced.
Returns an object of class REBMIX
or REBMVNORM
.
signature(model = "REBMIX")
a character giving the default class name "REBMIX"
for mixtures of conditionally independent normal, lognormal, Weibull, gamma, binomial, Poisson, Dirac or von Mises component densities.
signature(model = "REBMVNORM")
a character giving the class name "REBMVNORM"
for mixtures of multivariate normal component densities with unrestricted variance-covariance matrices.
signature(object = "REBMIX")
an object of class REBMIX
.
signature(object = "REBMVNORM")
an object of class REBMVNORM
.
H. A. Sturges. The choice of a class interval. Journal of American Statistical Association, 21(153): 65-66, 1926. http://www.jstor.org/stable/2965501. P. F. Velleman. Interactive computing for exploratory data analysis I: display algorithms. Proceedings of the Statistical Computing Section, American Statistical Association, 1976. W. J. Dixon and R. A. Kronmal. The Choice of origin and scale for graphs. Journal of the ACM, 12(2): 259-261, 1965. http://dx.doi.org/10.1145/321264.321277. M. Nagode and M. Fajdiga. A general multi-modal probability density function suitable for the rainflow ranges of stationary random processes. International Journal of Fatigue, 20(3):211-223, 1998. http://dx.doi.org/10.1016/S0142-1123(97)00106-0. M. Nagode and M. Fajdiga. An improved algorithm for parameter estimation suitable for mixed weibull distributions. International Journal of Fatigue, 22(1):75-80, 2000. http://dx.doi.org/10.1016/S0142-1123(99)00112-7. M. Nagode, J. Klemenc, and M. Fajdiga. Parametric modelling and scatter prediction of rainflow matrices. International Journal of Fatigue, 23(6):525-532, 2001. http://dx.doi.org/10.1016/S0142-1123(01)00007-X. M. Nagode and M. Fajdiga. An alternative perspective on the mixture estimation problem. Reliability Engineering & System Safety, 91(4):388-397, 2006. http://dx.doi.org/10.1016/j.ress.2005.02.005. M. Nagode and M. Fajdiga. The rebmix algorithm for the univariate finite mixture estimation. Communications in Statistics - Theory and Methods, 40(5):876-892, 2011a. http://dx.doi.org/10.1080/03610920903480890. M. Nagode and M. Fajdiga. The rebmix algorithm for the multivariate finite mixture estimation. Communications in Statistics - Theory and Methods, 40(11):2022-2034, 2011b. http://dx.doi.org/10.1080/03610921003725788. M. Nagode. Finite mixture modeling via REBMIX. Journal of Algorithms and Optimization, 3(2):14-28, 2015. http://dx.doi.org/10.5963/JAO0302001.
# NOT RUN {
# Generate and plot univariate normal dataset.
n <- c(998, 263, 1086, 487)
Theta <- list(pdf1 = "n",
theta1.1 = c(688, 265, 30, 934),
theta2.1 = c(72, 54, 34, 28))
normal <- RNGMIX(Dataset.name = "complex1",
rseed = -1,
n = n,
Theta = Theta)
normal
normal@Dataset[[1]][1:20,]
# Estimate number of components, component weights and component parameters.
K <- c(as.integer(1 + log2(sum(n))), # Minimum v follows Sturges rule.
as.integer(2 * sum(n)^0.5)) # Maximum v follows RootN rule.
normalest <- REBMIX(Dataset = normal@Dataset,
Preprocessing = "h",
cmax = 8,
Criterion = "BIC",
pdf = "n",
K = K[1]:K[2])
normalest
BIC(normalest)
logL(normalest)
# Plot finite mixture.
plot(normalest, nrow = 2, what = c("den", "dis"), npts = 1000)
# }
Run the code above in your browser using DataLab