一维数据二维化的办法汇总(一)

在轴承故障诊断中,除了对模型进行改进,很多人也会对数据集进行变换。常见的比如说小波时频图,思路是将一维时序信号变换为二维图像,而后便于使用各种图像分类的先进技术。实际上还有很多方法可以进行这种类似的变换,相关的论文我也看到过,但是具体效果如何不好说。最近正在生成相关的数据集,比较耗时,所以先把大概类别贴出来,后续有了数据集以后会进行测试。

0.格拉米角场GAFs

具体的原理我就不写了,有GASF(对应做角度和), GADF(对应做角度差)两种方法进行生成

def show_GASF_GADF(data,k):

    from mpl_toolkits.axes_grid1 import make_axes_locatable
    from pyts.datasets import load_gunpoint
    from pyts.image import GramianAngularField

    gasf = GramianAngularField(method='summation')
    X_gasf = gasf.transform(data)
    gadf = GramianAngularField(method='difference')
    X_gadf = gadf.transform(data)

    plt.figure()
    # plt.suptitle('gunpoint_index_' + str(0))
    ax1 = plt.subplot(121)
    plt.imshow(X_gasf[k])
    plt.title('GASF')
    divider = make_axes_locatable(ax1)
    cax = divider.append_axes("right", size="5%",
                              pad=0.2)  # Create an axes at the given *position*=right with the same height (or width) of the main axes
    plt.colorbar(cax=cax)

    ax2 = plt.subplot(122)
    plt.imshow(X_gadf[k])
    plt.title('GASF')
    divider = make_axes_locatable(ax2)
    cax = divider.append_axes("right", size="5%",
                              pad=0.2)  # Create an axes at the given *position*=right with the same height (or width) of the main axes
    plt.colorbar(cax=cax)
    plt.show()

生成图片如下所示:

一维数据二维化的办法汇总(一)_第1张图片

​GASF图

一维数据二维化的办法汇总(一)_第2张图片

GADF图

1.马尔可夫变迁场 MTF

与上面类似的方法:

def show_MTF(data,k):
    from mpl_toolkits.axes_grid1 import make_axes_locatable
    from pyts.datasets import load_gunpoint
    from pyts.image import MarkovTransitionField
    ## call API

    mtf = MarkovTransitionField()
    fullimage = mtf.transform(data)

    plt.figure()
    plt.imshow(fullimage[k])
    plt.title('full image')
    divider = make_axes_locatable(ax1)
    cax = divider.append_axes("right", size="5%", pad=0.2)
    plt.colorbar(cax=cax)

生成图片如下:

一维数据二维化的办法汇总(一)_第3张图片

MTF图像

这些图像用肉眼看就比较抽象了,暂时还不确定识别率如何,有待测试。

你可能感兴趣的:(西储大学,python,人工智能)