最近、いくつかのことについてもう少し統計分析を行っていますが、この目的に特に適したプログラミング言語があるかどうかに興味があります。私はRについて知っていますが、もう少し汎用的なものを好むでしょう (または R はかなり汎用的なものですか?)。
皆さんはどんな提案がありますか?構文/セマンティクスが特にこれに向けられている言語はありますか? または、非常に優れたライブラリを持つ言語はありますか?
最近、いくつかのことについてもう少し統計分析を行っていますが、この目的に特に適したプログラミング言語があるかどうかに興味があります。私はRについて知っていますが、もう少し汎用的なものを好むでしょう (または R はかなり汎用的なものですか?)。
皆さんはどんな提案がありますか?構文/セマンティクスが特にこれに向けられている言語はありますか? または、非常に優れたライブラリを持つ言語はありますか?
コンテストはありません -- S の主要な実装としてのR (そして、たまたま適切なオープン ソースであり、GNU プロジェクトでもあります)。
この目的のために正確に設計された S 言語(John Chambers の著書を参照) だけでなく、CRANでのドメイン固有パッケージのかなり豊富なサポートは他の追随を許しません。フィールド。
ACM は、1998 年に John Chambers に ACM Software Systems Award を授与したときと同じように考えています。
ジョン・M・チェンバーズ
人々がデータを分析、視覚化、操作する方法を永遠に変えた S システムの場合。
参考までに、この賞の他の受賞者は、TeX、Smalltalk、Postscript、RPC、「ウェブ」、Mosaic、Tcl/Tk、Java、Make などでした。参加するのは悪い会社ではありません。
さて、いくつかのデータを収集して要約したいだけなら、ほぼすべての手続き型言語または関数型言語で十分です。しかし、データを使ったプログラミング用に設計されたものが必要な場合は、R をメインの S 実装として使用します。
Dirkが言うように、 Rが統計に最適な言語であることは間違いありません。これにいくつかのポイントを追加したいだけです:
まず、Rを使うべき主な理由はコミュニティのためだと思います。この段階では、学界や産業界の専門家によって非常に頻繁に使用されているため、CRANの富に匹敵する言語は他にありません。
第二に、Rという言語は一緒に仕事をするのが楽しいことを認識しておく必要があります。それは私の第一言語であり、代替言語を試したので、すぐにそれを放棄するつもりはありません。しかし、それはまた、データを使ったプログラミングの強さを独占しておらず、この主張は行き過ぎである可能性があります。すべてのLispおよび関数型言語はデータプログラミングに強いです。結局のところ、Lispは「リストプログラミング」から派生したものであり、言語をRに与えるのはLispの影響です。
R言語のいくつかの深い設計上の問題のために、実際にLispを未来の統計的言語として見ているRコミュニティのメンバー(例:Ross Ihaka)がいます(「バック・トゥ・ザ・フューチャー」の論文を参照してください)(例:マルチスレッドなし)。
したがって、Rは間違いなく統計計算に最適な言語ですが、OCaml、Haskell、または(おそらく)Clojure/Incanterなどの別の言語に精通していることにはある程度の価値があります。
私の経験から、R
は次の分野で非常に強力な言語です。
データの操作と変換。
統計分析。
グラフィック。
しかしR
、決してスリートリック ポニーではありません。また、上記のカテゴリに完全には当てはまらないタスクにもこの言語を適用しました。いくつかの例は次のとおりです。
さまざまなアーキテクチャの静的ライブラリと動的ライブラリを識別して照合し、結果のグループを .NET 経由で実行することにより、OSX ユニバーサル バイナリの作成を支援するスクリプトlipo
。
Web ページから情報をスクレイピングするためのスクリプト。
ジオリファレンスされた画像を作成し、 を使用して画像をタイルセットに切り取り、出力を説明GDAL
するマニフェストを形成しJSON
、結果を Web サイトにアップロードして ですぐに表示するための一連のスクリプトOpenLayers
。
を使用する際の私のお気に入りの部分はR
、次のように言う頻度です。
うわあ!それを行うパッケージがありますか?!
プログラムsageを見ることができます。これは、Python構文を使用して、統計(R、matlab、octaveなど)用のさまざまなプログラミング言語を呼び出すことができるPythonインタープリターの再実装です。
統計を実行するプログラムを作成する際の主要な問題の1つは、それぞれが個別のタスクを実行する多くの異なる小さなスクリプトが作成され、結果に乱雑なフォルダーや混乱が生じる可能性があることです。
したがって、プログラミング言語を選択する以外に(他の人がすでにあなたの質問に答えていると思います)、スクリプトのパイプラインを定義するための構文も必要です。プログラム「gnu / make」(たとえば、これを読む)またはこの賢者、または他の解決策があります。
あなたがしているのが統計だけなら、 Rは素晴らしいです。それは素晴らしいインタラクティブなインターフェースと視覚化ツールを持っています。ただし、その構文とセマンティクスは統計を行うために非常に高度に最適化されているため、汎用言語として使用するのはかなり困難です。より汎用的な言語が必要な場合は、SciPyを使用したPythonが適切な選択ですが、私はそれを使用しており、その中の統計ルーチンはやや未熟であることがわかりました。それらはしばしば非効率的であるか、コーナーケースで失敗します。
大規模なデータセットでデータマイニングを行っている場合、パフォーマンスを重要視している場合、および/またはアルファ風のツールを使用してもかまわない場合は、Dプログラミング言語とdstatsライブラリが非常に優れています。Dはほぼ汎用の言語ですが、テンプレートメタプログラミングにより、静的にコンパイルされた金属に近い言語でも優れたAPIを簡単に設計できるため、IMHOdstatsは非常に使いやすい言語です。(完全な開示:私はほとんどのdstatsを書いたので、もちろんそれは良いことだと思います。)
私の大学のほとんどの統計コースは R を使用しており、そのようなコースを受講した友人のほとんどはその範囲と到達範囲に非常に満足しているため、R と言えます。
MATLAB も試してみましたが、非常に便利であることがわかりました。
乾杯
MatLabのようなものを使用することを検討しましたか? データ分析を実行するための多くの高度な機能があり、環境でプログラミングを行うことができます。
スタタはどうですか?私には、経済学博士課程の学生である友人がいて、彼は常に Stata を絶賛しています。また、私はMathematicaに個人的に親近感を持っています。
市場統計を専門とする私の友人は、SASを使用しています。私はそれについてあまり知りません-「本物の」言語のようには見えませんが、チェックする価値があるかもしれません.
私はすべて、R バインディングを備えた Python に賛成です。
R についても +1 したいと思います。特に非プログラマーにとっては、STATA や SPSS ほど扱いにくいかもしれません。平均的なスタックオーバーフラワーは、私よりずっとプログラマーだと思います。
そうは言っても、ユーザー(経済学者の観点から)からいくつかの統計パッケージを見たので、簡単な概要を説明したいと思います。
STATA は依然として大多数のエコノミストの選択肢であり、実際にはいくつかの利点があります。STATAS GUI は、多数のオプションと統計機能を管理するのに役立ちます。その上、STATA は、ベンチマークに少なくともある程度近いメーリング リストを持つ唯一のパッケージであると思われます: 唯一無二の R メーリング リストです。それでも、洗練された .do ファイルを作成したり、Web からダウンロードしたりできます。STATA は R ほどプログラミング言語に近くないかもしれませんが、それでも統計目的には優れたプログラミング言語を提供します。データセットのサイズに応じて、必要なライセンスを確認する必要があります。
SPSS を使用することもできます。SPSS は、STATA よりもさらに GUI ツールであり、たとえば TOBIT モデルやパネル回帰、特に離散選択モデルなどの計量経済学的作業には、少し包括的ではありません。
また、Eviews もあります。残念ながら、私はそれについてほとんど忘れており、研究でいくつかの簡単な回帰に使用しただけです。したがって、ここで名前を付けるだけです。パックの残りの部分よりも数学的に見えるGAUSSについても同じです。最近、Octave について聞いたことがあります。Octave は、より数学的なものでもあります。
私の個人的な使用法では、R は何よりも頭と肩です。時折、Python でペアリングしたり、MySQL または PostgreSQL データベースに接続したりしますが、これもうまく機能します。R は統計学を学ぶのに本当に役立ちます。何かを行うには、SPSS のようなものをクリックする必要があるよりも多くのことを理解する必要があるからです。GUI が必要な場合は、RKward を試すか、Windows に Komodo / Sciviews-R または Tinn-R をインストールすることを検討してください。後者は GUI ではありませんが、多かれ少なかれ Code Highlight とコードの提案をサポートするエディターであり、コードの実行にも役立ちます。Farnsworth Econometrics in R はよく読んでいます。ああ、そして、プロットについて言及することを忘れることはできません。Hadley Wickham の ggplot2 パッケージはすぐに使えます。インタラクティブにする必要がない限り、グラフィックスを作成する最良の方法です。
APLは明らかに、統計作業に最適な言語の 1 つです。汎用ではないですが…
ascii を使用しないため、特別なキーボードとフォントが必要です。
APLでできることの概要については、APL の 1 行にある Conway の Game of Life を参照してください。
私は統計の学生なので。他のすべての統計関連ソフトウェアの中で R が最高であることがわかりました。おそらく、統計を使って何でもできる能力があります。