免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
手把手教你用Python玩轉(zhuǎn)時(shí)序數(shù)據(jù),從采樣、預(yù)測(cè)到聚類

原作 Arnaud Zinflou

郭一璞 編譯

量子位 出品 | 公眾號(hào) QbitAI

時(shí)序數(shù)據(jù),也就是時(shí)間序列的數(shù)據(jù)。

像股票價(jià)格、每日天氣、體重變化這一類,都是時(shí)序數(shù)據(jù),這類數(shù)據(jù)相當(dāng)常見(jiàn),也是所有數(shù)據(jù)科學(xué)家們的挑戰(zhàn)。

所以,如果你有朝一日碰到了時(shí)序數(shù)據(jù),該怎么用Python搞定它呢?

時(shí)序數(shù)據(jù)采樣

數(shù)據(jù)集

這里用到的例子,是2011年11月到2014年2月期間倫敦家庭的用電量。

可以看出,這個(gè)數(shù)據(jù)集是按照每半小時(shí)統(tǒng)計(jì)一次的節(jié)奏,記下每家每戶用了多少電??梢愿鶕?jù)這些數(shù)據(jù),生成一些圖表分析。

當(dāng)然,因?yàn)槲覀兛紤]的數(shù)據(jù)主要是時(shí)間和用電量?jī)蓚€(gè)維度,所以可以把其他的維度刪掉。

重采樣

我們先從重采樣開(kāi)始。重采樣意味著改變時(shí)序數(shù)據(jù)中的時(shí)間頻率,在特征工程中這個(gè)技能非常有用,給監(jiān)督學(xué)習(xí)模型補(bǔ)充一些結(jié)構(gòu)。

依靠pandas進(jìn)行重采樣的方法類似groupby,通過(guò)下面的例子,可以更方便的理解。

首先,需要把采樣周期變成每周:

· data.resample() 用來(lái)重采樣數(shù)據(jù)幀里的電量(kWh)那一列。

· The ‘W’ 表示我們要把采樣周期變?yōu)槊恐埽╳eek)。

· sum()用來(lái)求得這段時(shí)間里的電量之和。

當(dāng)然,我們也可以依葫蘆畫(huà)瓢把采樣周期變成每天。

pandas里內(nèi)置了很多重采樣的選項(xiàng),比如不同的時(shí)間段:

還有不同的采樣方式:

這些你可以直接用,也可以自己定義。

用Prophet建模

Facebook Prophet誕生于2017年,可以用Python和R語(yǔ)言操作。

Prophet天生就是分析時(shí)序數(shù)據(jù)的一把好手,適配任何時(shí)間尺度,還能很好的處理異常值和缺失數(shù)據(jù),對(duì)趨勢(shì)變化非常敏感,還考慮到了假期等特殊時(shí)間的影響,可以自定義變更點(diǎn)。

在使用Prophet之前,我們先重命名一下數(shù)據(jù)集中的每列。數(shù)據(jù)列為ds,我們要預(yù)測(cè)的值列為y。

下面的例子就是以每天為間隔的時(shí)序數(shù)列。

導(dǎo)入Prophet,創(chuàng)建模型,填充數(shù)據(jù)。

在Prophet里,changeprior prior scale這個(gè)參數(shù)可以控制對(duì)趨勢(shì)變化的敏感程度,參數(shù)越高越敏感,設(shè)置為0.15比較合適

為了實(shí)現(xiàn)預(yù)測(cè)功能,我們創(chuàng)建未來(lái)數(shù)據(jù)幀,設(shè)置預(yù)測(cè)未來(lái)多少時(shí)間和頻率,然后Prophet就可以開(kāi)始預(yù)測(cè)了。

這里設(shè)置的是預(yù)測(cè)兩周,以天為單位。

搞定了,可以預(yù)測(cè)未來(lái)兩個(gè)月的家庭用電量了。

圖中,黑點(diǎn)為實(shí)際值,藍(lán)點(diǎn)為預(yù)測(cè)值,淺藍(lán)色陰影區(qū)域表示不確定性。

當(dāng)然,如果預(yù)測(cè)的時(shí)間很長(zhǎng),不確定性也會(huì)增大。

利用Prophet,我們還可以簡(jiǎn)單地看到可視化的趨勢(shì)圖。

看上面第二張圖,以年份為單位,可以明顯看出秋冬家庭耗電量增大,春夏則減少;周日耗電量要比一周里的其他六天多。

LSTM預(yù)測(cè)

LSTM-RNN可以進(jìn)行長(zhǎng)序列觀察,這是LSTM內(nèi)部單元的架構(gòu)圖:

LSTM似乎很適合時(shí)序數(shù)據(jù)預(yù)測(cè),讓它來(lái)處理一下我們按照一天為周期的數(shù)據(jù):

LSTM對(duì)輸入數(shù)據(jù)的規(guī)模很敏感,特別是在使用sigmoid或tanh激活函數(shù)時(shí)。

