格拉姆角场

这篇具有很好参考价值的文章主要介绍了格拉姆角场。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

格拉姆角场学习GAF官方文档

格拉姆角场能够将时间序列数据转换为图像数据,既能保留信号完整的信息,也保持着信号对于时间的依赖性。信号数据转换为图像数据后就可以充分利用CNN在图像分类识别上的优势,进行建模 。
Document:

为每个(x_i, x_j)创建一个时间相关性矩阵。首先,它以-1<a < b< 1重新缩放范围[a, b]内的时间序列。然后,它通过取:\arccos来计算缩放时间序列的极坐标。最后,它计算了格拉姆角和场(GASF)----角度之和的余弦值,或格拉姆角和场(GADF)----角度差值的正弦值。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mIHtqGZ3-1678874178580)(null)]

格拉姆矩阵:假设有一个向量V,Gram矩阵就是来自V的每一对向量的内积矩阵。

格拉姆角场

  • 通过取每个 M 点的平均值来聚合时间序列以减小大小。此步骤使用分段聚合近似PAA ( Piecewise Aggregation Approximation / PAA)。
  • 区间[0,1]中的缩放值。
  • 通过将时间戳作为半径和缩放值的反余弦(arccosine)来生成极坐标。这杨可以提供角度的值。
  • 生成GASF / GADF。在这一步中,将每对值相加(相减),然后取余弦值后进行求和汇总
  • 格拉姆角场
  • 通过取时间序列值的余弦倒数来计算 A 和 B(实际上是在 PAA 和缩放之后的值上)

代码实例

  1. 分段聚合近似PAA
# Author: Johann Faouzi <johann.faouzi@gmail.com>
# License: BSD-3-Clause

import numpy as np
import matplotlib.pyplot as plt
from pyts.approximation import PiecewiseAggregateApproximation

# Parameters
n_samples, n_timestamps = 100, 48

# Toy dataset
rng = np.random.RandomState(41)
X = rng.randn(n_samples, n_timestamps)

# PAA transformation
window_size = 6
paa = PiecewiseAggregateApproximation(window_size=window_size)
X_paa = paa.transform(X)

# Show the results for the first time series
plt.figure(figsize=(6, 4))
plt.plot(X[0], 'o--', ms=4, label='Original')
plt.plot(np.arange(window_size // 2,
                   n_timestamps + window_size // 2,
                   window_size), X_paa[0], 'o--', ms=4, label='PAA')
plt.vlines(np.arange(0, n_timestamps, window_size) - 0.5,
           X[0].min(), X[0].max(), color='g', linestyles='--', linewidth=0.5)
plt.legend(loc='best', fontsize=10)
plt.xlabel('Time', fontsize=12)
plt.title('Piecewise Aggregate Approximation', fontsize=16)
plt.show()

Gramian Angular Field(时间序列转图像的过程)

# python 示例

# 导入需要的包
from pyts.approximation import PiecewiseAggregateApproximation
from pyts.preprocessing import MinMaxScaler
import numpy as np
import matplotlib.pyplot as plt

# 生成一些demo数据
X = [[1,2,3,4,5,6,7,8],[23,56,52,46,34,67,70,60]]
plt.plot(X[0],X[1])
plt.title(‘Time series’)
plt.xlabel(‘timestamp’)
plt.ylabel(‘value’)
plt.show()

# 分段聚合逼近和缩放
# PAA
transformer = PiecewiseAggregateApproximation(window_size=2)
result = transformer.transform(X)

# Scaling in interval [0,1]
scaler = MinMaxScaler()
scaled_X = scaler.transform(result)

plt.plot(scaled_X[0,:],scaled_X[1,:])
plt.title(‘After scaling’)
plt.xlabel(‘timestamp’)
plt.ylabel(‘value’)
plt.show()

# 转换成极坐标
arccos_X = np.arccos(scaled_X[1,:])
fig, ax = plt.subplots(subplot_kw={‘projection’: ‘polar’})
ax.plot(result[0,:], arccos_X)
ax.set_rmax(2)
ax.set_rticks([0.5, 1, 1.5, 2]) # Less radial ticks
ax.set_rlabel_position(-22.5) # Move radial labels away from plotted line
ax.grid(True)

ax.set_title(“Polar coordinates”, va=’bottom’)
plt.show()

# Gramina angular summation fields
field = [a+b for a in arccos_X for b in arccos_X]
gram = np.cos(field).reshape(-1,4)
plt.imshow(gram)

参考文献:
Encoding Time Series as Images for Visual Inspection and Classification Using Tiled Convolutional Neural Networks》 janurary,2015

Gramian Angular Field

给定一个时间序列X,将其缩放到[-1,1],

格拉姆角场

