Hi together,

I am pretty new to rstan and I want to perform a Naive Bayes classification first.

The setup of the classifier is already done, as one could use the code provided in the documentation.

Here is the code:

data {

// training data

int<lower=1> K; // num topics

int<lower=1> V; // num words

int<lower=1> M; // num docs

int<lower=1> N; // total word instances

int<lower=1,upper=K> z[M]; // topic for doc m

int<lower=1,upper=V> w[N]; // word n

int<lower=1,upper=M> doc[N]; // doc ID for word n

// hyperparameters

vector<lower=0>[K] alpha; // topic prior

vector<lower=0>[V] beta; // word prior

}

parameters {

simplex[K] theta; // topic prevalence

simplex[V] phi[K]; // word dist for topic k

}

model {

theta ~ dirichlet(alpha);

for (k in 1:K)

phi[k] ~ dirichlet(beta);

for (m in 1:M)

z[m] ~ categorical(theta);

for (n in 1:N)

w[n] ~ categorical(phi[z[doc[n]]]);

}

However, I am not sure of how to extract the log_lik correctly within the generated quantities block to perform loo or waic.

Could anyone help me with that?

Furthermore, is it possible to calculate the accuracy of the model?

I haven’t found a possibility for that until now.

Thanks for your help!

Sven