我试图找到两个时间序列之间的3个不同之处。我能够看到两条曲线之间的差异,但我希望最终自动检测两条曲线之间的最大差异和较小差异。使用以下代码,我可以查看两条曲线之间的差异,但我希望能够通过定义一些点或时间段(按时间顺序)找到3个区域,如图中所示。例如,找出每周的3个窗口,每个窗口的差异先小后大,然后又变小。你知道这里面有没有内置的函数?谢谢
ax.fill_between(
x=feature.reset_index().index,
y1=feature.1,
y2=feature.2,
alpha=0.3
)
The 2 time series and 3 wanted areas that i would like to find
发布于 2020-04-23 22:17:06
作为一个概念:将一个大的时间窗口定义为t_0 to T,在两个序列的差值中找到初始最小值(即找到价差的最小值),并记录该时间的位置。如果您有时间序列的对齐data.frame,这应该是找到最小差异并查找该项目的loc以识别窗口内的时间的基本方法。
然后将搜索限制为t_min_1 to T,并搜索最大值,再次获得分布中该最大值的loc。最后,在t_max到T上搜索分布中的局部最小值,并找到该值的loc。
这将在给定的窗口中为您返回每个事件中第一个最小值(t_min_1)、第二个最大值(t_max)和第三个最小值(t_min_2)的时间。
https://stackoverflow.com/questions/61386722
复制