Если вы хотите использовать полиномы более высокого порядка, вы обычно ищете либо сплайн-фитинг , либо полифит . Подгонка сплайна подгонит подгонку, используя указанное количество отрезков, где polyfit подгонит полином определенного порядка к заданной системе.
Пример из документов для подгонки сплайна:
x = np.linspace(0, 10, num=11, endpoint=True)
y = np.cos(-x**2/9.0)
f = interp1d(x, y)
Из документов для polyfit
x = np.array([0.0, 1.0, 2.0, 3.0, 4.0, 5.0])
y = np.array([0.0, 0.8, 0.9, 0.1, -0.8, -1.0])
z = np.polyfit(x, y, 3)
Преимущество Polyfit заключается в том, что вы можете довольно легко экстраполировать, вызывая сгенерированную функцию polyfit для значения, тогда как для подгонки сплайнов требуются более сложные методы экстраполяции, как за этот пост здесь .