贝叶斯分层模型的WinBUGS代码

时间:2012-07-27 17:19:28

标签: r bayesian winbugs winbugs14

我正在阅读paper(其目的是使用贝叶斯分层方法对纳米线(NW)增长进行建模)。在第7页中,作者提出了一个描述纳米线生长的模型。我正在尝试写一个WinBUGS代码(请参见下文),但我不确定它是否正确。

我在论文中引用了这个摘要:

  

案例研究将展示在不确定性下的分层建模和估算NW增长过程的过程。 ...其中的数据是在六种生长条件下(t = 365°C,380°C,400°C,420°C,430°)随时间(t = 15 s,30 s,180 s,900 s)收集的。 C,440◦C)。前四个条件用于建模。我们不考虑两个高温条件,因为在180秒和900秒时没有观察到。 “

因此我们处理三个变量,包括时间(以秒为单位),温度(以C为单位)和纳米线长度(以cm为单位)。有四个温度级别(365°C,380°C,400°C和420°C),以及四个时间点(15秒,30秒,180秒,900秒)。在每种情况下,我都没有确切的长度值,所以我通过查看论文中的图6来生成一些值。

这是WinBUGS代码。它完美运行,但我不确定它是否正确。我很感激任何意见。谢谢!

model
{
    for(j in 1 : 4) {
        for(i in 1 : 4) {
            X[i,j] ~ dnorm(mu[i,j], tau)
            mu[i,j] <- (step(t0[j] - t[i]))  * ((a1[j]*(exp(-alpha2[j]/t[i])))) + (step(t[i] - t0[j])) * ((a3[j]*t[i]) + (a1[j]*(exp(-alpha2[j]/t0[j]))) -a3[j]*t0[j])
        }

        t0[j] ~ dunif(1,40)
        alpha2[j] ~ dunif(1,20)

        a1[j]~ dnorm(mua1[j], tau1)
        a3[j]~ dnorm(mua3[j], tau3)

        alpha1[j] <- exp(a11)
        alpha3[j] <- exp(a33)

        log(mua1[j]) <- log(alpha1[j]) - (230/(T[j]*1.3806503*pow(10, -23)))
        log(mua3[j]) <- log(alpha3[j]) - (230/(T[j]*1.3806503*pow(10, -23)))
    }

    a11~ dnorm(0,0.001)
    a33~ dnorm(0, 0.001)

    tau1 <- pow(sigma1, -2)
    sigma1 ~ dunif(0,10)

    tau3 <- pow(sigma3, -2)
    sigma3 ~ dunif(0,10)

    tau <- pow(sigma, -2)
    sigma ~ dunif(0,20)
}

list(X= structure(.Data= c(0.00011E+00, 0.00022E+00, 2.00000E-02, 3.50000E-02, 7.00000E-03, 7.00000E-03, 3.00000E-01, 3.00000E-01, 3.50000E-02, 7.00000E-02, 2.50000E-01, 5.00000E-01, 2.00000E-01, 2.25000E-01, 5.50000E-01, 2.30000E+00), .Dim=c(4, 4)), T=c(3.65000E+02, 3.80000E+02, 4.00000E+02, 4.20000E+02), t=c(1.50000E+01, 3.00000E+01, 1.80000E+02, 9.00000E+02))

0 个答案:

没有答案