Bir istatistik tezgahı olarak Ruby


13

Bu aynı zamanda çok ilgilidir bir sorudur tezgahı bir istatistik olarak Python ve bir istatistik tezgâha olarak excel . Ruby ile Python hakkında çok büyük bir tartışma olduğunu biliyorum ama bu sorunun konusu bu değil. Ben Ruby hızlı Python daha olmak ve çok doğal bir sözdizimi istatistiklerini anlamama faydalı olacağını ve aynı zamanda benim ilgi de ve R benim diğer soruya celbedildi Ar iyi bir alternatif (olabileceğini sahip olduğu düşünülmektedir burada). Örneğin, gördüğüm Google Tech derslerinden birinde (buradaki bağlantılı sorudan bahsedildiğinde, eğitmen bir for döngüsü oluştururken R'nin yavaş olduğundan şikayet ediyor). Ruby ile Rails de var, bu yüzden belki de ikisini de bir araya getirme olasılığı olurdu (Python'un Django var, ama yine de buna girmiyorum).

Yani, soru aynı, ama benim ilgim için Ruby'de:

  • Ruby'yi R, SPSS, Python, Excel vb. Yerine "istatistik çalışma tezgahı" olarak kullanmak istersem ne önerebilirsiniz ?

  • Deneyiminize dayanarak ne kazanıp kaybederdim?

Bu soruyu önceki Python ve Excel sorusuna dayanarak değerlendirdiğimi lütfen unutmayın. Ruby ve Python (veya Excel) kullanmanın aynı etkiyi yaratacağına inanıyorsanız, lütfen bunu söyleyin ve önceki soruların argümanlarına işaret edin, bu sorunun amacı önceki soruları aynı cevaplar için tekrarlamak değildir. Bununla birlikte, farklılıklar olduğuna inanıyorum (dilin ve sözdiziminin hızı gibi), ancak Ruby için önerileri özellikle bilmek isterim, yoksa bunun için söylenenden çok daha az kullanılabilir olmasını isterim Python veya Excel. Bu yüzden lütfen bu çok benzer soruların yanı sıra başka bir dil / program için de önceki yanıtları düşünün.

Düzenleme: Sadece cevapları başka bir şekilde devam ediyor gibi görünüyor vurgulamak için, aradığım cevap bağlandığım Python sorusunda seçilen cevap gibi biridir. Bu, Ruby ile birlikte istatistikleri öğrenmekle ilgili değil . R ile istatistik öğrenme sorusuna işaret ettim . Mümkünse harika, ama aynı zamanda Ruby ile istatistik öğrenmeyi beklemiyorum. Bu soru için istatistik arka planını varsayabilirsiniz.


düzenleme için teşekkürler! Teşekkürlerimin silindiğini fark ettim. Sorulara teşekkür etmek kötü bir fikir mi? (Sadece onaylamak istiyorum, benim tarafımda sorun yok - sorunun biraz kapalı yorum yapın, ancak meta için sadece bunun için bir soru başlatmak istemedim).
Oeufcoque Penteano

1
Görüşler biraz farklı. Bir sorunun sonunda kısa bir "Teşekkürler" yaygındır, ancak bundan daha fazlası genellikle gereksiz bir oyalama olarak kabul edilir. SE SSS sayfası gibi site genelindeki meta sitede hızlı bir şekilde rehberlik bulabilirsiniz .
whuber

Yanıtlar:


9

Ruby + R kullanıyorum.

Makaleyi okuyabilirsiniz: RinRuby: R Yorumlayıcısına Pure Ruby'den Erişme

http://www.jstatsoft.org/v29/i04/paper

ve bu blog:

http://rubyforscientificresearch.blogspot.com

http://sciruby.com/

(sciruby kullanıcısının yazarı da R kullanıcısıdır.)


