【问题标题】:area under the curve between two troughs rather than integrating between the two points两个波谷之间的曲线下面积,而不是两点之间的积分
【发布时间】:2020-09-22 20:04:58
【问题描述】:

我有一个 X(x) 和 Y(signal) 数据列表,用于计算波谷:

from scipy.signal import find_peaks
troughs, _= find_peaks(-signal)

现在我想计算第一个波谷和最后一个波谷之间的积分

from scipy.interpolate import InterpolatedUnivariateSpline   
x = range(1,len(signal)+1)
f = InterpolatedUnivariateSpline(x, y)
f.integral(peaks[1], peaks[-1])
which gives me: -1.477

假设这个值为负数与它正在计算积分的事实是一致的。但是曲线下面积呢?我们知道它们彼此不相等,因为积分可能是负数,但 AUC 不能。 有没有简单的方法来计算两个不同点之间的 AUC?我能想到的一种方法是将 Y 分为负数和非负数组,并分别对每个组进行积分。

【问题讨论】:

    标签: python numpy scikit-learn scipy integral


    【解决方案1】:

    您可以为函数使用abs 值。 是一样的

    将 Y 分成负数和非负数组,并为 每组分开

    但更快。

    数学上它应该可以工作......但我不知道这是否是你想要的。

    希望对您有所帮助。 :)

    【讨论】:

      猜你喜欢
      • 2019-08-15
      • 2017-10-12
      • 2016-11-19
      • 2014-12-28
      • 2018-02-11
      • 2013-02-27
      相关资源
      最近更新 更多