経済学における(しばしば)見落とされがちな研究の再現性の問題

過去 20 年間で、経済学雑誌の再現性要件 (「元の研究者が使用したのと同じ材料と手順を使用して以前の研究の結果を複製する」能力として定義される) は、「データの入手可能性」から「データの入手可能性」へと進化しました。コードの可用性」から「データ、コード、および適切なデータ アーカイブ」まで。 これらのポリシーの実施の強度も高まりました。 の アメリカン・エコノミック・レビューたとえば、受理された論文の著者は、「(a) データセット、(b) 元のソースの場所にあるすべてのデータにアクセスするのに十分な説明、(c) 最終データと分析データの作成に使用されたプログラム」を提供する必要があります。生データからのセット、(d) 最終モデルを実行するために使用されるプログラム、および (e) すべてのプログラムを実行できるようにするのに十分な説明。」

このブログでは、現代のコンピューティングが、経済学における再現性の必要十分条件を「コードとデータ」から「コード、データ、および環境」に変えていると主張しています。

主要な統計パッケージはすべて、自己完結型のクローズドな製品から、ユーザーが作成したルーチンや依存関係に大きく依存するオープン システムに進化しました。 ほぼクローズドなソフトウェアの例は次のとおりです。 マイクロソフトエクセル. ほとんどの Excel ユーザーは組み込みの機能に依存しており、Microsoft はツール (互換性チェッカー) を提供して、1 つのバージョンの Excel で作成されたブックを確認します。 MS エクセル 別のバージョンにロードしても同じ結果が得られます。 仮想環境を使用するなど、同様のアプローチ パイソン またはバージョンコマンド スタータ、異なるソフトウェア バージョンによるコードの一貫した実行を保証します。

研究者がサードパーティのルーチンに依存している場合、再現性の問題は複雑になります。 ユーザー作成プログラムの作成者 (例: ado ファイルやプラグイン スタータ またはパッケージ R) は、論文またはレポートの発行後にコードを変更できます。 これらの変更は、分析に使用されるコア コードとデータが変更されていない場合でも、異なる結果につながる可能性があります。 たとえば、dplyr パッケージのバージョン 0.4.0 を使用すると、行列 (1、1、4、4、5) の個別の値の合計が誤って 19 に合計されます。 R バージョン 0.5 でバグが修正された後、10 になりました。

> df  library('dplyr', lib.loc="altloc/v4")

> print(packageVersion('dplyr'))

[1] '0.4.0'

> print(sum(distinct(df, x)))

[1] 19


> library('dplyr', lib.loc="altloc/v5")

> print(packageVersion('dplyr'))

[1] '0.5.0'

> print(sum(distinct(df, x)))

[1] 10

プログラムで使用されるコア コードとユーザー作成ルーチンの両方を提供するだけでは解決策にはなりません。ユーザー作成ルーチンは、開発者がいつでも変更できる他のルーチンに依存している場合があるからです。 依存層の数 (あるプログラムが別のプログラムを使用し、そのプログラムが 3 番目のプログラムに依存するなど) が大きくなる可能性があるため、これらの依存関係を特定するには時間がかかる場合があります。 複数のソフトウェア プログラムを使用してビッグ データを操作する—組み合わせて使用​​する スタータ また R パイソン また 、たとえば、再現性の問題をさらに複雑にします。

ユーザーが作成したいくつかのガイドは、研究者が結果の再現性を改善するのに役立ちます (たとえば、ここまたはここを参照してください)。 スタータ そしてここまたはここで R)。 しかし、これらのソリューションは複雑で、複数の外部ツール (GitHub など) を必要とし、レビュアーではなく著者を対象としています。 コア コードが依存するすべてのコンポーネントが特定されたとしても、これらのコンポーネントの正しいバージョンを使用するように統計パッケージを更新することは、ほとんどのジャーナル編集者や論文の結果を再現したい他の研究者が利用できる能力とリソースを超えています。 ない R または スタータ このような依存関係を追跡および管理するための自動ツールをユーザーに提供します。

