Ruby sebagai meja kerja statistik

13

Ini juga merupakan pertanyaan yang sangat terkait dengan Python sebagai meja kerja statistik dan unggul sebagai meja kerja statistik . Saya tahu ada diskusi besar tentang Ruby versus Python tetapi ini bukan poin dari pertanyaan ini. Saya berpikir bahwa Ruby lebih cepat daripada Python dan memiliki sintaksis yang sangat alami dapat bermanfaat bagi saya untuk memahami statistik dan juga bisa menjadi alternatif yang baik untuk R (yang juga menarik minat saya dan dikutip pada pertanyaan saya yang lain tentang R di sini). Misalnya, pada salah satu kuliah Google Tech yang pernah saya lihat (dikutip pada pertanyaan terkait di sini, instruktur mengeluh bahwa R lambat saat membuat for loop). Dengan Ruby ada juga Rails, jadi mungkin akan ada kemungkinan untuk mempertemukan keduanya juga (Python memang punya Django, tapi sekali lagi saya tidak membahasnya).

Jadi, pertanyaannya tetap sama, tetapi untuk minat saya, di Ruby:

  • Apa yang dapat Anda rekomendasikan jika saya ingin menggunakan Ruby sebagai "meja kerja statistik" untuk menggantikan R, SPSS, Python, Excel dll.?

  • Apa yang akan saya dapatkan dan kehilangan, berdasarkan pengalaman Anda?

Harap perhatikan saya mempertimbangkan pertanyaan ini berdasarkan pada pertanyaan Python dan Excel sebelumnya. Jika Anda yakin menggunakan Ruby dan Python (atau Excel) akan memiliki dampak yang sama, maka tolong katakan demikian dan arahkan ke argumen dari pertanyaan sebelumnya, maksud pertanyaan ini bukan untuk mereplikasi pertanyaan sebelumnya untuk jawaban yang sama. Namun, saya percaya ada perbedaan (seperti kecepatan bahasa dan sintaksis), tetapi saya juga secara khusus ingin mengetahui rekomendasi untuk Ruby atau jika ada, misalnya jauh lebih sedikit tersedia untuk itu daripada mengatakan untuk Python atau Excel. Jadi tolong pertimbangkan jawaban sebelumnya untuk pertanyaan yang sangat mirip ini tetapi untuk bahasa / program lain.

Sunting: Hanya untuk menggarisbawahi karena jawaban tampaknya berjalan di sisi lain, jawaban yang saya cari adalah salah satu seperti jawaban yang dipilih pada pertanyaan Python yang telah saya tautkan. Ini bukan tentang belajar statistik bersama dengan Ruby. Saya melakukan arahkan ke pertanyaan belajar statistik dengan R . Jika memungkinkan, tetapi saya tidak mengharapkan untuk belajar statistik dengan Ruby pada saat yang sama. Anda dapat mengasumsikan latar belakang statistik untuk pertanyaan ini.

Oeufcoque Penteano
sumber
terima kasih sudah mengedit! Saya perhatikan terima kasih saya terhapus. Apakah ide yang buruk untuk mengucapkan terima kasih atas pertanyaannya? (Hanya ingin mengkonfirmasi, tidak ada masalah di pihak saya - komentar sedikit dari topik pertanyaan, tapi saya tidak ingin memulai pertanyaan tentang meta hanya untuk ini).
Oeufcoque Penteano
1
Pendapat sedikit berbeda. Singkat "Terima kasih" di akhir pertanyaan adalah umum, tetapi lebih dari itu biasanya dianggap sebagai gangguan yang tidak perlu. Anda dapat dengan cepat menemukan panduan di situs meta-situs, seperti halaman FAQ SE .
whuber

Jawaban:

9

Saya menggunakan Ruby + R.

Anda dapat membaca makalah: RinRuby: Mengakses R Interpreter dari Pure Ruby

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

dan blog ini:

http://rubyforscientificresearch.blogspot.com

http://sciruby.com/

(penulis sciruby juga adalah pengguna R.)

