Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia...

41
Gibbs Sampling via jags Edps 590BAY Carolyn J. Anderson Department of Educational Psychology c Board of Trustees, University of Illinois Fall 2019

Transcript of Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia...

Page 1: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Gibbs Sampling via jagsEdps 590BAY

Carolyn J. Anderson

Department of Educational Psychology

c©Board of Trustees, University of Illinois

Fall 2019

Page 2: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

Overview

◮ Gibbs sampling for univariate Normal

◮ Gibbs sampling for more complex problems

◮ jags

◮ runjags

◮ Practice

Depending on the book that you select for this course, read eitherGelman et al. pp xx or Kruschke pp 143–221. I am relying onKrucshke and jags documentation for material on jags, and somefrom Hoff. Also I used the coda, jags, rjags, and runjags manuals.

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 2.1/ 41

Page 3: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

Why Gibbs?

The advantages of the metropolis algorithm:

◮ Works well on small problems (few numbers of parameters).

◮ Very general and can be applied to a wide range of problems.

◮ Can be incorporated within other MCMC samplers.

The disadvantages:

◮ Must have symmetric jump (transition) distribution.

◮ Does not handle larger number of parameters.

◮ Complex models are difficult.

◮ Needs to be “tuned”.

◮ Inefficient (i.e., reject some sampled values).

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 3.1/ 41

Page 4: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

Gibbs sampling

Gibbs works by sampling one parameter at a time from theposterior distribution conditional on other parameters and data.

For example, suppose y ∼ N(µ, σ) and the posterior is p(µ, σ|y).

1. Sample θ(t+1) (a value of the mean on the (t +1)th iteration)from p(µ|σ(t), y)

2. Sample σ2(t+1) (a value of the variance on the (t + 1)th

iteration) from p(σ2|µ(t+1), y)

Each time you run steps 1 & 2, you get new values of {θ, σ2} andthe repeating these steps many, many times yields anapproximation of the posterior distribution, p(θ, σ|y).

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 4.1/ 41

Page 5: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

A Picture of How It Works: µ and σ2

Data: y1 = −1, y2 = 2, y3 = 3, y4 = 6, y5 = 10

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 5.1/ 41

Page 6: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

Another View

0e+00

2e−07

4e−07

6e−07

8e−07

1e−06

−2 0 2 4 6 8

0

10

20

30

40

50

60

Contour plot of likelihood ratio surface

Possible Values of Mu

Pos

sibl

e V

alue

of S

igm

a2

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 6.1/ 41

Page 7: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

Univariate Normal: µ and σ2

s2 = 1n−1

i(Yi − Y )2 = 17.5, σ2 = 1n

i(Yi − Y )2 = 14.0.C.J. Anderson (Illinois) Gibbs via jags Fall 2019 7.1/ 41

Page 8: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

Details for Univariate NormalSuppose the we known µ (or have an estimate of it). The (full)conditional distribution of σ2 (remember σ2 = 1/σ2, the precision)is by Bayes Theorem

p(σ2|µ, y1, . . . , yn) ∝ p(y1, . . . , yn|µ, σ2)p(µ, σ2)

= p(y1, . . . , yn|µ, σ2)p(µ|σ2)p(σ2)

= p(y1, . . . , yn|µ, σ2)p(µ)p(σ2)

For the last step, recall that for a normal distribution (in this casea normal prior), µ and σ2 are independent so things simplify;namely p(µ|σ2) = p(θ|σ2) = p(µ).

Skipping algebra, p(σ2|µ, y1, . . . , yn) is gamma; that is,

σ2|µ, y1, . . . , yn ∼ Gamma(νn/2, νnσ2n(θ)/2)

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 8.1/ 41

Page 9: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

Details for Univariate Normal (continued)

σ2|µ, y1, . . . , yn ∼ Gamma(νn/2, νnσ2n(θ)/2)

where

νn = ν0 + n

