Description Usage Arguments Value See Also Examples
Function for converting objects of class rMix to objects of class datMix, so that they could be passed to functions estimating the mixture complexity.
1 2 |
obj |
object of class |
theta.bound.list |
named list specifying the upper and lower bounds for the component parameters. The names of the list elements have to match the names of the formal arguments of the functions |
MLE.function |
function (or a list of functions) which takes the data as input and outputs the maximum likelihood estimator for the parameter(s) the component distribution |
Hankel.method |
character string in |
Hankel.function |
function required for the moment estimation via |
Object of class datMix with the following attributes (for further explanations see above):
dist |
character string giving the abbreviated name of the component distribution, such that the function |
discrete |
logical flag indicating whether the mixture distribution is discrete. |
theta.bound.list |
named list specifying the upper and lower bounds for the component parameters. |
MLE.function |
function which computes the MLE of the component distribution |
Hankel.method |
character string taking on values |
Hankel.function |
function required for the moment estimation via |
datMix for direct generation of a datMix object from a vector of observations.
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | ### generating 'Mix' object
normLocMix <- Mix("norm", discrete = FALSE, w = c(0.3, 0.4, 0.3), mean = c(10, 13, 17),
sd = c(1, 1, 1))
### generating 'rMix' from 'Mix' object (with 1000 observations)
set.seed(1)
normLocRMix <- rMix(1000, normLocMix)
### generating 'datMix' from 'R' object
## generate list of parameter bounds
norm.bound.list <- vector(mode = "list", length = 2)
names(norm.bound.list) <- c("mean", "sd")
norm.bound.list$mean <- c(-Inf, Inf)
norm.bound.list$sd <- c(0, Inf)
## generate MLE functions
# for "mean"
MLE.norm.mean <- function(dat) mean(dat)
# for "sd" (the sd function uses (n-1) as denominator)
MLE.norm.sd <- function(dat){
sqrt((length(dat) - 1) / length(dat)) * sd(dat)
}
# combining the functions to a list
MLE.norm.list <- list("MLE.norm.mean" = MLE.norm.mean,
"MLE.norm.sd" = MLE.norm.sd)
## function giving the j^th raw moment of the standard normal distribution,
## needed for calculation of the Hankel matrix via the "translation" method
## (assuming gaussian components with variance 1)
mom.std.norm <- function(j){
ifelse(j %% 2 == 0, prod(seq(1, j - 1, by = 2)), 0)
}
normLoc.dM <- RtoDat(normLocRMix, theta.bound.list = norm.bound.list,
MLE.function = MLE.norm.list, Hankel.method = "translation",
Hankel.function = mom.std.norm)
### using 'datMix' object to estimate the mixture
set.seed(0)
res <- paramHankel.scaled(normLoc.dM)
plot(res)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.