ouyang
sumber
Terima kasih, jawaban Anda mengarah pada apa yang saya cari. Saya perhatikan bahwa tanggal referensi dari 2009 dan 2011, saya bertanya-tanya apakah ada literatur yang lebih baru tentang ruby ​​yang diberikan ini adalah bahasa yang cukup baru dan selalu berkembang? Tetap saja, saya kira ini adalah titik awal yang bagus. Bagus bahwa blog mempertimbangkan ruby ​​untuk penelitian ilmiah, yang sebenarnya merupakan kasus saya.
Oeufcoque Penteano
Hai, saya suka ruby ​​dan rails. Saya suka R juga. Anda dapat menemukan rubygem meningkat lebih banyak dan lebih banyak. rubygems.org/stats R juga. 2003, R cran adalah 200, sekarang adalah 3600+ !!! pada tahun 2011, permata Ruby adalah 28000, sekarang adalah 36874 permata! Anda dapat menikmati Ruby + R: D
ouyang
Poin bagus pada permata ruby, saya lupa tentang itu. Mungkin orang lain dapat menyarankan beberapa permata ruby ​​tentang masalah menggunakan Ruby sebagai meja kerja yang terkenal bekerja dan kuat? Terima kasih telah menambahkan jawaban tentang apa yang saya cari lagi.
Oeufcoque Penteano
4

JAWABAN LAMA (PRE-EDIT):

Jika Anda pikir Anda akan belajar statistik dengan memprogram semuanya sendiri, saya akan mengatakan Anda berada dalam slog panjang penuh debugging dan bukan pembelajaran statistik. Selain itu, Anda perlu bahasa seperti R untuk memeriksa jawaban Anda.

Saya pikir user765195 memiliki titik dalam hal R menjadi lebih sulit untuk di-debug daripada banyak bahasa lain, yang penting, tetapi "terburuk"? Saya kira tidak.

EDIT:

Jadi jika saya dapat meringkas EDIT Anda: mengingat Anda sudah melakukan statistik, dan mengingat bahwa Anda benar-benar ingin menggunakan Ruby untuk melakukannya daripada program statistik yang sebenarnya (R, gretl, SAS, dll.), Bagaimana Anda dapat membuat hidup Anda lebih mudah . Apakah itu benar?

Saya tidak bisa memberikan jawaban Ruby, tapi saya pikir pertanyaan umum juga harus diatasi. Terutama karena Anda menunjuk kembali ke contoh lain dari pertanyaan yang sama: "Saya ingin menggunakan Python / perl / java / Clojure / C / apa pun untuk melakukan statistik".

Saya pikir jawabannya akan selalu: "mengapa menggunakan alat umum, primitif (statistik-bijaksana) untuk melakukan pekerjaan yang alat khusus lakukan jauh lebih baik?" Dan saya dapat melihat enam balasan dasar:

  1. Saya tidak ingin belajar bahasa lain, dan karena saya berpengalaman dalam Python / Ruby / Excel / Java, saya bersikeras menggunakan bahasa itu.

  2. Statistik yang ingin saya lakukan harus sesuai dengan proyek yang lebih besar (seperti alat berbasis web) dan alat yang digunakan oleh proyek ini tidak bermain bagus dengan alat luar, jadi saya harus menggunakan Python / Ruby / Java. (Atau mungkin masalah penerapan aplikasi dan tidak mungkin untuk mencoba menggunakan executable yang sewenang-wenang.)

  3. Saya akan menggunakan alat khusus, tetapi yang saya miliki aksesnya (katakanlah R, yang gratis) terlalu lambat atau tidak dapat menangani kumpulan data besar / persyaratan waktu nyata untuk proyek saya.

  4. Majikan / klien saya bersikeras saya menggunakan bahasa tujuan umum Python / Ruby / Excel / Java. Saya tidak punya pilihan, dan saya sedang mencari cara yang paling tidak menyakitkan untuk mengikuti persyaratan ini.

  5. Dengan "statistik", saya maksudkan hal-hal yang sangat sederhana seperti menemukan cara / median, varian, dll. Mengapa menarik paket khusus yang dapat menghitung model efek campuran melalui MCMC ketika semua yang ingin saya lakukan adalah menghitung poin apa yang berada di luar 1-sigma jauh dari mean?

  6. Saya melakukan sesuatu yang sangat khusus, dan untuk itu bahkan paket statistik seperti R tidak memiliki paket / pustaka / fungsi. Tidak hanya canggih, tetapi membutuhkan kinerja super tinggi, dan saya harus melakukannya dari awal. (Atau mungkin menggunakan perpustakaan yang sudah saya kembangkan dalam bahasa X.)

