Нахождение параметров подгонки констант функции для данного набора данных - PullRequest
1 голос
/ 03 марта 2020

Предположим, что у меня есть набор данных, и я знаю, что данная функция foo может соответствовать этим данным в зависимости от трех параметров настройки, которые мы будем называть: alpha1, alpha2, alpha3, и все они являются константами. Итак, у меня есть набор реальных данных, которые были сгенерированы с помощью функции foo для данного примера, и я хочу выяснить, каковы значения упомянутых константных параметров.

Итак, другими словами Я хочу найти значения каждой константы моей функции, которые бы соответствовали этой функции моим данным. Вот очень простой пример кода, который может помочь вам лучше понять, чего я пытаюсь достичь:

data = [ 0, 11.4, 22.8, 34.2, 45.6,  57,  68.4, 79.8, 91.2, 102.6, 114]

# Function in which I want to find the constant alpha1, alpha2 and alpha3. x is a variable.
def foo(alpha1,alpha2,alpha3,x): 
    y = (3*alpha1 + 2*alpha2 + alpha3)*x
    return y

Это выдуманный пример, ничто по сравнению с ситуацией, в которой я хочу применить решение , который является совершенно нелинейным и включает в себя гораздо больше переменных. Также важно иметь в виду, что я знаю значения переменных для каждой точки данных x для каждой точки данных. В моем случае это просто от 0 до 9.

Поскольку я генерировал данные вручную, я знаю, что значения параметров:

alpha1 = 2.5
alpha2 = 1.2
alpha3 = 1.5

Это, конечно, очень просто пример, который составлен только для того, чтобы лучше проиллюстрировать мой вопрос на случай, если кто-то захочет показать какой-то код. Выполнение какого-то рода меня sh с различными значениями константы, а также с функцией минимизации может также сработать, но для сложного сценария потребуются целые годы. Поэтому я хотел бы спросить, есть ли какая-либо библиотека или алгоритм, которые могли бы помочь в достижении решения.

...