朱小五 凹凸數據 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