Menurut pendapat saya, balasan 1 bukan yang baik, balasan 2 mungkin sah, tetapi mungkin ada solusi yang tidak Anda sadari, balasan 3 lebih mungkin sah tetapi juga mungkin ada solusi, dan untuk tiga balasan lainnya , semoga Anda mendapat jawaban yang lebih baik dari saya.

Wayne
sumber
Sasaran dalam pertanyaan ini bukan untuk mempelajari statistik bersama ruby, silakan lihat hasil edit, tapi terima kasih atas pemikiran Anda dan maaf jika pertanyaannya menyesatkan, saya harap sudah jelas sekarang di edit.
Oeufcoque Penteano
Terima kasih, kamu benar . Asumsi tentang pengetahuan statistik baik-baik saja, dan sekarang saya mencari di perpustakaan untuk mempelajari bagaimana melakukannya di Ruby, seperti yang disarankan untuk Python. Saya setuju dengan Anda, banyak motivasi mungkin, tetapi sekali lagi (hanya demi pembaca berikutnya yang menemukan halaman ini), jawaban yang diharapkan adalah salah satu yang menyarankan perpustakaan dan seperti yang disebutkan pada pertanyaan Python. Saya percaya bahwa jika ada ruang untuk banyak pendapat berbeda tentang alat statistik mana yang akan digunakan, ada juga untuk membuat pengetahuan tersedia tentang mereka di komunitas ini. Terima kasih!
Oeufcoque Penteano
+1. Kemungkinan besar, kita berbicara tentang kata-kata berbeda yang dieja "statistik". Statistik penggunaan situs web yang dapat dengan mudah ditarik dari log menggunakan Python atau Ruby adalah binatang yang berbeda dari mengatakan harus memprogram model Cox atau varian penaksir rasio dari total berdasarkan pada survei bertingkat dua tahap menggunakan Ruby. (Seseorang harus benar-benar putus asa di sepanjang baris jawaban Anda 2, 3 dan 4 untuk bahkan berpikir tentang Ruby sebagai bahasa pilihan.) Seseorang dapat melengkapi statistik belajar mereka dengan simulasi di mana bahasa yang paling nyaman, dan kemudian 1 adalah jawaban yang valid.
Tugas
@OeufcoquePenteano: Pada akhirnya, saya pikir masalah saya menjadi "workbench". Jawaban yang menang di utas Python sebenarnya cukup sederhana. Semua sumber daya yang terdaftar digabungkan bahkan tidak cocok dengan basis R, apalagi memikirkan paket R. Jika Anda HARUS melakukan beberapa statistik dalam Python, Anda memiliki beberapa opsi terbatas, tetapi orang tidak boleh bingung dan berpikir bahwa Python membuat statistik "meja kerja" yang baik. Saya harap Anda mendapatkan beberapa jawaban, tetapi Ruby lebih buruk daripada Python.
Wayne
@ Wyne, itu baik-baik saja. Saya tidak berencana untuk menukar R untuk Ruby, Python atau Excel. Tapi saya ingin tahu apa yang ditawarkan Ruby. Mungkin beberapa permata dari Ruby lebih baik daripada telur tertentu (apakah itu telur yang mereka panggil dengan Python? Tidak yakin), dan sebaliknya. Mungkin Excel lebih baik untuk beberapa hal. Sebagai contoh, saya pikir Excel dapat membantu melakukan beberapa analisis yang sangat dangkal dan kemudian mendapatkan menyelam serius ke R atau alat lainnya. Jadi, ini bukan masalah 'memilih satu', tetapi tahu apa yang terbaik dari masing-masing dunia dan mengenal mereka, pilihlah yang lebih tepat untuk masalah yang diberikan. Terima kasih atas saranmu.
Oeufcoque Penteano
-1

