在以往的项目中,我们想要计算时间序列的相关性的话,大都是把整体的数据中不同维度的数据当做是一个整体序列来进行两两序列之间的相关性分析计算,也比较简洁实用一些,这里今天遇上一个新的需求就是,我们需要把滑窗这一工具加入进来,原本滑窗是为了创建监督数据集为时间序列预测模型服务的,但是这里可以将其用作于相关性计算,通过切分出来不同的片段数据,可以计算出来多组相关性数据,也就是说在以往的实践中,序列A和序列B的相关性结果是一个数值,这里序列A和序列B的相关性结果也是一个序列,这个序列的长度取决于切分得到的窗口的数量。

首先看下自己创建的数据集,样例如下:

接下来需要对原始数据集进行解析转化处理,核心实现如下所示:

def parseData(data="data1.xlsx", save_path="data.json"):"""解析数据集"""data = pd.read_excel(data)data_list = data.values.tolist()print("data_list_length: ", len(data_list))title_list = data_list[0]for one_list in data_list[:5]:print(one_list)res_list=[]for one_list in data_list:one_vec=[float(one) for one in one_list[1:]]res_list.append(one_vec)with open(save_path,"w") as f:f.write(json.dumps(res_list))

结果数据如下所示:

这里我们首先对整体序列数据进行相关性分析计算,核心实现如下所示:

def main(data="data.json"):"""主入口"""with open(data) as f:data_list=json.load(f)print("data_list_length: ", len(data_list))matrix = dataTransform(data_list)title = "因子相关性分析热力图"label = ["X"+str(i) for i in range(1,12)]print("label: ", label)relationAnalysis(matrix, label, title, savepath="heatmap.png")

很多组件函数在我以往的文章中都有,这里就不再赘述了,可视化得到的热力图如下所示:

之后,我们开始基于滑窗来对其进行数据的片段切分处理,核心实现如下所示:

def windowsRelation(data="data.json",step=200):"""计算滑窗相似度"""with open(data) as f:data_list=json.load(f)print("data_list_length: ", len(data_list))windows=sliceWindow(data_list,step)for i in range(len(windows)):one_window=windows[i]one_matrix = dataTransform(one_window)title = "因子相关性分析热力图"label = ["X"+str(i) for i in range(1,12)]print("label: ", label)relationAnalysis(one_matrix, label, title, savepath="window_heatmap_"+str(i)+".png")

在我的数据集种,总样本数据集1000+左右,所以能够切分得到5个时间片段的窗口数据,这里为了能够直观地呈现结果数据,对其进行了热力图的可视化展示,如下所示:

窗口1:

窗口2:

窗口3:

窗口4:

窗口5:

还是能够看到跟整体序列计算结果上面的差异的。

