2024-09-27 22:20:24 发布
网友
我有一个TimeSeries数据集,它有如下所示的图。我正试图找到最好的方法来分割时间序列。我需要将时间序列分为三个区域-‘上升’、‘稳定’和‘冷却’,分别用于初始斜坡上升部分、近似恒定部分和最终冷却部分
在我将得到的未来系列中,哪种方法是进行细分的最佳方法?如中所示,如果给我的模型这样一个时间序列作为输入,它应该能够输出区域边界的索引?此外,这是否可以在无人监督的情况下进行
谢谢你抽出时间。如有任何建议,我们将不胜感激
正如@mdgorgan所提供的,除了其他方法(基于ML的方法/技巧)之外,您还可以使用这种基于信号处理的方法来完成分割任务。我试着基于这个{a1}:
#install library #!python -m pip install ruptures #import libraries import matplotlib.pyplot as plt import ruptures as rpt #genearte sample data in form of a signal n_samples, n_dims, sigma = 1000, 1, 1 n_bkps = 2 # number of breakpoints signal, bkps = rpt.pw_constant(n_samples, n_dims, n_bkps, noise_std=sigma) print(bkps) #[340, 671, 1000] # detection algo = rpt.Dynp(model="l2").fit(signal) result = algo.predict(n_bkps=2) print(result) #[340, 670, 1000] # display segmentation rpt.display(signal, bkps, result) plt.show()
它根据变化点检测完成分割工作。
这听起来像是一个可以通过变更点检测解决的问题
ruptures库将是脱机方法的良好起点:https://pypi.org/project/ruptures/
ruptures
您将找到已知和未知数量的变更点的方法
正如@mdgorgan所提供的,除了其他方法(基于ML的方法/技巧)之外,您还可以使用这种基于信号处理的方法来完成分割任务。我试着基于这个{a1}:
它根据变化点检测完成分割工作。
这听起来像是一个可以通过变更点检测解决的问题
ruptures
库将是脱机方法的良好起点:https://pypi.org/project/ruptures/您将找到已知和未知数量的变更点的方法
相关问题 更多 >
编程相关推荐