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

аюсь подогнать многочлен второго порядка к необработанным данным и вывести результаты с помощью Matplotlib. В наборе данных есть около миллиона точек, которые я пытаюсь уместить. Это должно быть просто, со многими примерами, доступными в Интернете. Однако по какой-то причине я не могу понять это правильно.

Я получаю следующее предупреждение:

RankWarning: Polyfit может быть плохо обусловлен

Это мой вывод:

Это вывод с использованием Excel:

Смотрите мой код ниже. Что мне не хватает ??

xData = df['X']
yData = df['Y']
xTitle = 'X'
yTitle = 'Y'
title = ''
minX = 100
maxX = 300
minY = 500
maxY = 2200

title_font = {'fontname':'Arial', 'size':'30', 'color':'black', 'weight':'normal',
              'verticalalignment':'bottom'} # Bottom vertical alignment for more space
axis_font = {'fontname':'Arial', 'size':'18'}

#Poly fit

# calculate polynomial
z = np.polyfit(xData, yData, 2)
f = np.poly1d(z)
print(f)

# calculate new x's and y's
x_new = xData
y_new = f(x_new)   

#Plot
plt.scatter(xData, yData,c='#002776',edgecolors='none')
plt.plot(x_new,y_new,c='#C60C30')

plt.ylim([minY,maxY])
plt.xlim([minX,maxX])

plt.xlabel(xTitle,**axis_font)
plt.ylabel(yTitle,**axis_font)
plt.title(title,**title_font)

plt.show()      

Ответы на вопрос(2)

Ваш ответ на вопрос