Multi-dimensional solver that determines MA model coefficients from ACF. The solver uses fixed point iteration to find the coefficients.
using pointer = std::unique_ptr< Yule_walker_solver< T, N > >
using array_type = blitz::Array< T, N >
Three-dimensional array type.
using value_type = T
Array element type.
using shape_type = blitz::TinyVector< int, N >
min_white_noise_variance_delta() const -> T
Minimal white noise variance difference between iterations.
min_white_noise_variance_delta(T rhs) -> void
min_white_noise_variance() const -> T
min_white_noise_variance(T rhs) -> void
Minimal white noise variance. White noise variance, that is lower than this value, is considered to be nought.
max_residual(T rhs) -> void
max_residual() const -> T
max_iterations(int rhs) -> void
max_iterations() const -> int
Maximum number of iterations.
order() const -> const shape_type &
Moving average model order.
order(const shape_type & rhs) -> void
copy() const -> pointervirtual
solve(array_type acf) -> array_typevirtual
Solve Yule—Walker system of equations.
operator()() -> matrix_type
AC_matrix_block(int i0) -> matrix_type
AC_matrix_block(int i0, int j0) -> matrix_type
AC_matrix_block(int i0, int j0, int k0) -> matrix_type
Autocovariance_matrix_generator(const array_type & acf, const shape_type & ar_order)
Autocovariate matrix generator that reduces the size of ACF to match AR model order.
using pointer = std::unique_ptr< Yule_walker_solver< T, N > >
using array_type = blitz::Array< T, N >
Three-dimensional array type.
using value_type = T
Array element type.
chop_epsilon(value_type rhs) -> void
chop_epsilon() const -> value_type
chop(bool rhs) -> void
order() const -> const shape_type &
order(const shape_type & rhs) -> void
copy() const -> pointervirtual
solve(array_type acf) -> array_typevirtual
Solve Yule—Walker system of equations.
~Gauss_yule_walker_solver()
operator=(const Gauss_yule_walker_solver &) -> Gauss_yule_walker_solver &
Gauss_yule_walker_solver(const Gauss_yule_walker_solver &)
Gauss_yule_walker_solver()
Computes AR model coefficients using an order-recursvive method from [2]. The AR model order is determined automatically. The algorithm works for square ACFs (i.e. ACF with the same number of points along each dimension).
using pointer = std::unique_ptr< Yule_walker_solver< T, N > >
using array_type = blitz::Array< T, N >
Three-dimensional array type.
using value_type = T
Array element type.
min_variance() const -> T
Minimum variance. Reaching this value stops computations.
min_variance(T rhs) -> void
max_order() const -> int
Maximum AR model order.
max_order(int rhs) -> void
var_epsilon(value_type rhs) -> void
var_epsilon() const -> value_type
Maximum variance difference between subsequent algorithm iterations. The algorithm stops when .
chop_epsilon(value_type rhs) -> void
chop_epsilon() const -> value_type
Maximum ACF value. Smaller values are considered noughts and are removed from the end of ACF.
do_not_chop() -> void
chop() const -> bool
Determines whether to chop the result removing adjacent values smaller than from the end of the resulting ACF.
chop(bool rhs) -> void
do_not_determine_the_order() -> void
determine_the_order(bool rhs) -> void
determine_the_order() const -> bool
Determine the order of AR model automatically by comparing the variance in subsequent algorithm iterations.
copy() const -> pointervirtual
solve(array_type acf) -> array_typevirtual
Solve Yule—Walker system of equations. Initial stage.
operator=(const Choi_yule_walker_solver &) -> Choi_yule_walker_solver &
Choi_yule_walker_solver(const Choi_yule_walker_solver &)
~Choi_yule_walker_solver()
Choi_yule_walker_solver()
operator()() -> matrix_type
AC_matrix_block(int i0) -> matrix_type
AC_matrix_block(int i0, int j0) -> matrix_type
Autocovariance_matrix_generator(const array_type & acf, const shape_type & ar_order)
vtb::core::Choi_yule_walker_solver< T, N >
vtb::core::Fixed_point_iteration_yule_walker_solver< T, N >
vtb::core::Gauss_yule_walker_solver< T, N >
using pointer = std::unique_ptr< Yule_walker_solver< T, N > >
using array_type = blitz::Array< T, N >
Three-dimensional array type.
using value_type = T
Array element type.
white_noise_variance(value_type rhs) -> voidprotected
white_noise_variance() const -> value_type
White noise variance, calculated by the algorithm.
operator()(array_type acf) -> array_type
Solve Yule—Walker system of equations.
copy() const -> pointervirtual
solve(array_type acf) -> array_typevirtual
Solve Yule—Walker system of equations.
~Yule_walker_solver()virtual
operator=(const Yule_walker_solver &) -> Yule_walker_solver &
Yule_walker_solver(const Yule_walker_solver &)
Yule_walker_solver()
template <class T, int N>
moving_average_white_noise_variance(const blitz::Array< T, N > & acf, const blitz::Array< T, N > & theta) -> T
Compute white noise variance via the formula assuming .