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