Learn R Programming

rebmix (version 2.10.2)

dfmix-methods: Predictive Marginal Density Calculation

Description

Returns the data frame containing observations \(\bm{x}_{1}, \ldots, \bm{x}_{n}\) and predictive marginal densities \(f(\bm{x} | c, \bm{w}, \bm{\Theta})\). Vectors \(\bm{x}\) are subvectors of \(\bm{y} = (y_{1}, \ldots, y_{d})^{\top}\).

Usage

# S4 method for REBMIX
dfmix(x = NULL, Dataset = data.frame(), pos = 1, variables = expression(1:d), ...)
## ... and for other signatures

Arguments

x

see Methods section below.

Dataset

a data frame containing observations \(\bm{y} = (y_{1}, \ldots, y_{d})^{\top}\) for which the predictive marginal densities are calculated. The default value is data.frame().

pos

a desired row number in x@summary for which the predictive marginal densities are calculated. The default value is 1.

variables

a vector containing indices of variables in subvectors \(\bm{x}\). The default value is 1:d.

currently not used.

Methods

signature(x = "REBMIX")

an object of class REBMIX.

signature(x = "REBMVNORM")

an object of class REBMVNORM.

References

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.

Examples

Run this code
# NOT RUN {
# Generate simulated dataset.

n <- c(15, 15)

Theta <- list(pdf1 = rep("normal", 3),
  theta1.1 = c(10, 20, 30),
  theta2.1 = c(3, 2, 1),
  pdf2 = rep("normal", 3),
  theta1.2 = c(3, 4, 5),
  theta2.2 = c(15, 10, 5))

simulated <- RNGMIX(Dataset.name = paste("simulated_", 1:4, sep = ""),
  rseed = -1,
  n = n,
  Theta = Theta)

# Number of classes or nearest neighbours to be processed.

K <- c(as.integer(1 + log2(sum(n))), # Minimum v follows Sturges rule.
  as.integer(10 * log10(sum(n)))) # Maximum v follows log10 rule.

# Estimate number of components, component weights and component parameters. 

simulatedest <- REBMIX(model = "REBMVNORM",
  Dataset = simulated@Dataset,
  Preprocessing = "h", 
  cmax = 4,
  Criterion = "BIC", 
  pdf = c("n", "n", "n"), 
  K = K[1]:K[2])

# Preprocess simulated dataset.

Dataset <- data.frame(c(-7, 1), NA, c(3, 7))

f <- dfmix(simulatedest, Dataset = Dataset, pos = 3, variables = c(1, 3))

f

# Plot finite mixture.

opar <- plot(simulatedest, pos = 3, nrow = 3, ncol = 1,
  contour.drawlabels = TRUE, contour.labcex = 0.6)

par(usr = opar[[2]]$usr, mfg = c(2, 1))

points(x = f[, 1], y = f[, 2])

text(x = f[, 1], y = f[, 2], labels = format(f[, 3], digits = 3), cex = 0.8, pos = 4)
# }

Run the code above in your browser using DataLab