|
初始化通过以下方式实现:<初始化>=phi<-矩阵(0,nrow=noIterations,ncol=1)建议的phi<-矩阵(0,nrow=noIterations,ncol=1)对数似然<-矩阵(0,nrow=noIterations,ncol=1)建议的logLikelihood<-矩阵(0,nrow=noIterations,ncol=1)phi[1]<-初始phitheta<-c(phi[1],sigmav,sigmae)outputPF<-particleFilter(y,θ,noParticles,initialState)对数似然[1]<-outputPF$Log似然<proposeParameters>如第2节所述,提案分布有很多选择。在本教程中,我们使用byq给出的高斯随机游走方案θθ(k)-1)= Nθ; θ(k)-1), , (25)在哪里 > 0表示随机游动的步长,即增量的标准偏差。建议步骤通过以下方式实现:<proposeParameters>=phiProposed[k]<-phi[k-1]+步长*rForm(1)<computeAcceptProbability>由于(25)在θ(即q)上是对称的,因此可以简化接受概率(13)θθ(k)-1)= Qθ(k)-1)θ,结果(13)可以表示为α(θ,θ(k-1) )=min(1,explog“p(θ)p(θ(k-1) )#+log“bpNθ(y1:T)bpNθ(k-1) (y1:T)#!)。对数似然和对数先验用于避免数值精度的损失。其前提是α(θ,θ(k-1) )=当|φ|>1时为0。因此,在这种情况下,粒子过滤器不会运行以节省计算,而接受概率设置为零以确保θ被弹出。接受概率的计算通过以下方式实现:<computeAcceptProbability>=if(abs(phiaproved[k])<1.0){theta<-c(phiaproved[k],sigmav,sigmae)outputPF<-particleFilter(y,theta,noParticles,initialState)Johan Dahlin,Thomas B。
|