# foreca.EM.one_weightvector: EM-like algorithm to estimate optimal ForeCA transformation In ForeCA: Forecastable Component Analysis

## Description

foreca.EM.one_weightvector finds the optimal weightvector \mathbf{w}^* that gives the most forecastable signal y_t^* = \mathbf{U}_t \mathbf{w}^* using an EM-like algorithm (see References).

## Usage

 1 2 3 4 foreca.EM.one_weightvector(U, f.U = NULL, spectrum.control = list(), entropy.control = list(), algorithm.control = list(), init.weightvector = initialize_weightvector(num.series = ncol(U), method = "rnorm"), ...) 

## Arguments

 U a T \times K array with T observations from the K-dimensional whitened (whiten) time series \mathbf{U}_t. Can be a matrix, data.frame, or a multivariate ts object. f.U multivariate spectrum of class 'mvspectrum' with normalize = TRUE. spectrum.control list; control settings for spectrum estimation. See complete_spectrum_control for details. entropy.control list; control settings for entropy estimation. See complete_entropy_control for details. algorithm.control list; control settings for any iterative ForeCA algorithm. See complete_algorithm_control for details. init.weightvector numeric; starting point \mathbf{w}_0 for several iterative algorithms. By default it uses a (normalized) random vector from a standard Normal distribution (see initialize_weightvector). ... other arguments passed to mvspectrum

## Value

A list with useful quantities like the optimal weighvector, the corresponding signal, and its forecastability.

## References

Goerg, G. M. (2013). “Forecastable Component Analysis”. Journal of Machine Learning Research (JMLR) W&CP 28 (2): 64-72, 2013. Available at jmlr.org/proceedings/papers/v28/goerg13.html.

foreca.one_weightvector, foreca.EM-aux
 1 2 3 4 5 6 7 ## Not run: XX <- diff(log(EuStockMarkets)[100:200,]) * 100 one.weight <- foreca.EM.one_weightvector(whiten(XX)\$U, spectrum.control = list(method = "wosa")) ## End(Not run)