python分析双十一数据

根据历年双十一数据进行多项式回归:分别用R、Spss、python进行了实现,发现Spss结果更好解释,拟合度达到0.99,将时间数据进行转为1,2,...

python的多项式回归结果还没太看懂,因为与R运行结果的回归系数不一样,希望看到的小伙伴能帮忙解释下;plt.scatter(x,y):圆形点;plt.plot(x,y,'*'):星形点

import matplotlib.pyplot as plt
import numpy as np
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['axes.unicode_minus']=False


x=np.array([year for year in range(2009,2019)])
y=np.array([0.5,9.36,52,191,352,571,912,1207,1682.69,2135])

z1=np.polyfit(x,y,3)#用三次多项式拟合
p1=np.poly1d(z1)   # 生成多项式对象

yvals=p1(x)    #拟合值

plt.scatter(x,y,label='实际销售额')  
plt.plot(x,yvals,'r',label='拟合销售额')
plt.xlabel('年份')
plt.ylabel('销售额')
plt.legend(loc=4)  #指定legend的位置
plt.title('2009-2018淘宝双十一销售额拟合曲线')
plt.show()

print('拟合多项式:\n',p1)  #打印拟合多项式

print("-"*40)
print('2019年预测值:\n',p1(2019))


# x=2019
# y=0.159*(x**3) - 930.2*(x**2) + (1.813e+06)*x - (1.176e+09)
# print(y)

输出结果:

拟合多项式:
        3         2
0.159 x - 930.2 x + 1.813e+06 x - 1.176e+09
----------------------------------------
2019年预测值:
 2689.013335466385


Spss进行二次、三次多项式回归结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值