12 votos

¿Qué es la programación probabilística?

Durante el último año, he oído hablar mucho de Programación probabilística (PP) como PyMC3 y Stan y lo bueno que es el PP. Y hoy, alguien compartió este enlace conmigo: Pyro: un lenguaje de programación probabilística profunda

Sin embargo, no entiendo muy bien qué tiene de especial, ya que me da la sensación de que todo lo que se puede hacer en PP se puede hacer en cualquier otro lenguaje de propósito general. Estoy seguro de que hay aspectos técnicos en PP que lo hacen atractivo (por ejemplo, la computación paralela), pero aparte de esto, ¿es PP realmente diferente de cualquier otro lenguaje?

Pregunta: Me preguntaba si había consenso sobre lo que es PP y en qué se diferencia de otros programas informáticos centrados en la estadística como R, Matlab o Mathematica. Cabe señalar que PyMC3 y Stan se centran en un análisis más bayesiano.

Investigando un poco en Google, he encontrado las dos definiciones siguientes. La primera más abstracta y la segunda más sobre las características técnicas del PP.

1.2. La programación probabilística es

En cambio, la programación probabilística es una herramienta de modelización estadística. La idea es tomar prestadas lecciones del mundo de los lenguajes de programación y aplicarlas a los problemas de diseño y uso de modelos estadísticos. Los expertos ya construyen modelos estadísticos -a mano, en notación matemática sobre papel-, pero se trata de un proceso exclusivo de expertos que es difícil apoyar con razonamientos mecánicos. La idea clave de PP es que la modelización estadística puede, cuando se hace lo suficiente, empezar a parecerse mucho a la programación. Si damos el salto y realmente utilizamos un lenguaje real para nuestros modelos, muchas herramientas nuevas se vuelven viables. Podemos empezar a automatizar las tareas que antes justificaban escribir un artículo para cada caso.

He aquí una segunda definición un lenguaje de programación probabilístico es un lenguaje de programación ordinario con rand y un gran montón de herramientas relacionadas que le ayudarán a comprender el comportamiento estadístico del programa.

Ambas definiciones son correctas. Sólo que enfatizan diferentes ángulos de la misma idea central. La que tenga sentido para ti dependerá de para qué quieras usar PP. Pero no te distraigas por el hecho de que los programas PPL se parecen mucho a las implementaciones de software ordinarias, donde el objetivo es ejecutar el programa y obtener algún tipo de salida. El objetivo de PP es el análisis, no la ejecución (énfasis añadido).

-- Programación probabilística

Me gustaría saber si la comunidad estadística en general está de acuerdo con estas dos definiciones de PP, y si hay alguna otra característica que pueda faltar en esta definición.

2 votos

Estoy de acuerdo con la primera definición: PP te hace definir un modelo estadístico y se encarga de la parte de simulación por sí mismo. Ejemplos aparte de Stan son BUGS, Church, Anglican. R no es un PP.

0 votos

@Xi'an, ¿dirías que PP parece centrarse sobre todo en la modelización estadística bayesiana? En caso afirmativo, ¿se supone que PP sólo admite un enfoque bayesiano?

0 votos

La atención se centra en el "modelado jerárquico". Esto es inherentemente conveniente para los métodos bayesianos. Aunque también existe una interpretación frecuentista menos natural.

2voto

Christian Hagelid Puntos 121

La programación probabilística es una técnica para definir un modelo estadístico. A diferencia de definir un modelo por su función de distribución de probabilidad o dibujar un gráfico, el modelo se expresa en un lenguaje de programación, normalmente como un muestreador directo.

La inferencia automática a partir de la especificación de un modelo es una característica típica de las herramientas de programación probabilística, pero no es esencial y no es necesario que sea bayesiana. Se pueden hacer muchas cosas útiles con un modelo especificado como programa probabilístico. Por ejemplo, el documento Derivación de funciones de densidad de probabilidad a partir de programas funcionales probabilísticos describe una herramienta que analiza un programa probabilístico y calcula su función de distribución de probabilidad. El documento Detección de simetrías de parámetros en modelos probabilísticos analiza un programa probabilístico para simetrías de parámetros. Este tipo de trabajo también entra dentro de la programación probabilística.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X