Bazı değerli İstatistiksel Analiz açık kaynaklı projeler nelerdir?


69

Şu anda mevcut olan bazı değerli İstatistiksel Analiz açık kaynaklı projeler nelerdir?

Düzenleme: Sharpie tarafından belirtildiği gibi, değerli şeyler işleri daha hızlı veya daha ucuz bir şekilde yapmanıza yardımcı olabilir.


5
Tartışmacı ve öznel bir poster çocuğu olabilir. En azından 'değerli' tanımlamanız gerekiyor.
Sharpie

2
Belki de odak noktası her bir projenin "değerli" yerine "artı" ve "eksilerini" içermesidir?
Aslan,

Veya belki de "X, Y'yi daha hızlı / daha ucuz hale getirmenize ve kötü nefese neden olan mikropları öldürmenize yardımcı olur."
Sharpie

Yanıtlar:


88

R projesi

http://www.r-project.org/

R, büyük ve değerli paketlere alternatif olarak ilk kabul gören Açık Kaynak alternatifi olduğu için değerli ve önemlidir. Olgun, iyi desteklenmiş ve birçok bilimsel topluluk içinde bir standart.


Evet, R iyi, ama neden 'değerli'.
Sharpie

11
Olgun, iyi desteklenmiş ve bazı bilimsel topluluklarda bir standart (örneğin AI bölümümüzde popüler)
Menno

10
Genişletilebilir ve içinde yapılamayan istatistiksel bir teknik yok.
aL3xa

20

Python'da çeşitli MCMC görevleri yapmak için , oldukça fazla kullandığım PyMC var . HATA'da yapabileceğim hiçbir şeyi PyMC'de yapamadığım hiçbir şeyle karşılaşmadım ve modelleri belirleme ve verileri getirme yönteminiz benim için çok daha sezgisel görünüyor.


18

Bu unutulmaya downvoted alabilirsiniz, ama ben mutlu Matlab klon kullanılan Octave yıllardır. O R. tarafından dwarfed açıkça olsa vb farklı dağılımlar, istatistiksel testler, rasgele değişkenlerin nesil için oktav tahrif oldukça iyi kütüphaneler vardır R üzerinde olası bir avantajı Matlab / oktav olmasıdır ortak dil sayısal analistler, optimizasyon araştırmacılar arasında ve uygulamalı matematikçilerin bazı alt kümeleri (en azından okuldayken), benim bölümümde kimse bilmediğim kadarıyla R. kaybımı kullandı. mümkünse ikisini de öğrenin!


4
Doğru yorum. Ancak deneyimli bir programcı olarak, kendimi her zaman kirli hissediyorum, korkunç bir şekilde tasarlanmış (eğer tasarlanmışsa) bir dil olan Matlab / Octave kullanıyorum. Tabii ki ayrıca açık kartlar için tasarlanan SAS’a da baskı yapıyorum.
Wayne

1
@Wayne yeterince doğru. Bob Harper'ın Matlab diline 'semantic şüpheli' olarak atıfta bulunduğunu duyduktan sonra hatırlıyorum;
shabbychef

17

İki proje akla geliyor:

  1. Hatalar - Bayesian istatistiklerinden acı çekmek. Kullanıcının modele daha fazla ve MCMC'ye biraz daha az odaklanmasına izin verir.
  2. Biyo - iletken - belki de biyoinformatikte en popüler istatistiksel araçtır. Bunun bir R deposu olduğunu biliyorum, ancak R'yi öğrenmek isteyen çok sayıda insan var, sadece Biyo-iletken için. Üstün analiz için mevcut paketlerin sayısı, hiçbiri ikinci yapar.

1
Andrew Gelman R. Bugs bağlayan güzel bir Ar kütüphanesi vardır
bshor

4
"Biyoinformatikte en popüler istatistik aracı" demiştim ... Mikroarray analizi yapan biyoinformatikçiler yoğun olarak kullanıyorlar, evet. Ancak biyoinformatik bununla sınırlı değildir;)
Nicojo

15

