Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e....

27
Finite mixture models Dr. Jarad Niemi STAT 615 - Iowa State University November 28, 2017 Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 1 / 27

Transcript of Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e....

Page 1: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixture models

Dr. Jarad Niemi

STAT 615 - Iowa State University

November 28, 2017

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 1 / 27

Page 2: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Multinomial distribution

Categorical distribution

Let Z ∼ Cat(H, p) represent a categorical distribution with

P (Z = h) = ph for h = 1, . . . ,H and∑Hh=1 ph = 1.

Example: discrete choice model

Suppose we have a set of H categories and we label these 1, . . . ,H.Independently, consumers choose one of the H categories with the same

probability. Then a reasonable model is Ziind∼ Cat(H, p).

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 2 / 27

Page 3: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Multinomial distribution

Multinomial distribution

If we count the number of times the consumer chose each category, i.e.

Yh =

n∑i=1

I(Zi = h),

then the result is the multinomial distribution, i.e. Y ∼Mult(n, p). Themultinomial distribution has probability mass function

p(y;n, p) =n!

y1! · · · yH !

H∏h=1

pyhh

which has

E[Yi] = npi,

V [Yi] = npi(1− pi), and

Cov[Yi, Yj ] = −npipj for (i 6= j).

A special case is H = 2 which is the binomial distribution.Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 3 / 27

Page 4: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Dirichlet distribution

Dirichlet distribution

The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet),i.e. P ∼ Dir(a), is a probability distribution for a probability vector oflength H. The probability density function for the Dirichlet distribution is

p(P ; a) =Γ(a1 + · · ·+ aH)

Γ(a1) · · ·Γ(aH)

H∏h=1

pah−1h

where ph ≥ 0,∑H

h=1 ph = 1, and ah > 0.

Letting a0 =∑H

h=1 ah, then some moments are

E[ph] = aha0

,

V [ph] = ah(a0−ah)a2

0(a0+1),

Cov(ph, pk) = − ahaka2

0(a0+1), and

mode(ph) = ah−1a0−H for ah > 1.

A special case is H = 2 which is the beta distribution.Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 4 / 27

Page 5: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Dirichlet distribution Conjugate prior for multinomial distribution

Conjugate prior for multinomial distribution

The Dirichlet distribution is the natural conjugate prior for the multinomialdistribution. If

Y ∼Mult(n, π) and π ∼ Dir(a)

thenπ|y ∼ Dir(a+ y).

Some possible default priors are

a = 1 which is the uniform density over π,

a = 1/2 is Jeffreys prior for the multinomial, and

a = 0, an improper prior that is uniform on log(πh). The resultingposterior is proper if yh > 0 for all h.

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 5 / 27

Page 6: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixtures

Complicated distributions

0

1000

2000

3000

0 4 8φ

coun

t

−2.5

0.0

2.5

5.0

7.5

10.0

−2 −1 0 1 2 3α

φ

−2.5

0.0

2.5

5.0

7.5

10.0

−1 0 1 2 3

δ

φ

−2.5

0.0

2.5

5.0

7.5

10.0

−1 0 1γ

φ

−2.5

0.0

2.5

5.0

7.5

10.0

−3 −2 −1 0 1ψ

φ

0

5000

10000

15000

20000

−2 0 2α

coun

t

−2

−1

0

1

2

3

−1 0 1 2 3

δ

α

−2

−1

0

1

2

3

−1 0 1γ

α

−2

−1

0

1

2

3

−3 −2 −1 0 1ψ

α

0

5000

10000

15000

20000

−1 0 1 2 3

δ

coun

t

−1

0

1

2

3

−1 0 1γ

δ

−1

0

1

2

3

−3 −2 −1 0 1ψ

δ

0

5000

10000

15000

20000

−1 0 1γ

coun

t−1

0

1

−3 −2 −1 0 1ψ

γ

0

2000

4000

6000

−3 −2 −1 0 1ψ

coun

tJarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 6 / 27

Page 7: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixtures

Finite mixtures

Let’s focus on modeling the univariate distribution for φ

0.00

0.05

0.10

0.15

0.20

0 4 8

phi

dens

ity

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 7 / 27

Page 8: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixtures Finite mixture

Finite mixture

A model for the marginal distribution for Yi = φi is

Yiind∼

H∑h=1

πhN(µh, σ2h)

where∑H

h=1 πh = 1.

Alternatively, we can introduce a latent variable ζi = h if observation icame from group h. Then

Yi|ζi = zind∼ N(µz, σ

2z)

