首页 > 解决方案 > pyts 实现一维数据的 GAF

问题描述

我尝试使用 pyts 的代码来实现 Gramina Angular 字段。代码如下:

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import ImageGrid
from pyts.image import GramianAngularField
from pyts.datasets import load_gunpoint

# Parameters
X, _, _, _ = load_gunpoint(return_X_y=True)

# Transform the time series into Gramian Angular Fields
gasf = GramianAngularField(image_size=24, method='summation')
X_gasf = gasf.fit_transform(X)
gadf = GramianAngularField(image_size=24, method='difference')
X_gadf = gadf.fit_transform(X)

# Show the images for the first time series
fig = plt.figure(figsize=(8, 4))
grid = ImageGrid(fig, 111,
                 nrows_ncols=(1, 2),
                 axes_pad=0.15,
                 share_all=True,
                 cbar_location="right",
                 cbar_mode="single",
                 cbar_size="7%",
                 cbar_pad=0.3,
                 )
images = [X_gasf[0], X_gadf[0]]
titles = ['Summation', 'Difference']
for image, title, ax in zip(images, titles, grid):
    im = ax.imshow(image, cmap='rainbow', origin='lower', vmin=-1, vmax=1)
    ax.set_title(title, fontdict={'fontsize': 12})
plt.colorbar(im, cax=grid.cbar_axes[0])
ax.cax.toggle_label(True)
plt.suptitle('Gramian Angular Fields', y=0.98, fontsize=16)
plt.show()

变量 X 包含 (50,150) 个数据点。因此,处理需要二维数据。就我而言,我有 2000 个点的一维数据。我怎样才能通过这个来实现这个功能。

感谢帮助

标签: pythonimage-processingdeep-learningneural-network

解决方案


推荐阅读