Teşekkür ederim, cevabınız aradığım konuya doğru gidiyor. Referansların 2009 ve 2011 yıllarından kalma olduğunu fark ettim, bu yakutun daha yeni bir literatür olup olmadığını merak ediyorum, yeni bir dil ve her zaman büyüyor mu? Yine de, bu güzel bir başlangıç ​​noktası. Blogun bilimsel araştırmalar için yakut olduğunu düşündüğüm güzel, ki bu benim durumum.
Oeufcoque Penteano

Merhaba, yakut ve rayları seviyorum. Ben de R'yi seviyorum. Daha fazla ve daha fazla rubygems artırın bulabilirsiniz. Ayrıca rubygems.org/stats R de. 2003, R vinç 200, şimdi 3600+ !!! 2011 yılında, Ruby gem 28000, şimdi 36874 mücevher! Ruby + R: D
ouyang

Yakut taşlar üzerinde büyük bir nokta, bunları unuttum. Belki de başkaları, Ruby'nin iyi çalıştığı ve sağlam olduğu bir çalışma tezgahı olarak kullanılması konusunda birkaç yakut taşı önerebilir? Tekrar aradığım şeyle ilgili bir cevap eklediğiniz için teşekkür ederiz.
Oeufcoque Penteano

4

ESKİ (ÖN DÜZENLEME) CEVAP:

İstatistikleri her şeyi kendiniz programlayarak öğreneceğinizi düşünüyorsanız, istatistiksel öğrenme değil, hata ayıklama dolu uzun bir iş için hazır olduğunuzu söyleyebilirim. Ayrıca, cevaplarınızı yine de kontrol etmek için R gibi bir dile ihtiyacınız olacaktır.

Bence user765195, R'nin hata ayıklamak için diğer birçok dilden daha zor olması açısından önemli bir noktaya sahip. Ben öyle düşünmüyorum.

DÜZENLE:

Dolayısıyla, EDIT'inizi özetleyebilirsem: zaten istatistik yaptığınız ve gerçek bir istatistik programı (R, gretl, SAS, vb) yerine bunu yapmak için Ruby'yi gerçekten kullanmak istediğiniz göz önüne alındığında, hayatınızı nasıl kolaylaştırabilirsiniz? . Bu doğru mu?

Ruby cevabı veremiyorum, ancak genel sorunun da ele alınması gerektiğini düşünüyorum. Özellikle aynı sorunun diğer örneklerine işaret ettiğiniz için: "Python / perl / java / Clojure / C / istatistiği ne yaparsanız yapın".

Bence cevap her zaman şöyle olacaktır: "Neden özel bir aracın daha iyi yaptığı bir işi yapmak için genelleştirilmiş, ilkel (istatistik-bilge) bir araç kullanıyorsunuz?" Altı temel yanıtı görebiliyorum:

  1. Başka bir dil öğrenmek istemiyorum ve Python / Ruby / Excel / Java konusunda bilgili olduğum için bu dili kullanmakta ısrar ediyorum.

  2. Yapmak istediğim istatistikler daha büyük bir projeye (web tabanlı bir araç gibi) uymak zorunda ve bu proje tarafından kullanılan araçlar dış araçlarla iyi oynamıyor, bu yüzden Python / Ruby / Java kullanmalıyım. (Veya bir uygulamayı dağıtma meselesi olabilir ve rastgele çalıştırılabilir dosyaları dağıtmayı denemek mümkün değildir.)

  3. Özel bir araç kullanırım, ancak erişebildiğim (ücretsiz olan R, diyelim) çok yavaş veya projem için büyük veri kümelerini / gerçek zamanlı gereksinimleri karşılayamıyor.

  4. İşverenim / müşterim Python / Ruby / Excel / Java genel amaçlı dil kullanmamda ısrar ediyor. Başka seçeneğim yok ve bu şartı yerine getirmenin en az acı verici yolunu arıyorum.

  5. "İstatistikler" ile ortalama / medyan, varyans vb. Bulma gibi çok basit şeyler kastediyorum. Neden tek yapmak istediğim 1-sigma dışında hangi noktaların hesaplandığını MCMC aracılığıyla karışık efekt modellerini hesaplayabilen özel bir paket çekin? ortalamadan uzak mı?

  6. Çok özel bir şey yapıyorum ve R gibi istatistiksel paketlerin bile hiçbir paketi / kütüphanesi / işlevi yok. Sadece son teknoloji değil, aynı zamanda süper yüksek performans gerektirir ve bunu sıfırdan yapmam gerekiyor. (Veya belki de X dilinde geliştirdiğim kütüphaneleri kullanın.)

