R言語は経済学の分野で信頼できますか?


64

私は経済学の大学院生で、最近、他の非常に有名な統計パッケージからRに変換しました(主にSPSSを使用していました)。現時点での私の小さな問題は、クラスで唯一のRユーザーであるということです。私のクラスメートはStataとGaussを使用しており、教授の一人は、Rはエンジニアリングには最適であるが、経済には最適ではないと言っていました。彼は、多くのパッケージはプログラミングについてはよく知っているが、経済性についてはあまり知られていないため、信頼性が低いと述べています。彼はまた、Rパッケージの構築に実際にお金がかからないため、それを正しく行うインセンティブがなく(たとえば、Stataの場合とは異なり)、Rをしばらく使用し、いくつかのものを推定する彼の試み​​。さらに、彼はRの乱数発生器について不満を述べました。

私は1か月以上Rを使用していますが、Rに夢中になったと言わざるを得ません。私が教授から聞いていることはすべて、私を落胆させているだけです。

私の質問は、「Rは経済学の分野で信頼できるのか?」です。


30
「多くのパッケージは、プログラミングについてはよく知っているが、経済についてはあまり知らない人々によって作成されています」。パッケージの作成者は、実際には常に科学者または学者であり、プログラマーは(非常に)遠い(最後の)2番目です。実際、「プログラマー」が作成したパッケージを見つけるのは難しいと思います。
ブランドンバーテルセン

9
私はにかけ、あなたと私たちの他の統計情報のエコノミストを招待することができeconomics.stackexchange.comすぎて-私たちは、あなたの質問とそこに経済上のあなたの答え歓迎だろう
EnergyNumbers

18
教授のコメントには、プロの悪魔主義も少し含まれているようです。経済学者であることは信頼性をどのように保証しますか?信頼できる統計ソフトウェアを作成するために、ソフトウェア開発者(実際は職業であり、特定の経験やトレーニングなしでは誰もができることではありません)と統計学者を信頼していました。
ガラ

23
信頼性のため、「エンジニアリングには最適だが、経済学には最適」彼は経済よりもむしろ超高層ビルが崩壊したかったのですか?男はばかです。その学校を終了し、馬鹿者がいない学校を見つけてください。
Spacedman

10
商用ソフトウェアは良い場合も悪い場合もあります。オープンソースソフトウェアは良いことも悪いこともあります。重要なのは、使用するソフトウェアが良いかどうかです。偏見と教義に基づいてそれを決定しないでください。実際の証拠を使用してください。
デビッド

回答:


83

対照的な視点を共有させてください。私は経済学者です。SASを使用して計量経済学の訓練を受けました。私は金融サービスで働いており、今夜、Rベースのモデルを更新しました。これは明日、数百万ドルをリスクにさらすために使用します。

あなたの教授は明らかに間違っています。しかし、彼が犯している間違いは非常に一般的であり、議論する価値があります。あなたの教授がしているように見えることは、Rソフトウェア(S言語のGNU実装)対Rで実装されたパッケージ(または他のコード)のアイデアを混ぜることです。実際のところ、私はまさにそのことをしました。SASがくだらないということですか?もちろん違います。SASは価格が不透明で、とんでもないほど高価であり、社内コンサルタントが約束を超えて配信し、喜びのためにプレミアムを請求するため、くだらないです。しかし、私は脱線します...

Rの開放性は両刃の剣です。開放性により、トム、ディック、またはハリーは、経済学の建物の地下でポットを吸っている間に、考えているあらゆるアルゴリズムのがらくたな実装を書くことができます。同じオープン性により、実践するエコノミストはコードをオープンに共有し、互いのコードを改善できます。Rのライセンスルールは、AmazonのクラウドでRを並行して実行するための並列化コードを記述でき、30ノードクラスターのライセンス料金を心配する必要がないことを意味します。これは、シミュレーションベースの分析にとって大きな勝利であり、私がしていることの大部分を占めています。

「多くのパッケージは、プログラミングについてはよく知っているが、経済学についてはあまり知らない人によって作成されている」という教授のコメントは間違いなく正しい。しかし、CRANには3716個のパッケージがあります。それらの多くがエコノミストによって書かれたものではないことは確かです。同じ方法で、CPANの105,089モジュールの多くがエコノミストによって書かれていないことを確認できます。

ソフトウェアを慎重に選択してください。使用しているツールを理解し、テストしていることを確認してください。また、どの実装を選択したかにかかわらず、真の経済性を理解してください。閉じたソフトウェアソリューションに縛られるのは、ライセンス料よりも費用がかかります。


