天貓雙11數據過於完美?我們用python來看看

  • 2019 年 11 月 28 日
  • 筆記

雙11結束了,大家已經無手可剁 。

天貓官方公布了今年的雙11成交額為2684億元,成功刷新了自己創下的商業紀錄。按理說大家已經習慣了逐年增長,沒想到

由於過於完美,引髮網友提出質疑。

該微博在天貓公布2019年銷售額後,引發大量討論,成功登上熱搜。

一些人提出了相反意見:如大V@闌夕表示天貓雙11數據是精確地控制了交易額,從而形成了理想的曲線。

而天貓相關負責人回應稱,符合趨勢就假?造謠要負法律責任。

我們且不評論是真是假,先想想我們能幹點什麼呢?

不如先照著這位微博網友的步驟來複現一遍吧。

利用Excel進行擬合

這位微博網友使用的工具似乎是Excel,我安裝的是WPS,應該也能勝任。

先將天貓2009年-2018年的雙十一歷年銷售額歷史數據導入到一張表裡。

點擊插入一張散點圖。

左鍵點擊一下任意一個散點數據,出現散點數據選擇狀態。

滑鼠右擊,彈出提示框,點擊「添加趨勢線」。

在WPS表格右側,找到趨勢線屬性按鈕,左鍵單擊一下,彈出趨勢線屬性框。

選擇三次多項式,得到結果√

其中R²=0.9994,這與微博網友的預測值一致,說明我們的方法是對的。

over。

停一停,

作為一個經常使用python進行數據分析的公眾號,怎麼能能少了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爬蟲,數據分析,可視化,個人公眾號《凹凸玩數據》,有趣的不像個技術號~