σ2n(θ) =

1

νn

[

ν0σ20 + ns2n(θ)

]

s2n =1

n

n∑

i=1

(yi − θ)2

Note: ns2n =

n∑

i=1

(yi−y + y − θ)2

=

n∑

i=1

(

(yi − y)2 + 2(yi − y)(y − θ) + (y − θ)2)

= (n − 1)s2 + n(y − θ)2

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 9.1/ 41

Page 10: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

And full conditional for θ

µ|σ2, y1, . . . , yn ∼ N(µn, τ2n )

µ =µ0/τ

20 + ny/σ2

1/τ20 + n/σ2

τ2n =

(

1

τ20+

n

σ2

)

−1

=1

(

1τ20+ n

σ2

)

We derived these results back in the lecture on “Inference fornormal mean and variance”.

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 10.1/ 41

Page 11: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

Little R function call “gibbs”Create some data:mu ← 4

sigma ← 2

n ← 50

y ← rnorm(n,mu,sigma)

We also need sample statistics:ybar ← mean(y)

s2 ← var(y)

And priors and other things:mu0 ← 0 t02 ← 100

s02 ← 1 nu0 ← 1

seed ← 2374 S ← 1000

To run it: sim1 ← gibbs(S,y,mu0,t02,s02,nu0,seed)

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 11.1/ 41

Page 12: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

Trace Plots

0 200 400 600 800 1000

3.6

3.8

4.0

4.2

4.4

4.6

Marginal Trace, Little Gibbs Function

Iterations

0 200 400 600 800 1000

0.20

0.25

0.30

0.35

0.40

Marginal Trace, Little Gibbs Function

Iterations

3.6 3.8 4.0 4.2 4.4 4.6

0.20

0.25

0.30

0.35

0.40

First 10 iterations: precision x theta

θ

σ~2 1

2

34

5

6

78

9

10

3.6 3.8 4.0 4.2 4.4 4.6

0.20

0.25

0.30

0.35

0.40

All iterations: precision x theta

θ

σ~2

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 12.1/ 41

Page 13: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

Trace Plots with σ2

3.6 3.8 4.0 4.2 4.4 4.6

2.5

3.5

4.5

5.5

First 10 iterations: sigma2 x theta

θ

σ2

1

2

34

5

6

78

9

10

3.6 3.8 4.0 4.2 4.4 4.6

2.5

3.5

4.5

5.5

First 10 iterations: sigma2 x theta

θσ2

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 13.1/ 41

Page 14: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

Description of Posterior

Statistics are based on last 50% of iterations.

Estimated Parameters of the Posterior Distribution

θ τ2 σ2√σ2

4.0640 0.1964 3.5490 1.8839

95% High Density intervals:Parameter Lower Upper

θ 3.6557 4.41271/σ2 0.2111 0.3677σ2 2.7193 4.736

What else should we have done?

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 14.1/ 41

Page 15: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

More parameters

It is just the same, but more steps.

Suppose that the parameters that we need to estimate are{θ1, θ2, . . . , θp}. We use the full contionalsand sample from eachone

p(θi |θ1, . . . , θi−1, θi+1, . . . , θp , y1, . . . , yn)

1. Sample θ(t+1)1 from p(θ1|θ(t)2 , θ

(t)3 , . . . , θ

(t)p , y1, . . . , yn)

2. Sample θ(t+1)2 from p(θ2|θ(t+1)

1 , θ(t)3 , . . . , θ

(t)p , y1, . . . , yn)

3....

4. Sample θ(t+1)p from p(θp|θ(t+1)

1 , θ(t+1)2 , . . . , θ

(t+1)p−1 , y1, . . . , yn)

Then repeat many, many times

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 15.1/ 41

Page 16: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

Advantage and Disadvantages of Gibbs

◮ No tuning needed

◮ More efficient (don’t reject any sample values)

◮ Can be incorporated into more general MCMC sampler (e.g.,Metropolis-Hastings)

