(b) Ne tür İstatistikler kullanırsa, birine Julia'yı kullanmasını tavsiye edersiniz
(c) Belirli bir görevde R yavaşsa, Julia veya Python'a geçmek mantıklı mıdır?
Yüksek boyutlu ve hesaplamalı yoğun problemler.
Çoklu işlem. Julia'nın tek düğümlü paralel yetenekleri ( @spawnat
), pythondakilerden çok daha uygundur. Örneğin, python'da REPL'de çok işlem havuzunu azaltan bir harita kullanamazsınız ve paralel hale getirmek istediğiniz her işlev çok sayıda kazan plakası gerektirir.
Küme hesaplaması. Julia'nın ClusterManagers
paketi, neredeyse birkaç çekirdekli tek bir makinede olduğu gibi bir hesaplama kümesi kullanmanıza izin verir. [Bunu ClusterUtils'teki komut dosyası gibi hissettirmek için oynuyordum ]
Paylaşılan Bellek. Julia'nın SharedArray
nesneleri, python'daki eşdeğer paylaşılan bellek nesnelerinden üstündür.
- Hız. Julia uygulamam rasgele sayı oluşturmada ve doğrusal cebirde (çoklu iş parçacıklı BLAS'ı destekler) R uygulamamdan (tek makine) daha hızlıdır.
- Birlikte çalışabilirlik. Julia'nın
PyCall
modülü python ekosistemine sarmalayıcılar olmadan erişmenizi sağlar - örneğin bunu için kullanıyorum pylab
. R için benzer bir şey var, ama denemedim. ccall
C / Fortran kütüphaneleri için de vardır .
GPU. Julia'nın CUDA paketleyicileri pythondakilerden çok daha gelişmiştir (kontrol ettiğimde R'ler neredeyse yoktu). Julia'da harici kütüphaneleri çağırmanın python'dan daha kolay olmasından dolayı bu durumun devam edeceğinden şüpheleniyorum.
Ekosistem. Pkg
Modül kullanımları bir arka uç olarak GitHub'dan. Bunun, Julia modüllerinin uzun süreli sürdürülebilirliği üzerinde büyük bir etkisi olacağına inanıyorum, çünkü yamalar sunmayı veya sahiplerin sorumluluk üstlenmesini çok daha kolay hale getiriyor.
σ
Büyük problemler için hızlı kod yazmak, giderek paralel hesaplamalara bağlı olacaktır. Python doğası gereği düşmanca paraleldir (GIL) ve R'de doğal çoklu işlem mevcut olmayan AFAIK'dir. Julia, python / R / Matlab hissinin çoğunu korurken performans kodu yazmak için C'ye düşmenizi gerektirmez.
Julia'nın python / R'den gelen ana dezavantajı, temel işlevsellik dışında dokümantasyon eksikliğidir. python çok olgun ve dokularda bulamadığınız şeyler genellikle stackoverflow üzerindedir. R'nin dokümantasyon sistemi kıyaslandığında oldukça iyi.
(a) Yeni istatistiksel araç kullanıcılarına Julia'yı R üzerinden öğrenmelerini tavsiye eder misiniz?
Evet, kullanım senaryolarını bölüm (b) 'de takarsanız. Kullanım durumunuz çok sayıda heterojen çalışma içeriyorsa