R拟合 | 一个分布能看到三个峰,怎么拟合出这三个正态分布的参数? | 高斯混合模型 与 EM算法

1. 效果

已知数据符合上图分布,怎么求下图的三个分布的参数mu, sigma,及每个分布的权重 lambda?

2. 代码: 高斯混合模型(Gaussian Mixture Model,简称GMM)

复制代码
library(mixtools)
set.seed(123) # 确保结果可重复

# 假设x是你的观测数据
x <- rnorm(1000, mean=c(-2, 0, 2), sd=c(1, 1, 1))
x <- c(x, x + 5, x - 5) # 模拟三峰数据

# 绘制密度图
par(mfrow=c(2,1))
plot(density(x), main="三峰密度图", xlab="观测值", xlim=c(-10, 10))

# 拟合三峰正态混合模型
mix <- normalmixEM(x, k=3, maxit=1000, epsilon=1e-4)
summary(mix)
abline(v=mix$mu, col="red", lty=2, lwd=2)

# 绘制拟合结果
# plot(mix, which=2, main="拟合结果")
plot(mix, density = TRUE, w = 1.1)
#plot(mix, which = 2)  # 第2种图,会显示混合分布曲线

3.获取参数

复制代码
> summary(mix)
summary of normalmixEM object:
          comp 1   comp 2   comp 3
lambda  0.513487 0.110986 0.375528
mu     -3.613972 6.917701 2.934937
sigma   2.609374 1.088864 2.020785
loglik at estimate:  -8589.094


> mix$mu
[1] -3.613972  6.917701  2.934937
> mix$sigma
[1] 2.609374 1.088864 2.020785

> mix$lambda
[1] 0.5134868 0.1109857 0.3755276

其中 lambda 是混合模型中的权重参数。每个在0到1之间。和是1。

4.名词解释

  • 高斯混合模型(Gaussian Mixture Model,简称GMM) 是一种概率模型,用于表示由多个高斯分布(正态分布)组成的复杂分布。

  • 谱学习算法(Spectral Learning Algorithms)是一类利用线性代数中的矩阵分解技术来估计模型参数的方法,在自然语言处理、机器学习等领域有广泛的应用。

Ref:

相关推荐
Michelle802315 小时前
R语言 for循环
开发语言·r语言
没有梦想的咸鱼185-1037-16632 天前
AI大模型支持下的顶刊绘图|散点图、气泡图、柱状图、热力图、柱状图、热力图、箱线图、热力图、云雨图、韦恩图、瀑布图、神经网络图、时间序列或分布展示
人工智能·神经网络·arcgis·信息可视化·数据分析·r语言·ai写作
青春不败 177-3266-05202 天前
基于R语言BIOMOD2及机器学习方法的物种分布模拟与案例分析
随机森林·机器学习·r语言·生态学·植被遥感·生物多样性·物种分布
青春不败 177-3266-05204 天前
R语言与DSSAT作物模型
r语言·生态学·作物模型·数字农业·dssat模型·农业科学
asyxchenchong8884 天前
农业系统模拟APSIM全流程详解(气象/土壤/碳氮平衡/NG版本)附R批量处理代码
开发语言·r语言
idolao7 天前
R语言4.4.3统计分析软件安装教程:详细步骤+自定义安装路径(64位)
开发语言·r语言
做cv的小昊8 天前
【TJU】应用统计学——第四周作业(2.3 C-R不等式、2.4区间估计)
c语言·人工智能·算法·机器学习·数学建模·r语言·概率论
爱技术的阿呆10 天前
R code debug 和 study
开发语言·r语言
Q一件事10 天前
R语言制图-相关性及关系网络图
开发语言·r语言
weixin_4469340310 天前
多分类暴露变量的亚组分析森林图功能上线了,R语言搞不了风暴统计平台一键搞定
人工智能·机器学习·分类·数据挖掘·r语言