| Title: | An R Package of Minorization-Maximization Algorithm via the Assembly–Decomposition Technology |
| Version: | 2.0 |
| Description: | The minorization-maximization (MM) algorithm is a powerful tool for maximizing nonconcave target function. However, for most existing MM algorithms, the surrogate function in the minorization step is constructed in a case-specific manner and requires manual programming. To address this limitation, we develop the R package MMAD, which systematically integrates the assembly–decomposition technology in the MM framework. This new package provides a comprehensive computational toolkit for one-stop inference of complex target functions, including function construction, evaluation, minorization and optimization via MM algorithm. By representing the target function through a hierarchical composition of assembly functions, we design a hierarchical algorithmic structure that supports both bottom-up operations (construction, evaluation) and top-down operation (minorization). |
| License: | GPL-3 |
| Encoding: | UTF-8 |
| RoxygenNote: | 7.3.2 |
| Imports: | utils |
| Depends: | R (≥ 2.10) |
| Suggests: | testthat (≥ 3.0.0) |
| Config/testthat/edition: | 3 |
| NeedsCompilation: | no |
| Packaged: | 2025-11-25 16:19:42 UTC; jiaqigu |
| Author: | Jiaqi Gu [aut, cre] |
| Maintainer: | Jiaqi Gu <jiaqigu@usf.edu> |
| Repository: | CRAN |
| Date/Publication: | 2025-11-26 08:20:24 UTC |
Function Construction
Description
This function allows the user to create the target function in an interactive manner. Here, the target function is expressed as
f(\boldsymbol{\theta})=f_J(\theta_{1},\ldots,\theta_{p},f_1,\ldots,f_{J-1}),
where
-
f_1is a function of\theta_{1},\ldots,\theta_{p}; -
f_jis a function of\theta_{1},\ldots,\theta_{p},f_1,\ldots,f_{j-1}, forj=2,\ldots,J; -
f_1,\ldots,f_Jbelongs to the bank of assembly functions.
Here, user can input the function by
inputting the dimensionality
p;for
j=1,\ldots,J;selecting which assembly function
f_jbelongs to;inputting the indexes of coefficients or existing functions included as arguments of
f_j;inputting the coefficients.
Usage
Function_construction()
Value
An R list depicting the target function.
Function Evaluation
Description
This function allows the user to compute the value, gradients and the Hessian matrix of the target function f(\boldsymbol{\theta}) at a given point \boldsymbol{\theta}^*.
Usage
Function_evaluation(Function_obj, input)
Arguments
Function_obj |
An R list depicting the target function. |
input |
The value |
Value
An R list recording the value, gradients and the Hessian matrix of the target function f(\boldsymbol{\theta}) at a given point \boldsymbol{\theta}^*.
Function Minorization
Description
This function allows the user to minorize the target function f(\boldsymbol{\theta}) at a given point \boldsymbol{\theta}^*.
Usage
Function_minorization(Function_obj, input)
Arguments
Function_obj |
An R list depicting the target function. |
input |
The value |
Value
An R list recording the surrogate function S(\boldsymbol{\theta}|\boldsymbol{\theta}^*)=S_C+\sum_{i=1}^pS_i(\theta_{i}|\boldsymbol{\theta}^*) where
the first
pobjects (named Surrogate_1, Surrogate_2, ..., Surrogate_p) recordS_1(\theta_{1}|\boldsymbol{\theta}^*),\ldots,S_p(\theta_{p}|\boldsymbol{\theta}^*);the final object (named Constant) records the constant
S_C.
Minorization-Maximization Algorithm via the Assembly–Decomposition Technology
Description
This function allows the user to maximize the target function f(\boldsymbol{\theta}) using MM algorithm with AD technology.
Usage
MMAD(Function_obj, init, tol = 1e-04)
Arguments
Function_obj |
An R list depicting the target function. |
init |
The initial value |
tol |
The tolerance for convergence detection (default: |
Value
The maximizer
\widehat{\boldsymbol{\theta}}=\arg\max_{\boldsymbol{\theta} \in\Theta }f(\boldsymbol{\theta}).