Veri madenciliği için Weka - Java'da birçok sınıflandırma ve kümeleme algoritması içerir.


bunun performansı nasıl? ('Java' kelimesini gördüğümde çığlık atıyorum ...)
shabbychef

@shabbychef Duyduğuma göre oldukça iyi görünüyordu, ancak genellikle Weka, çeşitli algoritmaları test etmek ve verilen veri setleri (veya bunların bir altkümesi) üzerindeki performanslarına bakmak için ilk adım olarak kullanıldı, ardından çekirdek programın bir kodunu yeniden kodladı. verimliliğini (örneğin çapraz doğrulama veya önyükleme için arama gerektiren yüksek boyutlu verilerle), bazen C veya Python'da optimize edin.
chl

2
@shabbychef: Java programları yavaş canavar olmak zorunda değildir. İyi yazılmış C kodunun hemen hemen her zaman Java'daki benzer bir uygulamadan daha hızlı olacağını ancak iyi yazılmış Java kodunun muhtemelen süper yavaş olmayacağını itiraf ediyorum. Ayrıca Java'da gelişmenin birçok önemli avantajı vardır.
postaf


14

Incanter , istatistiksel hesaplama ve grafikler için Clojure tabanlı, R benzeri bir platformdur (ortam + kitaplıklar).


Yine mi neden? Patronumu bunu kullanması için nasıl ikna edebilirim, örneğin, Excel.
Sharpie


1
chl

14

FSF tarafından başlatılan veya GNU Genel Kamu Lisansı altında yeniden dağıtılan projeler de vardır;

  • SPSS'ye ücretsiz bir alternatif olmayı hedefleyen PSPP
  • GRETL , çoğunlukla regresyon ve ekonometriye adanmış

JMulTi gibi bir ders kitabı için yardımcı bir yazılım olarak piyasaya sürülen , ancak hala birkaç kişi tarafından kullanılmakta olan uygulamalar bile var.

Hala ile oynuyorum xlispstat Lisp büyük ölçüde R (Jan de Leeuw adlı özet yerini aldığı halde, zaman zaman, Ar vs Lisp içinde İstatistiksel Journal of Software ). İlginçtir ki, R dilinin kurucularından biri olan Ross Ihaka, istatistiksel yazılımın geleceğinin aksine olduğunu savundu ... Lisp: Geleceğe Dön: İstatistiksel Hesaplama Sisteminin Temeli Olarak Lisp . @Alex zaten Clojure tabanlı istatistik ortamı Incanter'in işaret etti , bu yüzden yakın gelecekte Lisp tabanlı yazılımın yeniden canlandığını göreceğiz? :-)



9

Her şeyden önce size söyleyeyim, bana göre, bugüne kadarki en iyi aracın tonlarca kütüphaneye ve yardımcı programa sahip olan R olduğunu, burada saymayacağım.

Weka hakkındaki tartışmayı genişletmeme izin ver

