【发布时间】:2019-03-14 19:54:58
【问题描述】:
我正在尝试识别分析化学数据中的双峰分布。每个数据集是来自 GC-MS 的特定化合物的 3~70 个保留时间列表。某些化合物的 RT 呈双峰分布,其中库搜索已将相同的身份分配给具有不同 RT 的数据中的两个或多个不同特征。这对于具有非常相似质谱的异构体和其他化合物对来说是很常见的。 例如。这是显示双峰分布的一种化合物的 RT 直方图。
我想计算 Otsu 阈值以尝试定义双峰数据(也有多峰分布,但一次只有一步)。我很难理解the Wikipedia article 的计算,但文本表明可以通过找到最小的类内方差来找到阈值。因此,我尝试从 RT 列表中进行计算,如下所示:
a = list(d['Component RT'])
n = len(a)
b = [a.pop(0)]
varA = []
varB = []
for i in range(1,n-2):
b.append(a.pop(0))
varA.append(statistics.stdev(a)**2)
varB.append(statistics.stdev(b)**2)
我是否认为如果我绘制上述数据的方差总和,我应该能够将 Otsu 阈值识别为最小值?
在此示例中,阈值很明显,大约有 35 个值可供使用。对于大多数化合物,值较少(通常
【问题讨论】:
标签: threshold