mop.learning {MoTBFs} | R Documentation |
Fitting mixtures of polynomials
Description
These functions fit mixtures of polynomials (MOPs). Least square optimization is used to minimize the quadratic error between the empirical cumulative distribution and the estimated one.
Usage
mop.learning(X, nparam, domain)
bestMOP(X, domain, maxParam = NULL)
Arguments
X |
A |
nparam |
Number of parameters of the function. |
domain |
A |
maxParam |
A |
Details
mop.learning()
:
The returned value $Function
is the only visible element which contains the algebraic expression.
Using attributes the name of the others elements are shown and also they can be extracted with $
.
The summary of the function also shows all these elements.
bestMOP()
:
The first returned value $bestPx
contains the output of the mop.learning()
function
with the number of parameters which gets the best BIC values, taking into account the
BIC score to penalize the functions. It evaluates the two next functions,
if the BIC score does not improve then the function with the last best BIC is returned.
Value
mop.lerning()
returns a list of n elements:
Function |
An |
Subclass |
|
Domain |
The range where the function is defined to be a legal density function. |
Iterations |
The number of iterations that the optimization problem takes to minimize the errors. |
Time |
The CPU time employed. |
bestMOP()
returns a list including the polynomial function with the best BIC score,
the number of parameters and an array with
the BIC values of the evaluated functions.
See Also
univMoTBF A complete function for learning MOPs which includes extra options.
Examples
## 1. EXAMPLE
data <- rnorm(1000)
## MOP with fix number of degrees
fx <- mop.learning(data, nparam=7, domain=range(data))
fx
hist(data, prob=TRUE, main="")
plot(fx, col=2, xlim=range(data), add=TRUE)
## Best MOP in terms of BIC
fMOP <- bestMOP(data, domain=range(data))
attributes(fMOP)
fMOP$bestPx
hist(data, prob=TRUE, main="")
plot(fMOP$bestPx, col=2, xlim=range(data), add=TRUE)
## 2. EXAMPLE
data <- rbeta(4000, shape1=1/2, shape2=1/2)
## MOP with fix number of degrees
fx <- mop.learning(data, nparam=6, domain=range(data))
fx
hist(data, prob=TRUE, main="")
plot(fx, col=2, xlim=range(data), add=TRUE)
## Best MOP in terms of BIC
fMOP <- bestMOP(data, domain=range(data), maxParam=6)
attributes(fMOP)
fMOP$bestPx
attributes(fMOP$bestPx)
hist(data, prob=TRUE, main="")
plot(fMOP$bestPx, col=2, xlim=range(data), add=TRUE)