統計ワークベンチとしてのRuby


13

また、これは非常に多くの関係する質問ですワークベンチの統計情報としてPython統計作業台として優れ。RubyとPythonについて大きな議論があることは知っていますが、これはこの質問のポイントではありません。RubyはPythonよりも速く、非常に自然な構文を持っていると統計を理解するのに役立ち、Rの良い代替品になる可能性があると思いました(これも私の興味であり、Rに関する他の質問で引用されました)。たとえば、私が見たGoogle Techの講義の1つで(ここでリンクされている質問で引用されているように、講師はforループの作成中にRが遅いと文句を言います)。RubyにはRailsもあります。そのため、両方を統合する可能性があるかもしれません(PythonにはDjangoがありますが、私はここには入りません)。

したがって、質問は同じですが、私の興味のために、Rubyに:

  • R、SPSS、Python、Excelなどを置き換える「統計ワークベンチ」としてRubyを使用したい場合、何をお勧めできますか?

  • あなたの経験に基づいて、私は何を獲得し、失いますか?

以前のPythonとExcelの質問に基づいてこの質問を検討していることに注意してください。RubyとPython(またはExcel)を使用しても同じ影響があると思われる場合は、そう言って、前の質問の引数を指してください。この質問の目的は、同じ答えに対して前の質問を複製することではありません。ただし、違いはあると思います(言語の速度や構文など)が、Rubyの推奨事項や、たとえば、 PythonまたはExcel。そのため、これらの非常に類似した質問に対する他の言語/プログラムに対する以前の回答を検討してください。

編集:答えが逆になっているように見えるので、強調するために、私が探していた答えは、私がリンクしているPythonの質問で選ばれた答えのようなものです。Rubyとともに統計を学習することではありません。私はRで統計を学ぶという質問を指摘しました。可能であれば素晴らしいのですが、同時にRubyで統計を学ぶことを期待していません。この質問の統計情報の背景を推測できます。


編集ありがとうございます!私は感謝が一掃されたことに気付きました。質問についてありがとうと言うのは悪い考えですか?(確認したいのですが、私の側に問題はありません-質問のトピックから少しコメントを外しますが、これだけのためにメタで質問を開始したくありませんでした)。
ウーフコックペンテアーノ

1
意見は少し異なります。質問の最後に短い「ありがとう」が一般的ですが、それ以上は通常、不必要な注意散漫と見なされます。SE FAQページなど、サイト全体のメタサイトでガイダンスをすばやく見つけることができます
whuber

回答:


9

私はRuby + Rを使用しています。

論文を読むことができます:RinRuby:Pure RubyからRインタープリターにアクセスする

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

そしてこのブログ:

http://rubyforscientificresearch.blogspot.com

http://sciruby.com/

(scirubyの著者はRユーザーでもあります。)


ありがとうございます、あなたの答えは私が探しているものの方向に行きます。参考文献は2009年と2011年のものであることに気付きましたが、この特定のルビーに関する最新の文献はかなり新しい言語であり、常に成長しているのでしょうか?それでも、これは良い出発点だと思います。ブログが科学研究のためにルビーを考慮しているのは素晴らしいことです。
ウーフコックペンテアーノ

こんにちは、ルビーとレールが大好きです。私もRが大好きです。rubygemsを増やすことができます。rubygems.org/stats Rも同様です。2003、Rクランは200で、現在は3600以上です!!! 2011年、Ruby gemは28000、現在は36874 gemです!Ruby + R:D
ouyang

ルビーの宝石の素晴らしい点、私はそれらを忘れていました。おそらく、他の人々は、Rubyをワークベンチとして使用することに関して、よく知られている堅牢なRuby gemをほとんど提案できないでしょうか?私が再び探しているものについての答えを追加してくれてありがとう。
ウーフコックペンテアーノ

4

古い(事前編集)回答:

すべてを自分でプログラミングして統計を学習すると思うなら、統計学習ではなく、デバッグでいっぱいの長いスローガンが必要だと思います。さらに、回答を確認するにはRのような言語が必要です。

