Julia language features for processing statistical data

Cover Page

Cite item

Full Text

Abstract

The Julia programming language is a specialized language for scientific computing. It is relatively new, so most of the libraries for it are in the active development stage. In this article, the authors consider the possibilities of the language in the field of mathematical statistics. Special emphasis is placed on the technical component, in particular, the process of installing and configuring the software environment is described in detail. Since users of the Julia language are often not professional programmers, technical issues in setting up the software environment can cause difficulties that prevent them from quickly mastering the basic features of the language. The article also describes some features of Julia that distinguish it from other popular languages used for scientific computing. The third part of the article provides an overview of the two main libraries for mathematical statistics. The emphasis is again on the technical side in order to give the reader an idea of the general possibilities of the language in the field of mathematical statistics.

About the authors

Migran N. Gevorkyan

Peoples’ Friendship University of Russia (RUDN University)

Email: gevorkyan-mn@rudn.ru
ORCID iD: 0000-0002-4834-4895

Docent, Candidate of Sciences in Physics and Mathematics, Associate Professor of Department of Applied Probability and Informatics

6, Miklukho-Maklaya St., Moscow, 117198, Russian Federation

Anna V. Korolkova

Peoples’ Friendship University of Russia (RUDN University)

Email: korolkova-av@rudn.ru
ORCID iD: 0000-0001-7141-7610

Docent, Candidate of Sciences in Physics and Mathematics, Associate Professor of Department of Applied Probability and Informatics

6, Miklukho-Maklaya St., Moscow, 117198, Russian Federation

Dmitry S. Kulyabov

Peoples’ Friendship University of Russia (RUDN University); Joint Institute for Nuclear Research

Author for correspondence.
Email: kulyabov-ds@rudn.ru
ORCID iD: 0000-0002-0877-7063

Professor, Doctor of Sciences in Physics and Mathematics, Professor at the Department of Applied Probability and Informatics

6, Miklukho-Maklaya St., Moscow, 117198, Russian Federation; 6, Joliot-Curie St., Dubna, Moscow Region, 141980, Russian Federation

References

  1. J. Bezanson, A. Edelman, S. Karpinski, and V. B. Shah, “Julia: A fresh approach to numerical computing,” SIAM Review, vol. 59, no. 1, pp. 65-98, Jan. 2017. doi: 10.1137/141000671.
  2. B. Lauwens and A. Downey, Think Julia. O’Reilly Media, Inc., 2019.
  3. T. Kwong, Hands-on design patterns and best practices with Julia. Packt Publishing, 2020.
  4. C. T. Kelley, Solving nonlinear equations with iterative methods, Solvers and Examples in Julia. SIAM, 2022.
  5. J. Bezanson, J. Chen, B. Chung, S. Karpinski, V. B. Shah, J. Vitek, and L. Zoubritzky, “Julia: dynamism and performance reconciled by design,” Proceedings of the ACM on Programming Languages, vol. 2, no. OOPSLA, pp. 1-23, Oct. 2018. doi: 10.1145/3276490.
  6. M. N. Gevorkyan, A. V. Korolkova, D. S. Kulyabov, and K. P. Lovetskiy, “Statistically significant comparative performance testing of Julia and Fortran languages in case of Runge-Kutta methods,” in Numerical methods and applications. NMA 2018, ser. Lecture Notes in Computer Science, G. Nikolov, N. Kolkovska, and K. Georgiev, Eds., vol. 11189, Cham: Springer International Publishing, 2019, ch. 45, pp. 400-407. doi: 10.1007/978-3-030-10692-8_45.
  7. “JuliaStats, Statistics and machine learning made easy in julia.” (2023), [Online]. Available: https://juliastats.org/.
  8. Y. Nazarathy and H. Klok, Statistics with Julia, Fundamentals for Data Science, Machine Learning and Artificial Intelligence. Springer International Publishing, 2021. doi: 10.1007/978-3-030-70901-3.
  9. “Julia forums.” (2023), [Online]. Available: https://discourse.julialang.org.
  10. “StatsBase.jl.” (2023), [Online]. Available: https://github.com/JuliaStats/StatsBase.jl.
  11. “Distributions.jl.” (2023), [Online]. Available: https://github.com/JuliaStats/Distributions.jl.
  12. C. Führer, J. E. Solem, and O. Verdier, Scientific computing with Python, High-performance scientific computing with NumPy, SciPy, and pandas, 2nd. Packt Publishing Ltd., 2021.
  13. D. Toomey, Learning Jupyter. Packt Publishing Ltd., 2016.
  14. “Pluto.jl - interactive Julia programming environment.” (2023), [On-line]. Available: https://plutojl.org/.
  15. “Windows terminal, console and command-line repo.” (2023), [Online]. Available: https://github.com/microsoft/terminal.
  16. “Miniconda.” (2023), [Online]. Available: https://docs.conda.io/en/latest/miniconda.html.
  17. “Pluto.jl GitHub.” (2023), [Online]. Available: https://github.com/fonsp/Pluto.jl.
  18. “Julia GitHub.” (2023), [Online]. Available: https://github.com/JuliaLang/julia.
  19. A. V. Korolkova, M. N. Gevorkyan, and D. S. Kulyabov, “Implementation of hyperbolic complex numbers in Julia language,” vol. 30, no. 4, pp. 318-329, Dec. 2022. doi: 10.22363/2658-4670-2022-30-4-318-329.
  20. R. Muschevici, A. Potanin, E. Tempero, and J. Noble, “Multiple dispatch in practice,” in OOPSLA’08: Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications, ACM Press, Oct. 2008, pp. 563-582. doi: 10.1145/1449764.1449808.
  21. M. Besançon, T. Papamarkou, D. Anthoff, A. Arslan, S. Byrne, D. Lin, and J. Pearson, “Distributions.jl: Definition and modeling of probability distributions in the JuliaStats ecosystem,” Journal of Statistical Software, vol. 98, no. 16, pp. 1-30, 2021. doi: 10.18637/jss.v098.i16.

Supplementary files

Supplementary Files
Action
1. JATS XML