補助ルーチンの変更に関連する問題が経済的結果の再現性にどの程度の頻度でどの程度影響するかを評価することは困難です。 明らかなことは、このような問題が発生した場合、元の結果と再現された結果の間の不一致の原因を見つけることは困難であり、リソースを消費する可能性があるということです. これらのコストは、公開以降、指数関数的に増加しています。

多くの研究者は、志望する大学院生から、5 年前に発表された論文の結果を再現できないと主張する電子メールを受け取った後、不安な気持ちを経験しています。 上記の理由により、元の研究者は結果を再現できないことがよくあります。

再現性の問題に対する技術的な解決策が存在します。 イメージとして共有できる隔離された環境を使用することです。 そのイメージは、仮想化または「コンテナー化」によって作成できます。これは、ソフトウェア、その依存関係、および構成をコンテナー イメージとしてまとめてパックし、アプリケーションをさまざまなコンピューターで確実に実行できるようにするアプローチです。 たとえば、コンテナには以下を含めることができます Rスタジオ すべての依存関係、環境変数、ユーザー作成のパッケージ、およびデータが含まれています。 そのイメージをいつでも任意のコンピューターに展開すると、イメージが作成された時点のソフトウェア環境のスナップショットが復元されます。 その環境でコードを実行すると、再現性が保証されます。

などのオープンソースソフトウェア R また パイソン および次のような運用システム Linux プリロードされたオペレーティング システムと統計パッケージ (いわゆるベース イメージ) を使用してコンテナーを構築できるようにします。 研究者は、そのようなコンテナーを自分のコンピューターで解凍し、データとコードを追加して、結果が再現されることを確認し、この画像をジャーナルまたは他の研究者に送信します。 たとえば、Rocket Project は、GitHub と Docker Hub でさまざまな R 構成のイメージを維持しています。

次のような独自のソフトウェアを使用してコンテナー イメージを配布する スタータ ウィンドウズ ライセンスが必要です。 ライセンス持ち込み (BYOL) コンテナーを使用すると、ユーザーはコンテナー内のソフトウェアと OS に対して所有するライセンスを提供できます。 米国経済協会は、Stata の BYOL コンテナー ベース イメージを提供しています。 AWS や Azur などの主要なクラウド サービス プロバイダーは、従量課金制のライセンスもサポートしています。このライセンスでは、ユーザーは期間限定のソフトウェア ライセンスを購入して、クラウド上にコンテナー イメージをデプロイし、再現したい結果を得るためにコードを実行するだけで済みます。

コンテナは 2 つの主な問題を解決します。 これにより、作成者は結果を再現するために必要なパッケージを生成でき、その研究を再現したい研究者はこれらのパッケージをコンピューターに確実かつ効率的に展開できます。 ただし、コンテナーの作成とデプロイには、比較的高度なユーザーの技術的専門知識が必要です。 そのため、コンテナーはすべての実証研究プロジェクトに最適であるとは限りません。 ただし、結果の複製可能性が機関や個々の研究者に責任や評判のリスクをもたらす可能性があるミッションクリティカルな大規模プロジェクトにとって、それらは唯一の信頼できるソリューションになる可能性があります。

経済学における再現性の危機は、ある程度、研究者が再現可能な結果を​​保存および共有できるようにする統計計算環境を組織および維持するための法外に高いコストに関連している可能性があります。 これらのコストを削減する 自動化ツールを開発するか、大規模な組織や大学内で専用サービスを作成して、たとえば仮想化やコンテナ化で研究者を支援すると、結果の再現性が向上する可能性があります。 長期的な経済研究の。


数週間後に公開されるフォローアップ ブログでは、研究の再現性の問題のさまざまな側面、より具体的には、高品質のコードを書くことの重要性について取り上げます。

Leave a Comment

Your email address will not be published. Required fields are marked *