But

◮ Must be able to derive full conditionals for each parameter.

◮ Must be able to sample from these full conditionals.

◮ It can get “stuck” or be very slow when parameters are highlycorrelated (e.g., intercept and slope in regression)

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 16.1/ 41

Page 17: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

High Correlation ProblemBelow is the density of a bivariate normal with r ∼ .98.

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 17.1/ 41

Page 18: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

jags: Implementing Gibbs

We could write functions or R code to implement Gibbs (as donein the function gibbs), but there is an easier way where we onlyneed to input

◮ Data: dataList

◮ Model: Specify the likelihood and prior

◮ Starting values: initsList

We will discuss all steps in the context of anorexia data forunknown mean and variance

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 18.1/ 41

Page 19: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

Packages in Rl

There are (at least) 4 ways to implement jags in R:

◮ rjags

◮ runjags

◮ jagsUI

◮ R2jags

We will discuss the first three, but we won’t cover all the optionsat this time.

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 19.1/ 41

Page 20: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

Steps in Running a Model

1. Set up data

2. Define the model

3. Initialization

4. Adaptation and burn-in

5. Monitoring

6. Assess convergence

7. Model evaluation/criticism

8. Summarize results (posterior distribution)

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 20.1/ 41

Page 21: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

Set-up Anorexia Data for jags

dataList ← list(y=ano$change,Ntotal=length(ano$change),meanY = mean(ano$change),sdY = sd(ano$change))

◮ “list” object.

◮ y is the outcome,response variable (our data)

◮ meanY and sdY are used in the model.

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 21.1/ 41

Page 22: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

Model for Anorexia DataModel1 = “model {

for (i in 1:Ntotal){y[i] ∼ dnorm( mu, precision)}

mu ∼ dnorm( meanY , 1/(100*sdY2) )precision ← 1/sigma2sigma ∼ dunif( sdY/1000, sdY*1000 )}”

writeLines(Model1, con=‘‘Model1.txt’’)

◮ A character object◮ dnorm takes as parameters the mean and precision.◮ “ precision” is precision = 1/var(y).◮ “sigma” = sd(y) ∼ uniform(.00798,7983.598).

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 22.1/ 41

Page 23: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

Starting Values

thetaInit = mean(ano$change)sigmaInit = sd(ano$change)

initsList = list(mu=thetaInit, sigma=sigmaInit )For us:> initsList

$mu

2.763889

$sigma

7.983598

To run rjags, this is a bit different than my little “gibbs” function.

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 23.1/ 41

Page 24: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

Compile and Initialize the Model

jagsModel1 ← jags.model(file=“Model1.txt”,data=dataList,inits=initsList,n.chains=4,n.adapt=500)

◮ jags.model compiles and initializes the model.

◮ I requested 4 chains.

◮ n.adapt indicates to use adaption during the burn-in or“warm-up” phase; that is, the program self regulates itself tooptimize this step.

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 24.1/ 41

Page 25: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

Getting Samples and Summary

# Gets the samples

update (jagsModel1, n.iter=500)

# Contains samples from all chains with 500

# iterations

Samples ← coda.samples(jagsModel1,

variable.names=c("mu","prescision","sigma"),

n.iter=4000)

# output summary information

summary(Samples)

plot(Samples)

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 25.1/ 41

Page 26: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

rjags: Trace and Densityplot(Samples)

1000 2000 3000 4000 5000

02

46

Iterations

Trace of mu

−2 0 2 4 6

0.0

0.1

0.2

0.3

0.4

Density of mu

N = 4000 Bandwidth = 0.1465

1000 2000 3000 4000 5000

67

89

11

Iterations

Trace of sigma

6 7 8 9 10 11 12

0.0

0.2

0.4

0.6

Density of sigma

N = 4000 Bandwidth = 0.1067

1000 2000 3000 4000 5000

0.01

