拓端tecdat|r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化

原文链接:http://tecdat.cn/?p=23825

原文出处:拓端数据部落公众号 

简介

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

聚类

  1.  
     
  2.  
    head(X)

pairs(X)

  1.  
  2.  
    plot(BIC)
  3.  
     
  4.  

  1.  
  2.  
     
  3.  
    summary(BIC)

summary(mod1, parameters = TRUE)

 

 

plot(mod1)

  1.  
    table(class, classification)
  2.  

  1.  
     
  2.  
    plot(mod1, what = "uncertainty")

  1.  
    clustICL(X)
  2.  
    summary(ICL)

  1.  
  2.  
     
  3.  
    BootstrapLRT(X)
  4.  
     

初始化

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

  1.  
  2.  
    hclust(X, use = "SVD"))
  3.  
     

clustBIC(X, initialization )) # 默认

 

hc2 

clustBIC(X, initialization )

 

hclust(X, model= "EEE"))

 

  1.  
     
  2.  
    summary(BIC3)

 

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

BIC(BIC1, BIC2, BIC3)



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

  1.  
     
  2.  
    for(j in 1:20)
  3.  
    {
  4.  
    rBIC <- mclustBIC(
  5.  
    initi ))
  6.  
    BIC <- update(BIC, rBIC)
  7.  
    }

  1.  
  2.  
    clust(ga, BIC)


分类

EDDA

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

clustDA(X, class,  "EDDA")

  1.  
     
  2.  
    plot(mod2)
  3.  

MclustDA

  1.  
  2.  
     
  3.  
    table(class)
  4.  
     

head(X)

clustDA(X, class)

  1.  
     
  2.  
    plot(mod3, 2)
  3.  
     
  4.  

 

  1.  
  2.  
     
  3.  
    plot(mod3, 3)
  4.  

交叉验证误差

  1.  
  2.  
    cv(mod2, nfold = 10)

  1.  
     
  2.  
    unlist(cv[3:4])

 

cv(mod3, nf = 10)

 

  1.  
     
  2.  
    unlist(cv[3:4])

密度估计

单变量

clust(acid)

 

  1.  
     
  2.  
    plot(mod4, "BIC")
  3.  

  1.  
    plot(mod4, "density", acidity)
  2.  
     

  1.  
  2.  
     
  3.  
    plot(mod4, "diagnostic", "cdf")
  4.  

多变量

  1.  
    clu(faithful)
  2.  
    summary(mod5)

  1.  
     
  2.  
    plot(mod5, "BIC")
  3.  

  1.  
  2.  
     
  3.  
     
  4.  
    plot(mod5, "density",faithful)
  5.  
     
  6.  
     
  7.  


Bootstrap推理

  1.  
  2.  
    summary(boot1, what = "se")

 

 

summary(boot1, what = "ci")

 

 

  1.  
     
  2.  
    summary(boot4, what = "se")
  3.  
     
  4.  
    plot(boot4)
  5.  

降维

聚类

  1.  
  2.  
     
  3.  
    plot(mod1dr, "pairs")
  4.  


plot(mod1dr)

plot(mod1dr, "scatterplot")

plot(mod1dr)

分类

  1.  
  2.  
     
  3.  
    summary(mod2dr)
  4.  
     
  5.  
    plot(mod2d)
  6.  


  1.  
    plot(mod2dr)
  2.  
     

  1.  
  2.  
     
  3.  
    summary(mod3dr)
  4.  
     
  5.  
    plot(mod3dr)
  6.  

  1.  
    plot(mod3dr)
  2.  
     
  3.  
     
  4.  

使用调色板

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

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

  1.  
    options("Colors" = Palette )
  2.  
    Pairs(iris[,-5], Species)
  3.  
     
  4.  



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

参考文献

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.


最受欢迎的见解

1.R语言多元Logistic逻辑回归 应用案例

2.面板平滑转移回归(PSTR)分析案例实现

3.matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)

4.R语言泊松Poisson回归模型分析案例

5.R语言回归中的Hosmer-Lemeshow拟合优度检验

6.r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现

7.在R语言中实现Logistic逻辑回归

8.python用线性回归预测股票价格

9.R语言如何在生存分析与Cox回归中计算IDI,NRI指标

▍关注我们 【大数据部落】第三方数据服务提供商,提供全面的统计分析与数据挖掘咨询服务,为客户定制个性化的数据解决方案与行业报告等。 ▍咨询链接:http://y0.cn/teradat ▍联系邮箱:3025393450@qq.com
原文地址:https://www.cnblogs.com/tecdat/p/15335601.html