ζiind∼ Cat(H,π)

where ζ ∼ Cat(H,π) is a categorical random variable with P (ζ = h) = πhfor h = 1, . . . ,H and π = (π1, . . . , πH).

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 8 / 27

Page 9: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixtures Finite mixture

A possible prior

Let’s assumeπ ∼ Dir(a)

µh|σ2hind∼ N(mh, v

2hσ

2h)

σ2hind∼ IG(ch, dh)

and π is independent of µ = (µ1, . . . , µH) and σ2 = (σ21, . . . , σ2H).

Commonly, we have mh = m, vh = v, ch = c, and dh = d. If the datahave been standardized (scaled and centered), a reasonable default prior is

m = 0,

v = 1,

c = 2,

d = 4, (BDA3 pg 535) and

a is 1/H (BDA3 pg 536).

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 9 / 27

Page 10: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixtures Finite mixture

MCMC

The steps of a Gibbs sampler with stationary distribution

p(π, µ, σ2, ζ|y) ∝ p(y|ζ, µ, σ2

)p(ζ|π)p(µ|σ2)p(σ

2)p(π)

has steps

1. For i = 1, . . . , n, sample ζi from its full conditional (as the ζ are conditionally independent across i):

P (ζi = h| . . .) ∝ πhN(yi;µh, σ2h)

2. Jointly sample π and µ, σ2 as they are conditionally independent.

a. Sample π ∼ Dir(a + Z) where n = (Z1, . . . , ZH ) and Zh =∑ni=1 I(ζi = h).

b. For h = 1, . . . , H, sample µh, σ2h from their full conditional (as these are conditionally independent across

h):

σ2hind∼ IG(c

′h, d′h) µh|σ

2hind∼ N(m

′h, v′2h σ

2h)

wherev′2h = (1/v2h + Zh)−1

m′h = v′2h (mh/v2h + Zhyh)

c′h = cd + Zh/2

d′h = dh + 12

(∑i:ζi=h

(yi − yh)2 +

(Zh

1+Zh/v2h

)(yh −mh)2

)yh = 1

Zh

∑i:ζi=h

yi

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 10 / 27

Page 11: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixtures JAGS

library("rjags")

jags_model = "

model {for (i in 1:n) {

y[i] ~ dnorm(mu[zeta[i]], tau[zeta[i]])

zeta[i] ~ dcat(pi[])

}

for (i in 1:H) {mu[i] ~ dnorm(0,1e-5)

tau[i] ~ dgamma(1,1)

sigma[i] <- 1/sqrt(tau[i])

}

pi ~ ddirich(a)

}"

tmp = hat[sample(nrow(hat), 1000),]

dat = list(n=nrow(tmp), H=3, y=tmp$phi, a=rep(1,3))

jm = jags.model(textConnection(jags_model), data = dat, n.chains = 3)

r = coda.samples(jm, c('mu','sigma','pi'), 1e3)

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 11 / 27

Page 12: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixtures JAGS

Convergence diagnostics

gelman.diag(r)

## Error in chol.default(W): the leading minor of order 6 is not positive definite

gelman.diag(r, multivariate=FALSE)

## Potential scale reduction factors:

##

## Point est. Upper C.I.

## mu[1] 21.76 55.54

## mu[2] 41.55 90.41

## mu[3] 91.54 222.09

## pi[1] 11.79 29.52

## pi[2] 3.46 6.36

## pi[3] 18.63 40.16

## sigma[1] 13.70 35.60

## sigma[2] 4.26 8.87

## sigma[3] 13.93 37.09

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 12 / 27

Page 13: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixtures JAGS

Convergence diagnostics (2)

plot(r, density=FALSE)

0 200 400 600 800

−2

1

Iterations

Trace of mu[1]

0 200 400 600 800

03

6

Iterations

Trace of mu[2]

0 200 400 600 800

−2

26

Iterations

Trace of mu[3]

0 200 400 600 800

0.1

0.4

Iterations

Trace of pi[1]

0 200 400 600 800

0.1

0.4

Iterations

Trace of pi[2]

0 200 400 600 800

0.1

0.4

Iterations

Trace of pi[3]

0 200 400 600 800

0.0

2.0

Iterations

Trace of sigma[1]

0 200 400 600 800

1.0

2.5

Iterations

Trace of sigma[2]

0 200 400 600 8000.

02.

0

Iterations

Trace of sigma[3]

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 13 / 27

Page 14: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixtures JAGS

Prior distributions