然后再在极坐标系中表示该时间序列(通过将value编码为angular cosine,将时间戳编码为radius

格拉姆角场

ti是时间戳,N是正则化极坐标系统跨度的常数因子。这种基于极坐标的表示方法是理解时间序列的一种新方法。随着时间的增加,相应的值在跨越圆上的不同角度点之间扭曲,就像水荡漾一样。
格拉姆角场

  • 等式2的编码映射有两个重要的性质。首先,当φ∈[0,π]时,当cos(φ)单调时,它是双射的。给定一个时间序列,所提出的映射在极坐标系中产生且仅一个具有唯一反函数的结果。
  • 它提供了一种保持时间依赖性的方法,因为随着位置从左上角移动到右下角,时间会增加。GAF包含时间相关性,因为G(i,ji j=k)通过相对于时间间隔k的方向叠加来表示相对相关性

Question:当编码为反函数值时,-1和1怎么确定呢?value都是正的时,对应两个角度(在 0 0 0 2 π 2\pi 2π上)。。。怎么选文章来源地址https://www.toymoban.com/news/detail-487782.html

到了这里,关于格拉姆角场的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 线性代数 --- Gram-Schmidt, 格拉姆-施密特正交化(上)

            在前面的几个最小二乘的文章中,实际上已经看到Gram-Schmidt正交化的影子。在我个人看来,Gram-Schmidt正交化更像是专门为了简化最小二乘计算而量身定制的一种算法。下面,我会从最小二乘的经典应用 --- \\\"拟合直线\\\"开始,慢慢引出Gram-Schmidt的核心思想 —— 那就是,

    2024年02月10日
    浏览(51)
  • 线性代数 --- Gram-Schmidt, 格拉姆-施密特正交化(下)

            到目前为止,我们都是在反复强调“对于无解的方程组Ax=b而言,如果矩阵A是标准正交矩阵的话,就怎么怎么好了。。。。”。因为,不论是求投影还是计算最小二乘的正规方程,他们都包含了的逆的计算。只有当A为标准正交矩阵Q时,就不再需要计算的逆了,这时,

    2024年02月13日
    浏览(58)
  • 【信号转换】基于格拉姆矩阵(GASF/GADF)的一维信号转换图像算法【附MATLAB代码】

    GAF是利用坐标变化和格拉姆矩阵,实现将时间序列变化成为二维图像的 一种图像编码技术。GAF是采用极坐标系表示时间矩阵的,再用格拉姆矩阵对 生成的角度进行变换,这主要是因为格拉姆矩阵能够保持时间的依赖性,但是 并不能很好的区分有价值信息和高斯噪声,所以要

    2024年03月21日
    浏览(103)
  • RTOS官方文档学习

    一个程序可以只有任务、只有协程、二者都有,但不可以通过队列/信号量互相传递数据 任务之间可以互相独立 每个任务分配自己的堆栈,提高了RAM使用率 操作简单、按优先级抢占式执行 抢占容易导致重入(执行任务时被其他线程或进程调用了) 一般用于小型,RAM有限制的

    2024年02月11日
    浏览(42)
  • C# 微软官方学习文档

    链接:https://learn.microsoft.com/zh-cn/dotnet/csharp/ 在C#的学习过程中,我们可以参考微软官方的学习文档。它是一个免费的学习平台,提供了丰富的C#学习路径和教程(如下图),对我们入门到高级应用开发都很有帮助。 如果我们想初步了解可以看 了解如何使用C# 模块: 学习或查

    2024年04月25日
    浏览(46)
  • 学习笔记-elstaciElasticSearch7.17官方文档

    特征 适用于所有 Elasticsearch API 的强类型请求和响应。 所有 API 的阻塞和异步版本。 在创建复杂的嵌套结构时,使用流畅的构建器和功能模式允许编写简洁但可读的代码。 通过使用对象映射器(例如 Jackson 或任何 JSON-B 实现)无缝集成应用程序类。 将协议处理委托给一个 h

    2024年02月14日
    浏览(47)
  • Flask官方文档学习--从零开始解读(一)

    Flask是一个基于Python语言的轻量级Web框架,与之经常对比的框架还有Django、Tornado等框架,当然学习这些肯定首先要有一点Python基础,当然由于框架带来的优越性,通常在实际应用过程中配置出现的问题要多于编程的问题,如果是在工作中的业务上使用的话,那么更多的是针对

    2023年04月26日
    浏览(43)
  • OpenMMLab MMTracking目标跟踪官方文档学习(一)

    MMTracking 是PyTorch的开源视频感知工具箱。它是OpenMMLab项目的一部分。 它支持 4 个视频任务: 视频对象检测 (VID) 单目标跟踪 (SOT) 多目标跟踪 (MOT) 视频实例分割 (VIS) 第一个统一视频感知平台 我们是第一个统一多功能视频感知任务的开源工具箱,包括 视频对象检测、多对象跟

    2024年02月16日
    浏览(46)
  • Flink|《Flink 官方文档 - 部署 - 概览》学习笔记

    学习文档:《Flink 官方文档 - 部署 - 概览》 学习笔记如下: 上图展示了 Flink 集群的各个构建(building blocks)。通常来说: 客户端获取 Flink 应用程序代码,将其转换为 JobGraph,并提交给 JobManager JobManager 将工作分配给 TaskManager,并在那里执行实际的算子操作 在部署 Flink 时,

    2024年01月19日
    浏览(55)
  • python3 爬虫相关学习9:BeautifulSoup 官方文档学习

    目录 1 BeautifulSoup 官方文档 2 用bs 和 requests 打开 本地html的区别:代码里的一段html内容 2.1 代码和运行结果 2.2 用beautiful 打开 本地 html 文件 2.2.1 本地html文件 2.2.2 soup1=BeautifulSoup(html1,\\\"lxml\\\") 2.3 用requests打开 本地 html 文件 2.3.1 本地html文件 2.3.2 print(html1) 3 用bs 和 requests 打开 本

    2024年02月08日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包