Апроксимация векторной функции

 

Здравствуйте! Прошу подсказать, есть ли в mql удобный инструмент апроксимации векторной функции, к примеру полиномом первого порядка? т.е есть ли уже готовые инструменты для вычисления приближения функции f(X): R^n->R^n, X = {x1, ..., xn}? 

К примеру есть набор вектров {X1, X2, X3 ..., Xn} +  {Y1, Y2, Y3 ..., Yn} и нужно приблизить f(Xn) = Yn = a0 + a1*(Xn) по МНК.

Заранее спасибо.

 
pesik_is_real:

Здравствуйте! Прошу подсказать, есть ли в mql удобный инструмент апроксимации векторной функции, к примеру полиномом первого порядка? т.е есть ли уже готовые инструменты для вычисления приближения функции f(X): R^n->R^n, X = {x1, ..., xn}? 

К примеру есть набор вектров {X1, X2, X3 ..., Xn} +  {Y1, Y2, Y3 ..., Yn} и нужно приблизить f(Xn) = Yn = a0 + a1*(Xn) по МНК.

Заранее спасибо.

alglib вроде бы ещё жив, наверное можно им :-)

для себя любимого использую внешние библиотеки через DLL. В частности https://www.gnu.org/software/gsl/doc/html/lls.html#multi-parameter-linear-regression-example

просто они лучше документированы и поддерживаются 

Linear Least-Squares Fitting — GSL 2.7 documentation
  • www.gnu.org
This chapter describes routines for performing least squares fits to experimental data using linear combinations of functions. The data may be weighted or unweighted, i.e. with known or unknown errors. For weighted data the functions compute the best fit parameters and their associated covariance matrix. For unweighted data the covariance...
 
Maxim Kuznetsov #:

alglib вроде бы ещё жив, наверное можно им :-)

для себя любимого использую внешние библиотеки через DLL. В частности https://www.gnu.org/software/gsl/doc/html/lls.html#multi-parameter-linear-regression-example

просто они лучше документированы и поддерживаются

Честно говоря, пытался разобраться в AlgLib, но отсутствие внятной документации совершенно в этом деле не помогает.  CLSFit вроде может апроксимировать, но в исходном коде он принимает одномерные массивы и как поведёт себя с векторами - непонятно...

В любом случае, спасибо за наводку!
 
Pavel Krivoshein:

К примеру есть набор вектров {X1, X2, X3 ..., Xn} +  {Y1, Y2, Y3 ..., Yn} и нужно приблизить f(Xn) = Yn = a0 + a1*(Xn) по МНК.

В данном конкретном случае несложно считается через матричные операции, которые недавно появились в mql5.