นี่คือสคริปต์สำหรับการใช้รูปแบบผสมโดยใช้ mcluster
X <- c(rnorm(200, 10, 3), rnorm(200, 25,3), rnorm(200,35,3), rnorm(200,65, 3), rnorm(200,80,5))
Y <- c(rnorm(1000, 30, 2))
plot(X,Y, ylim = c(10, 60), pch = 19, col = "gray40")
require(mclust)
xyMclust <- Mclust(data.frame (X,Y))
plot(xyMclust)
ในสถานการณ์ที่มีกลุ่มน้อยกว่า 5 กลุ่ม:
X1 <- c(rnorm(200, 10, 3), rnorm(200, 25,3), rnorm(200,35,3), rnorm(200,80,5))
Y1 <- c(rnorm(800, 30, 2))
xyMclust <- Mclust(data.frame (X1,Y1))
plot(xyMclust)
xyMclust4 <- Mclust(data.frame (X1,Y1), G=3)
plot(xyMclust4)
ในกรณีนี้เรามี 3 กลุ่มที่เหมาะสม เกิดอะไรขึ้นถ้าเราใส่ 5 กลุ่ม?
xyMclust4 <- Mclust(data.frame (X1,Y1), G=5)
plot(xyMclust4)
มันสามารถบังคับให้สร้าง 5 กลุ่ม
นอกจากนี้เราขอแนะนำเสียงแบบสุ่ม:
X2 <- c(rnorm(200, 10, 3), rnorm(200, 25,3), rnorm(200,35,3), rnorm(200,80,5), runif(50,1,100 ))
Y2 <- c(rnorm(850, 30, 2))
xyMclust1 <- Mclust(data.frame (X2,Y2))
plot(xyMclust1)
mclust
อนุญาตการทำคลัสเตอร์ตามโมเดลที่มีเสียงรบกวนคือการสังเกตจากภายนอกซึ่งไม่ได้เป็นของคลัสเตอร์ใด ๆ mclust
อนุญาตให้ระบุการกระจายก่อนหน้านี้เพื่อทำให้พอดีกับข้อมูล ฟังก์ชั่นpriorControl
มีให้ใน mclust สำหรับการระบุก่อนหน้าและพารามิเตอร์ของมัน เมื่อเรียกด้วยค่าเริ่มต้นมันจะเรียกใช้ฟังก์ชั่นอื่นที่เรียกว่าdefaultPrior
ซึ่งสามารถทำหน้าที่เป็นแม่แบบสำหรับการระบุตัวเลือกทางเลือก ที่จะรวมเสียงในการสร้างแบบจำลองการคาดเดาเริ่มต้นของการสังเกตเสียงที่จะต้องจัดให้ผ่านองค์ประกอบเสียงของการโต้แย้งการเริ่มต้นในหรือMclust
mclustBIC
อีกทางเลือกหนึ่งคือใช้mixtools
แพ็คเกจที่ให้คุณระบุค่าเฉลี่ยและซิกม่าสำหรับแต่ละคอมโพเนนต์
X2 <- c(rnorm(200, 10, 3), rnorm(200, 25,3), rnorm(200,35,3),
rnorm(200,80,5), rpois(50,30))
Y2 <- c(rnorm(800, 30, 2), rpois(50,30))
df <- cbind (X2, Y2)
require(mixtools)
out <- mvnormalmixEM(df, lambda = NULL, mu = NULL, sigma = NULL,
k = 5,arbmean = TRUE, arbvar = TRUE, epsilon = 1e-08, maxit = 10000, verb = FALSE)
plot(out, density = TRUE, alpha = c(0.01, 0.05, 0.10, 0.12, 0.15), marginal = TRUE)