首页 > 编程语言 >Python用KShape对时间序列进行聚类和肘方法确定最优聚类数k可视化|附代码数据

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

时间:2023-01-30 00:48:11浏览次数:72  
标签:KShape 语言 Python 模型 GAM 可视化 聚类 序列

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

最近我们被客户要求撰写关于KShape的研究报告,包括一些图形和统计输出。

时序数据的聚类方法,该算法按照以下流程执行。

  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')

图片

图片


 


图片

点击文末 “阅读原文”

获取全文完整资料。

本文选自《Python用KShape对时间序列进行聚类和肘方法确定最优聚类数k可视化》。

点击标题查阅往期内容

R语言中的SOM(自组织映射神经网络)对NBA球员聚类分析
K-means和层次聚类分析癌细胞系微阵列数据和树状图可视化比较KMEANS均值聚类和层次聚类:亚洲国家地区生活幸福质量异同可视化分析和选择最佳聚类数
PYTHON实现谱聚类算法和改变聚类簇数结果可视化比较
有限混合模型聚类FMM、广义线性回归模型GLM混合应用分析威士忌市场和研究专利申请数据
R语言多维数据层次聚类散点图矩阵、配对图、平行坐标图、树状图可视化城市宏观经济指标数据
r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化
Python Monte Carlo K-Means聚类实战研究
R语言k-Shape时间序列聚类方法对股票价格时间序列聚类
R语言对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归
R语言谱聚类、K-MEANS聚类分析非线性环状数据比较
R语言实现k-means聚类优化的分层抽样(Stratified Sampling)分析各市镇的人口
R语言聚类有效性:确定最优聚类数分析IRIS鸢尾花数据和可视化Python、R对小说进行文本挖掘和层次聚类可视化分析案例
R语言k-means聚类、层次聚类、主成分(PCA)降维及可视化分析鸢尾花iris数据集
R语言有限混合模型(FMM,finite mixture model)EM算法聚类分析间歇泉喷发时间
R语言用温度对城市层次聚类、kmean聚类、主成分分析和Voronoi图可视化
R语言k-Shape时间序列聚类方法对股票价格时间序列聚类
R语言中的SOM(自组织映射神经网络)对NBA球员聚类分析
R语言复杂网络分析:聚类(社区检测)和可视化
R语言中的划分聚类模型
基于模型的聚类和R语言中的高斯混合模型
r语言聚类分析:k-means和层次聚类
SAS用K-Means 聚类最优k值的选取和分析
用R语言进行网站评论文本挖掘聚类
基于LDA主题模型聚类的商品评论文本挖掘
R语言鸢尾花iris数据集的层次聚类分析
R语言对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归
R语言聚类算法的应用实例对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归
分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
【视频】R语言广义相加模型(GAM)在电力负荷预测中的应用
R语言里的非线性模型:多项式回归、局部样条、平滑样条、 广义相加模型GAM分析
R语言用标准最小二乘OLS,广义相加模型GAM ,样条函数进行逻辑回归LOGISTIC分类
R语言ISLR工资数据进行多项式回归和样条回归分析
R语言中的多项式回归、局部回归、核平滑和平滑样条回归模型
R语言用泊松Poisson回归、GAM样条曲线模型预测骑自行车者的数量
R语言中的多项式回归、B样条曲线(B-spline Curves)回归
R语言广义相加模型 (GAMs)分析预测CO2时间序列数据
R语言中实现广义相加模型GAM和普通最小二乘(OLS)回归
在r语言中使用GAM(广义相加模型)进行电力负荷时间序列分析
R语言用泊松Poisson回归、GAM样条曲线模型预测骑自行车者的数量
Python用广义加性模型GAM进行时间序列分析
R语言广义线性模型GLM、多项式回归和广义可加模型GAM预测泰坦尼克号幸存者
R语言中的广义线性模型(GLM)和广义相加模型(GAM):多元(平滑)回归分析保险资金投资组合信用风险敞口
R语言对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归
对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归

标签:KShape,语言,Python,模型,GAM,可视化,聚类,序列
From: https://www.cnblogs.com/tecdat/p/17074148.html

相关文章

  • curl_cffi: 支持原生模拟浏览器 TLS/JA3 指纹的 Python 库
    原文首发于我的博客:https://yifei.me/note/2719越来越多的网站开始使用TLS指纹反爬虫,而Python中竟然没有任何方法解决这个问题。前一阵看到由国外大神写了一个curl-......
  • Python 基础语法介绍(一)
    目录一、概述二、变量1)变量定义2)定义变量的规则3)变量命名规范4)变量类型转换三、注释1)单行注释2)多行注释1、单引号(''')注释2、双引号(""")注释四、运算符1)算术运算符2)关系运算......
  • Python与小熊猫Dev-C++海龟作图比较
    前言少儿编程一般都遵循如下顺序:Scratch(或者变种,例如编程猫、腾讯扣叮)-Python-C++Scratch使用国际积木化搭建思路,学习起来,学生能够很容易上手上瘾,因为它能够通过积木化编程......
  • QPython实例01-获取所有短信并生成词云
    一、QPython安装配置1.1.QPython介绍QPython是一个可以在安卓设备运行python的脚本引擎。版本有QPython3L和QPython3C,3L为官方版本,可以在应用市场搜索下载。3C版本为"......
  • 区分Python开发高级和初级工程师的五个技巧汇总
    1.引言在本文中,我们将以高级方式而不是初级方式来研究五种解决常见编码问题的方法。每一个编码问题都源于某个常见的实际问题抽象,许多问题在日常工作中反复出现多次,熟练掌......
  • python-pip
    一、pip介绍Python官网中的安装包中已经自带了pip,在安装时默认选择安装。安装完python后需要手动配置pip的环境变量,cmd命令可以查看pip是否可用:pip或者pip-h二、命令......
  • [oeasy]python0066_控制序列_光标位置设置_ESC_逃逸字符_CSI
    光标位置回忆上次内容上次讲了三引号的输出三引号中回车和引号都会被原样输出​​\​​还是需要从​​\\​​转义黑暗森林快被摸排清了还有哪个转义序列没研究过......
  • python peewee
    frompeeweeimportMySQLDatabase,ModelfrompeeweeimportCharField,IntegerField,BooleanField#引入随机数据包importrandomfromfakerimportFakerfake......
  • [oeasy]python0066_控制序列_光标位置设置_ESC_逃逸字符_CSI
    光标位置回忆上次内容上次讲了三引号的输出三引号中回车和引号都会被原样输出\还是需要从\\转义黑暗森林快被摸排清了还有哪个转义序列没研究过......
  • 【2】Python3基础之Python注释,变量
    一,注释在Python中有两种形式:单⾏注释与多行注释☆单⾏注释单⾏注释只能注释一行内容,基本语法:#注释内容☆多⾏注释多行注释可以注释多行内容,常用于代码......