# train_TRMF: Train a TRMF model In TRMF: Temporally Regularized Matrix Factorization

## Description

This function is the "engine" of the TRMF package. It takes a previously created TRMF object and fits it to the data using an alternating least squares algorithm.

## Usage

 ```1 2``` ```## S3 method for class 'TRMF' train(x, numit = 10, ...) ```

## Arguments

 `x` A TRMF object to be fit. `numit` Number of alternating least squares iterations `...` ignored

## Details

If a coefficient model is not present in `object`, it adds a L2 regularization model. If no time series models have been added to `object`, it adds a simple model using `TRMF_simple`.

## Value

`train` returns a fitted object of `class` "`TRMF`" that contains the data, all added models, matrix factorization and fitted model. The matrix factors Xm, Fm are stored in `object\$Factors\$Xm` and `object\$Factors\$Fm` respectively. Use `fitted` to get fitted model, use `resid` to get residuals, use `coef` to get coefficients (Fm matrix) and `components` to get `Xm` or `Fm`.

## References

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

`create_TRMF`, `TRMF_columns`, `TRMF_trend`
 ```1 2 3 4 5 6 7 8 9``` ```# create test data xm = poly(x = (-10:10)/10,degree=4) fm = matrix(rnorm(40),4,10) Am = xm%*%fm+rnorm(210,0,.2) # create model obj = create_TRMF(Am) out = train(obj) plot(out) ```