Здравствуйте! Помогите пожалуйста с поиском аналитической формулы.
Постановка:
Необходимо получить формулу

Для набора данных в объеме


...

Особенности данных:

- может принимать от 1 до 20 разных значений с определенным шагом.
Пусть

- количество различных значений

для

-той независимой.
например

или

и т.д. (значения могут быть от 1.e-9 до 1.e+9).
Тогда данные составляются путем комбинации всех вариантов

, то есть получается

(n - объем данных, m - количество независимых параметров).
Для каждой

-той комбинации вычисляется

(сложные вычисления).
Так и получается набор данных,

...

который может составлять гигабайты.
Способ решения:
Способ состоит в использовании "Polynomial curve fitting", а точнее функция p = polyfit(x,y,nFits) в MATLAB, где

-вектор, nFits степеней.
В итоге если nFits = 1, то функция находит коэффициенты

такие, что

(при вычислении используется nFits = 4).
Метод состоит в том, чтобы "сжимать" данные по каждому из параметров.
Например:
Пусть исходные данные состоят из 4х независимых

...


Тогда находим все различные комбинации без последнего

:

всего таких комбинаций будет

,
и каждой комбинации

будет соответствовать

разных значений

и

из исходного набора.
Теперь для этих (

и

) данных найдем коэффициенты с помощью polyfit().
В результате построим новый набор данных, который будет в

раз меньше исходного.

...

теперь в качестве y, уже имеет два значения a,b, для каждого ищется новые коэффициенты, далее происходит замена аналогичным образом.
И так "сжатие" выполняется на

.
В конце концов, остается только

коэффициентов, из которых составляется формула по вычисленным коэффициентам a,b,c,d,...,n,o,p:
Эксперименты:
Вычисления проводились для структур из 4-11 параметров по 100-200 мб данных, на некоторых структурах данные восстановленные по формуле почти полностью совпадают с исходными (могу вставить рисунки). Но есть проблемы.
Проблема:
Главная проблема заключается в том, что формулы получаются слишком длинные,
количество коэффициентов вычисляется по формуле

s - количество параметров, p - полиномы, то есть для 4 полиномов и 6 параметров будет 15625 коэффициентов, если составить формулу, то она будет занимать

то есть ~ 122 килобайта.
Для 11 параметров и 4 полинома (макс тест) ~ 372 Mb.
Также на некоторых структурах появляются сильное расхождение с реальными данными, что неприемлемо.
Увеличение полиномов повышает точность, но количество коэффициентов становится еще больше.
Подскажите, пожалуйста, что еще можно применить?
Спасибо.