6 votos

¿La ventaja de la velocidad de julia sobre python supone alguna diferencia para la modelización DSGE?

Cuando se compara con Python, el principal punto de venta de Julia es su velocidad, ya que a menudo argumentó . Sin embargo, desde mi experiencia personal nunca he notado ninguna diferencia significativa en la velocidad entre Julia y Python. Si hay una diferencia trivial de unos pocos segundos que no importaría prácticamente. Esto podría ser un problema para los modelos que utilizan big-data, pero fuera del aprendizaje automático, ¿hay algún modelo DSGE (incluso grande) en el que esto suponga una diferencia?

Estoy buscando algunos ejemplos de diferencias significativas entre ambos.

PS: A pesar de la etiqueta de solicitud de referencia estoy feliz de aceptar la respuesta que muestra algunos ejemplos directamente.

5voto

Ciertamente hay casos en los que las diferencias de rendimiento entre Python y Julia son importantes, pero la resolución de un modelo DSGE sencillo no es uno de ellos.

Se han realizado algunos ejercicios de comparación formal (p. ej, Aruoba y Fernández-Villaverde 2015 y actualización de 2018). Coleman et al. 2020 también considerar un modelo NK (ver Tabla 4). Las ganancias reales sólo se encuentran cuando se consideran polinomios/perturbaciones de orden superior.

En la práctica, yo diría que es sobre todo con los modelos DSGE bayesianos y los modelos HANK con los que se pueden conseguir mejoras.

2voto

xDroid Puntos 6

La comparación entre julia y python es de manzanas a naranjas. Tienen arquitecturas y características de rendimiento completamente diferentes. Julia utiliza la compilación JIT a código máquina nativo, lo que significa que hay un gran golpe de rendimiento en el arranque, pero después es bastante eficiente. Python es un lenguaje interpretado que nunca fue diseñado para la velocidad, y su rendimiento es extremadamente pobre en comparación con otros lenguajes interpretados como perl y javascript. Sin embargo, el tiempo de inicio de Python es insignificante para la mayoría de los propósitos.

Nada de esto importa en realidad en muchas de las tareas de análisis numérico para las que la gente usa julia y numpy, porque las operaciones como la inversión de matrices o el análisis de Fourier están siendo realizadas por rutinas de biblioteca que no están escritas en código nativo de todos modos.

En mi experiencia, la gran diferencia entre python y julia es la madurez y la calidad de sus implementaciones. Cuando probé julia en 2015 era extremadamente buggy, hasta el punto de no ser utilizable en mi experiencia. Puede que haya mejorado desde entonces.

La gran ganancia con julia es si ya tienes algo de código matlab, y no quieres pagar por matlab o tienes una afinidad política por el código abierto. Convertir matlab a julia es muy sencillo. Julia también tiene una comunidad de usuarios muy amigable y una excelente documentación.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X