楼主: dcflyer
2733 0

用winbugs处理multivariate normal问题 [推广有奖]

  • 0关注
  • 0粉丝

小学生

7%

还不是VIP/贵宾

-

威望
0
论坛币
6 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
138 点
帖子
2
精华
0
在线时间
3 小时
注册时间
2007-5-5
最后登录
2017-3-23

楼主
dcflyer 发表于 2010-4-9 05:25:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
其实是关于Dirichlet process的模型,不过问题不在与此. 运行出现错误,老是说initialization部分 expected multivariate node,莫非我初始值没有设对?查了很久没有检查出来,在这求助大家,谢谢


程序为了实现对三个multivariate normal产生的数进行分类,但问题就是,初始值冒似有问题

Winbugs Code:

model
{
     for(i in 1:N){
    y[i,1:2] ~ dmnorm(mu[i,],tau[i,,])   
    S ~ dcat(pi[])
    mu[i,1:2] <- mu.star[S,]
    tau[i,1:2,1:2] <- tau.star[S,,]}

    # Constructive DPP
   
    # Stick breaking prior
    p[1] <- r[1]
    for (j in 2:C) {p[j] <- r[j]*(1-r[j-1])*p[j-1]/r[j-1]}
    p.sum <- sum(p[])        
    for (j in 1:C) {r[j] ~ dbeta(1,alpha); pi[j] <- p[j]/p.sum}
   
    # Baseline distribution
    for (j in 1:C) {mu.star[j,1:2] ~ dmnorm(theta[],tau.star[j,,]);tau.star[j,1:2,1:2] ~ dwish(T[,],3)}
    theta[1:2] ~ dmnorm(theta0[],S2[,])
    T[1:2,1:2] ~ dwish(S3[,],3)

    # DPP Precision Parameter         
    alpha ~ dgamma(1,1)

    # Programming for calculating summary statistics
    for(i in 1:N) {for (j in 1:C) {SC[i,j] <- equals(j,S)}}

    # total clusters K            
    for (j in 1:C) {cl[j] <- step(sum(SC[,j])-1)}
    K <- sum(cl[])
}


R code:

library(R2WinBUGS)
library(MASS)
library(MCMCpack)
library(coda)

#Generate synthetic data
n=50
S=matrix(c(1,.2,.2,2),nrow=2)
y1=mvrnorm(n,c(0,0),S)
y2=mvrnorm(n,c(3,3),S)
y3=mvrnorm(n,c(-3,-3),S)
y=rbind(y1,y2,y3)

N=nrow(y)
C=6
theta0=as.vector(c(0,0))
S2=matrix(c(1,0,0,2),nrow=2)
S3=matrix(c(1,0,0,1),nrow=2)

data=list("y","N","C","theta0","S2","S3")
inits=function(){list(alpha=rgamma(1,1.5,1),theta=mvrnorm(1,theta0,S2),T=rwish(3,S3),K=6)}
dp_norm.sim=bugs(data,inits,model.file="dp_norm.txt",parameters=c("alpha","K"),
n.chains=1,n.iter=500,n.burnin=50,n.thin=1,bugs.directory="C:/Program Files/WinBUGS14/",codaPkg=T,debug=T)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Multivariate multivariat winbugs Variate normal Multivariate winbugs normal

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-5 21:39