Python用KShape對(duì)時(shí)間序列進(jìn)行聚類(lèi)和肘方法確定最優(yōu)聚類(lèi)數(shù)k可視化|附代碼數(shù)據(jù)
全文鏈接:http://tecdat.cn/?p=27078
最近我們被客戶要求撰寫(xiě)關(guān)于KShape的研究報(bào)告,包括一些圖形和統(tǒng)計(jì)輸出。
時(shí)序數(shù)據(jù)的聚類(lèi)方法,該算法按照以下流程執(zhí)行。
使用基于互相關(guān)測(cè)量的距離標(biāo)度(基于形狀的距離:SBD)
根據(jù) 1 計(jì)算時(shí)間序列聚類(lèi)的質(zhì)心。(一種新的基于質(zhì)心的聚類(lèi)算法,可保留時(shí)間序列的形狀)
劃分成每個(gè)簇的方法和一般的kmeans一樣,但是在計(jì)算距離尺度和重心的時(shí)候使用上面的1和2。
import?pandas?as?pd

????#?讀取數(shù)據(jù)幀,將其轉(zhuǎn)化為時(shí)間序列數(shù)組,并將其存儲(chǔ)在一個(gè)列表中????tata?=?[]????for?i,?df?in?enmee(dfs):
????????
????????#?檢查每個(gè)時(shí)間序列數(shù)據(jù)的最大長(zhǎng)度。????????for?ts?in?tsda:
????????????if?len(s)?>?ln_a:
????????????????lenmx?=?len(ts)
????????
????????#?給出最后一個(gè)數(shù)據(jù),以調(diào)整時(shí)間序列數(shù)據(jù)的長(zhǎng)度????????for?i,?ts?in?enumerate(tsdata):
????????????dta[i]?=?ts?+?[ts[-1]]?*?n_dd
????
????#?轉(zhuǎn)換為矢量????stack_list?=?[]????for?j?in?range(len(timeseries_dataset)):
???????
????????stack_list.append(data)
????
????#?轉(zhuǎn)換為一維數(shù)組????trasfome_daa?=?np.stack(ack_ist,?axis=0)
????return?trafoed_data
數(shù)據(jù)集準(zhǔn)備
#?文件列表flnes=?soted(go.ob('mpldat/smeda*.csv'))
#?從文件中加載數(shù)據(jù)幀并將其存儲(chǔ)在一個(gè)列表中。for?ienme?in?fiemes:????df?=?pd.read_csv(filnme,?indx_cl=one,hadr=0)????flt.append(df)
聚類(lèi)結(jié)果的可視化
#?為了計(jì)算交叉關(guān)系,需要對(duì)它們進(jìn)行歸一化處理。# TimeSeriesScalerMeanVariance將是對(duì)數(shù)據(jù)進(jìn)行規(guī)范化的類(lèi)。sac_da?=?TimeeiesalerMVarne(mu=0.0,?std=1.0).fit_trnform(tranfome_data)# KShape類(lèi)的實(shí)例化。ks?=?KShpe(_clusrs=2,?n_nit=10,?vrboe=True,?rano_stte=sed)
yprd?=?ks.ft_reitsak_ata)#?聚類(lèi)和可視化plt.tight_layout()
plt.show()

點(diǎn)擊標(biāo)題查閱往期內(nèi)容

R語(yǔ)言k-Shape時(shí)間序列聚類(lèi)方法對(duì)股票價(jià)格時(shí)間序列聚類(lèi)

左右滑動(dòng)查看更多

01

02

03

04

用肘法計(jì)算簇?cái)?shù)
什么是肘法...
計(jì)算從每個(gè)點(diǎn)到簇中心的距離的平方和,指定為簇內(nèi)誤差平方和 (SSE)。
它是一種更改簇?cái)?shù),繪制每個(gè) SSE 值,并將像“肘”一樣彎曲的點(diǎn)設(shè)置為最佳簇?cái)?shù)的方法。
#計(jì)算到1~10個(gè)群組?for?i??in?range(1,11):
????#進(jìn)行聚類(lèi)計(jì)算。
????ks.fit(sacdta)
????#KS.fit給出KS.inrta_????disorons.append(ks.netia_)
plt.plot(range(1,11),?disorins,?marker='o')


?

