要将时间序列数据转换为格拉姆角差场(Gram-Angle Difference Field,GADF),需要使用一些数学转换。GADF 是一种将时间序列数据转换为图像的技术。以下是实现该转换的步骤:
- 读取数据:从txt文件中读取时间和油压值。
- 归一化数据:将数据归一化到[-1, 1]范围。
- 计算格拉姆角差场:计算时间序列的GADF表示。
以下是Python代码示例,展示如何实现这些步骤:
# -*- coding: utf-8 -*-
# @Time : 2024/7/16 14:53
# @Author : 王摇摆
# @FileName: understandSeq.py
# @Software: PyCharm
# @Blog :https://blog.csdn.net/weixin_44943389?type=blog
"""
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
def normalize_series(series):
# 归一化到 [-1, 1]
min_val = np.min(series)
max_val = np.max(series)
normalized_series = 2 * (series - min_val) / (max_val - min_val) - 1
return normalized_series
def compute_gadf(series):
# 计算GADF
phi = np.arccos(series)
gadf = np.cos(phi[:, np.newaxis] + phi[np.newaxis, :])
return gadf
# 文件路径
path = r'C:\Users\Administrator\Desktop\1\1.txt'
# 读取txt文件,假设数据以制表符分隔
data = pd.read_csv(path, sep="\t", header=None, names=["Time", "Pressure"])
# 归一化数据
normalized_pressure = normalize_series(data["Pressure"].values)
# 计算格拉姆角差场
gadf = compute_gadf(normalized_pressure)
# 可视化GADF
plt.figure(figsize=(8, 8))
plt.imshow(gadf, cmap='rainbow', origin='lower')
plt.colorbar()
plt.title('Gram-Angle Difference Field')
plt.show()
代码说明
-
导入库:
import pandas as pd import numpy as np import matplotlib.pyplot as plt
-
读取数据:
path = r'C:\Users\Administrator\Desktop\1\1.txt' data = pd.read_csv(path, sep="\t", header=None, names=["Time", "Pressure"])
-
归一化数据:
def normalize_series(series): min_val = np.min(series) max_val = np.max(series) normalized_series = 2 * (series - min_val) / (max_val - min_val) - 1 return normalized_series normalized_pressure = normalize_series(data["Pressure"].values)
-
计算GADF:
def compute_gadf(series): phi = np.arccos(series) gadf = np.cos(phi[:, np.newaxis] + phi[np.newaxis, :]) return gadf gadf = compute_gadf(normalized_pressure)
-
可视化GADF:
plt.figure(figsize=(8, 8)) plt.imshow(gadf, cmap='rainbow', origin='lower') plt.colorbar() plt.title('Gram-Angle Difference Field') plt.show()
这个代码将读取txt文件中的时间和油压值数据,归一化油压值数据,然后计算并可视化GADF。如果数据格式或分隔符不同,可以调整read_csv
的参数以适应实际情况。