朱小五 凹凸数据 python
是否真的完美?网络
双11结束了,你们已经无手可剁 。ide
天猫官方公布了今年的双11成交额为2684亿元,成功刷新了本身创下的商业纪录。按理说你们已经习惯了逐年增加,没想到函数
因为过于完美,引起网友提出质疑。工具
滑动图片浏览 or 点击查看大图
▼3d
该微博在天猫公布2019年销售额后,引起大量讨论,成功登上热搜。code
一些人提出了相反意见:如大V@阑夕表示天猫双11数据是精确地控制了交易额,从而造成了理想的曲线。blog
而天猫相关负责人回应称,符合趋势就假?造谣要负法律责任。图片
咱们且不评论是真是假,先想一想咱们能干点什么呢?数据分析
不如先照着这位微博网友的步骤来复现一遍吧。
这位微博网友使用的工具彷佛是Excel,我安装的是WPS,应该也能胜任。
先将天猫2009年-2018年的双十一历年销售额历史数据导入到一张表里。
点击插入一张散点图。
左键点击一下任意一个散点数据,出现散点数据选择状态。
鼠标右击,弹出提示框,点击“添加趋势线”。
在WPS表格右侧,找到趋势线属性按钮,左键单击一下,弹出趋势线属性框。
选择三次多项式,获得结果√
其中R²=0.9994,这与微博网友的预测值一致,说明咱们的方法是对的。
over。
停一停,
做为一个常常使用python进行数据分析的公众号,怎么能能少了Python呢?
咱们在python中能够利用numpy求解多项式以及多项式拟合。
尝试用numpy的polyfit函数进行拟合,并做图。
代码以下:
import matplotlib.pyplot as plt import numpy as np 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) # 用3次多项式拟合 p1 = np.poly1d(z1) yvals=p1(x) plot1=plt.plot(x, y, '*',label='实际销售额') plot2=plt.plot(x, yvals, 'r',label='拟合销售额') plt.xlabel('年份') plt.ylabel('销售额(亿)') plt.legend(loc=4) # 指定legend的位置 plt.title('2009-2018淘宝双十一销售额拟合曲线') plt.figure(figsize=(10, 10)) plt.show() print('拟合多项式:',p1) #打印拟合多项式 p1 = np.poly1d(z1) print("-"*40) print('2019年预测值:',p1(2019)) #打印预测值
运行结果:
利用三次多项式预测的数据与公布的结果确实很相近。
咱们继续搞事情。
将今年2019年的2684亿导入,预测一下后面三年:
按照网上的阴谋论,后面几年的数据应该如此。
看了网络上的好几篇文章,众说纷纭。
做为一个技术er,就不去对此事作评价了。
只写一些其中跟咱们相关的数据知识就够了。
网络大众对此事的见解到底如何?
不妨看下腾讯科技发起的一个投票。
大众的见解就像这个投票。
做者:朱小五,互联网公司数据分析师。热衷于Python爬虫,数据分析,可视化,我的公众号《凹凸玩数据》,有趣的不像个技术号~
End