Bence cevap 1 iyi değil, yanıt 2 meşru olabilir, ancak farkında olmadığınız geçici çözümler olabilir, yanıt 3 meşru olabilir, ancak geçici çözümler de olabilir ve diğer üç yanıt için de , umarım benimkinden daha iyi bir cevap alırsınız.


Bu sorudaki amaç, ruby ​​ile birlikte istatistikleri öğrenmek değil, lütfen düzenlemeye bakın, ancak düşünceleriniz için teşekkür ederiz ve soru yanıltıcıysa özür dilerim, şimdi düzenlemede açık olduğunu umuyorum.
Oeufcoque Penteano

Teşekkür ederim, doğru anladınız . İstatistik bilgisi varsayımı iyidir ve şimdi Ruby'de Python için önerildiği gibi bunun nasıl yapılacağını öğrenmek için kütüphanelere bakıyorum. Sana katılıyorum, birçok motivasyon mümkün, ama yine (sadece bu sayfada karşılaşan bir sonraki okuyucu uğruna), beklenen cevap kütüphaneleri öneren ve Python sorusunda bahsedildiği gibi. Hangi istatistik aracının kullanılacağı hakkında birçok farklı görüş için yer varsa, bu topluluk hakkında onlar hakkında bilgi sağlamanın da mümkün olduğuna inanıyorum. Teşekkürler!
Oeufcoque Penteano

+1. Büyük olasılıkla, "istatistik" ile yazılmış farklı kelimelerden bahsediyoruz. Python veya Ruby kullanılarak günlüklerden kolayca çekilebilen web sitesi kullanım istatistikleri, Cox modelini veya Ruby kullanılarak iki aşamalı tabakalı bir ankete dayalı bir toplamın oran tahmincisinin programlanması gerekliliğinden farklı bir hayvandır. (Biri, Ruby'yi tercih edilen dil olarak düşünmek için cevaplarınızın 2, 3 ve 4 satırları boyunca kesinlikle umutsuz olması gerekir.) Biri en uygun dil olan dil simülasyonları ile öğrenme istatistiklerini tamamlayabilir ve sonra 1 geçerli bir cevaptır.
StasK

@OeufcoquePenteano: Sonunda, sorunumun "çalışma tezgahına" kaydığını düşünüyorum. Python dizisindeki kazanan cevap aslında oldukça spartan. Listelenen kaynakların tümü, temel R ile uyuşmuyor, R paketleri hakkında daha az düşünüyor. Python'da bazı istatistikler yapmak zorundaysanız, birkaç sınırlı seçeneğiniz vardır, ancak biri karıştırılmamalıdır ve Python'un iyi bir istatistiksel "çalışma tezgahı" yaptığını düşünmelidir. Umarım bazı cevaplar alırsınız, ama Ruby Python'dan daha kötüdür.
Wayne

@Wayne, sorun değil. R'yi Ruby, Python veya Excel ile değiştirmeyi düşünmüyorum. Ama Ruby'nin neler sunabileceğini merak ediyorum. Belki Ruby'den birkaç taş, belirli yumurtalardan daha iyidir (Python'a çağırdıkları yumurta mı? Emin değilim) ve tam tersi. Belki Excel birkaç şey için daha iyidir. Örneğin, Excel'in çok yüzeysel analiz yapmaya ve sonra R veya başka bir araca ciddi dalış yapmasına yardımcı olabileceğini düşünüyorum. Yani, 'birini seçmek' meselesi değil, ama her dünyanın en iyisinin ne olduğunu bilmek ve onları bilmek, verilen sorun için daha uygun olanı seçin. Tavsiyeniz için teşekkürler.
Oeufcoque Penteano

