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 = TArray element type.
using shape_type = blitz::TinyVector< int, N >min_white_noise_variance_delta() const -> TMinimal white noise variance difference between iterations.
min_white_noise_variance_delta(T rhs) -> voidmin_white_noise_variance() const -> Tmin_white_noise_variance(T rhs) -> voidMinimal white noise variance. White noise variance, that is lower than this value, is considered to be nought.
max_residual(T rhs) -> voidmax_residual() const -> Tmax_iterations(int rhs) -> voidmax_iterations() const -> intMaximum number of iterations.
order() const -> const shape_type &Moving average model order.
order(const shape_type & rhs) -> voidcopy() const -> pointervirtualsolve(array_type acf) -> array_typevirtual
Solve Yule—Walker system of equations.
operator()() -> matrix_typeAC_matrix_block(int i0) -> matrix_typeAC_matrix_block(int i0, int j0) -> matrix_typeAC_matrix_block(int i0, int j0, int k0) -> matrix_typeAutocovariance_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 = TArray element type.
chop_epsilon(value_type rhs) -> voidchop_epsilon() const -> value_typechop(bool rhs) -> voidorder() const -> const shape_type &order(const shape_type & rhs) -> voidcopy() const -> pointervirtualsolve(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 = TArray element type.
min_variance() const -> TMinimum variance. Reaching this value stops computations.
min_variance(T rhs) -> voidmax_order() const -> intMaximum AR model order.
max_order(int rhs) -> voidvar_epsilon(value_type rhs) -> voidvar_epsilon() const -> value_typeMaximum variance difference between subsequent algorithm iterations. The algorithm stops when .
chop_epsilon(value_type rhs) -> voidchop_epsilon() const -> value_typeMaximum ACF value. Smaller values are considered noughts and are removed from the end of ACF.
do_not_chop() -> voidchop() const -> boolDetermines whether to chop the result removing adjacent values smaller than from the end of the resulting ACF.
chop(bool rhs) -> voiddo_not_determine_the_order() -> voiddetermine_the_order(bool rhs) -> voiddetermine_the_order() const -> boolDetermine the order of AR model automatically by comparing the variance in subsequent algorithm iterations.
copy() const -> pointervirtualsolve(array_type acf) -> array_typevirtualSolve 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_typeAC_matrix_block(int i0) -> matrix_typeAC_matrix_block(int i0, int j0) -> matrix_typeAutocovariance_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 = TArray element type.
white_noise_variance(value_type rhs) -> voidprotectedwhite_noise_variance() const -> value_typeWhite noise variance, calculated by the algorithm.
operator()(array_type acf) -> array_type
Solve Yule—Walker system of equations.
copy() const -> pointervirtualsolve(array_type acf) -> array_typevirtual
Solve Yule—Walker system of equations.
~Yule_walker_solver()virtualoperator=(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) -> TCompute white noise variance via the formula assuming .