Maximum Approximate Bernstein Likelihood Estimate of Multivariate Density Function
mable.mvar(
x,
M0 = 1L,
M,
search = TRUE,
interval = NULL,
mar.deg = TRUE,
method = c("cd", "em", "lmem"),
controls = mable.ctrl(),
progress = TRUE
)
A list with components
m
a vector of the selected optimal degrees by the method of change-point
p
a vector of the mixture proportions \(p(j_1, \ldots, j_d)\), arranged in the
column-major order of \(j = (j_1, \ldots, j_d)\), \(0 \le j_i \le m_i, i = 1, \ldots, d\).
mloglik
the maximum log-likelihood at an optimal degree m
pval
the p-values of change-points for choosing the optimal degrees for the
marginal densities
M
the vector (m1, m2, ... , md)
, where mi
is the largest candidate
degree when the search stoped for the i
-th marginal density
interval
support hyperrectangle \([a, b]=[a_1, b_1] \times \cdots \times [a_d, b_d]\)
convergence
An integer code. 0 indicates successful completion(the EM iteration is
convergent). 1 indicates that the iteration limit maxit
had been reached in the EM iteration;
an n x d
matrix or data.frame
of multivariate sample of size n
a positive integer or a vector of d
positive integers specify
starting candidate degrees for searching optimal degrees.
a positive integer or a vector of d
positive integers specify
the maximum candidate or the given model degrees for the joint density.
logical, whether to search optimal degrees between M0
and M
or not but use M
as the given model degrees for the joint density.
a vector of two endpoints or a 2 x d
matrix, each column containing
the endpoints of support/truncation interval for each marginal density.
If missing, the i-th column is assigned as c(min(x[,i]), max(x[,i]))
.
logical, if TRUE, the optimal degrees are selected based on marginal data, otherwise, the optimal degrees are chosen the joint data. See details.
method for finding maximum likelihood estimate. "cd": coordinate-descent; less memory for data that are high dimensional/large sample.
Object of class mable.ctrl()
specifying iteration limit
and the convergence criterion eps
. Default is mable.ctrl
. See Details.
if TRUE a text progressbar is displayed
Zhong Guan <zguan@iu.edu>
A \(d\)-variate density \(f\) on a hyperrectangle \([a, b]
=[a_1, b_1] \times \cdots \times [a_d, b_d]\) can be approximated
by a mixture of \(d\)-variate beta densities on \([a, b]\),
\(\beta_{mj}(x) = \prod_{i=1}^d\beta_{m_i,j_i}[(x_i-a_i)/(b_i-a_i)]/(b_i-a_i)\),
with proportion \(p(j_1, \ldots, j_d)\), \(0 \le j_i \le m_i, i = 1, \ldots, d\).
If search=TRUE
then the model degrees are chosen using a method of change-point based on
the marginal data if mar.deg=TRUE
or the joint data if mar.deg=FALSE
.
If search=FALSE
, then the model degree is specified by \(M\).
For large data and multimodal density, the search for the model degrees is
very time-consuming. In this case, it is suggested that use method="cd"
and select the degrees based on marginal data using mable
or
optimable
.
Guan, Z. (2016) Efficient and robust density estimation using Bernstein type polynomials. Journal of Nonparametric Statistics, 28(2):250-271. Wang, T. and Guan, Z.,(2019) Bernstein Polynomial Model for Nonparametric Multivariate Density, Statistics, Vol. 53, no. 2, 321-338
mable
, optimable
## Old Faithful Data
# \donttest{
a<-c(0, 40); b<-c(7, 110)
ans<- mable.mvar(faithful, M = c(46,19), search =FALSE, method="em",
interval = rbind(a,b), progress=FALSE)
plot(ans, which="density")
plot(ans, which="cumulative")
# }
Run the code above in your browser using DataLab