天貓雙11數(shù)據(jù)過于完美?我們用Python來看看
雙11結(jié)束了,大家已經(jīng)無手可剁 。
天貓官方公布了今年的雙11成交額為2684億元,成功刷新了自己創(chuàng)下的商業(yè)紀錄。按理說大家已經(jīng)習慣了逐年增長,沒想到由于過于完美,引發(fā)網(wǎng)友提出質(zhì)疑。
該微博在天貓公布2019年銷售額后,引發(fā)大量討論,成功登上熱搜。
一些人提出了相反意見:如大V@闌夕表示天貓雙11數(shù)據(jù)是精確地控制了交易額,從而形成了理想的曲線。
而天貓相關負責人回應稱,符合趨勢就假?造謠要負法律責任。
我們且不評論是真是假,先想想我們能干點什么呢?
不如先照著這位微博網(wǎng)友的步驟來復現(xiàn)一遍吧。
利用Excel進行擬合
這位微博網(wǎng)友使用的工具似乎是Excel,我安裝的是WPS,應該也能勝任。
先將天貓2009年-2018年的雙十一歷年銷售額歷史數(shù)據(jù)導入到一張表里。
點擊插入一張散點圖。
左鍵點擊一下任意一個散點數(shù)據(jù),出現(xiàn)散點數(shù)據(jù)選擇狀態(tài)。
鼠標右擊,彈出提示框,點擊“添加趨勢線”。
在WPS表格右側(cè),找到趨勢線屬性按鈕,左鍵單擊一下,彈出趨勢線屬性框。
選擇三次多項式,得到結(jié)果√
其中R²=0.9994,這與微博網(wǎng)友的預測值一致,說明我們的方法是對的。
over。
停一停,
作為一個經(jīng)常使用python進行數(shù)據(jù)分析的公眾號,怎么能能少了Python呢?
利用Python進行擬合并預測
我們在python中可以利用numpy求解多項式以及多項式擬合。
嘗試用numpy的polyfit函數(shù)進行擬合,并作圖。
代碼如下:
- 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)) #打印預測值
運行結(jié)果:
利用三次多項式預測的數(shù)據(jù)與公布的結(jié)果確實很相近。
我們繼續(xù)搞事情。
將今年2019年的2684億導入,預測一下后面三年:
按照網(wǎng)上的陰謀論,后面幾年的數(shù)據(jù)應該如此。
碎碎談
看了網(wǎng)絡上的好幾篇文章,眾說紛紜。
作為一個技術(shù)er,就不去對此事做評價了。
只寫一些其中跟我們相關的數(shù)據(jù)知識就夠了。
網(wǎng)絡大眾對此事的看法到底如何?
不妨看下騰訊科技發(fā)起的一個投票。
大眾的看法就像這個投票。