我有一堆具有许多季节性(日、周、月、年)的分钟数据。我想使用小波变换对其进行长期预测。
到现在为止,我已经进行了傅立叶变换并得到了预测每日季节性的表达式。所以我提取了正弦函数的频率和幅度。 季节性趋势(橙色)和重构 的季节性趋势(蓝色) 蓝色曲线是具有已知幅度和频率的 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 值?
谢谢!