點(diǎn)擊文末?“閱讀原文”
獲取全文完整資料。
本文選自《Python用KShape對(duì)時(shí)間序列進(jìn)行聚類(lèi)和肘方法確定最優(yōu)聚類(lèi)數(shù)k可視化》。
點(diǎn)擊標(biāo)題查閱往期內(nèi)容
R語(yǔ)言中的SOM(自組織映射神經(jīng)網(wǎng)絡(luò))對(duì)NBA球員聚類(lèi)分析
K-means和層次聚類(lèi)分析癌細(xì)胞系微陣列數(shù)據(jù)和樹(shù)狀圖可視化比較KMEANS均值聚類(lèi)和層次聚類(lèi):亞洲國(guó)家地區(qū)生活幸福質(zhì)量異同可視化分析和選擇最佳聚類(lèi)數(shù)
PYTHON實(shí)現(xiàn)譜聚類(lèi)算法和改變聚類(lèi)簇?cái)?shù)結(jié)果可視化比較
有限混合模型聚類(lèi)FMM、廣義線性回歸模型GLM混合應(yīng)用分析威士忌市場(chǎng)和研究專(zhuān)利申請(qǐng)數(shù)據(jù)
R語(yǔ)言多維數(shù)據(jù)層次聚類(lèi)散點(diǎn)圖矩陣、配對(duì)圖、平行坐標(biāo)圖、樹(shù)狀圖可視化城市宏觀經(jīng)濟(jì)指標(biāo)數(shù)據(jù)
r語(yǔ)言有限正態(tài)混合模型EM算法的分層聚類(lèi)、分類(lèi)和密度估計(jì)及可視化
Python Monte Carlo K-Means聚類(lèi)實(shí)戰(zhàn)研究
R語(yǔ)言k-Shape時(shí)間序列聚類(lèi)方法對(duì)股票價(jià)格時(shí)間序列聚類(lèi)
R語(yǔ)言對(duì)用電負(fù)荷時(shí)間序列數(shù)據(jù)進(jìn)行K-medoids聚類(lèi)建模和GAM回歸
R語(yǔ)言譜聚類(lèi)、K-MEANS聚類(lèi)分析非線性環(huán)狀數(shù)據(jù)比較
R語(yǔ)言實(shí)現(xiàn)k-means聚類(lèi)優(yōu)化的分層抽樣(Stratified Sampling)分析各市鎮(zhèn)的人口
R語(yǔ)言聚類(lèi)有效性:確定最優(yōu)聚類(lèi)數(shù)分析IRIS鳶尾花數(shù)據(jù)和可視化Python、R對(duì)小說(shuō)進(jìn)行文本挖掘和層次聚類(lèi)可視化分析案例
R語(yǔ)言k-means聚類(lèi)、層次聚類(lèi)、主成分(PCA)降維及可視化分析鳶尾花iris數(shù)據(jù)集
R語(yǔ)言有限混合模型(FMM,finite mixture model)EM算法聚類(lèi)分析間歇泉噴發(fā)時(shí)間
R語(yǔ)言用溫度對(duì)城市層次聚類(lèi)、kmean聚類(lèi)、主成分分析和Voronoi圖可視化
R語(yǔ)言k-Shape時(shí)間序列聚類(lèi)方法對(duì)股票價(jià)格時(shí)間序列聚類(lèi)
R語(yǔ)言中的SOM(自組織映射神經(jīng)網(wǎng)絡(luò))對(duì)NBA球員聚類(lèi)分析
R語(yǔ)言復(fù)雜網(wǎng)絡(luò)分析:聚類(lèi)(社區(qū)檢測(cè))和可視化
R語(yǔ)言中的劃分聚類(lèi)模型
基于模型的聚類(lèi)和R語(yǔ)言中的高斯混合模型
r語(yǔ)言聚類(lèi)分析:k-means和層次聚類(lèi)
SAS用K-Means 聚類(lèi)最優(yōu)k值的選取和分析
用R語(yǔ)言進(jìn)行網(wǎng)站評(píng)論文本挖掘聚類(lèi)
基于LDA主題模型聚類(lèi)的商品評(píng)論文本挖掘
R語(yǔ)言鳶尾花iris數(shù)據(jù)集的層次聚類(lèi)分析
R語(yǔ)言對(duì)用電負(fù)荷時(shí)間序列數(shù)據(jù)進(jìn)行K-medoids聚類(lèi)建模和GAM回歸
R語(yǔ)言聚類(lèi)算法的應(yīng)用實(shí)例對(duì)用電負(fù)荷時(shí)間序列數(shù)據(jù)進(jìn)行K-medoids聚類(lèi)建模和GAM回歸
分位數(shù)回歸、GAM樣條曲線、指數(shù)平滑和SARIMA對(duì)電力負(fù)荷時(shí)間序列預(yù)測(cè)
【視頻】R語(yǔ)言廣義相加模型(GAM)在電力負(fù)荷預(yù)測(cè)中的應(yīng)用
R語(yǔ)言里的非線性模型:多項(xiàng)式回歸、局部樣條、平滑樣條、 廣義相加模型GAM分析
R語(yǔ)言用標(biāo)準(zhǔn)最小二乘OLS,廣義相加模型GAM?,樣條函數(shù)進(jìn)行邏輯回歸LOGISTIC分類(lèi)
R語(yǔ)言ISLR工資數(shù)據(jù)進(jìn)行多項(xiàng)式回歸和樣條回歸分析
R語(yǔ)言中的多項(xiàng)式回歸、局部回歸、核平滑和平滑樣條回歸模型
R語(yǔ)言用泊松Poisson回歸、GAM樣條曲線模型預(yù)測(cè)騎自行車(chē)者的數(shù)量
R語(yǔ)言中的多項(xiàng)式回歸、B樣條曲線(B-spline Curves)回歸
R語(yǔ)言廣義相加模型 (GAMs)分析預(yù)測(cè)CO2時(shí)間序列數(shù)據(jù)
R語(yǔ)言中實(shí)現(xiàn)廣義相加模型GAM和普通最小二乘(OLS)回歸
在r語(yǔ)言中使用GAM(廣義相加模型)進(jìn)行電力負(fù)荷時(shí)間序列分析
R語(yǔ)言用泊松Poisson回歸、GAM樣條曲線模型預(yù)測(cè)騎自行車(chē)者的數(shù)量
Python用廣義加性模型GAM進(jìn)行時(shí)間序列分析
R語(yǔ)言廣義線性模型GLM、多項(xiàng)式回歸和廣義可加模型GAM預(yù)測(cè)泰坦尼克號(hào)幸存者
R語(yǔ)言中的廣義線性模型(GLM)和廣義相加模型(GAM):多元(平滑)回歸分析保險(xiǎn)資金投資組合信用風(fēng)險(xiǎn)敞口
R語(yǔ)言對(duì)用電負(fù)荷時(shí)間序列數(shù)據(jù)進(jìn)行K-medoids聚類(lèi)建模和GAM回歸
對(duì)用電負(fù)荷時(shí)間序列數(shù)據(jù)進(jìn)行K-medoids聚類(lèi)建模和GAM回歸