乐趣区

关于数据挖掘:R语言kShape时间序列聚类方法对股票价格时间序列聚类附代码数据

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

最近咱们被客户要求撰写对于工夫序列聚类的钻研报告,包含一些图形和统计输入。

本文咱们将应用 k -Shape 工夫序列聚类办法查看与咱们有业务关系的公司的股票收益率的工夫序列

企业对企业交易和股票价格

在本钻研中,咱们将钻研具备交易关系的公司的价格变化率的工夫序列的相似性。
因为特定客户的销售额与供应商公司的销售额之比拟大,当客户公司的股票价格发生变化时,对供应商公司股票价格的反馈被认为更大。

 k-Shape

k-Shape [Paparrizos 和 Gravano,2015]是一种关注工夫序列形态的工夫序列聚类办法。在咱们进入 k -Shape 之前,让咱们谈谈工夫序列的不变性和罕用工夫序列之间的间隔测度。

工夫序列间隔测度

欧几里德间隔(ED)和_动静工夫_规整(DTW)通常用作间隔测量值,用于工夫序列之间的比拟。

两个工夫序列 x =(x1,…,xm)和 y =(y1,…,ym)的 ED 如下。

DTW 是 ED 的扩大,容许部分和非线性对齐。

k-Shape 提出称为基于形态的间隔(SBD)的间隔。

k-Shape 算法

k-Shape 聚类侧重于归一化和移位的不变性。k-Shape 有两个次要特色:基于形态的间隔(SBD)和工夫序列形态提取。

SBD

相互关是在信号处理畛域中常常应用的度量。应用 FFT(+α)代替 DFT 来进步计算效率。

归一化相互关(系数归一化)NCCc 是相互关系列除以单个系列自相干的几何平均值。检测 NCCc 最大的地位 ω。

SBD 取 0 到 2 之间的值,两个工夫序列越靠近 0 就越类似。

形态提取

通过 SBD 找到工夫序列聚类的质心向量。

k-Shape 的整个算法如下。

k-Shape 通过像 k -means 这样的迭代过程为每个工夫序列调配聚类簇。

  1. 将每个工夫序列与每个聚类的质心向量进行比拟,并将其调配给最近的质心向量的聚类
  2. 更新群集质心向量

反复上述步骤 1 和 2,直到集群成员中没有产生更改或迭代次数达到最大值。

R 语言 k -Shape

> start <- "2014-01-01"
> df_7974 %>%
+     filter(date > as.Date(start))
# A tibble: 1,222 x 10
   date        open  high   low close   volume close_adj change rate_of_change  code
                                 
 1 2014-01-06 14000 14330 13920 14320  1013000     14320    310       0.0221    7974
 2 2014-01-07 14200 14380 14060 14310   887900     14310    -10      -0.000698  7974
 3 2014-01-08 14380 16050 14380 15850  3030500     15850   1540       0.108     7974
 4 2014-01-09 15520 15530 15140 15420  1817400     15420   -430      -0.0271    7974
 5 2014-01-10 15310 16150 15230 16080  2124100     16080    660       0.0428    7974
 6 2014-01-14 15410 15755 15370 15500  1462200     15500   -580      -0.0361    7974
 7 2014-01-15 15750 15880 15265 15360  1186800     15360   -140      -0.00903   7974
 8 2014-01-16 15165 15410 14940 15060  1606600     15060   -300      -0.0195    7974
 9 2014-01-17 15100 15270 14575 14645  1612600     14645   -415      -0.0276    7974
10 2014-01-20 11945 13800 11935 13745 10731500     13745   -9

缺失度量用前一个工作日的值补充。(K-Shape 容许一些偏差,但以防万一)

每种股票的股票价格和股票价格变化率。


点击题目查阅往期内容

对用电负荷工夫序列数据进行 K -medoids 聚类建模和 GAM 回归

左右滑动查看更多

01

02

03

04

将 zscore 作为“preproc”,“sbd”作为间隔,以及 centroid =“shape”,k-Shape 聚类后果如下。

> df_res %>%
+     arrange(cluster)
  cluster centroid_dist code           name
1       1     0.1897561 1928     積水ハウス
2       1     0.2196533 6479 ミネベアミツミ
3       1     0.1481051 8411         みずほ
4       2     0.3468301 6658 シライ電子工業
5       2     0.2158674 6804       ホシデン
6       2     0.2372485 7974         任天堂

Nintendo,Hosiden 和 Siray Electronics Industries 被调配到同一个集群。Hosiden 在 2016 年对任天堂的销售比例为 50.5%,这表明公司之间的业务关系也会影响股价的变动。
另一方面,MinebeaMitsumi 成为另一个集群,然而在 2017 年 Mitsumi 与 2017 年的 Minebea 合并,没有应答 2016 年 7 月 Pokemon Go 公布时股价飙升的影响。

如果您有任何疑难,请在上面发表评论。


本文摘选 R 语言 k -Shape 工夫序列聚类办法对股票价格工夫序列聚类 ,点击“ 浏览原文”获取全文残缺材料。


点击题目查阅往期内容

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 语言聚类算法的利用实例

退出移动版