The parameters of the model are unidentified due to label-switching, i.e.

Yiind∼

H∑h=1

πhN(µh, σ2h)

d=

H∑h′=1

πh′N(µh′ , σ2h′)

for some permutation h′.

One way to resolve this issue is to enforce identifiability in the prior. Forexample, in one-dimension, we can order the component means:µ1 < µ2 < · · · < µH .

To ensure the posterior is proper

Maintain proper prior for π

Ensure proper prior for ratios of variances(perhaps by ensuring prior is proper for variances themselves)

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 14 / 27

Page 15: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixtures JAGS

Two conditionally conjugate prior options

Option 1:

Dir(π; a)I(µ1 < · · · < µH)

H∏h=1

N(µh;mh, v2h )IG(σ2h; ch, dh)

Option 2:

Dir(π; a)I(µ1 < · · · < µH)

1∏h=0

N(µh;mh, v2hσ

2h)IG(σ2h; ch, dh)

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 15 / 27

Page 16: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixtures JAGS

library("rjags")

jags_model = "

model {for (i in 1:n) {

y[i] ~ dnorm(mu[zeta[i]], tau[zeta[i]])

zeta[i] ~ dcat(pi[])

}

for (i in 1:H) {mu0[i] ~ dnorm(0,1e-5)

tau[i] ~ dgamma(1,1)

sigma[i] <- 1/sqrt(tau[i])

}

mu[1:H] <- sort(mu0)

pi ~ ddirich(a)

}"

jm = jags.model(textConnection(jags_model), data = dat, n.chains = 3)

r = coda.samples(jm, c('mu','sigma','pi'), 1e3)

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 16 / 27

Page 17: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixtures JAGS

Convergence diagnostics

gelman.diag(r)

## Error in chol.default(W): the leading minor of order 6 is not positive definite

gelman.diag(r, multivariate=FALSE)

## Potential scale reduction factors:

##

## Point est. Upper C.I.

## mu[1] 1.00 1.00

## mu[2] 1.01 1.04

## mu[3] 1.00 1.01

## pi[1] 1.00 1.00

## pi[2] 1.01 1.03

## pi[3] 1.01 1.02

## sigma[1] 1.00 1.00

## sigma[2] 1.01 1.03

## sigma[3] 1.01 1.02

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 17 / 27

Page 18: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixtures JAGS

Convergence diagnostics (2)

plot(r, density=FALSE)

1000 1400 1800

−2.

12

Iterations

Trace of mu[1]

1000 1400 1800

0.4

1.2

Iterations

Trace of mu[2]

1000 1400 1800

5.3

5.7

Iterations

Trace of mu[3]

1000 1400 1800

0.06

0.12

Iterations

Trace of pi[1]

1000 1400 1800

0.35

0.50

Iterations

Trace of pi[2]

1000 1400 1800

0.40

0.55

Iterations

Trace of pi[3]

1000 1400 1800

0.12

0.20

Iterations

Trace of sigma[1]

1000 1400 1800

1.4

2.0

Iterations

Trace of sigma[2]

1000 1400 18001.

01.

3

Iterations

Trace of sigma[3]

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 18 / 27

Page 19: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixtures JAGS

Posterior on data density

0.0

0.1

0.2

0.3

0.4

0.5

0 4 8

x

dens

ity

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 19 / 27

Page 20: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixtures Clustering

Group membership

Group membership can be obtained using the ζi, e.g.

P (gene i in cluster h) = P (ζi = h|y) ≈M∑

m=1

I(ζ(m)i = h

).

## parameter p1 p2 p3

## 1 zeta[1] 0.000 0.002666667 0.99733333

## 2 zeta[10] 0.000 0.090333333 0.90966667

## 3 zeta[100] 0.000 0.206000000 0.79400000

## 4 zeta[1000] 0.000 0.959666667 0.04033333

## 5 zeta[101] 0.000 1.000000000 0.00000000

## 6 zeta[102] 0.929 0.071000000 0.00000000

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 20 / 27

Page 21: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixtures Clustering

Clustering

Genes can then be clustered by assigning them to a group based on theirposterior probabilities of group membership, i.e. for gene i, we assign thegroup according to

argmaxhP (ζi = h|y).

Unfortunately clustering is extremely sensitive to the parametric modelchosen, e.g. normal in this example, and the cluster could changedramatically with a different choice, e.g. t.

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 21 / 27

Page 22: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixtures Choosing H

Choosing H

When using finite mixture models one of the key choices is to choose H,the number of clusters.

