Learn R Programming

AMIAS (version 1.0.2)

AMIAS2d: Alternating Minimization Induced Active Set Algorithms(2d)

Description

Extremely Efficient Procedures for Composite L0 Penalized Estimation(2d).

Usage

AMIAS2d(Mat, D_type="fused.2d", composite=FALSE, W_type="identity",
  k1=NULL, k2=1, D=NULL, W=NULL, T1=NULL, T2=min(10,nmw[1]-1), rho1=(dim1*dim2)^6, 
  rho2=(dim1*dim2)^6, h=5, tao=1, outer_itermax=20, select_max=min(20,nm[1]-1), 
  eps=0.1, iter_max=10, ...)

Arguments

Mat

a grapha matrix.

D_type

Specifcation of \(D\), either one of "fused.2d" or "fused.tfk". when \(D\) is set, it would be "user".

composite

Whether to use composite L0 penalty.

W_type

Specifcation of \(W\), either one of "identity", "fused.1d" or "fused.tfk". when \(W\) is set, it would be "user".

k1

Integer: used to generate \(D\) for polynomial trend filtering of order k(see genDtf1d for Details).

k2

Integer: used to generate \(W\) for polynomial trend filtering of order k(see genDtf1d for Details).

D

Matrix in the penalty item(see Details).

W

Matrix in the penalty item for composite L0 panalty(see Details).

T1

The number of change point to detect in \(D\beta\) penalty,default is NULL and it would be selected adatively.

T2

The number of change point to detect in \(W\beta\) penalty,default is 10.

rho1

The lagrange operator of the argumented lagrange form for split item in \(D\beta\).

rho2

The lagrange operator of the argumented lagrange form for split item in \(W\beta\).

h

Arguments for my.rollmean.

tao

Number: increment of the T1 sequence in adative function algorithm.

outer_itermax

The maximum iterations to select T1 adatively.

select_max

The maximum number of change point to detect.

eps

The threshold to stop the adative AMIAS algorithm, when \(MSE\) is smaller than \(eps\).

iter_max

The maximum iterations to setect change point for given T1.

Other arguments.

Value

A list with class attribute 'AMIAS' and named components:

call

The call that produced this object.

Mat

Observe grapha matrix.

Mathat

The fitting coefficients in the noparameter model.

composite

Whether to use composite L0 penalty.

k1

Integer: used to generate D for polynomial trend filtering of order k(see Details).

k2

Integer: used to generate W for polynomial trend filtering of order k(see Details).

alpha

The split variable of the argumented lagrange form in \(D\beta\)

u

The lagrange operator of the argumented lagrange form in \(D\beta\) for linear item.

gamma

The split variable of the argumented lagrange form in \(W\beta\)

v

The lagrange operator of the argumented lagrange form in \(W\beta\) for linear item.

df

Degree of freedom of the seleted model.

T2

The number of change point to detect in \(W\beta\) penalty.

D_type

Specifcation of \(D\), default is "fused.1d". when D is set, it would be "user".

W_type

Specifcation of \(D\), default is "identity". when W is set, it would be "user".

rho1

The lagrange operator of the argumented lagrange form in \(D\beta\) for split item.

rho2

The lagrange operator of the argumented lagrange form in \(W\beta\) for split item.

tao

Number: increment of the T1 sequence in adative function algorithm.

eps

The threshold to stop the adative AMIAS algorithm, when MSE is smaller than eps.

iter

The iterations to setect change point for given T1

iter_max

The maximum iterations to setect change point for given T1

outer_itermax

The maximum iterations to select T1 adatively.

select_max

The maximum number of change point to detect.

Details

The Parameter of models implied by T1 and T2 is fit by primal dual active set and this is the number of change point to detect in AMIAS. Note that the model to fit is $$ \beta_i + \sigma_i,$$ and the objective function is $$1/2*RSS + \lambda_1*penalty_1 + \lambda_2*penalty_2(\lambda_2 = 0 for non-composite type),$$ where $$panalty_1 = |D\beta|_0 , panalty_2 = |W\beta|_0.$$

If the parameter T1 is not set, a sequence of T1 would be fitted by increment tao adatively. For details, see the AMIAS paper.

References

Wen, C., Zhu, J., Wang, X., and Zhang, A. (2017) L0 trend filtering for piecewise smooth modeling, technique report.

See Also

genDtf2d genD2d my.rollmean.

Examples

Run this code
# NOT RUN {
  library(AMIAS)

  set.seed(12580)
  n <- 100
  sigma <- 0.3
  y0 <- rep(0,n)
  y0[10:15] <- 2
  y0[40:60] <- -1
  y0[80:82] <- 4
  y <- y0 + sigma*rnorm(n)
  y[80:82] <- y0[80:82] + sigma*rnorm(3)
  y <- matrix(y,10,10)

  AMIAS2d(y, D_type = "fused.2d")
# }

Run the code above in your browser using DataLab