2369 shaares
11 results
tagged
stan
Les N-mixtures en stan
Super présentation pour mieux comprendre l'implémentation des modèles hiérarchiques avec rstanarm
Explication limpide des priors LKJ utilisées pour les matrices de covariance dans rstanarm
Je découvre. J'adopte
C'est mon problème. Moralité : réduire la curvature et standardiser les prédicteurs.
Récupérer les élements d'un objet stanfit. Notamment les éléments "sous le capot", genre la profondeur de l'arbre ou la taille des pas. treedepth et stepsize.
«All that stuff about running a million iterations and thinning by 10k is irrelevant for Stan/HMC, don’t do that.»
Sur la convergence, je suis assez surpris : ils notent "In practice we have found that requiring Rhat < 1.1 is a good default requirement for each parameter." Or, les chaînes n'ont pas vraiment une bonne tête avec Rhat à 1.1... En outre, ils notent " A good check for such issues is the number of effective samples per iteration -- if N_eff / N < 0.001 then you should be suspect of the effective sample size calculation." J'ai 1500 itérations et j'ai des N_eff de 135 pour mon paramètre le plus merdique. J'aime pas la tête des traces MCMC, mais cette recommandation tendrait à indiquer que je suis peut-être trop puriste sur ce coup-là. Je vais essayer de creuser cette question...
Tuto intéressant pour STAN.
Première tentative d'ajustement de modèle bayésien sous STAN... échec: STAN ne permet pas l'ajustement de modèles avec des variables cachées entières (e.g. un effectif détecté comme réponse, un effectif réel comme paramètre). Ce qui rétrospectivement semble assez logique, quand on connaît le principe du Monte Carlo Hamiltonien. La seule solution est de marginaliser le paramètre entier quand on en a un... Ce qui n'est pas toujours simple à réaliser. Enfin, dans le cas présent, je n'ai pas le choix, mon modèle est caractérisé par un mélange moisi avec un sampler de Gibbs, et je pense que le fait de m'appuyer sur un paramètre latent entier n'y est pas pour rien.
Edit: le manuel de Stan, section 11.3, évoque les modèles de CMR. Il présente deux cas de figure:
* l'estimateur de Lincoln-Petersen de la taille de population N à partir d'animaux marqués à une première occasion de capture, puis recapturés à une deuxième occasion. Dans ce cas, on peut traiter le modèle en prenant N comme paramètre continu.
* le modèle de Cormack-Jolly-Seber, dans lequel on a une variable latente z_i(t) pour chaque animal i qui prend la valeur 1 si l'animal est vivant au temps t et 0 sinon. Pour pouvoir ajuster ce modèle, il faut marginaliser pour se débarrasser du paramètre.
Oui, donc Stan, uniquement quand on a des paramètres continus (éviter les variables latentes discrètes genre effectif réel non observé).
Edit: le manuel de Stan, section 11.3, évoque les modèles de CMR. Il présente deux cas de figure:
* l'estimateur de Lincoln-Petersen de la taille de population N à partir d'animaux marqués à une première occasion de capture, puis recapturés à une deuxième occasion. Dans ce cas, on peut traiter le modèle en prenant N comme paramètre continu.
* le modèle de Cormack-Jolly-Seber, dans lequel on a une variable latente z_i(t) pour chaque animal i qui prend la valeur 1 si l'animal est vivant au temps t et 0 sinon. Pour pouvoir ajuster ce modèle, il faut marginaliser pour se débarrasser du paramètre.
Oui, donc Stan, uniquement quand on a des paramètres continus (éviter les variables latentes discrètes genre effectif réel non observé).
Il y a même un mode emacs pour faire du STAN! Je sens que je vais vraiment tester l'outil très prochainement...