1

我有一堆具有许多季节性(日、周、月、年)的分钟数据。我想使用小波变换对其进行长期预测。

到现在为止,我已经进行了傅立叶变换并得到了预测每日季节性的表达式。所以我提取了正弦函数的频率和幅度。 季节性趋势(橙色)和重构 的季节性趋势(蓝色) 蓝色曲线是具有已知幅度和频率的 5 个正弦函数的总和。如果我将 x 值拟合到这个等式中,我会得到 y 值。

我也试图用小波变换(使用pywt)做同样的事情。

import numpy as np
import pywt
x = np.linspace(0, 1, num=2048)
chirp_signal = np.sin(250 * np.pi * x**2)
data = chirp_signal

fig, ax = plt.subplots(figsize=(40,10))
ax.set_title("Original Signal: ")
ax.plot(data)
plt.show()

waveletname = 'sym5'

fig, axarr = plt.subplots(nrows=5, ncols=2, figsize=(40,10))
for ii in range(5):
    (data, coeff_d) = pywt.dwt(data, waveletname)
    axarr[ii, 0].plot(data, 'r')
    axarr[ii, 1].plot(coeff_d, 'g')
    axarr[ii, 0].set_ylabel("Level {}".format(ii + 1), fontsize=20, rotation=90)
    axarr[ii, 0].set_yticklabels([])
    if ii == 0:
        axarr[ii, 0].set_title("Approximation coefficients", fontsize=20)
        axarr[ii, 1].set_title("Detail coefficients", fontsize=20)
    axarr[ii, 1].set_yticklabels([])

plt.tight_layout()
plt.show()

该示例来自本指南

问题是:是否有可能(如果“是”,那么如何)用接收到的系数制作一个函数,将 x 值拟合到它并获得相应的 y 值?

谢谢!

4

0 回答 0