ご回答ありがとうございます。それで、私は何か他のものを学ぼうとすることを提案していますか?それなら、私が学ぶことを何を提案しますか?
SavedByJESUS

5
いいえ、私はRをほぼ完全に使用しています。あなたの教授や他の経済学者がよく使うパッケージはありますか?econ固有のパッケージは使用しません。plyr、matrix、および他の多くのパッケージを使用していますが、エコノミスト向けに特別に設計されたものはありません。
JDロング

あなたは「パッケージ」に言及していましたが、私は閉じられたソフトウェアソリューションに縛られるべきではないと言っていましたか?
SavedByJESUS

3
「オープン性により、トム、ディック、またはハリーはすべてのアルゴリズムのがらくたの実装を書くことができます」 -これはオープン性とは何の関係もありません。これは純粋にパブリックAPIの結果です。プラグインインターフェイスを備えたソフトウェア)。いい答えだ。
naught101

3
「悪いコードを書くのが最も難しいプログラミング言語は今も、これまでもありませんし、これまでもありません。」
-ardave

33

他のソフトウェアほど信頼性は高くありません。ベースで推奨されるRは、おそらく寄贈されたパッケージよりもエラーが少ない傾向がありますが、作成者に依存します。

しかし、Rの最大の利点は、それがあるかどうかを自分で確認できることです!StataやSPSSなどとは異なり、フリーソフトウェアです。したがって、たとえ信頼性が低くても、最終的には検出されます。プロプライエタリなソフトウェアには当てはまらないかもしれません。さらに、信頼性を高めることもできます。

あなたの教授のコメントの残りについては、彼は明らかに間違っており、FUDを広めている人です。しかし、信頼性の低いソフトウェアは、この分野で使用されるモデルと仮定、および予測によって判断される経済学者の関心事の中で最も小さいものであると言えます。

あなたがそれを好めばRに固執し、多分あなたと教授は経済学のためのよいソフトウェアの開発に貢献することができます。おそらく興味深い出発点はhttp://cran.r-project.org/web/views/Econometrics.htmlおよびhttp://cran.r-project.org/web/views/TimeSeries.htmlです


1
どうもありがとうございました!私は本当にRに固執したい。それは素晴らしいソフトウェアだと思う。また、私は常にオープンソースの大ファンでした。
SavedByJESUS

17
私たちの時代の不幸な真実を述べるための+1。「信頼性の低いソフトウェアは、使用されているモデルと仮定、およびこの分野で行われた予測によって判断するエコノミストの懸念事項の中で最も少ないはずです。」
デジタルマップ

2
私はここで苦しい調子に感謝します、しかし、いくらかの不一致は可能です。プロプライエタリなソフトウェアのエラーは、さまざまな方法で表示されます。たとえば、Rの結果が完全に正しいと思われる明確な不一致がある場合です。ここには、Rに関する愚かなFUDと同じくらい不適切なプロプライエタリソフトウェアに関するFUDがあります。それは存在する機能ですが、自分でコードをチェックできると言うのは少し修辞的です。Stataの場合、多くのコードがユーザーに表示されることに注意してください。そうではないのは、単に実行可能ファイルです。
ニックコックス

23

あなたの教授は大胆な主張をしています。問題はR言語に不慣れであり、実際の結果が得られたのではないのではないかと思います。私は多くの計量経済学モデリングを行う会社で働いており、Rですべてを行っています。また、経済学者の同僚をRの使用に変換しました。

私の個人的な経験における経済学の分野に関しては、信頼性の問題は逆の方向に進むかもしれません。たとえば、EVIEWSバージョン5には、パネルデータを操作するときに奇妙なバグがいくつかありました。また、プールされたOLSの通常のDurbin-Watson統計を報告しましたが、これはパネルデータ設定では明らかに間違っています。パネルデータを操作するためのRパッケージにも問題がありますが、ここでの金銭的主張はRに有利に働きます。

最近、非定常のパネル時系列法のコースを受講しました。講師はRATSソフトウェアを使用しました。いくつかのコードをデモンストレーションするとき、念のため、ワークスペースを数回きれいにするアイコンをクリックすることを勧めました。信頼性について話す。


20

私はエコノミストであり、4年前から研究に取り組んでおり、主に応用計量経済学を行っています。計量経済学のパッケージはたくさんあり、それらすべてのスペースがあります。私の見解では、経済学では、時系列を除くほとんどすべてにStataが使用され、時系列にはRats、EviewsおよびOxが使用され、より低レベルのプログラミングにはMatlabおよびGaussが使用されます。

