ForeCA (version 0.2.7)

foreca.EM.one_weightvector: EM-like algorithm to estimate optimal ForeCA transformation

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

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.

See Also

foreca.one_weightvector, foreca.EM-aux

Examples

Run this code
# NOT RUN {
XX <- diff(log(EuStockMarkets)[100:200,]) * 100
one.weight <- foreca.EM.one_weightvector(whiten(XX)$U,
                                         spectrum.control =
                                            list(method = "mvspec"))
# }
# NOT RUN {
# }

Run the code above in your browser using DataLab