答案 0 :(得分:1)
在上述示例的扩展中,以下脚本显示了如何扩展到3维案例。请注意输入/输出参数使用方差/协方差矩阵而不是标准偏差,如上例中的名称所示
# DepMixS4- Multivariate Normal
# Exmaple from the Help Page extended to three dimensions
library(depmixS4)
# generate data from two different 3-dim normal distributions
#mean
m1 <- c(0,0,1)
# the first one has equal covariance of size 0.3
# Sigma1 denotes the covariance matrix
Sigma1 <- matrix(c(2,0.3,0.3,0.3,1,0.3,0.3,0.3,1),nrow=3)
#mean
m2 <- c(1,0,0)
# the second one has equal covariance of size -0.3
Sigma2 <- matrix(c(2,-0.3,-0.3,-0.3,1,-0.3,-0.3,-0.3,1),nrow=3)
y1 <- mvrnorm(1000,m1,Sigma1)
y2 <- mvrnorm(1000,m2,Sigma2)
# Check that Sigma1_11 is indeed variance:
# The following gives approx 2, as it should be
var(y1[,1])
# this creates data with a single change point
y <- rbind(y1,y2)
# now use makeDepmix to create a depmix model for this 3-dim normal timeseries
# response is a 2-dim list of response models.
rModels <- list()
rModels[[1]] <- list(MVNresponse(y~1))
rModels[[2]] <- list(MVNresponse(y~1))
trstart=c(0.9,0.1,0.1,0.9)
transition <- list()
transition[[1]] <- transInit(~1,nstates=2,data=data.frame(1),pstart=c(trstart[1:2]))
transition[[2]] <- transInit(~1,nstates=2,data=data.frame(1),pstart=c(trstart[3:4]))
instart=runif(2)
inMod <- transInit(~1,ns=2,ps=instart,data=data.frame(1))
mod <- makeDepmix(response=rModels,transition=transition,prior=inMod)
fm3 <- fit(mod,emc=em.control(random=FALSE))
summary(fm3)
最后一个命令给出输出(只有最后一部分)
Response parameters
Re1.coefficients1 Re1.coefficients2 Re1.coefficients3 Re1.Sigma1 Re1.Sigma2 Re1.Sigma3 Re1.Sigma4 Re1.Sigma5 Re1.Sigma6
St1 0.92688362 0.04410173 -0.004027074 2.042186 -0.3347858 -0.2467676 1.066815 -0.3113216 0.9507479
St2 0.03676585 0.05259029 1.022748735 2.037637 0.4235656 0.3856682 1.146025 0.3401500 0.9763637
估计的方差/协方差矩阵与字段
s_11 s_12 s_13
s_22 s_23
s_33
(可以通过对称填充空字段) 在输出中给出 Re1.Sigma1,...,Re1.Sigma6
答案 1 :(得分:0)
我直接询问了包的编辑,得到了以下答案:
请参阅
get()
如果您使用多变量数据运行示例,请执行以下操作:
?makeDepmix
Sigma1-3是协方差矩阵的(唯一)值。