基于滑动窗口的时间序列数据相关性分析计算相关推荐

  1. choice数据库的使用(二):时间序列数据相关性分析(附代码)

    在使用choice数据库时,常常会做一些重复性的操作,比如我会经常对标的基金的行业相关性进行计算,所以把这些操作封装了几个函数. 由于我常使用申万行业指数,所以函数就命名ShenWan了. 具体代码如 ...

  2. 几组数据的相关性python_python数据相关性分析 (计算相关系数)

    原博文 2018-05-28 15:54 − #-*- coding: utf-8 -*- #餐饮销量数据相关性分析 计算相关系数 from __future__ import print_funct ...

  3. 时间序列分类05:滑动窗口处理时间序列分类数据

    [时间序列预测/分类] 全系列60篇由浅入深的博文汇总:传送门 在处理时间序列预测或者时间序列分类任务的时候,经常会遇到"滑动窗口(sliding window)"的概念,包括在之 ...

  4. 论文学习——基于优化DTW算法的水文要素时间序列数据相似性分析

    文章目录 1 摘要 2 结论 3 引言 4 水文时间序列数据相似性度量的相关研究 4.0 前人工作 4.1 提出问题 4.2 DTW动态时间弯曲距离算法 5 基于DTW的水文要素时间序列数据相似性度量 ...

  5. LIC-Fusion 2.0:基于滑动窗口法平面特征跟踪的激光雷达惯性相机里程计

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 摘要 来自商用惯性.视觉和激光雷达传感器的多模态测量的多传感器融合提供了鲁棒和精确的6自由度姿态估计, ...

  6. R语言淮河流域水库水质数据相关性分析、地理可视化、广义相加模型GAM调查报告...

    采样地点:淮河流域一带,昭平台水库.白龟山水库.燕山水库.石漫滩水库.板桥水库.宿鸭湖水库.博山水库.南湾水库.石山口水库.五岳水库.泼河水库.鲶鱼山水库(点击文末"阅读原文"获取 ...

  7. reduceByKeyAndWindow基于滑动窗口的热点搜索词实时统计(Scala版本)

    package SparkStreaming import org.apache.spark.SparkConf import org.apache.spark.streaming.{Seconds, ...

  8. Python数据相关性分析实践记录

    数据分析是很多建模挖掘类任务的基础,也是非常重要的一项工作,在我之前的系列博文里面已经详细介绍过很多数据分析相关的内容和实践工作了,与之对应的最为常见的分析手段就是热力图可视化分析了,这里我简单给出来 ...

  9. 如何用python进行相关性分析_Python 数据相关性分析

    概述 在我们的工作中,会有一个这样的场景,有若干数据罗列在我们的面前,这组数据相互之间可能会存在一些联系,可能是此增彼涨,或者是负相关,也可能是没有关联,那么我们就需要一种能把这种关联性定量的工具来对 ...

最新文章

  1. 【人工智能】人工智能革命与机遇
  2. 经典的异或题:只出现一次的数字
  3. 如何把很多照片拼成一张照片_把很多小照片拼成一张大照片是怎么做的
  4. [原创]换一份工作要考虑什么?
  5. mysql挂载到iscsi_corosync+pacemaker+iscsi磁盘实现mysql高可用
  6. 【C++ grammar】Enhancement for Type System (C++11 对类型系统的增强)
  7. 容器编排技术 -- Kubernetes kubectl label 命令详解
  8. C语言解析动态html,【c语言】使用gumbo解析HTML
  9. FastDFS学习总结(2)--Tracker与Storage配置详解
  10. visual foxpro 程序员指南_1024程序员节:盘点小红书今年发生的重要bug
  11. IDEA插件: 一键自动部署jar到远程服务器 使用 Cloud Toolkit 来部署应用到腾讯云、阿里云服务器
  12. Hyperledger Fabric的区块结构 交易结构
  13. 添加 identity impersonate=true userName=username password=password/,解决问题!
  14. 我是如何用百度知道做小众企业站流量推广的?
  15. Ubuntu Class ZipArchive not found
  16. C++实现金山打字通助手
  17. 手动打开与关闭软键盘
  18. Dynamics 365 设置SMTP邮箱配置时凭据为灰色无法编辑的解决方法
  19. 魔戒中超眩的武器装备!
  20. linux 手机当显示器,[原创]平板/手机/笔记本作为显示器使用

热门文章

  1. Flutter组件-GridView-网格组件
  2. 事业单位被通知复查就是不合格吗?
  3. Python+PyQt5实现五子棋游戏(人机博弈+深搜+α-β剪枝)
  4. 基于非线性干扰观测器的直升机滑模反演控制,期刊simulink模型复现
  5. 丰田一绝 - 28万行代码竟有1万多全局变量,庞大的bug培养基地
  6. Tomcat启动不了(Artifact Chapter04:war exploded: Artifact is being deployed, please wait...)
  7. 安装magento2.2.4
  8. dpcm 量化 matlab,DPCM和PCM系统的量化噪声与matlab实现.doc
  9. data-属性的作用
  10. 关于tool.exe的手工杀毒c0nime.exe servere.exe shualai.exe1explore.exe cmdbcs.exe