Beberapa pemikiran acak:

  • Anda menyebutkan bahwa Anda sedang mencari meja kerja untuk mempelajari statistik. IMHO, tidak ada platform yang Anda sebutkan akan baik untuk belajar statistik. Akan ada terlalu banyak gangguan, mempelajari sintaks dan semantik bahasa tertentu. Jika Anda ingin belajar statistik, ambil saja sebuah buku (saya sangat merekomendasikan EDA Tukey), dan mungkin sebuah kalkulator. Belajar bahasa di atas konsep statistik adalah gangguan yang sangat tidak perlu.
  • Orang yang mengeluh tentang loop lambat dalam R mengkhianati ketidaktahuannya: loop bukanlah konstruksi alami dalam setiap bahasa. Mereka lambat di sebagian besar bahasa pemrograman fungsional. Alternatifnya adalah aplikasi fungsi, dan itu biasanya cepat.
  • Ketika datang ke bahasa pemrograman, kecepatan harus menjadi perhatian terakhir Anda. Masalah yang jauh lebih penting adalah kemudahan untuk debug kode.
  • Ketika datang ke debugging, R mungkin adalah bahasa pemrograman terburuk yang saya tahu. Terkadang mustahil untuk men-debug kode. Selain itu, dokumentasi untuk paket yang ada biasanya ditulis dengan sangat buruk. Secara keseluruhan, saran saya adalah, jika Anda dapat menghindari R, lakukanlah.
  • Saya hanya sedikit akrab dengan konten statistik Python. Pemahaman saya adalah bahwa NumPy tidak benar-benar ditulis secara profesional dan tidak mempertimbangkan masalah numerik.
  • Sudahkah Anda mempertimbangkan Haskell? Ini jelas merupakan bahasa pemrograman terbaik di luar sana.
pengguna765195
sumber
Halo! Terima kasih atas pendapat Anda. Saya senang melihat pendapat yang berbeda terhadap R. Saya akan mempertimbangkan apa yang Anda katakan juga, karena saya juga mencari alat lain yang tidak disebutkan di sini. Mungkin pertanyaan saya menyesatkan. Saya masih belajar statistik, dan sebenarnya pertanyaan saya mengenai R adalah tentang ini, tetapi bagi Ruby itu adalah sesuatu yang berbeda. Saya ingin tahu apa yang tersedia untuk ruby ​​sebagai meja kerja seperti itu tersedia untuk python dan excel. Saya juga akan mempertimbangkan untuk melihat Haskell, tetapi jika Anda memiliki saran mengenai Ruby, saya juga akan menghargai! Terima kasih!
Oeufcoque Penteano
Haskell untuk statistik? Bicara tentang gangguan yang tidak perlu ...
Phillip Cloud
-1, tidak mungkin untuk men-debug kode dalam r?
mpiktas
Saya harus mencatat, bahwa hanya paragraf tentang debugging di R yang tidak benar dalam jawaban ini. Segala sesuatu yang lain tampaknya layak mendapat dukungan. Kecuali Haskell, yang saya tidak punya pengalaman. Tetapi catatan tentang debugging sangat tepat.
mpiktas
1
@cpcloud: Bahasa matematika dan statistik adalah lambda-calculus. Haskell tidak lain adalah lambda-calculus. Konstruk matematika diekspresikan dalam Haskell dengan cara yang persis sama seperti yang tertulis dalam buku matematika. Karena itu, overhead dari bahasa hampir nol. Bahkan, buku "The Haskell Road to Logic" mengajarkan matematika dengan menggunakan Haskell. Saya sarankan Anda melihat buku itu.
user765195