00.

020

0.03

0

Trace of tau

0.010 0.015 0.020 0.025 0.030

050

100

150

Density of tau

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 26.1/ 41

Page 27: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

rjags: Auto-Correlation

0 5 10 15 20 25 30

−1.

0−

0.5

0.0

0.5

1.0

Lag

Aut

ocor

rela

tion

tau

0 5 10 15 20 25 30

−1.

0−

0.5

0.0

0.5

1.0

Lag

Aut

ocor

rela

tion

mu

0 5 10 15 20 25 30

−1.

0−

0.5

0.0

0.5

1.0

Lag

Aut

ocor

rela

tion

sigma

0 5 10 15 20 25 30

−1.

0−

0.5

0.0

0.5

1.0

Lag

Aut

ocor

rela

tion

tau

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 27.1/ 41

Page 28: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

rjags: Gelman

1000 2000 3000 4000 5000

1.00

01.

010

1.02

01.

030

last iteration in chain

shrin

k fa

ctor

median97.5%

mu

1000 2000 3000 4000 5000

1.00

01.

010

1.02

01.

030

last iteration in chain

shrin

k fa

ctor

median97.5%

sigma

1000 2000 3000 4000 5000

1.00

01.

010

1.02

0

last iteration in chain

shrin

k fa

ctor

median97.5%

tau

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 28.1/ 41

Page 29: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

rjags: Cumulative

1000 2000 3000 4000 5000

0.01

40.

016

0.01

8

Iterations

tau

1000 2000 3000 4000 5000

1.0

1.5

2.0

2.5

3.0

3.5

Iterations

mu

1000 2000 3000 4000 5000

7.5

8.0

8.5

9.0

Iterations

sigma

1000 2000 3000 4000 5000

0.01

30.

015

0.01

70.

019

Iterations

tau

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 29.1/ 41

Page 30: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

rjags: Summary Output

summary(Samples)

Iterations = 1001:5000Thinning interval = 1Number of chains = 4Sample size per chain = 4000

1. Empirical mean and standard deviation for each variable,plus standard error of the mean:

Mean SD Naive SE Time-series SEmu 2.77500 0.958299 7.576e-03 7.593e-03sigma 8.12742 0.705722 5.579e-03 7.382e-03precison 0.01548 0.002647 2.093e-05 2.695e-05

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 30.1/ 41

Page 31: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

rjags: Summary Output (continued)

summary(Samples)

2. Quantiles for each variable:

2.5% 25% 50% 75% 97.5%mu 0.88552 2.12940 2.78288 3.42015 4.64054sigma 6.88867 7.63380 8.07369 8.56890 9.63633precison 0.01077 0.01362 0.01534 0.01716 0.02107

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 31.1/ 41

Page 32: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

runjags

Use the dataList and Model already defined using rjags, but nowneed multiple starting values, one set per chain.

library(runjags)# Need initial values for each of the 4 chains:inits1← list(”mu”=mean(ano$change), ”sigma”=sd(ano$change),

.RNG.name=”base::Super-Duper”, .RNG.seed=1)inits2 ← list(”mu”=rnorm(1,2,4), ”sigma”=1 ,

.RNG.name=”base::Wichmann-Hill”, .RNG.seed=2)inits3 ← list(”mu”=rnorm(1,4,1), ”sigma”=8 ,

.RNG.name=”base::Wichmann-Hill”, .RNG.seed=3)inits4 ← list(”mu”=rnorm(1,-4,2),”sigma”=.5,

.RNG.name=”base::Wichmann-Hill”, .RNG.seed=4)

initsList← list(inits1,inits2,inits3,inits4)

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 32.1/ 41

Page 33: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

runjags

out.runjags ← run.jags(model=Model1,

monitor=c("mu","sigma","precision","dic"),

data=dataList, n.chains=4, inits=initsList)

print(out.runjags)

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 33.1/ 41

Page 34: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