A Bayesian approach would place a prior on H, e.g. a Poisson ortruncated Poisson, and then use reversible jump MCMC to estimateit.

A more pragmatic approach is to start with a small H and thendetermine whether there is some feature of the data that is not beingadequately addressed, e.g. via posterior predictive pvalues.

An empirical Bayes finds an MLE (or MAP) via

H = argmaxHp(y|H) =

∫p(y|π, µ, σ2, H)p(π, µ, σ2|H)dπdµdσ2

and then condition on H in the analysis. Typically this MLE (orMAP) is found via the EM algorithm.

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 22 / 27

Page 23: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixtures Multivariate density estimation

Multivariate density estimation

0

1000

2000

3000

0 4 8φ

coun

t

−2.5

0.0

2.5

5.0

7.5

10.0

−3 −2 −1 0 1ψ

φ

0

2000

4000

6000

−3 −2 −1 0 1ψ

coun

t

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 23 / 27

Page 24: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixtures Finite mixture

Finite mixture

A model for the joint distribution for Yi = (φi, ψ)> is

Yiind∼

H∑h=1

πhN(µh,Σh)

where∑H

h=1 πh = 1.

Alternatively, we can introduce a latent variable ζi = h if observation icame from group h. Then

Yi|ζi = zind∼ N(µz,Σz)

ζiind∼ Cat(H,π)

where ζ ∼ Cat(H,π) is a categorical random variable with P (ζ = h) = πhfor h = 1, . . . ,H and π = (π1, . . . , πH).

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 24 / 27

Page 25: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixtures Finite mixture

A possible prior

Let’s assumeπ ∼ Dir(a)

µh|Σhind∼ Np(mh, v

2hΣh)

Σhind∼ IW (Dh, ch)

where ch > p− 1 is the degrees of freedom and D is the scale matrix. Themean of this distribution is Dh/(ch − p− 1) for ch > p+ 1.

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 25 / 27

Page 26: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixtures Finite mixture

MCMCThe steps of a Gibbs sampler with stationary distribution

p(π, µ,Σ, ζ|y) ∝ p(y|ζ, µ,Σ)p(ζ|π)p(µ|Σ)p(Σ)p(π)

has steps

1. For i = 1, . . . , n, sample ζi from its full conditional

P (ζi = h| . . .) ∝ πhN(yi;µh,Σh)

2. Jointly sample π and µ, σ2 as they are conditionally independent.

a. Sample π ∼ Dir(a + Z) where Z = (Z1, . . . , ZH ) and Zh =∑ni=1 I(ζi = h).

b. For h = 1, . . . , H, sample µh,Σh from their full conditional

Σhind∼ IW (D

′h, c′h) µh|Σh

ind∼ N(m′h, v′2h Σh)

where

v′2h = (1/v2h + Zh)−1

m′h = v′2h (mh/v2h + Zhyh)

c′h = cd + Zh

D′h = Dh +∑i:ζi=h

(yi − yh)(yi − yh)> +

(Zh

1+Zh/v2h

)(yh − µh)(yh − µh)>

yh = 1Zh

∑i:ζi=h

yi

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 26 / 27

Page 27: Dr. Jarad Niemi · The Dirichlet distribution (named after Peter Gustav Lejeune Dirichlet), i.e. P˘Dir(a), is a probability distribution for a probability vector of length H. The

Finite mixtures Finite mixture

library("rjags")

joint_mixture_model = "

model {for (i in 1:n) {

y[i,1:p] ~ dmnorm(mu[,zeta[i]], Tau[,,zeta[i]])

zeta[i] ~ dcat(pi[])

}

for (h in 1:H) {mu[1:p,h] ~ dmnorm(mu0,Tau[,,h])

Tau[1:p,1:p,h] ~ dwish(D[,],c)

Sigma[1:p,1:p,h] <- inverse(Tau[,,h])

}

pi ~ ddirich(a)

}"

tmp = hat[sample(nrow(hat), 1000),]

dat = list(n=nrow(tmp), y = tmp[,c('phi','psi')], p=2, H=10)

dat$a = rep(1/dat$H, dat$H)

dat$D = diag(1, dat$p)

dat$c = dat$p+1

dat$mu0 = c(3,0)

jm = jags.model(textConnection(joint_mixture_model),

data = dat,

n.chains = 3)

r = coda.samples(jm, c('pi','mu','Sigma'), 1e3)

Jarad Niemi (STAT615@ISU) Finite mixture models November 28, 2017 27 / 27