全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
8860 1
2012-12-18
我需要对一组数据进行多峰正态拟合,matlab拟合工具箱里的gaussian拟合,选择number of terms为3(我的数据是三峰的),得到拟合结果。但有一个问题,这样拟合出来的曲线并不是一个概率密度。
实际上也就是拟合工具箱不保证拟合曲线积分为1,该怎么解决?
举例:拟合工具箱只能用a*exp(-((x-b)/c)^2/2)拟合,而正态分布的概率密度应当是:exp(-((x-b)/c)^2/2)/sqrt(2*pi*c)
对于多峰正态分布,拟合工具箱用a1*exp(-((x-b1)/c1)^2/2)+a2*exp(-((x-b2)/c2)^2/2)....的形式拟合但多峰正态的概率密度应当是a1*exp(-((x-b1)/c1)^2/2)/sqrt(2*pi*c1)+a2*exp(-((x-b2)/c2)^2/2)/sqrt(2*pi*c2).....且a1+a2+...=1
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-12-20 22:16:00
没用过MATLAB,由于没见有人回答你的问题,就大胆猜测一下:如果拟合是使用MLE(极大似然法)来做的,那么如果拟合曲线积分不为1,我想,可以乘以一个系数使函数积分=1吧。

当然,如果是我,我就自己算,不用MATLAB(因为那里的方法都是不透明的,不知如何算的),而用EXCEL,自己算似然函数,然后用EXCEL的solver求极值,就能求出拟合的(3峰正态)分布了。自立更生不求人。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群