MCMC algorithms generate Markov Chains which simulate the posterior distribution. The idea behind the Geweke diagnostic is to mimic a two-sample test of means and determine whether the first 10% and last 50% are of the same posterior distribution. If the chain has converged to a stationary distribution, the means of the two sections should be equal and the Geweke diagnostic approaches a normal distribution with a Z-score test statistic. The Geweke diagnostic plots are generated by dividing the chain into segments. The Z-scores are then calculated for the chain using all the iterations at first, then again for the iterations minus the first segment and then, minus the second segment and so on. If a large amount of the Z-scores fall outside the range \(\pm 1.96\), i.e. are extreme and fall within the tails of a standard normal distribution, the chain has not converged.
There are nine parameters that required estimation in the spatial SSO models, including three regression coefficients for the detection process and five coefficients for the occupancy process. For each the parameter within the chain, the \(\hat{R}\) value is inspected. The \(\hat{R}\) is the potential scale reduction factor and indicates whether within- and between-chain estimates agree. The notion behind \(\hat{R}\) is that if the chains have not reached the same target distribution, the within chain variance will be much lower than the variance of the chain combined. If chains have mixed well, the \(\hat{R}\) value should be below 1.1. Additionally, the trace plots are generated and Geweke diagnostic plots inspected. Regression coefficients have been summarised in main body of project.
All parameters have R-hat values below 1.05 and thus the chains have mixed well.
post_summ(spat2007_mcmc, c("alpha","beta","tau"),Rhat=TRUE,neff = TRUE)
## alpha0 alpha1 alpha2 beta0 beta1
## mean 9.547532e-02 2.733159e-01 8.379479e-02 0.1918378 -3.1010172
## sd 9.623813e-02 1.113634e-01 9.688349e-02 0.2398669 0.4230569
## 50% 9.547852e-02 2.726303e-01 8.331709e-02 0.1869214 -3.0831982
## 2.5% -9.347946e-02 5.741150e-02 -1.051987e-01 -0.2625039 -3.9801297
## 97.5% 2.841762e-01 4.938762e-01 2.749407e-01 0.6788085 -2.3236287
## Rhat 1.000000e+00 1.000000e+00 1.000000e+00 1.0000000 1.0000000
## neff 5.872200e+04 8.049600e+04 8.711600e+04 18630.0000000 9907.0000000
## beta2 beta3 beta4 tau
## mean -0.3899731 -3.1674606 4.245287e-01 1068.4142909
## sd 0.3929238 0.4844305 2.314980e-01 1531.9503790
## 50% -0.3806006 -3.1531502 4.203960e-01 487.8400911
## 2.5% -1.1892829 -4.1621986 -1.859793e-02 0.5856747
## 97.5% 0.3568744 -2.2614895 8.894078e-01 5482.6273595
## Rhat 1.0000000 1.0000000 1.000000e+00 1.0020000
## neff 21508.0000000 14706.0000000 2.070000e+04 986.0000000
All trace plots are indicative of convergence.
names<-c("alpha[0]","alpha[1]","alpha[2]","beta[0]","beta[1]","beta[2]","beta[3]","beta[4]","tau")
varnames(spat2007_mcmc)<-names
traplot(spat2007_mcmc,"alpha",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2007_mcmc,"beta",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2007_mcmc,"tau",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
It is evident that only a few Z-scores for each parameter are larger than the absolute value of 1.96 and as such, there is evidence for convergence.
# geweke z-scores
# geweke.diag(occ2007)
# geweke diagnostic plot
geweke.plot(spat2007_mcmc)
All parameters have R-hat values below 1.05 and thus the chains have mixed well.
post_summ(spat2008_mcmc, c("alpha","beta","tau"),Rhat=TRUE,neff = TRUE)
## alpha0 alpha1 alpha2 beta0 beta1
## mean -4.555660e-02 3.561772e-01 1.504871e-01 0.4260527 -3.884374
## sd 3.866796e-02 4.480411e-02 4.020971e-02 0.2859883 0.459528
## 50% -4.560898e-02 3.562822e-01 1.503113e-01 0.4150221 -3.865001
## 2.5% -1.216099e-01 2.685069e-01 7.213478e-02 -0.1045610 -4.837265
## 97.5% 3.032004e-02 4.444967e-01 2.299943e-01 1.0216320 -3.034088
## Rhat 1.000000e+00 1.000000e+00 1.000000e+00 1.0000000 1.000000
## neff 7.500800e+04 7.698000e+04 8.914200e+04 6327.0000000 4961.000000
## beta2 beta3 beta4 tau
## mean -0.638632 -3.563468 6.258679e-01 2.976267e-02
## sd 0.453111 0.489537 2.866475e-01 1.477350e-02
## 50% -0.622363 -3.549891 6.174403e-01 2.657510e-02
## 2.5% -1.575815 -4.563058 8.693672e-02 1.163883e-02
## 97.5% 0.199979 -2.644241 1.213869e+00 6.576681e-02
## Rhat 1.001000 1.000000 1.001000e+00 1.004000e+00
## neff 8320.000000 8626.000000 7.512000e+03 3.366000e+03
All trace plots are indicative of convergence.
names<-c("alpha[0]","alpha[1]","alpha[2]","beta[0]","beta[1]","beta[2]","beta[3]","beta[4]","tau")
varnames(spat2008_mcmc)<-names
traplot(spat2008_mcmc,"alpha",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2008_mcmc,"beta",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2008_mcmc,"tau",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
It is evident that only a few Z-scores for each parameter are larger than the absolute value of 1.96 and as such, there is evidence for convergence.
# geweke z-scores
# geweke.diag(occ2008)
# geweke diagnostic plot
geweke.plot(spat2008_mcmc)
All parameters have R-hat values below 1.05 and thus the chains have mixed well.
post_summ(spat2009_mcmc, c("alpha","beta","tau"),Rhat=TRUE,neff = TRUE)
## alpha0 alpha1 alpha2 beta0 beta1
## mean -3.240145e-01 4.637381e-01 -6.623078e-02 0.7355214 -4.3062556
## sd 3.025338e-02 3.593240e-02 3.093313e-02 0.2894247 0.5013659
## 50% -3.240704e-01 4.636315e-01 -6.600558e-02 0.7279748 -4.2838428
## 2.5% -3.834952e-01 3.938882e-01 -1.274427e-01 0.1918105 -5.3451016
## 97.5% -2.650083e-01 5.345026e-01 -6.122056e-03 1.3271431 -3.3843553
## Rhat 1.000000e+00 1.000000e+00 1.000000e+00 1.0000000 1.0010000
## neff 7.654000e+04 7.540600e+04 8.602800e+04 5277.0000000 3950.0000000
## beta2 beta3 beta4 tau
## mean -1.3253856 -3.5396359 0.9635996 1.661052e-02
## sd 0.5221614 0.5229422 0.3440414 6.229827e-03
## 50% -1.3072442 -3.5254014 0.9531533 1.553410e-02
## 2.5% -2.3970815 -4.6050283 0.3187313 7.736400e-03
## 97.5% -0.3480417 -2.5562421 1.6625764 3.180547e-02
## Rhat 1.0000000 1.0000000 1.0000000 1.001000e+00
## neff 6540.0000000 7917.0000000 6770.0000000 4.008000e+03
All trace plots are indicative of convergence.
names<-c("alpha[0]","alpha[1]","alpha[2]","beta[0]","beta[1]","beta[2]","beta[3]","beta[4]","tau")
varnames(spat2009_mcmc)<-names
traplot(spat2009_mcmc,"alpha",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2009_mcmc,"beta",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2009_mcmc,"tau",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
It is evident that only a few Z-scores for each parameter are larger than the absolute value of 1.96 and as such, there is evidence for convergence.
# geweke z-scores
# geweke.diag(occ2009)
# geweke diagnostic plot
geweke.plot(spat2009_mcmc)
All parameters have R-hat values below 1.05 and thus the chains have mixed well.
post_summ(spat2010_mcmc, c("alpha","beta","tau"),Rhat=TRUE,neff = TRUE)
## alpha0 alpha1 alpha2 beta0 beta1
## mean -2.697472e-01 4.149317e-01 -6.550085e-02 0.3529805 -3.0342663
## sd 3.113102e-02 3.726412e-02 3.440541e-02 0.2430207 0.3490704
## 50% -2.697138e-01 4.148343e-01 -6.545899e-02 0.3456003 -3.0210906
## 2.5% -3.308455e-01 3.422918e-01 -1.333156e-01 -0.1028007 -3.7540230
## 97.5% -2.088314e-01 4.883771e-01 1.861322e-03 0.8536860 -2.3883861
## Rhat 1.000000e+00 1.000000e+00 1.000000e+00 1.0000000 1.0000000
## neff 7.700800e+04 7.428100e+04 8.969000e+04 6327.0000000 6386.0000000
## beta2 beta3 beta4 tau
## mean -1.1246240 -2.8739614 0.8097136 2.471242e-02
## sd 0.4542341 0.4245038 0.2931053 1.039829e-02
## 50% -1.1123303 -2.8642684 0.8029546 2.277195e-02
## 2.5% -2.0577909 -3.7384114 0.2568668 1.043832e-02
## 97.5% -0.2732805 -2.0710501 1.4070889 5.010682e-02
## Rhat 1.0000000 1.0000000 1.0000000 1.001000e+00
## neff 8720.0000000 10262.0000000 9513.0000000 4.069000e+03
All trace plots are indicative of convergence.
names<-c("alpha[0]","alpha[1]","alpha[2]","beta[0]","beta[1]","beta[2]","beta[3]","beta[4]","tau")
varnames(spat2010_mcmc)<-names
traplot(spat2010_mcmc,"alpha",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2010_mcmc,"beta",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2010_mcmc,"tau",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
It is evident that only a few Z-scores for each parameter are larger than the absolute value of 1.96 and as such, there is evidence for convergence.
# geweke z-scores
# geweke.diag(occ2010)
# geweke diagnostic plot
geweke.plot(spat2010_mcmc)
All parameters have R-hat values below 1.05 and thus the chains have mixed well.
post_summ(spat2011_mcmc, c("alpha","beta","tau"),Rhat=TRUE,neff = TRUE)
## alpha0 alpha1 alpha2 beta0 beta1
## mean -5.115426e-01 3.947137e-01 1.017839e-02 0.6259115 -3.8759380
## sd 3.259716e-02 3.719042e-02 3.354548e-02 0.2734991 0.4867279
## 50% -5.115456e-01 3.946416e-01 1.032181e-02 0.6148171 -3.8533482
## 2.5% -5.757525e-01 3.221207e-01 -5.622133e-02 0.1187449 -4.8835052
## 97.5% -4.480944e-01 4.679606e-01 7.559858e-02 1.1936137 -2.9901410
## Rhat 1.000000e+00 1.000000e+00 1.000000e+00 1.0010000 1.0010000
## neff 5.008300e+04 5.014900e+04 7.027200e+04 5194.0000000 3460.0000000
## beta2 beta3 beta4 tau
## mean -1.5047296 -2.8245638 0.55027834 1.332709e-02
## sd 0.5562617 0.5387546 0.30566888 5.242902e-03
## 50% -1.4833739 -2.8065266 0.54639967 1.239481e-02
## 2.5% -2.6573679 -3.9321077 -0.04239367 5.905413e-03
## 97.5% -0.4768706 -1.8247387 1.16050982 2.607055e-02
## Rhat 1.0000000 1.0010000 1.00000000 1.001000e+00
## neff 5358.0000000 5939.0000000 7085.00000000 3.195000e+03
All trace plots are indicative of convergence.
names<-c("alpha[0]","alpha[1]","alpha[2]","beta[0]","beta[1]","beta[2]","beta[3]","beta[4]","tau")
varnames(spat2011_mcmc)<-names
traplot(spat2011_mcmc,"alpha",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2011_mcmc,"beta",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2011_mcmc,"tau",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
It is evident that only a few Z-scores for each parameter are larger than the absolute value of 1.96 and as such, there is evidence for convergence.
# geweke z-scores
# geweke.diag(occ2011)
# geweke diagnostic plot
geweke.plot(spat2011_mcmc)
All parameters have R-hat values below 1.05 and thus the chains have mixed well.
post_summ(spat2012_mcmc, c("alpha","beta","tau"),Rhat=TRUE,neff = TRUE)
## alpha0 alpha1 alpha2 beta0 beta1
## mean -4.529358e-01 3.613814e-01 -1.427828e-01 0.3235362 -4.3019369
## sd 3.315932e-02 3.837352e-02 3.524531e-02 0.2477249 0.5023942
## 50% -4.528027e-01 3.613172e-01 -1.424129e-01 0.3171327 -4.2796997
## 2.5% -5.175211e-01 2.862645e-01 -2.128392e-01 -0.1455169 -5.3480831
## 97.5% -3.884512e-01 4.365270e-01 -7.436165e-02 0.8261779 -3.3845394
## Rhat 1.000000e+00 1.000000e+00 1.000000e+00 1.0000000 1.0000000
## neff 7.155300e+04 6.532000e+04 7.046700e+04 6941.0000000 3991.0000000
## beta2 beta3 beta4 tau
## mean -1.1957101 -2.5885486 1.1076990 1.872758e-02
## sd 0.4566911 0.4894602 0.3027597 8.473163e-03
## 50% -1.1751568 -2.5758930 1.0943629 1.706109e-02
## 2.5% -2.1487102 -3.5786168 0.5537249 7.585679e-03
## 97.5% -0.3626883 -1.6656963 1.7368762 3.972106e-02
## Rhat 1.0000000 1.0000000 1.0000000 1.001000e+00
## neff 7017.0000000 7902.0000000 4659.0000000 2.719000e+03
All trace plots are indicative of convergence.
names<-c("alpha[0]","alpha[1]","alpha[2]","beta[0]","beta[1]","beta[2]","beta[3]","beta[4]","tau")
varnames(spat2012_mcmc)<-names
traplot(spat2012_mcmc,"alpha",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2012_mcmc,"beta",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2012_mcmc,"tau",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
It is evident that only a few Z-scores for each parameter are larger than the absolute value of 1.96 and as such, there is evidence for convergence.
# geweke z-scores
# geweke.diag(occ2012)
# geweke diagnostic plot
geweke.plot(spat2012_mcmc)
All parameters have R-hat values below 1.05 and thus the chains have mixed well.
post_summ(spat2013_mcmc, c("alpha","beta","tau"),Rhat=TRUE,neff = TRUE)
## alpha0 alpha1 alpha2 beta0 beta1
## mean -2.880320e-01 3.516381e-01 3.099119e-02 0.06780459 -3.7645378
## sd 3.572129e-02 4.067839e-02 3.606005e-02 0.23366313 0.4793439
## 50% -2.878515e-01 3.515213e-01 3.115950e-02 0.06426269 -3.7370949
## 2.5% -3.583738e-01 2.721086e-01 -3.991157e-02 -0.38308766 -4.7856828
## 97.5% -2.184848e-01 4.315953e-01 1.015976e-01 0.53776306 -2.9001360
## Rhat 1.000000e+00 1.000000e+00 1.000000e+00 1.00000000 1.0010000
## neff 5.702700e+04 7.585900e+04 8.889300e+04 7970.00000000 3213.0000000
## beta2 beta3 beta4 tau
## mean -1.3069987 -2.2413453 1.0384261 2.137149e-02
## sd 0.4068388 0.4263195 0.2946821 9.035961e-03
## 50% -1.2893432 -2.2296287 1.0244946 1.966941e-02
## 2.5% -2.1544098 -3.1104983 0.5006407 8.864063e-03
## 97.5% -0.5595999 -1.4352679 1.6559678 4.372764e-02
## Rhat 1.0000000 1.0000000 1.0010000 1.000000e+00
## neff 6639.0000000 8446.0000000 5438.0000000 3.588000e+03
All trace plots are indicative of convergence.
names<-c("alpha[0]","alpha[1]","alpha[2]","beta[0]","beta[1]","beta[2]","beta[3]","beta[4]","tau")
varnames(spat2013_mcmc)<-names
traplot(spat2013_mcmc,"alpha",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2013_mcmc,"beta",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2013_mcmc,"tau",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
It is evident that only a few Z-scores for each parameter are larger than the absolute value of 1.96 and as such, there is evidence for convergence.
# geweke z-scores
# geweke.diag(occ2013)
# geweke diagnostic plot
geweke.plot(spat2013_mcmc)
All parameters have R-hat values below 1.05 and thus the chains have mixed well.
post_summ(spat2014_mcmc, c("alpha","beta","tau"),Rhat=TRUE,neff = TRUE)
## alpha0 alpha1 alpha2 beta0 beta1
## mean -3.544902e-01 4.853430e-01 -1.792666e-02 -0.1214181 -3.505455
## sd 3.419473e-02 4.185505e-02 3.837588e-02 0.2169342 0.363806
## 50% -3.543789e-01 4.851748e-01 -1.775988e-02 -0.1227713 -3.489988
## 2.5% -4.219550e-01 4.036240e-01 -9.390238e-02 -0.5448233 -4.258745
## 97.5% -2.876428e-01 5.679133e-01 5.665106e-02 0.3085152 -2.839877
## Rhat 1.000000e+00 1.000000e+00 1.000000e+00 1.0000000 1.000000
## neff 7.458900e+04 7.088100e+04 8.323900e+04 8776.0000000 6082.000000
## beta2 beta3 beta4 tau
## mean -1.0548817 -2.6398276 5.312559e-01 2.112099e-02
## sd 0.3528725 0.4350792 2.487837e-01 8.495508e-03
## 50% -1.0458906 -2.6275529 5.279203e-01 1.953588e-02
## 2.5% -1.7771563 -3.5221232 5.354584e-02 9.388922e-03
## 97.5% -0.3882572 -1.8208888 1.029274e+00 4.207994e-02
## Rhat 1.0000000 1.0000000 1.000000e+00 1.000000e+00
## neff 9728.0000000 9731.0000000 1.092700e+04 3.888000e+03
All trace plots are indicative of convergence.
names<-c("alpha[0]","alpha[1]","alpha[2]","beta[0]","beta[1]","beta[2]","beta[3]","beta[4]","tau")
varnames(spat2014_mcmc)<-names
traplot(spat2014_mcmc,"alpha",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2014_mcmc,"beta",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2014_mcmc,"tau",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
It is evident that only a few Z-scores for each parameter are larger than the absolute value of 1.96 and as such, there is evidence for convergence.
# geweke z-scores
# geweke.diag(occ2014)
# geweke diagnostic plot
geweke.plot(spat2014_mcmc)
All parameters have R-hat values below 1.05 and thus the chains have mixed well.
post_summ(spat2015_mcmc, c("alpha","beta","tau"),Rhat=TRUE,neff = TRUE)
## alpha0 alpha1 alpha2 beta0 beta1
## mean -5.449302e-01 5.219243e-01 4.950079e-02 -0.2466172 -4.6542141
## sd 2.933774e-02 3.576816e-02 3.264866e-02 0.2427111 0.5135504
## 50% -5.449103e-01 5.218913e-01 4.959148e-02 -0.2459597 -4.6277604
## 2.5% -6.029884e-01 4.521834e-01 -1.450314e-02 -0.7273131 -5.7333002
## 97.5% -4.876385e-01 5.920273e-01 1.135494e-01 0.2278210 -3.7243347
## Rhat 1.000000e+00 1.000000e+00 1.000000e+00 1.0000000 1.0000000
## neff 6.225100e+04 6.031500e+04 7.946700e+04 6356.0000000 3286.0000000
## beta2 beta3 beta4 tau
## mean -0.86632099 -2.7304118 1.1801569 2.597163e-02
## sd 0.41775872 0.4661905 0.2495907 1.410792e-02
## 50% -0.85483705 -2.7171698 1.1707300 2.292749e-02
## 2.5% -1.72169253 -3.6734282 0.7166818 1.000382e-02
## 97.5% -0.08041326 -1.8531008 1.6962878 5.965492e-02
## Rhat 1.00000000 1.0010000 1.0000000 1.002000e+00
## neff 9342.00000000 7315.0000000 6447.0000000 2.698000e+03
All trace plots are indicative of convergence.
names<-c("alpha[0]","alpha[1]","alpha[2]","beta[0]","beta[1]","beta[2]","beta[3]","beta[4]","tau")
varnames(spat2015_mcmc)<-names
traplot(spat2015_mcmc,"alpha",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2015_mcmc,"beta",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2015_mcmc,"tau",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
It is evident that only a few Z-scores for each parameter are larger than the absolute value of 1.96 and as such, there is evidence for convergence.
# geweke z-scores
# geweke.diag(occ2015)
# geweke diagnostic plot
geweke.plot(spat2015_mcmc)
All parameters have R-hat values below 1.05 and thus the chains have mixed well.
post_summ(spat2016_mcmc, c("alpha","beta","tau"),Rhat=TRUE,neff = TRUE)
## alpha0 alpha1 alpha2 beta0 beta1
## mean -5.137297e-01 3.973741e-01 1.014621e-01 -0.1920369 -4.2337187
## sd 2.605235e-02 3.074598e-02 2.763708e-02 0.2468447 0.5304146
## 50% -5.136841e-01 3.973588e-01 1.014898e-01 -0.1919950 -4.2164000
## 2.5% -5.649841e-01 3.369920e-01 4.737004e-02 -0.6787896 -5.3253628
## 97.5% -4.623566e-01 4.579276e-01 1.556955e-01 0.2924882 -3.2458760
## Rhat 1.000000e+00 1.000000e+00 1.000000e+00 1.0010000 1.0000000
## neff 5.586400e+04 6.802700e+04 8.765700e+04 5679.0000000 2566.0000000
## beta2 beta3 beta4 tau
## mean -0.8329716 -2.936810 0.9578128 1.365339e-02
## sd 0.3745536 0.474754 0.3214812 5.203767e-03
## 50% -0.8197351 -2.924222 0.9468532 1.272538e-02
## 2.5% -1.6059061 -3.912251 0.3591828 6.352925e-03
## 97.5% -0.1340858 -2.040824 1.6132369 2.619757e-02
## Rhat 1.0000000 1.000000 1.0010000 1.001000e+00
## neff 6387.0000000 5663.000000 4519.0000000 3.212000e+03
All trace plots are indicative of convergence.
names<-c("alpha[0]","alpha[1]","alpha[2]","beta[0]","beta[1]","beta[2]","beta[3]","beta[4]","tau")
varnames(spat2016_mcmc)<-names
traplot(spat2016_mcmc,"alpha",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2016_mcmc,"beta",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2016_mcmc,"tau",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
It is evident that only a few Z-scores for each parameter are larger than the absolute value of 1.96 and as such, there is evidence for convergence.
# geweke z-scores
# geweke.diag(occ2016)
# geweke diagnostic plot
geweke.plot(spat2016_mcmc)
All parameters have R-hat values below 1.05 and thus the chains have mixed well.
post_summ(spat2017_mcmc, c("alpha","beta","tau"),Rhat=TRUE,neff = TRUE)
## alpha0 alpha1 alpha2 beta0 beta1
## mean -7.816209e-01 2.101334e-01 1.125410e-01 0.3135378 -3.9410632
## sd 2.535378e-02 3.159980e-02 3.030092e-02 0.2479279 0.4444266
## 50% -7.815741e-01 2.101739e-01 1.126008e-01 0.3055055 -3.9274890
## 2.5% -8.315687e-01 1.483361e-01 5.319746e-02 -0.1551698 -4.8387942
## 97.5% -7.319338e-01 2.720919e-01 1.717218e-01 0.8165730 -3.1026126
## Rhat 1.000000e+00 1.000000e+00 1.000000e+00 1.0000000 1.0010000
## neff 6.336400e+04 4.900400e+04 7.364900e+04 5461.0000000 3153.0000000
## beta2 beta3 beta4 tau
## mean -1.3314129 -2.7949886 1.1879937 1.806395e-02
## sd 0.4008919 0.5120651 0.2981219 6.803083e-03
## 50% -1.3170763 -2.7886921 1.1767081 1.688849e-02
## 2.5% -2.1598766 -3.8191399 0.6346398 8.373954e-03
## 97.5% -0.5877511 -1.8085823 1.8103914 3.453322e-02
## Rhat 1.0010000 1.0010000 1.0010000 1.000000e+00
## neff 6466.0000000 6201.0000000 6320.0000000 3.498000e+03
All trace plots are indicative of convergence.
names<-c("alpha[0]","alpha[1]","alpha[2]","beta[0]","beta[1]","beta[2]","beta[3]","beta[4]","tau")
varnames(spat2017_mcmc)<-names
traplot(spat2017_mcmc,"alpha",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2017_mcmc,"beta",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2017_mcmc,"tau",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
It is evident that only a few Z-scores for each parameter are larger than the absolute value of 1.96 and as such, there is evidence for convergence.
# geweke z-scores
# geweke.diag(occ2017)
# geweke diagnostic plot
geweke.plot(spat2017_mcmc)
All parameters have R-hat values below 1.05 and thus the chains have mixed well.
post_summ(spat2018_mcmc, c("alpha","beta","tau"),Rhat=TRUE,neff = TRUE)
## alpha0 alpha1 alpha2 beta0 beta1
## mean -8.435900e-01 4.267414e-02 1.503119e-01 -0.01982776 -3.0366039
## sd 2.532053e-02 3.183177e-02 3.107529e-02 0.20476354 0.3354727
## 50% -8.435150e-01 4.262304e-02 1.503895e-01 -0.02156223 -3.0134672
## 2.5% -8.933605e-01 -1.950290e-02 8.924486e-02 -0.41383067 -3.7701139
## 97.5% -7.936876e-01 1.054699e-01 2.112423e-01 0.38999423 -2.4461014
## Rhat 1.000000e+00 1.000000e+00 1.000000e+00 1.00100000 1.0020000
## neff 4.581000e+04 3.338100e+04 4.441500e+04 7854.00000000 4481.0000000
## beta2 beta3 beta4 tau
## mean -0.1555503 -2.4584808 8.265343e-01 1.712779e-02
## sd 0.3857365 0.4467143 2.206106e-01 6.156839e-03
## 50% -0.1489599 -2.4490749 8.206102e-01 1.608030e-02
## 2.5% -0.9331055 -3.3660691 4.087327e-01 8.319794e-03
## 97.5% 0.5831979 -1.6109385 1.275477e+00 3.196519e-02
## Rhat 1.0000000 1.0010000 1.000000e+00 1.000000e+00
## neff 13597.0000000 10010.0000000 1.095900e+04 4.321000e+03
All trace plots are indicative of convergence.
names<-c("alpha[0]","alpha[1]","alpha[2]","beta[0]","beta[1]","beta[2]","beta[3]","beta[4]","tau")
varnames(spat2018_mcmc)<-names
traplot(spat2018_mcmc,"alpha",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2018_mcmc,"beta",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2018_mcmc,"tau",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
It is evident that only a few Z-scores for each parameter are larger than the absolute value of 1.96 and as such, there is evidence for convergence.
# geweke z-scores
# geweke.diag(occ2018)
# geweke diagnostic plot
geweke.plot(spat2018_mcmc)
All parameters have R-hat values below 1.05 and thus the chains have mixed well.
post_summ(spat2019_mcmc, c("alpha","beta","tau"),Rhat=TRUE,neff = TRUE)
## alpha0 alpha1 alpha2 beta0 beta1
## mean -6.901123e-01 1.166232e-01 8.340946e-02 -0.1485436 -3.540421
## sd 2.574681e-02 3.347260e-02 3.185985e-02 0.2229607 0.410955
## 50% -6.900961e-01 1.165479e-01 8.335690e-02 -0.1502330 -3.515038
## 2.5% -7.407811e-01 5.121735e-02 2.112964e-02 -0.5839889 -4.425369
## 97.5% -6.395300e-01 1.821506e-01 1.458187e-01 0.2955889 -2.806689
## Rhat 1.000000e+00 1.000000e+00 1.000000e+00 1.0000000 1.000000
## neff 6.065700e+04 5.237700e+04 6.749000e+04 7694.0000000 4728.000000
## beta2 beta3 beta4 tau
## mean -0.9788179 -2.4747363 1.6088955 1.696253e-02
## sd 0.4647674 0.4738498 0.3117966 5.895056e-03
## 50% -0.9639137 -2.4633701 1.5951942 1.605559e-02
## 2.5% -1.9239973 -3.4343261 1.0363981 8.173084e-03
## 97.5% -0.1096624 -1.5746646 2.2599055 3.106630e-02
## Rhat 1.0000000 1.0000000 1.0000000 1.001000e+00
## neff 8251.0000000 9745.0000000 5587.0000000 4.668000e+03
All trace plots are indicative of convergence.
names<-c("alpha[0]","alpha[1]","alpha[2]","beta[0]","beta[1]","beta[2]","beta[3]","beta[4]","tau")
varnames(spat2019_mcmc)<-names
traplot(spat2019_mcmc,"alpha",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2019_mcmc,"beta",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
traplot(spat2019_mcmc,"tau",style="plain",col=c("deepskyblue2","firebrick1","goldenrod1"),greek=T,cex.main=1.5)
It is evident that only a few Z-scores for each parameter are larger than the absolute value of 1.96 and as such, there is evidence for convergence.
# geweke z-scores
# geweke.diag(occ2019)
# geweke diagnostic plot
geweke.plot(spat2019_mcmc)