Random 双峰分布特征化算法?

Random 双峰分布特征化算法?,random,statistics,histogram,Random,Statistics,Histogram,在一系列样本中,可以使用什么算法来描述预期的双峰分布,例如两个正态分布与分离良好的峰值的混合?给出2个平均值、2个标准差和某种稳健性估计的结果将是期望的结果 我感兴趣的是一种可以用任何编程语言(对于嵌入式控制器)实现的算法,而不是现有的C或Python库或stat包 如果我知道两种模式的平均值相差约3:1+-50%,标准偏差相对于峰间距而言“很小”,但这对峰可能在100:1范围内的任何地方,这会更容易吗?这里有两种不同的可能性。一个是,你有一个单一的分布,是双峰的。另一个是,您正在观察来自两个不

在一系列样本中,可以使用什么算法来描述预期的双峰分布,例如两个正态分布与分离良好的峰值的混合?给出2个平均值、2个标准差和某种稳健性估计的结果将是期望的结果

我感兴趣的是一种可以用任何编程语言(对于嵌入式控制器)实现的算法,而不是现有的C或Python库或stat包


如果我知道两种模式的平均值相差约3:1+-50%,标准偏差相对于峰间距而言“很小”,但这对峰可能在100:1范围内的任何地方,这会更容易吗?

这里有两种不同的可能性。一个是,你有一个单一的分布,是双峰的。另一个是,您正在观察来自两个不同分布的数据。估计后者的通常方法是,毫不奇怪,用一种称为a的方法

你的估算方法是使用最大似然法,或者如果你想从贝叶斯的角度来看待这个问题,可以使用马尔可夫链蒙特卡罗方法。如果你把你的假设说得更详细一点,我愿意帮助你找出你想要尝试和最大化的目标函数


这些类型的模型可能是计算密集型的,所以我不确定您是否愿意尝试在嵌入式控制器中使用整个统计方法。黑客可能更合适。如果两个峰实际上分离得很好,我认为更容易尝试识别两个峰,并在它们之间分割数据,独立估计每个分布的平均值和标准偏差

混合模型似乎符合我的预期模型。而“黑客”可能更适合微控制器能力的限制。但是,对于峰值识别方法,什么样的算法才是好的呢?这种方法与统计方法的结果有多大的不同?(例如,相对而言,这种攻击的鲁棒性或准确性如何?)我可以尝试对带宽相当宽的数据进行内核密度估计,然后找到两个最大的“最长增长子序列”。每个子序列中的最后一个数据点可能是对峰值的良好估计。如果分布是对称的,这将有助于您确定在何处分割数据集,因为您希望观测次数最少的峰值在其两侧具有相同数量的点。