Python用KShape对时间序列进行聚类和肘方法确定最优聚类数k可视化

简介: Python用KShape对时间序列进行聚类和肘方法确定最优聚类数k可视化

原文链接:http://tecdat.cn/?p=27078 


时序数据的聚类方法

该算法按照以下流程执行。

  1. 使用基于互相关测量的距离标度(基于形状的距离:SBD)
  2. 根据 1 计算时间序列聚类的质心。(一种新的基于质心的聚类算法,可保留时间序列的形状)
  3. 划分成每个簇的方法和一般的kmeans一样,但是在计算距离尺度和重心的时候使用上面的1和2。
import pandas as pd

# 读取数据帧,将其转化为时间序列数组,并将其存储在一个列表中    tata = \[\]    for i, df in enmee(dfs):
        
        # 检查每个时间序列数据的最大长度。        for ts in tsda:
            if len(s) > ln_a:
                lenmx = len(ts)
        
        # 给出最后一个数据,以调整时间序列数据的长度        for i, ts in enumerate(tsdata):
            dta\[i\] = ts + \[ts\[-1\]\] * n_dd
    
    # 转换为矢量    stack_list = \[\]    for j in range(len(timeseries_dataset)):
       
        stack_list.append(data)
    
    # 转换为一维数组    trasfome\_daa = np.stack(ack\_ist, axis=0)
    return trafoed_data

数据集准备

# 文件列表flnes= soted(go.ob('mpldat/smeda*.csv'))
# 从文件中加载数据帧并将其存储在一个列表中。for ienme in fiemes:
    df = pd.read\_csv(filnme, indx\_cl=one,hadr=0)    flt.append(df)

聚类结果的可视化

# 为了计算交叉关系,需要对它们进行归一化处理。# TimeSeriesScalerMeanVariance将是对数据进行规范化的类。sac\_da = TimeeiesalerMVarne(mu=0.0, std=1.0).fit\_trnform(tranfome_data)# KShape类的实例化。ks = KShpe(\_clusrs=2, n\_nit=10, vrboe=True, rano_stte=sed)
yprd = ks.ft\_reitsak\_ata)# 聚类和可视化plt.tight_layout()
plt.show()


点击标题查阅往期内容


R语言k-Shape时间序列聚类方法对股票价格时间序列聚类


01

02

03

04


用肘法计算簇数


什么是肘法...

  • 计算从每个点到簇中心的距离的平方和,指定为簇内误差平方和 (SSE)。
  • 它是一种更改簇数,绘制每个 SSE 值,并将像“肘”一样弯曲的点设置为最佳簇数的方法。
#计算到1~10个群组 for i  in range(1,11):
    #进行聚类计算。
    ks.fit(sacdta)
    #KS.fit给出KS.inrta_    disorons.append(ks.netia_)
plt.plot(range(1,11), disorins, marker='o')

相关文章
WK
|
18天前
|
Python
Python中format_map()方法
在Python中,`format_map()`方法用于使用字典格式化字符串。它接受一个字典作为参数,用字典中的键值对替换字符串中的占位符。此方法适用于从字典动态获取值的场景,尤其在处理大量替换值时更为清晰和方便。
WK
66 36
|
29天前
|
机器学习/深度学习 数据采集 数据挖掘
11种经典时间序列预测方法:理论、Python实现与应用
本文将总结11种经典的时间序列预测方法,并提供它们在Python中的实现示例。
62 2
11种经典时间序列预测方法:理论、Python实现与应用
|
21天前
|
数据可视化 算法 JavaScript
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
本文探讨了如何利用图论分析时间序列数据的平稳性和连通性。通过将时间序列数据转换为图结构,计算片段间的相似性,并构建连通图,可以揭示数据中的隐藏模式。文章介绍了平稳性的概念,提出了基于图的平稳性度量,并展示了图分区在可视化平稳性中的应用。此外,还模拟了不同平稳性和非平稳性程度的信号,分析了图度量的变化,为时间序列数据分析提供了新视角。
48 0
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
|
25天前
|
开发者 Python
Python中的魔法方法与运算符重载
在Python的奇妙世界里,魔法方法(Magic Methods)和运算符重载(Operator Overloading)是两个强大的特性,它们允许开发者以更自然、更直观的方式操作对象。本文将深入探讨这些概念,并通过实例展示如何利用它们来增强代码的可读性和表达力。
|
8天前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第33天】本文将介绍如何使用Python编程语言进行数据分析和可视化。我们将从数据清洗开始,然后进行数据探索性分析,最后使用matplotlib和seaborn库进行数据可视化。通过阅读本文,你将学会如何运用Python进行数据处理和可视化展示。
|
29天前
|
索引 Python
python-类属性操作
【10月更文挑战第11天】 python类属性操作列举
16 1
|
30天前
|
Java C++ Python
Python基础---类
【10月更文挑战第10天】Python类的定义
21 2
|
30天前
|
存储 编译器 索引
Python 序列类型(2)
【10月更文挑战第8天】
Python 序列类型(2)
|
1月前
|
存储 C++ 索引
Python 序列类型(1)
【10月更文挑战第8天】
|
28天前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据处理与可视化——以气温数据分析为例
【10月更文挑战第12天】使用Python进行数据处理与可视化——以气温数据分析为例
168 0