【发布时间】:2021-12-23 16:10:46
【问题描述】:
我有一个包含多元时间序列数据的 pandas 数据框。一栏代表温度,一栏代表湿度,一栏代表风。例如,如下所示的数据框:
temperature humidity wind
0 59 97 8
1 59 89 8
2 58 79 7
3 58 74 7
4 60 74 7
5 62 76 10
然后我想在这个数据帧上应用 takens embedding(时间延迟嵌入) 算法。我使用 Giotto-TDA 包来应用嵌入数据框的拍摄。下面的链接显示了这个包如何在数据上执行 takes 嵌入:
https://giotto-ai.github.io/gtda-docs/latest/modules/generated/time_series/embedding/gtda.time_series.TakensEmbedding.html
Takens Embedding Algorithm 采用 time_delay 和 dimension 两个输入。如果我们有一个单变量时间序列,我们可以对时间序列数据执行启发式函数,以找到用于拍摄嵌入算法的最佳 time_delay 和 dimension。启发式函数在以下链接中可用:
https://giotto-ai.github.io/gtda-docs/latest/modules/generated/time_series/embedding/gtda.time_series.takens_embedding_optimal_parameters.html#gtda.time_series.takens_embedding_optimal_parameters
但是当我们处理多元时间序列数据时,比如我上面的数据框,我们应该使用 false 最近邻 算法来找到 time_delay 和 的最佳值em>尺寸。但是我没有在 python 中找到任何可用的函数来在我的数据帧上运行错误的最近邻居。我刚刚发现了一个名为 TISEAN 的包,它可以对时间序列数据执行错误的最近邻。 TISEAN 包中 假最近邻 算法的链接是:
https://www.pks.mpg.de/tisean/TISEAN_2.1/docs/chaospaper/node9.html
和
https://www.pks.mpg.de/tisean//TISEAN_2.1/docs/docs_c/false_nearest.html
但是你可以看到这个包不是用 python 编写的,我认为是用 C 语言编写的。
我想知道如何在 python 中使用 TISEAN 包在我的数据帧上执行 假最近邻?或者除了使用 TISEAN 对我的多元时间序列数据执行 false 最近邻 算法之外,python 中还有其他方法吗?
【问题讨论】:
标签: python pandas dataframe numpy time-series