R için kolayca yükleyebileceğiniz ve bu harika programın birçok işlevini R ile birlikte yükleyebileceğiniz RWeka adlı bir kütüphane var, basit bir karar ağacı yapmak için size bir kod örneği vereyim. Bu paketle birlikte gelen standart bir veritabanından okumak (ayrıca elde edilen ağacı çizmek çok kolaydır, ancak nasıl yapılacağı hakkında araştırma yapmanıza izin vereceğim, ki bunlar RWeka belgelerinde yer almaktadır:

library(RWeka)
iris <- read.arff(system.file("arff", "iris.arff", package = "RWeka"))
classifier <- IBk(class ~., data = iris)
summary(classifier)

Bunu yapmak için birkaç python kütüphanesi de vardır (python'un öğrenmesi çok kolaydır)

İlk önce kullanabileceğin paketleri sıralayayım, onlar hakkında detaylı bir şekilde gitmeyeceğim; Weka (evet python için bir kütüphaneniz var), NLKT (veri madenciliği dışında metin incelemesi için en ünlü açık kaynak paketi), statPy , sickits ve scipy .

Ayrıca mükemmel olan portakal da var (daha sonra konuşacağım), işte cmpart1 tablosundaki verilerden bir ağaç yapmak için bir kod örneği, 10 kat doğrulama işlemi gerçekleştiren, ayrıca ağacı grafikleyebilirsiniz.

import orange, orngMySQL, orngTree

data = orange.ExampleTable("c:\\python26\\orange\\cmpart1.tab")

domain=data.domain
n=10
buck=len(data)/n
l2=[]
for i in range(n):
    tmp=[]
    if i==n-1:
        tmp=data[n*buck:]
    else:
        tmp=data[buck*i:buck*(i+1)]
    l2.append(tmp)

train=[]
test=[]
di={'yy':0,'yn':0,'ny':0,'nn':0}
for i in range(n):
    train=[]
    test=[]
    for j in range(n):
        if j==i:
            test=l2[i]
        else:
            train.extend(l2[j])
    print "-----"
    trai=orange.Example(domain, train)
    tree = orngTree.TreeLearner(train)
    for ins in test:
        d1= ins.getclass()
        d2=tree(ins)
        print d1
        print d2
        ind=str(d1)+str(d2)
        di[ind]=di[ind]+1
print di

Diğer bazı paketlerle sona ermek için kullandım ve ilginç buldum

Turuncu : acemi ve uzmanlar için veri görselleştirme ve analizi. Görsel programlama veya Python komut dosyası kullanarak veri madenciliği. Makine öğrenmesi için bileşenler. Biyoinformatik ve metin madenciliği için uzantılar. (Ben şahsen bunu tavsiye ediyorum, onu python ile bütünleştiren çok kullandım ve mükemmeldi.) İsterseniz size bir python kodu gönderebilirim.

ROSETTA : Tablo verilerini kaba küme teorisi çerçevesinde analiz etmek için bir araç seti. ROSETTA, genel veri madenciliği ve bilgi keşif sürecini desteklemek için tasarlanmıştır: Verilerin ilk taranmasından ve ön işlemesinden, minimum nitelik kümelerinin hesaplanması ve if-o zaman kurallarının veya tanımlayıcı modellerinin üretilmesi yoluyla, indüklenen kuralların veya modellerin doğrulanması ve analizine kadar (Bu da çok kullanarak zevk)

KEEL : regresyon, sınıflandırma, kümeleme, örüntü madenciliği ve benzeri dahil olmak üzere Veri Madenciliği problemleri için evrimsel algoritmaları değerlendirin. Karşılaştırma için bir istatistiksel test modülü de dahil olmak üzere, mevcut olanlara kıyasla herhangi bir öğrenme modelinin tam bir analizini yapmamızı sağlar.

DataPlot : Bilimsel görselleştirme, istatistiksel analiz ve doğrusal olmayan modelleme için. Hedef Dataplot kullanıcısı, bilimsel ve mühendislik süreçlerinin karakterizasyonu, modellenmesi, görselleştirilmesi, analizi, izlenmesi ve optimizasyonuyla ilgilenen araştırmacı ve analisttir.

Açılan : Bir İstatistik ve Ölçüm Astarı, Tanımlayıcı İstatistikler, Basit Karşılaştırmalar, Varyans Analizi, Korelasyon, Çoklu Regresyon, Kesintisiz Zaman Serileri, Çok Değişkenli İstatistik, Parametrik Olmayan İstatistik, Ölçme, İstatistiksel Süreç Kontrolü, Finansal İşlemler, Sinir Ağları, Simülasyon


8

Colin Gillespie, BUGS'tan bahsetti, ancak Gibbs Sampling, vb . İçin daha iyi bir seçenek JAGS .

Tek yapmak istediğiniz ARIMA ise, alan ve açık kaynakta altın standart olan X12-ARIMA'yı geçemezsiniz . Gerçek grafikler yapmaz (bunu yapmak için R kullanırım), ancak teşhis kendi başlarına bir ders.

Yakın zamanda keşfettiğim ve öğrenmeye başladığım bir şeye biraz daha fazla hava atmak ...

AUTODIF kitaplığına dayalı doğrusal olmayan modelleme yapan, MCMC ve içine atılan diğer birkaç özelliğe sahip olan ADMB (AD Model Builder). Modeli, bir C ++ çalıştırılabilirine ön işleme tabi tutar ve derler ve bağımsız bir uygulama olarak derler. R, MATLAB, vs.'de uygulanan eşdeğer modellerden çok daha hızlı olması gerekiyordu. ADMB Projesi

Balıkçılık dünyasında başladı ve hala en popüler olanı, ancak başka amaçlar için oldukça ilginç görünüyor. Bu grafik veya R diğer özelliklere sahip değildir ve büyük olasılıkla R ile birlikte kullanılacaktır.

Bir GUI'de Bayesian Networks ile çalışmak istiyorsanız: SamIam güzel bir araçtır. R'de bunu yapan birkaç paket var, ancak Samam çok güzel.



7

Gerçekten ile çalışmaktan keyif RooFit sinyal ve arka plan dağılımları ve kolay uygun montaj için TMVA analizleri ve bazı standart araçlar (genetik algoritmalar ve yapay sinir ağları gibi, aynı zamanda BVTS yapar) ile çok değişkenli problemlerin modelleme hızlı asıl bileşeni için. Her ikisi de, parçacık fiziği problemlerine karşı oldukça ağır bir önyargıya sahip olan ROOT C ++ kütüphanelerinin bir parçasıdır .


7

Yukarıda belirtilenlerin üstüne birkaç kişi daha:

  • Veri madenciliği için R, Python ve Weka entegrasyon eklentileriyle birlikte KNIME
  • Hızlı EDA için Mondrian

Ve uzamsal açıdan:

  • Mekansal EDA ve alan verilerinin kümelenmesi için GeoDa
  • Nokta verilerinin kümelenmesi için SaTScan

3
Bir not olarak GeoDa ve SatScan açık kaynak değildir, ücretsizdirler (benim için çok fazla fark yarattığı değil!)
Andy W

1
GeoDa Center tarafından pySal açık kaynak kodlu (aşağıya bakınız)
b_dev


4

Bu, 'istatistiksel analizin' dış sınırlarına düşer, ancak Eureqa , genetik programlama yoluyla verilerdeki veri madenciliği doğrusal olmayan ilişkiler için çok kullanıcı dostu bir programdır. Eureqa genel bir amaç değildir, ancak oldukça iyi bir şekilde yaptığı şeyi yapar ve GUI oldukça sezgiseldir. Ayrıca, eureqa sunucusu aracılığıyla mevcut bilgi işlem gücünden de yararlanabilir.


3

Meta.Numerics , istatistiksel analiz için iyi desteği olan bir .NET kütüphanesidir.

R (bir S klonu) ve Octave'den (bir Matlab klonu) farklı olarak, bir "ön ucu" yoktur. Daha çok GSL'ye benzer, çünkü istatistiksel analiz yapmak için kendi uygulamanızı yazarken bağlantı kurduğunuz bir kütüphanedir. C # ve Visual Basic, iş kolu uygulamaları için C / C ++ 'dan daha yaygın programlama dilleridir ve Meta.Numerics, GSL'den istatistiksel yapılar ve testler için daha kapsamlı bir desteğe sahiptir.



3

Sembolik matematik yazılımı da istatistikler için iyi bir destek olabilir. İşte zaman zaman kullandığım birkaç GPL:

  1. sempozyumu python temelli ve çok küçük ama yine de çok şey yapabilir: türevler, integraller, sembolik toplamlar, kombinasyonlar, seri açılımlar, tensör manipülasyonları, vb.
  2. adaçayı python tabanlı ve çok büyük! Eğer belirtileriniz istediğinizi yapamıyorsa, bilgeyi deneyin (ancak yerel Windows sürümü yoktur).
  3. Maxima lisp tabanlı ve çok klasik, orta büyüklükte (1) ve (2) arasında.

Üçü de aktif gelişim içinde.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.