runjags – outputJAGS model summary statistics from 40000 samples (chains = 4;adapt+burnin = 5000)

Lower95 Median Upper95 Mean SD Modemu 0.87629 2.7692 4.6342 2.7661 0.95965 –sigma 6.8328 8.085 9.5142 8.1331 0.6926 –

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 34.1/ 41

Page 35: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

runjags – output (continued)

MCerr MC%ofSD SSeff AC.10 psrf0.0047983 0.5 40000 -0.009977 1.00010.0045678 0.7 22991 0.00449 1.00010.000016421 0.6 24831 0.0052328 1.0001

Model fit assessmentDIC = 506.5595PED not available from the stored objectEstimated effective number of parameters: pD = 2.05347Total time taken: 5 seconds (my desktop)

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 35.1/ 41

Page 36: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

jagsUI Input

This part is the same as needed for run.jags,

# Needs initial values for each of the 4 chains:initsList = list(list(”mu”=mean(ano$change),”sigma”=sd(ano$change)),

list(”mu”=rnorm(1,2,4), ”sigma”=1 ),list(”mu”=rnorm(1,4,1), ”sigma”=8 ),list(”mu”=rnorm(1,-4,2),”sigma”=.5 )

)

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 36.1/ 41

Page 37: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

jagsUI Input (continued)

out.jagsUI ← jags(model.file=”Model1.txt”,data=dataList,inits=initsList,parameters.to.save=c(”mu”,”sigma”,”precision”),n.iter=2000,n.burnin=500,n.chains=4)

print(out.jagsUI)

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 37.1/ 41

Page 38: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

jagsUI Verbose Output

JAGS output for model ’Model1.txt’, generated by jagsUI.Estimates based on 4 chains of 2000 iterations,adaptation = 100 iterations (sufficient),burn-in = 500 iterations and thin rate = 1,yielding 6000 total samples from the joint posterior.MCMC ran for 0.013 minutes at time 2018-02-19 17:57:16.

mean sd 2.5% 50% 97.5%mu 2.787 0.959 0.888 2.773 4.678sigma 8.115 0.701 6.873 8.069 9.618precision 0.016 0.003 0.011 0.015 0.021deviance 504.541 2.078 502.520 503.921 509.892

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 38.1/ 41

Page 39: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

jagsUI Verbose Output

overlap0 f Rhat n.effmu FALSE 0.998 1.001 3759sigma FALSE 1.000 1.000 6000precision FALSE 1.000 1.000 6000deviance FALSE 1.000 1.001 2884

Successful convergence based on Rhat values (all < 1.1). Rhat isthe potential scale reduction factor (at convergence, Rhat=1).

For each parameter, n.eff is a crude measure of effective samplesize.

overlap0 checks if 0 falls in the parameter’s 95% credible interval.

f is the proportion of the posterior with the same sign as the mean;i.e., our confidence that the parameter is positive or negative.

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 39.1/ 41

Page 40: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

jagsUI Verbose Output

DIC info: (pD = var(deviance)/2)pD = 2.2 and DIC = 506.698DIC is an estimate of expected predictive error (lower is better).

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 40.1/ 41

Page 41: Edps 590BAY Carolyn J. Anderson - College of Education · Overivew Gibbs GeneralGibbs jags Anorexia NextSteps Overview Gibbs sampling for univariate Normal Gibbs sampling for more

Overivew Gibbs General Gibbs jags Anorexia Next Steps

Next Up

Mini-outline for rest of semester:

◮ Use gibbs to get mean and variance for SAT data.

◮ Expanding the “model” to linear regression and multipleregression.

◮ Evaluating the model itself.

◮ Hamiltonian sampling, Stan, and brms.

◮ Hierarchial linear regression (i.e., HLM)

◮ Logistic regression

◮ Student project presentations.

C.J. Anderson (Illinois) Gibbs via jags Fall 2019 41.1/ 41