我有一些可以包含0和n高斯形状的嘈杂数据,我正在尝试实现一种算法,该算法采用最高数据点并按照以下“方案”拟合高斯数据:
新尝试,步骤:
通过所有数据点拟合样条曲线
得到样条函数的一阶导数
得到两个数据点(左/右),其中f'(x)=大约0,具有最大强度的数据点
通过从3返回的数据点拟合高斯
4A . 在pdf中绘制高斯(在基线处停止)
计算高斯曲线下的面积
计算原始数据点下的面积
计算高斯区域解释的总面积百分比
我使用以下代码实现了这个概念(最小的工作示例):
#! /usr/bin/env python
from scipy.interpolate import InterpolatedUnivariateSpline
from scipy.optimize import curve_fit
from scipy.signal import argrelextrema
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
data = [(9.60380153195,187214),(9.62028167623,181023),(9.63676350256,174588),(9.65324602212,169389),(9.66972824591,166921),(9.68621215187,167597),(9.70269675106,170838),(9.71918105436,175816),(9.73566703995,181552),(9.75215371878,186978),(9.76864010158,191718),(9.78512816681,