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

????#?讀取數(shù)據(jù)幀,將其轉(zhuǎn)化為時間序列數(shù)組,并將其存儲在一個列表中????tata?=?[]????for?i,?df?in?enmee(dfs):
????????
????????#?檢查每個時間序列數(shù)據(jù)的最大長度。????????for?ts?in?tsda:
????????????if?len(s)?>?ln_a:
????????????????lenmx?=?len(ts)
????????
????????#?給出最后一個數(shù)據(jù),以調(diào)整時間序列數(shù)據(jù)的長度????????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ù)幀并將其存儲在一個列表中。for?ienme?in?fiemes:????df?=?pd.read_csv(filnme,?indx_cl=one,hadr=0)????flt.append(df)
聚類結(jié)果的可視化
#?為了計(jì)算交叉關(guān)系,需要對它們進(jìn)行歸一化處理。# TimeSeriesScalerMeanVariance將是對數(shù)據(jù)進(jìn)行規(guī)范化的類。sac_da?=?TimeeiesalerMVarne(mu=0.0,?std=1.0).fit_trnform(tranfome_data)# KShape類的實(shí)例化。ks?=?KShpe(_clusrs=2,?n_nit=10,?vrboe=True,?rano_stte=sed)
yprd?=?ks.ft_reitsak_ata)#?聚類和可視化plt.tight_layout()
plt.show()

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

R語言k-Shape時間序列聚類方法對股票價格時間序列聚類

左右滑動查看更多

01

02

03

04

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


?

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