0
点赞
收藏
分享

微信扫一扫

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据

花明 2023-12-04 阅读 46


最近我们被客户要求撰写关于有限正态混合模型EM算法的研究报告,包括一些图形和统计输出。

简介

本文介绍了基于有限正态混合模型在r软件中的实现,用于基于模型的聚类、分类和密度估计。提供了通过EM算法对具有各种协方差结构的正态混合模型进行参数估计的函数,以及根据这些模型进行模拟的函数。此外,还包括将基于模型的分层聚类、混合分布估计的EM和贝叶斯信息准则(BIC)结合在一起的功能,用于聚类、密度估计和判别分析的综合策略。其他功能可用于显示和可视化拟合模型以及聚类、分类和密度估计结果。

聚类

 

 

head(X)

 

 

 

 

pairs(X)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类

 

 

plot(BIC)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_ci_02

 

 

summary(BIC)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_ci_03

 

 

summary(mod1, parameters = TRUE)

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_04

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_05

 

 

plot(mod1)

 

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_06

 

 

table(class, classification)

 

 

 

 

plot(mod1, what = "uncertainty")

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_ci_07

 

 

clustICL(X)
summary(ICL)

 

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_08

 

 

BootstrapLRT(X)

 

 

初始化

使用EM算法进行最大似然估计。EM的初始化是使用从聚类层次结构聚类中获得的分区来进行的。

 

 

hclust(X, use = "SVD"))

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_ci_09

 

 

clustBIC(X, initialization )) # 默认

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_ci_10

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_ci_11

 

 

hc2

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_12

 

 

clustBIC(X, initialization )

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_d3_13

 

 

hclust(X, model= "EEE"))

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_ci_14

 

 

summary(BIC3)

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_15

通过合并最佳结果来更新BIC。

 

 

BIC(BIC1, BIC2, BIC3)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_d3_16

 

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_d3_17

使用随机起点进行单变量拟合,通过创建随机集聚和合并最佳结果获得。

 

 

for(j in 1:20)
{
  rBIC <- mclustBIC(
                    initi ))
  BIC <- update(BIC, rBIC)
}

 

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_18

 

 

clust(ga, BIC)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_d3_19

 

 

分类

EDDA

 

 

X <- iris[,1:4]
head(X)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_d3_20

 

 

clustDA(X, class,  "EDDA")

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_21

 

 

plot(mod2)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_ci_22

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_d3_23

MclustDA

 

 

table(class)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_24

 

 

head(X)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_d3_25

 

 

clustDA(X, class)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_26

 

 

plot(mod3, 2)

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_ci_27

 

 

plot(mod3, 3)

 

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_28

交叉验证误差

 

 

cv(mod2, nfold = 10)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_d3_29

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_d3_30

 

 

unlist(cv[3:4])

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_31

 

 

cv(mod3, nf = 10)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_32

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_ci_33

 

 

unlist(cv[3:4])

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_34

密度估计

单变量

 

 

clust(acid)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_ci_35

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_36

 

 

plot(mod4, "BIC")

 

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_ci_37

 

 

plot(mod4,  "density", acidity)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_38

 

 

plot(mod4, "diagnostic",  "cdf")

 

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_d3_39

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_d3_40

多变量

 

 

clu(faithful)
summary(mod5)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_ci_41

 

 

plot(mod5, "BIC")

 

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_42

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_43

 

 

plot(mod5, "density",faithful)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_ci_44

 

 

Bootstrap推理

 

 

summary(boot1, what = "se")

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_d3_45

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_ci_46

 

 

summary(boot1, what = "ci")

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_ci_47

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_d3_48

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_49

 

 

summary(boot4, what = "se")

plot(boot4)

 

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_50

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_d3_51

降维

聚类

 

 

plot(mod1dr,  "pairs")

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_ci_52

 

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_53

 

 

plot(mod1dr)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_54

 

 

plot(mod1dr, "scatterplot")

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_55

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_d3_56

 

 

plot(mod1dr)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_d3_57

分类

 

 

summary(mod2dr)

plot(mod2d)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_ci_58

 

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_ci_59

 

 

plot(mod2dr)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_ci_60

 

 

summary(mod3dr)

plot(mod3dr)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_d3_61

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_d3_62

 

 

plot(mod3dr)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_d3_63

使用调色板

大多数图形都使用默认的颜色。

调色板可以定义并分配给上述选项,具体如下。

 

 

options("Colors" = Palette )
Pairs(iris[,-5], Species)

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_聚类_64

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_ci_65

 

 

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_d3_66

如果需要,用户可以很容易地定义自己的调色板。

参考文献

Fraley C. and Raftery A. E. (2002) Model-based clustering, discriminant analysis and density estimation, Journal of the American Statistical Association, 97/458, pp. 611-631.

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据_d3_67



举报

相关推荐

0 条评论