稳健高斯拟合

2024-06-13 19:08:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图找到一些关于稳健高斯拟合的文献,我所能找到的只是好的EM高斯混合

问题是:给定一个混合高斯数,找到一个给定点周围的主导高斯数

高斯混合的问题是,你需要知道你事先有多少成分。如果没有,则有一些算法将运行一系列组件,并选择BIC或AIC最少的组件。对于具有高绝对峰度的数据,可以得到两个(或更多)平均值相对相等但标准偏差不同的分量。您可以开始合并结果,但超参数会碍事,结果会变得一团糟

所以我尝试了我自己的方法,稍微调整了EM算法,我有一个超参数(带宽的bw)(mu是平均值,std是标准偏差):

从mu和合理的std开始

  • 期望值:在[mu bw.std,mu+bw.std]中找到点
  • 最大化:重新计算这些点的mu和std。通过除以[-bw,bw]上修剪标准法线的std来校正std
  • 继续,直到收敛
  • 局部主导高斯分布的权重是[mu bw.std,mu+bw.std](E-step)中的点份额除以标准积分 正常开启[-bw,bw]

在这里你可以找到一本笔记本

https://colab.research.google.com/drive/1kFSD1JVPoLFkWjydNj_7tQ91Z6BJDZRD?usp=sharing

我显然是在用一个矩形函数来衡量这些点。我想用高斯函数本身进行加权(自加权)。平均值不需要修正,但体重和性病会。通过乘以(2sqrt(pi))和标准乘以sqrt(2)来校正重量

自加权的优点是不需要超参数,它在循环方面更快,并且在高度重叠的组件上有更少的偏差。缺点是无论起点是什么,它都会收敛到全局主导高斯分布

矩形加权的优点是,如果bw足够小(与组件重叠相比),它将收敛于局部优势,尽管小bw将在参数上有更大的标准误差

编辑:到目前为止,我已经尝试了不同的混合,但自加权未能收敛。修正系数是错误的,我正在寻求帮助


Tags: 函数算法参数标准组件局部优点平均值