user765195には、Rが他の多くの言語よりデバッグしにくいという点がありますが、これは重要ですが、「最悪」ですか?そうは思いません。

編集:

あなたの編集を要約することができます:あなたがすでに統計を行っており、実際の統計プログラム(R、gretl、SASなど)の代わりにRubyを実際に使用したい場合、どのようにあなたの人生を楽にすることができますか? 。そうですか?

Rubyで答えることはできませんが、一般的な質問にも対処する必要があると思います。特に、同じ質問の他のインスタンス化を指しているため、「Python / perl / java / Clojure / C / whatever統計を使用したい」。

私は答えは常にあると思います:「なぜ、一般化された原始的な(統計的に)ツールを使用して、専用ツールがはるかに優れた仕事をするのか?」そして、私は6つの基本的な返信を見ることができます:

  1. 私は別の言語を学びたくないだけで、Python / Ruby / Excel / Javaに精通しているので、その言語を使用することを主張します。

  2. 私がやりたい統計は、より大きなプロジェクト(Webベースのツールなど)に収まらなければならず、このプロジェクトで使用されるツールは外部のツールとうまく動作しないため、Python / Ruby / Javaを使用する必要があります。(または、アプリケーションのデプロイの問題である可能性があり、任意の実行可能ファイルをデプロイしようとすることはできません。)

  3. 私は特殊なツールを使用しますが、アクセスできるツール(たとえばRは無料)は遅すぎるか、プロジェクトの膨大なデータセット/リアルタイム要件を処理できません。

  4. 私の雇用主/クライアントは、汎用言語Python / Ruby / Excel / Javaを使用すると主張しています。私には選択肢がなく、この要件に従うための最も苦痛の少ない方法を探しています。

  5. 「統計」とは、平均値/中央値、分散などを見つけるような非常に単純なものを意味します。1シグマの外にあるポイントを計算するだけで、MCMCを介して混合効果モデルを計算できる特別なパッケージを使用する理由平均から離れて?

  6. 私は非常に特別なことをしています。Rのような統計パッケージでさえ、パッケージ/ライブラリ/関数がありません。それは最先端であるだけでなく、超高性能を必要とするため、ゼロから実行する必要があります。(または、おそらく言語Xで既に開発したライブラリを使用します。)

私の意見では、返信1は良いものではありません、返信2は正当であるかもしれませんが、あなたが気付いていない回避策があるかもしれません、返信3は正当である可能性が高いですが、回避策があるかもしれません、そして他の3つの返信のために、私よりも良い答えが得られることを願っています。


この質問の目標は、ルビーと一緒に統計を学ぶことではなく、編集をご覧ください。しかし、質問が誤解を招く場合はご意見をお寄せいただきありがとうございます。
ウーフコックペンテアーノ

ありがとう、あなたはそれを正しかった。統計知識の前提は問題ありません。現在、Pythonで提案されているように、Rubyでそれを行う方法を学ぶためにライブラリを探しています。私はあなたに同意します、多くの動機が可能ですが、再び(このページに出会う次の読者のために)期待される答えは、Pythonの質問で言及されたようなライブラリを示唆するものです。どの統計ツールを使用するかについて多くの異なる意見の余地があれば、このコミュニティでそれらについての知識を利用できるようにすることもあると思います。ありがとう!
ウーフコックペンテアーノ

+1。ほとんどの場合、「統計」と綴られたさまざまな単語について話します。PythonまたはRubyを使用してログから簡単に取得できるWebサイトの使用統計は、CoxモデルまたはRubyを使用した2段階の層別調査に基づく合計の比率推定の分散をプログラムする必要があるとは異なります。(答えの2、3、4の線に沿って絶対に必死にならなければ、Rubyを選択言語として考えることさえできません。)学習統計を最も便利な言語のシミュレーションで補完することができます。有効な答えです。
StasK

