Browse > Article
http://dx.doi.org/10.5351/KJAS.2020.36.6.665

Introduction to numba library in Python for efficient statistical computing  

Cho, Younsang (Department of Statistics, Inha University)
Yu, Donghyeon (Department of Statistics, Inha University)
Son, Won (Department of Information Statistics, Dankook University)
Park, Seoncheol (Pacific Climate Impacts Consortium, University of Victoria)
Publication Information
The Korean Journal of Applied Statistics / v.33, no.6, 2020 , pp. 665-682 More about this Journal
Abstract
This paper introduces numba library in Python, which improves computational efficiency of the provided implemented code written by naive Python language by applying just-in-time (JIT) compilation. To apply just-in-time compilation, the numba only needs to use a decorator on a target Python function. We provide implementation examples with numba for the permutation test and the parameter estimation for Gaussian mixture distribution. We also numerically show the efficiency of numba by comparing the total computation times of the implementation using naive python and the implementation using numba for each application.
Keywords
statistical computing; python; numba; just-in-time compilation;
Citations & Related Records
Times Cited By KSCI : 2  (Citation Analysis)
연도 인용수 순위
1 Lam, S. K., Pitrou, A., and Seibert, S. (2015). Numba: A LLVM-based Python JIT compiler, Proc. 2nd Workshop LLVM Compiler Infrastructure HPC, 7, 1-6.
2 Lees, J. A., Harris, S. R., Tonkin-Hill, G., Gladstone, R. A., Lo, S. W., Weiser, J. N., Corander, J., Bentley, S. D., and Croucher, N. J. (2019). Fast and flexible bacterial genomic epidemiology with PopPUNK. Genome Research, 29, 304-316.   DOI
3 McInnes, L., Healy, J., Saul, N., and GroBberger, L. (2018). UMAP: Uniform Manifold Approximation and Projection. Journal of Open Source Software, 3, 861.   DOI
4 Pitman, E. J. G. (1937). Significance tests which may be applied to samples from any populations, Journal of the Royal Statistical Society, 4, 119-130.
5 Stone, J. E., Gohara, D., and Shi, G. (2010). OpenCL: a parallel programming standard for heterogeneous computing systems, Computing in Science & Engineering, 12, 66-73.   DOI
6 Tibshirani, R. (1996). Regression shrinkage and selection via the lasso, Journal of the Royal Statistical Society: Seires B, 58, 267-288.
7 Eddelbuettel, D. and Francosis, R. (2011). Rcpp: Seamless R and C++ Integration, Journal of Statistical Software, 40, 1-18.
8 Behnel, S., Bradshaw, R., Citro, C., Dalcin, L., Seljebotn, D. S., and Smith, K. (2010). Cython: the best of both worlds, Computing in Science & Engineering, 13, 31-39.
9 Cho, H. (2018). Initalizing method of finite mixture model using kernel density estimation and application on model-based clustering, Journal of the Korean Data & Information Science Society, 29, 327-338.   DOI
10 Dempster, A. P., Laird, N. M., and Rubin, D. B. (1977). Maximum likelihood from incomplete data via the EM algorithm, Journal of the Royal Statistical Society: Series B, 39, 1-38.   DOI