-1

Birkaç rastgele düşünce:

  • İstatistikleri öğrenmek için bir tezgah aradığınızı belirtiyorsunuz. IMHO, bahsettiğiniz platformların hiçbiri istatistikleri öğrenmek için iyi olmayacak. Belirli bir dilin sözdizimini ve semantiğini öğrenen çok fazla dikkat dağıtıcı olacaktır. İstatistikleri öğrenmek istiyorsanız, sadece bir kitap (Tukey'nin EDA'sını şiddetle tavsiye ederim) ve belki de bir hesap makinesi alın. İstatistiksel kavramların üstünde bir dil öğrenmek son derece gereksiz bir dikkat dağıtıcıdır.
  • R'deki yavaş döngülerden şikayetçi olan kişi cehaletine ihanet ediyor: döngüler her dilde doğal bir yapı değildir. Çoğu işlevsel programlama dilinde yavaştırlar. Alternatif fonksiyon uygulamasıdır ve bu genellikle hızlıdır.
  • Programlama dilleri söz konusu olduğunda, son endişeniz hız olmalıdır. Çok, çok daha önemli bir konu kodu hata ayıklama kolaylığıdır.
  • Hata ayıklama söz konusu olduğunda, R belki de bildiğim en kötü programlama dilidir. Kodda hata ayıklamak bazen imkansızdır. Bunun da ötesinde, mevcut paketlerin belgeleri genellikle çok kötü yazılmıştır. Genel olarak, tavsiyem, eğer R'yi önleyebiliyorsanız, yapın.
  • Python'un istatistiksel içeriğine çok az alışkınım. Anladığım kadarıyla, NumPy gerçekten profesyonelce yazılmamış ve sayısal konuları dikkate almıyor.
  • Haskell'i düşündün mü? Kesinlikle orada en iyi programlama dili.

Merhaba! Fikrin için teşekkür ederim. R'ye karşı farklı bir görüş gördüğüme sevindim. Burada da söylemediğiniz diğer araçları da araştırdığım için söylediklerinizi de dikkate alacağım. Belki de sorum yanıltıcıydı. Hala istatistikleri öğreniyorum ve aslında R ile ilgili sorum bu konudaydı, ama Ruby için bu farklı bir şey. Python ve excel için olduğu gibi bir tezgah olarak ruby ​​için neyin mevcut olduğunu merak ediyorum. Ayrıca Haskell'e bakmayı da düşüneceğim, ancak Ruby ile ilgili herhangi bir öneriniz varsa, ben de takdir ediyorum! Teşekkür ederim!
Oeufcoque Penteano

İstatistikler için Haskell? Gereksiz bir oyalama hakkında konuşun ...
Phillip Cloud

-1, r hata kodu imkansız?
mpiktas

Bu cevapta sadece R'de hata ayıklama ile ilgili paragrafın doğru olmadığını belirtmeliyim. Diğer her şey bir oylamayı hak ediyor gibi görünüyor. Hiç tecrübem olmayan Haskell hariç. Ancak hata ayıklama ile ilgili not açıktır.
mpiktas

1
@cpcloud: Matematik ve istatistik dili lambda hesabıdır. Haskell lambda taşı dışında bir şey değildir. Matematiksel yapılar Haskell'de bir matematik kitabında yazıldığı gibi ifade edilir. Bu nedenle, dilin ek yükü neredeyse sıfırdır. Aslında, "Haskell Mantık Yolu" kitabı Haskell'i kullanarak matematik öğretiyor. Bu kitaba bir göz atmanı öneririm.
user765195
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.