1

J'ai un fichier STAN décrivant un modèle hiérarchique. Je voudrais visualiser cette hiérarchie avec tous les paramètres en convertissant le code STAN en un fichier DOT Graphviz. Une autre représentation graphique fera aussi bien.Comment convertir un fichier modèle STAN en un fichier DOT graphviz ou une autre représentation graphique?

Tenir compte du petit exemple suivant:

data { 
    int<lower=0> J; // number of items 
    int<lower=0> y[J]; // number of successes for j 
    int<lower=0> n[J]; // number of trials for j 
} 
parameters { 
    real<lower=0,upper=1> theta[J]; // chance of success for j 
    real<lower=0,upper=1> lambda; // prior mean chance of success 
    real<lower=0.1> kappa; // prior count 
} 
transformed parameters { 
    real<lower=0> alpha; // prior success count 
    real<lower=0> beta; // prior failure count 
    alpha <- lambda * kappa; 
    beta <- (1 - lambda) * kappa; 
} 
model { 
    lambda ~ uniform(0,1); // hyperprior 
    kappa ~ pareto(0.1,1.5); // hyperprior 
    theta ~ beta(alpha,beta); // prior 
    y ~ binomial(n,theta); // likelihood 
} 
generated quantities { 
    real<lower=0,upper=1> avg; // avg success 
    int<lower=0,upper=1> above_avg[J]; // true if j is above avg 
    int<lower=1,upper=J> rnk[J]; // rank of j 
    int<lower=0,upper=1> highest[J]; // true if j is highest rank 
    avg <- mean(theta); 
    for (j in 1:J) 
    above_avg[j] <- (theta[j] > avg); 
    for (j in 1:J) { 
    rnk[j] <- rank(theta,j) + 1; 
    highest[j] <- rnk[j] == 1; 
    } 
} 

est-il un moyen d'analyser cela et le convertir en une langue DOT comme fichier que je peux dessiner pour visualiser la hiérarchie?

J'ai fait un googled autour de beaucoup et la chose la plus proche que je pourrais trouver à un analyseur était dans le projet http://gephi.github.io/ .. Je ne sais pas si cela aide.

Ce que je veux retrouver avec quelque chose de similaire à ceci: Kruschke

Répondre

2

Il n'y a pas d'outil pour que dans le référentiel Stan. Une partie de la raison est, contrairement à la famille BUGS, un tel graphique n'est pas nécessaire pour que Stan puisse fonctionner. Mais ce sont de bons outils de visualisation, donc si vous avez écrit un convertisseur, je suis sûr qu'il y aurait intérêt à l'utiliser. Ma conjecture est le chemin de moindre résistance impliquerait de convertir le fichier .stan au format attendu par PyMC et en utilisant leurs capacités graphing.

+0

Je vais travailler dessus et voir ce que je propose. Vous tiendrons au courant! –