你也可以把數(shù)據(jù)標(biāo)準(zhǔn)化,也就是將數(shù)據(jù)重新調(diào)整到[0,1]或[-1,1]的范圍,可以使用scikit-learn庫(kù)中的MinMaxScaler預(yù)處理類輕松地標(biāo)準(zhǔn)化數(shù)據(jù)集。

現(xiàn)在,把數(shù)據(jù)集分成訓(xùn)練集和測(cè)試集。

下面的代碼把80%的數(shù)據(jù)分成訓(xùn)練集,剩下的20%留著當(dāng)測(cè)試集。

定義一個(gè)函數(shù)來(lái)創(chuàng)建新的數(shù)據(jù)集,用這個(gè)函數(shù)來(lái)準(zhǔn)備建模。

LSTM網(wǎng)絡(luò)的輸入數(shù)據(jù)需要設(shè)置成特定的陣列結(jié)構(gòu):[樣本,時(shí)間步長(zhǎng),特征]。

現(xiàn)在用的是[樣本,特征],我們需要加上時(shí)間步長(zhǎng),通過(guò)下面的方法把訓(xùn)練集和測(cè)試集變成我們想要的樣子

搞定,現(xiàn)在設(shè)計(jì)調(diào)試LSTM網(wǎng)絡(luò)。

從損失圖中,我們可以看到該模型在訓(xùn)練集和測(cè)試集上的表現(xiàn)相似。

看下圖,LSTM在擬合測(cè)試集的時(shí)候表現(xiàn)的非常好。

聚類

最后,我們還要用我們例子中的數(shù)據(jù)集進(jìn)行聚類。

聚類的方法很多,其中一種是分層聚類(clusters hierarchically)。

分層的方法有兩種:從頂部開(kāi)始分,和從底部開(kāi)始分。我們這里選擇從底部開(kāi)始。

方法很簡(jiǎn)單,導(dǎo)入原始數(shù)據(jù),然后為一年中的某一天和一天中的某一小時(shí)添加兩列。

連接和樹(shù)形圖

連接函數(shù)將距離信息和分組對(duì)象根據(jù)相似性聚類,他們相互連接,創(chuàng)造更大的聚類。這個(gè)進(jìn)程一直迭代,直到原始數(shù)據(jù)集中的所有對(duì)象都在分層樹(shù)里相互連接在一起。

這樣完成我們數(shù)據(jù)的聚類:

搞定,是不是很簡(jiǎn)單?

不過(guò),代碼里的ward是啥?

這是一種新的聚類方法,關(guān)鍵詞ward讓連接函數(shù)使用ward方差最小化算法。

現(xiàn)在,看一下聚類樹(shù)形圖:

x軸上就是標(biāo)簽,或者說(shuō)是樣本索引;

y軸上是距離;

豎線是聚類合并;

橫線表示哪些集群/標(biāo)簽是合并的一部分,形成新聚類;

豎線的長(zhǎng)度是形成新聚類的距離。

簡(jiǎn)化一下,更清楚:

傳送門

https://towardsdatascience.com/playing-with-time-series-data-in-python-959e2485bff8

—完—

加入社群

量子位AI社群開(kāi)始招募啦,歡迎對(duì)AI感興趣的同學(xué),在量子位公眾號(hào)(QbitAI)對(duì)話界面回復(fù)關(guān)鍵字“交流群”,獲取入群方式;

此外,量子位專業(yè)細(xì)分群(自動(dòng)駕駛、CV、NLP、機(jī)器學(xué)習(xí)等)正在招募,面向正在從事相關(guān)領(lǐng)域的工程師及研究人員。

進(jìn)專業(yè)群請(qǐng)?jiān)诹孔游还娞?hào)(QbitAI)對(duì)話界面回復(fù)關(guān)鍵字“專業(yè)群”,獲取入群方式。(專業(yè)群審核較嚴(yán),敬請(qǐng)諒解)

誠(chéng)摯招聘

量子位正在招募編輯/記者,工作地點(diǎn)在北京中關(guān)村。期待有才氣、有熱情的同學(xué)加入我們!相關(guān)細(xì)節(jié),請(qǐng)?jiān)诹孔游还娞?hào)(QbitAI)對(duì)話界面,回復(fù)“招聘”兩個(gè)字。

喜歡就點(diǎn)「好看」吧 !

內(nèi)容來(lái)自騰訊新聞
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
智能監(jiān)控中的時(shí)間序列預(yù)測(cè)
Prophet:Python庫(kù)安裝的天花板。。。
免費(fèi)機(jī)器學(xué)習(xí)/深度學(xué)習(xí)視頻課程
R開(kāi)發(fā):常用R語(yǔ)言包介紹
視頻行為識(shí)別檢測(cè)綜述 IDT TSN CNN
用Prophet在Python中進(jìn)行時(shí)間序列預(yù)測(cè)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服