Rの利点は、他のプログラムが実行するほぼすべてを実行できること、および無料でオープンであることです。より多くのプログラミングが必要で、定型化された手順は少なくなりますが、最後には処理が完了します。ほとんどの場合、Stataを使用しますが、すべてを行うために1つのソフトウェアを選択する必要がある場合は、Rを選択します。

Rはほとんどの計量経済学の問題でかなり信頼できますが、R向けに書かれた信頼できないルーチンの例をいくつか提供できます。3SLSとデマンドシステムの推定ルーチンに問題があります。数値最適化ルーチンは、StataやGaussほど堅牢ではありません。一方、Rは、分位点回帰などの問題ではるかに優れています。それでも、Rの実用的な知識があれば、Rのユーザー作成ルーチンの問題を見つけて修正し、作業を続けることができます。そのため、特定のルーチンに信頼性がないことが、Rをまったく使用しないという説得力のある理由だとは思いません。

私のアドバイスはRを使い続けることですが、あなたの分野で広く使用されている他のプログラム、例えばミクロ計量経済学のStataや時系列のRatsで経験を積むことです。


13

大学院レベルの統計を教えていたとき、生徒に次のように話していました。「どのパッケージを使用するかは気にしません。宿題には何でも使用できます。実質的な説明を提供し、見る tr23y5m提出物の変数名。私は、Stataでの学習を非常にうまくサポートすることができます。Rでも、理にかなっています。SPSSまたはMinitabでは、神のご加護があります。合理的な雇用主も同じことを考えると思います。重要なのは、プロジェクトの成果という点であなたの生産性です。40時間の仕事でRの目標を達成できれば、 40時間の作業でC ++でそれを達成できますが、Rで40時間でこれを行う方法を知っているが、スーパーバイザーがSASでこれを行うことを望んでおり、基本を学ぶために60時間を費やす必要がある場合そしてセミコロンがどこに行くか、それはSASにある残りのコードの全体像の文脈でのみ賢明です...そして、マネージャーはRプログラマーを雇ったことであまり賢明ではありませんでした。

総コストのこの観点から、「無料」のRは非常に誇張された神話です。本格的なプロジェクトでは、データ入力と出力のフォーマットのためだけに、カスタムコードが必要です。これは、専門家による時間のゼロ以外のコストです。このデータの入力と書式設定に10時間のSASコードと20時間のRコードが必要な場合、経済学者が言うように、Rはマージンでより高価なソフトウェアです。つまり、特定の機能を生成するための追加コストの観点から。大きなプロジェクトで同一の機能を提供するために200時間のRプログラマーの時間と100時間のStataプログラマーの時間が必要な場合、Stataは全体的に安価です。、購入する必要がある〜$ 1Kライセンスを考慮に入れることもできます。このような直接比較を見るのは面白いでしょう。私は、約10人年以上にわたって蓄積されたと言われている2MbのSPSSコードの巨大な混乱を、約150KのStataコードに書き直すことに関与していました。それは約1人年のプロジェクトでした。この10:1の効率比がSPSS:Stataの比較に典型的であるかどうかはわかりませんが、そうであったとしても驚かないでしょう。私にとっては、検索コストのためにRを使用することは常に大きな費用です:5つのパッケージのうち、同じ名前のパッケージのうちどれが必要かを判断し、それを使用するのに十分な信頼性があるかどうかを判断する必要があります私の仕事。多くの場合、特定のタスクでRを動作させる方法を見つけるのに費やす時間を短縮して、独自のStataコードを作成する方が安価であることを意味します。これは私の個人的な特異性であることを理解する必要があります。このサイトのほとんどの人は、私よりも優れたuseRです。

「Rはエコノミストによって書かれていなかった」ため、教授がRよりもStataまたはGAUSSを好むのは面白いことです。StataもGAUSSもありませんでした。それらはコンピューター科学者のツールを使用してコンピューター科学者によって書かれています。教授がプログラミングに関するアイデアをCodeAcademy.comから得た場合、それは何よりも優れていますが、プロ級のソフトウェア開発は、貨物トラックの運転は自転車とは異なるので、CodeAcademy.comテキストボックスに入力するのと同じです。(Stataは労働計量経済学者に変換されたコンピューター科学者によって開始されましたが、彼は今まで約25年間この労働計量経済学のことをしていません。)

