Stan és un llenguatge de programació probabilístic per a inferència estadística escrit en C++. El llenguatge Stan s'utilitza per especificar un model estadístic (bayesià) amb un programa imperatiu que calcula la funció de densitat de probabilitat logarítmica.[1]
Stan té llicència sota la nova llicència BSD. Stan rep el seu nom en honor a Stanislaw Ulam, pioner del mètode Montecarlo.
Stan va ser creat per un equip de desenvolupament format per 34 membres que inclou Andrew Gelman, Bob Carpenter, Matt Hoffman i Daniel Lee.[2]
Interfícies
Es pot accedir al propi llenguatge Stan a través de diverses interfícies: [3]
A més, es proporcionen interfícies de nivell superior amb paquets que utilitzen Stan com a backend, principalment en llenguatge R : [4]
- rstanarm proporciona un reemplaçament directe per als models freqüentistes proporcionats per la base R i lme4 utilitzant la sintaxi de la fórmula R;
- brms proporciona una àmplia gamma de models lineals i no lineals utilitzant la sintaxi de la fórmula R;
- profeta proporciona procediments automatitzats per a la previsió de sèries temporals.
Algorismes
Stan implementa algorismes de la cadena de Màrkov Monte Carlo (MCMC) basats en gradients per a inferència bayesiana, mètodes bayesians variacionals estocàstics i basats en gradients per a inferència bayesiana aproximada i optimització basada en gradients per a l'estimació de màxima probabilitat penalitzada.
- Algoritmes MCMC:
- Hamiltonià Montecarlo (HMC)
- No-U-Turn sampler (NUTS), una variant de l'HMC i del motor MCMC predeterminat de Stan
- Algorismes d'inferència variacional:
- Inferència variacional de diferenciació automàtica
- Algoritmes d'optimització:
Referències