數據庫和AI的一次火花

歡迎你們前往騰訊雲+社區,獲取更多騰訊海量技術實踐乾貨哦~git

本文由宗文 發表於雲+社區專欄github

| 導語 經過歷史數據,基於時間序列來預測將來。數據庫

咱們生活中不少數據是有時間維度的。好比說天氣或者股票價格。對於這種帶有時序的數據,有一種基於時間序列的預測模型---Prophet。微信

github.com/facebook/pr…架構

上面是項目的地址,須要的小夥伴能夠去上面一看究竟。而我主要作的是經過該模型來預測騰訊雲數據庫存儲量變化的將來趨勢。下來就來看看Prophet的強大之處吧。less

前面說到Prophet是基於時間序列的模型,因此說時間是裏面最重要的一個維度(若是您須要預測本身的數據,那麼必須是pandas固定的時間格式)。如今就開始直接看下結果吧。函數

img

縱軸是騰訊雲某類型數據庫的購買總量,能夠看到隨着時間的增加,數據庫的購買總量仍是在不斷增加的。而Prophet所要作的就是根據數據的歷史表現來估計數據將來的走勢。實驗中我選取了2018年1月到6月的數據做爲測試集。黑點爲真實值,藍色區域爲模型預測的估計值,能夠看到隨着時間的推移,整體估計容量的趨勢是增加的,可是隨着時間的推移,不肯定性區域愈來愈大(圖中藍色區域),也能夠認爲是隨着時間的推移,不肯定性愈來愈大。下面來看看真實值與模型預測值是否準確:測試

img

圖中6月份之後的數值是對模型的測試集,紅色區域就是模型未見過的數值與估計值的相對狀況。能夠明顯的看到,該模型估計仍是至關準確的呀。可能有不少小夥伴要問了,爲啥4月末會出現一個階段式的跳躍呢?就是咱們騰訊雲的一個大客戶拼多多最近有比較大的手筆。ui

固然該模型不只僅能夠估計進幾個月,也能夠估計更長的時間,可是隨着時間的推移,可能就更不許確了。cdn

重點就是來了!!!

這東西就是預測一個容量那麼簡單麼?

固然不是了。。主要分兩大方面:

1.能夠爲咱們本身提供服務:

(1).能夠爲咱們提供潛在客戶的估計。(好比明顯能夠看到某個公司近幾個月飛速購買數據庫服務,可是該公司不是咱們的大客戶。因此很難經過簡單的容量排行榜找到他。可是Prophet能夠估計出誰可能在後面變成大客戶,這樣就能夠告訴架構師誰是咱們的潛在客戶。)

(2).還能夠經過對咱們數據庫的總量或者單個客戶的數據庫總量進行估計,告訴大概何時客戶須要擴容了,讓咱們對本身的服務有更好的準備。

2.咱們也能夠爲咱們的客戶服務:

(1).客戶能夠經過對自習所選的維度進行分析,至關於一個saas服務。

(2).客戶還能夠對本身所買的CVM相關的用量進行分析,以便選擇最合理的配置。

最後簡單說下模型內部結構。

Prophet是一個累加回歸模型(additiveregressionmodel)模型的總體構建以下:

y(t) = g(t)+s(t)+h(t)+et

主要有三部分組成:growth(增加趨勢)、seasonality(季節趨勢)以及holidays(節假日對預測值的影響)。其中g(t)表示增加函數,用來擬合時間序列中預測值的非週期變化。用分段線性或邏輯增加曲線擬合的趨勢成分。Prophet會從數據中找出轉折點,自動檢測趨勢變化s(t)用來表示週期性變化,好比每週、每一年中的季節等。用傅里葉級數建模的季節成分,以年爲單位。用虛擬變量表示的季節成分,以周爲單位h(t)表示時間序列中那些潛在的具備非固定週期的節假日對預測值形成的影響。et爲噪聲項。

問答

雲數據庫問題?

相關閱讀

彭磊:TencentHub的架構實現

微信公衆號遷移Serverless詳解

如何使用StreamSets實現MySQL中變化數據實時寫入HBase

此文已由做者受權騰訊雲+社區發佈,原文連接:https://cloud.tencent.com/developer/article/1155229?fromSource=waitui

歡迎你們前往騰訊雲+社區或關注雲加社區微信公衆號(QcloudCommunity),第一時間獲取更多海量技術實踐乾貨哦~

海量技術實踐經驗,盡在雲加社區

相關文章
相關標籤/搜索