【Koopman】从傅立叶到库普曼:长期时间序列预测的谱方法(Python代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Python代码、文章下载


💥1 概述

我们提出了一种用于线性和非线性准周期动力系统产生的时间信号的长期预测的频谱方法。对于线性信号,我们引入了一种类似于傅里叶变换的算法,但不依赖于周期性假设,允许在可能是任意采样间隔的情况下进行预测。然后,我们通过利用Koopman理论将这种算法扩展到处理非线性。所得到的算法在非线性、数据相关的基础上进行了频谱分解。这两种算法的优化目标都是高度非凸的。然而,将目标表达在频域中使我们能够以可扩展和高效的方式计算误差曲面的全局最优解,部分地利用了快速傅里叶变换的计算特性。由于它们与贝叶斯频谱分析的密切关系,不确定性量化指标是频谱预测方法的自然副产品。我们在一系列合成实验以及在实际电力系统和流体流动背景下,对这些算法与其他领先的预测方法进行了广泛的基准测试。

详细文章见第4部分。

📚2 运行结果

部分代码:

a_guess = 1 #current guess of optimal a
a_true = 1 #this is in reality an imaginary number because the true data is generated by a sin
w_true = 0.05 #true frequency
T = 1000 #number of data points
data_true = a_true * np.sin(np.arange(T)*w_true) #sin!

#Brute force computation of the error surface
E = [] #errors for specific w_guess
for w_guess in np.linspace(0,0.3,10001):
    
    data_guess = a_guess * np.cos(np.arange(T)*w_guess)
    e = np.mean((data_guess - data_true)**2)
    E.append(e)
    
E_ms = np.array(E)
E_ms = np.abs(E-np.median(E))
    
plt.subplot(2,1,1)
plt.plot(np.linspace(0,0.3,10001), E)
plt.xlabel('$\omega$')
plt.ylabel('Error')

plt.subplot(2,1,2)
plt.xlabel('$\omega$')
plt.ylabel('Error - mean sbtrct')
plt.plot(np.linspace(0,0.3,10001), E_ms)
plt.tight_layout()

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

🌈4 Python代码、文章下载

  • 24
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
We consider the application of Koopman theory to nonlinear partial differential equations. We demonstrate that the observables chosen for constructing the Koopman operator are critical for en- abling an accurate approximation to the nonlinear dynamics. If such observables can be found, then the dynamic mode decomposition (DMD) algorithm can be enacted to compute a finite-dimensional approximation of the Koopman operator, including its eigenfunctions, eigenvalues and Koopman modes. We demonstrate simple rules of thumb for selecting a parsimonious set of observables that can greatly improve the approximation of the Koopman operator. Further, we show that the clear goal in selecting observables is to place the DMD eigenvalues on the imaginary axis, thus giving an objective function for observable selection. Judiciously chosen observables lead to physically interpretable spatio-temporal features of the complex system under consideration and provide a connection to manifold learning methods. Our method provides a valuable intermediate, yet inter- pretable, approximation to the Koopman operator that lies between the DMD method and the com- putationally intensive extended DMD (EDMD). We demonstrate the impact of observable selection, including kernel methods, and construction of the Koopman operator on several canonical, nonlinear PDEs: Burgers’ equation, the nonlinear Schrödinger equation, the cubic-quintic Ginzburg-Landau equation and a reaction-diffusion system. These examples serve to highlight the most pressing and critical challenge of Koopman theory: a principled way to select appropriate observables
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值