更新:AndyWが以下にコメントしたように、どんな言語でもひどいコードを書くことができます。コストの問題は、どの言語がデバッグしやすいかということになります。私には、これは出力がどれほど正確で有益なものであるか、構文自体がどれほど簡単で透明であるかの組み合わせのように見えます。もちろん、それに対する良い答えはありません。たとえば、Pythonはコードのインデントを強制しますが、これは良い考えです。StataとRのコードはブラケットの上に折りたたむことができますが、SASでは機能しません。サブルーチンの使用は両刃の剣です。Rでの*apply()アドホックfunctionsの使用は明らかに非常に効率的ですが、デバッグが困難です。同様のトークンにより、Stata localはほぼすべてのものをマスクでき、デフォルトでは空の文字列になりますが、有用ではあるものの、キャッチしにくいエラーにつながる可能性があります。


1
これは良い答えですが、IMOの過剰な一般化はあまり役に立ちません(実際にはどの言語でも悪いコードや良いコードを書くことができますが、Stataは良いコーディング標準を強制するのは魔法ではありません)。私は2MBのSPSSコードがどのように効率的なSPSSコードであるかを理解するのに苦労しています(構文を強調した新しいバージョンでは、そのようなファイルをエディターで開くことはお勧めできません)。どの言語でも書き直しに時間がかかった可能性が高いようです。
アンディW

1
私はSPSSコードをまったく作成しません。また、使用したコードはコードとして作成されたのではなく、ポイントアンドクリックインターフェイスから保存されたため、少し改善される可能性があることを理解しています。インターフェイスからコードへの変換では、SPSSがすべての既定値などを設定するので、そもそもひどく効率的なコードではなかったと思います。
-StasK

12

私は、事実を主張するが、実質的な何かでそれを決してバックアップしない人には非常に注意します。

彼の議論を簡単に変えることができます。

たとえば、コードを書くための支払いを受ける人々は、コードが正しいと期待されるため、それを正しくするためのインセンティブが少なくなります。質の高い仕事が達成されることを意味する場合、無料でそれを行うために余分な時間を費やすことについて、彼はあまり気にすることができなかったのかもしれません。

乱数ジェネレーターが「乱雑」な場合(あいまいな用語です;実際の事実を簡単に置き換えて、彼の議論を裏付ける)、彼はそれを証明するか、できる人を示すことができるはずです。

パッケージから一貫性のない結果が得られた場合、その結果を得るために行った手順を指摘できるはずです。それが本当にバグであり、あなたが優れたプログラミングスキルを持っているなら、あなたは彼のためにそれを試して修正することさえできます!

私の答えはあなたの質問に直接答えないことに気づきました(ごめん)。彼が彼のポイントを言う方法から単に、あなたはそれの後ろに肉がないことを見ることができます。ある場合は、質問で自由に編集して、ここにいる人々がさらに議論するようにしてください!


5

私が取り組んでいるReplicationWikiでは、Rは2000年から2013年にすでに確立されたいくつかのジャーナルで発表された2000年の経験的研究で最も頻繁に使用されるソフトウェアパッケージの 1つであることがわかります。それはより最近になって使用されたようです。Stataは最も頻繁に(> 900回)使用され、続いてMATLAB(280)、SAS(60)、GAUSS(60)、Excel(50)、R(30)、FORTRAN(30)、Mathematica(19)、 EViews(18)、z-Tree(16)、dynare(15)、RATS(12)、C(8)、C ++(6)、python(5、最近の研究)、SPSS(5)など。多くの場合、複数のパッケージが使用されます。


これは、ソフトウェアの使用に関する興味深い証拠です。しかし、Rが広く使用されているという明確な兆候を提供すること以外の問題には直接関係していません(それも広く信頼されているという推論は密接な関係があります)。
ニックコックス

2

私はRを半年間使用しており、SAS、SPSS、Calc、WEKA、および他のいくつかのツールも使用しています。Rを使ったときほどツールを楽しんでいませんでした。統計に関して言えば、方法がすべてです。ユーザーは、市販のソフトウェアでメソッドがどのように定義およびモデル化されているかを知らず、正しいか間違っている可能性があります。Rは、メソッドを定義し、ニーズに合ったメソッドを使用したい人向けです。それはすべて自由です。この自由は、お金を使って購入しても、商用ソフトウェアにはありません。知識はコミュニティ(社会)の所有物であり、誰も同じものの著者を主張することはできません。研究とは、問題の解決策を見つけることです。Rに関する限り、ユーザーがメソッドを自由に定義および修正できることを心配する必要はありません。たとえば、新しいコードを修正または開発することで修正できるモデル固有の問題または不規則に定義されたメソッドが存在する場合。そうすることにより、研究者は知識を開発するだけでなく、進化します。

Rの利点は、コンピュータープログラマーである必要がないことです。統計的手法は、制御ステートメントとループだけで関数を記述することです(最初は、高レベルのものは後で説明します)。Rには初心者向けの非常に簡単なプログラミング環境があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.