Как я могу получить значение из полинома, определенного с помощью np.poly1d? - PullRequest
0 голосов
/ 14 апреля 2020

Я сделал модель из серии данных. Моя модель представлена ​​красной линией, которая имеет следующую формулу:

p4=np.poly1d(np.polyfit(x,y,4)) #0.04253 x - 3.593 x + 89.6 x - 470.3 x + 666.4

enter image description here Как получить значение из моей модели (из красной полиномиальной линии)? Я пытался с этим кодом, но результаты не согласованы:

y=np.arange(len(x))
X=scale.fit_transform(y.values)
X=np.array(X)
X.reshape(-1,1)
est = sm.OLS(y, X).fit()

scaled = scale.transform(50)
predicted = est.predict(scaled[0])

При x = 50 я получаю 1 как прогноз, который явно не согласуется с моделью. Не могли бы вы помочь мне?

1 Ответ

0 голосов
/ 14 апреля 2020

Вы можете получить значение, используя полиномиальную функцию, возвращаемую np.poly1d.

См. Пример, показанный в документации :

import numpy as np

p = np.poly1d([1, 2, 3])
print(np.poly1d(p))

# Evaluate the polynomial at x = 0.5:
y = p(0.5)
print(y)
...