TRMF_es {TRMF}R Documentation

Add exponential smoothing regularization model to a TRMF object.

Description

Creates a regularization scheme that favors exponentially smoothed solutions and adds it to a TRMF object. In matrix optimization form, it adds the following term to the TRMF cost function: R(x) = lambdaD^2||w(DX_s)||^2 + lambdaA^2||X_s||^2 where X_s is sub-set of the Xm matrix controlled by this model and D is a matrix with weights from exponential smoothing.

Usage

TRMF_es(obj,numTS = 1,alpha=1,es_type=c("single","double"),
        lambdaD=1,lambdaA=0.0001,weight=1)

Arguments

obj

A TRMF object

numTS

number of latent time series in this model

lambdaD

regularization parameter for temporal constraint matrix

lambdaA

regularization parameter to apply simple L2 regularization to this time series model

weight

optional vector of weights to weight constraint, i.e. R(x) = lambdaD^2*||w*(D%*%X)||^2

es_type

type of exponential smoothing. "double" does Brown's double exponential smoothing.

alpha

exponential smoothing parameter, constrained to be in the interval [0,1]

Details

This creates a non-sparse constraint matrix which could slow training down for longer time series.

Value

Returns an updated object of class TRMF.

Author(s)

Chad Hammerquist

References

Yu, Hsiang-Fu, Nikhil Rao, and Inderjit S. Dhillon. "High-dimensional time series prediction with missing values." arXiv preprint arXiv:1509.08333 (2015).

https://en.wikipedia.org/wiki/Exponential_smoothing

See Also

create_TRMF, TRMF_columns, TRMF_trend,TRMF_seasonal

Examples


# create test data
xm = cbind(cumsum(rnorm(20)),cumsum(rnorm(20)))
fm = matrix(runif(20),2,10)
Am = xm%*%fm+rnorm(200,0,.2)

# create model
obj = create_TRMF(Am)
obj = TRMF_es(obj,numTS=2,alpha=0.5)
out = train(obj)
plot(out)



[Package TRMF version 0.1.5 Index]