python模块,使用不同的方法从直方图和时间序列数据等数据中识别峰值
pypeaks的Python项目详细描述
从数据中识别峰值是许多 研究和开发任务。pypeaks是要检测的python模块 任何数据如直方图和时间序列的峰值。
以下是此模块中为峰值实现的可用方法 检测:*基于斜率的方法,根据 数据各不相同。*基于区间的方法,其中一组区间可以 被传递以提供先验信息,即最多将有一个 每个区间都有峰值,我们只在每个区间中取最大值, 最后过滤掉不相关的峰。*一种混合方法 结合这两种方法。
安装
$ sudo pip install --upgrade pypeaks
用法
代码中包含了一个示例案例。如果你没有 此文件夹,请改为加载您的数据。或者从 https://github.com/gopalkoduri/pypeaks。
重要提示
峰值查找函数需要一个标准化的平滑直方图。它 默认情况下进行平滑。如果你想改变平滑度, 自定义相应的参数。如果数据没有标准化(所以 曲线下的面积为1),则提供一个函数 这样做。如果你没有得到任何高峰,那么你可能忽略了 这个!
import pickle from pypeaks import Data, Intervals [x, y] = pickle.load(file('examples/sample-histogram.pickle')) data_obj = Data(x, y, smoothness=11) #Peaks by slope method data_obj.get_peaks(method='slope') #print data_obj.peaks data_obj.plot() #Peaks by interval method ji_intervals = pickle.load('examples/ji_intervals.pickle') ji_intervals = Intervals(ji_intervals) data_obj.get_peaks(method='interval', intervals=ji_intervals) #print data_obj.peaks data_obj.plot(intervals=ji_intervals) #Read the help on Data object, and everything else is explained there. help(Data)
如果你遇到什么问题,就报告 github,或写信给我 gopala[dot]koduri[at]gmail[dot]com!