【python最小二乘法计算拟合多项式预测更新】肺炎确诊第二天下降(最新截至2020-2-6)
日期 | 1月23日 | 1月24日 | 1月25日 | 1月26日 | 1月27日 | 1月28日 | 1月29日 | 1月30日 | 1月31日 | 2月1日 | 2月2日 | 2月3日 | 2月4日 | 2月5日 | 2月6日 | 2月7日 | 2月8日 | 2月9日 | 2月10日 | 2月11日 | 2月12日 |
武汉新增确认 | 105 | 180 | 323 | 371 | 1291 | 840 | 1032 | 1220 | 1347 | 1921 | 2103 | 2345 | 3156 | 2987 | 2447 | ||||||
全国新增确认 | 250 | 444 | 680 | 760 | 1771 | 1450 | 1737 | 1982 | 2102 | 2580 | 2829 | 3235 | 3887 | 3694 | 3143 |
excel作图
python作图,最小二乘法计算拟合多项式
import numpy as np
from scipy.optimize import leastsq
import pylab as pl
x = np.arange(1, 16, 1)
y = np.array([105,180,323,371,1291,840,1032,1220,1347,1921,2103,2345,3156,2987,2447])
#第一个拟合,自由度为6最高阶6次
z1 = np.polyfit(x, y, 6)
# 生成多项式对象
p1 = np.poly1d(z1)
print(z1)
print(p1)
pl.plot(x, y, 'b^-', label='Origin Line')
pl.plot(x, p1(x), 'gv--', label='Poly Fitting Line(deg=6)')
#pl.plot(x, np.polyval(z1, x))
pl.show()