@OeufcoquePenteano:結局、私の問題は「ワークベンチ」に帰着すると思います。Pythonスレッドでの勝利の答えは、実際にはかなり質素です。リストされているすべてのリソースは、ベースRとも一致せず、Rパッケージについてはあまり考えていません。Pythonでいくつかの統計を行う必要がある場合、いくつかの制限されたオプションがありますが、混乱しないで、Pythonが優れた統計「ワークベンチ」を作ると考えるべきではありません。答えが得られることを願っていますが、RubyはPythonよりもひどい状態です。
ウェイン

@ウェイン、それは結構です。RをRuby、Python、またはExcelと交換する予定はありません。しかし、Rubyが提供するものを知りたいです。Rubyの宝石の中には、特定の卵(Pythonで呼び出す卵ですか?確かではありません)よりも優れているものもあります。たぶん、Excelはいくつかの点で優れています。たとえば、Excelは非常に表面的な分析を行い、Rやその他のツールに真剣に取り組むのに役立つと思います。だから、それは「1つを選択する」問題ではありませんが、それぞれの世界の最高のものを知っており、それらを知って、与えられた問題により適切なものを選択してください。助言ありがとう。
ウーフコックペンテアーノ

-1

いくつかのランダムな考え:

  • あなたは、統計を学ぶためのワークベンチを探していると言います。私見、あなたが言及するプラットフォームはどれも統計の学習に適していません。気が散りすぎて、特定の言語の構文とセマンティクスを学習します。統計を学習したい場合は、本(TukeyのEDAを強くお勧めします)と、おそらく電卓を選んでください。統計的概念に基づいて言語を学習することは、非常に不必要な注意散漫です。
  • Rの遅いループについて文句を言う人は、彼の無知を裏切っています。ループはすべての言語で自然な構造ではありません。ほとんどの関数型プログラミング言語では遅いです。代替手段は関数の適用であり、通常は高速です。
  • プログラミング言語に関しては、速度が最後の懸念事項です。はるかに重要な問題は、コードのデバッグのしやすさです。
  • デバッグに関しては、Rはおそらく私が知っている最悪のプログラミング言語です。コードをデバッグできない場合があります。それに加えて、既存のパッケージのドキュメントは通常非常に不十分に書かれています。全体として、私のアドバイスは、もしあなたがRを避けることができるなら、それをすることです。
  • 私はPythonの統計コンテンツに少ししか精通していません。私の理解では、NumPyは実際には専門的に書かれたものではなく、数値の問題を考慮していません。
  • Haskellを検討しましたか?これは間違いなく最高のプログラミング言語です。

こんにちは!ご意見ありがとうございます。Rに対して異なる意見を見ることができてうれしいです。ここで言及されていない他のツールも検討しているので、あなたが言っていることも考慮に入れます。たぶん私の質問は誤解を招くものでした。私はまだ統計を学んでおり、実際、Rに関する私の質問はこれに関するものでしたが、Rubyにとってはそれは別のものです。pythonやexcelで利用できるようなワークベンチとしてrubyで利用できるものに興味があります。Haskellを検討することも検討しますが、Rubyについて何か提案があれば、感謝します!ありがとうございました!
ウーフコックペンテアーノ

Haskellの統計情報は?不要な気晴らし程度の話...
フィリップクラウド

-1、rでコードをデバッグできませんか?
mpiktas

この回答では、Rでのデバッグに関する段落のみが正しくないことに注意してください。それ以外はすべて賛成に値するようです。Haskellを除き、私は経験がありません。しかし、デバッグに関する注意事項は注目されています。
mpiktas

1
@cpcloud:数学と統計の言語はラムダ計算です。Haskellはラムダ計算に他なりません。数学の構成要素は、数学の本に書かれているのとまったく同じ方法でHaskellで表現されます。そのため、言語のオーバーヘッドはほとんどゼロです。実際、「The Haskell Road to Logic」という本は、Haskellを使用して数学を教えています。その本をご覧になることをお勧めします。
user765195
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.