経済学修士で身につくデータ分析・実務スキル

 

経済学研究科の修士課程では、経済理論や計量経済学を学ぶだけでなく、実際のデータを扱い、そこから経済現象を分析するための実践的なスキルも身につけることができます。

実証研究では、最初から分析しやすい形に整理されたデータが用意されているとは限りません。

実際には、Rawデータを入手し、欠損値や異常値を確認し、複数のデータを結合し、変数を作成したうえで、ようやく分析に使用できるデータセットが完成します。

さらに、研究目的に応じてR・Python・Stata・MATLABなどのソフトウェアを使い分け、計量経済学的な分析やシミュレーションを行います。

そのため修士課程を通じて身につくのは、単に「統計ソフトを使える」という能力ではありません。

データを作るところから、分析方法を選び、結果を解釈し、経済学的な結論につなげるところまで、一連の分析を自分で進める力を身につけられることが大きなメリットです。

1.Rawデータを分析可能なデータにする力

実際の経済データは、そのまま分析に使用できるとは限りません。

政府統計、企業データ、家計調査、金融データ、アンケート調査などから取得したRawデータには、欠損値が含まれていたり、変数名や単位が統一されていなかったり、分析に必要な情報が複数のファイルに分かれていたりすることがあります。

そのため実証研究では、分析を始める前に、

  • 欠損値や異常値を確認する
  • 必要な観測だけを抽出する
  • 変数の単位や形式を統一する
  • 複数のデータセットを結合する
  • 新しい変数を作成する
  • 個人・企業・地域・時点などを対応させる
  • 分析に適したパネルデータや時系列データを構築する

といった作業が必要になります。

一見すると地味な作業ですが、実証研究では非常に重要です。

American Economic Association(AEA)のデータ・コード公開方針でも、実証研究について、Rawデータから分析用データを作成するためのデータ変換・クリーニングのコードを含めることが求められています。つまり、「どのように分析したか」だけでなく「どのように分析可能なデータを作ったか」も研究プロセスの一部として扱われています。

修士論文などで実際のデータを扱うことで、きれいに整理された練習用データを分析するだけではなく、現実のデータを自分で分析可能な状態まで持っていく力を身につけることができます。

これは大学院での研究だけでなく、企業のデータ分析や政策分析などにもそのまま応用できるスキルです。

2.R・Python・Stata・MATLABなどを目的に応じて使い分ける力

経済学の研究では、さまざまな分析ソフトやプログラミング言語が利用されています。

代表的なものとして、

R、Python、Stata、MATLAB

などがあります。

どれか一つがすべての研究分野で使われているというよりも、研究分野や分析目的によって使いやすいツールが異なります。

R

Rは統計分析に特化したオープンソースの環境で、計量経済学との相性が非常に良いツールです。

基本的な回帰分析だけでなく、パネルデータ、時系列分析、因果推論など、経済学で利用される幅広い分析に対応するパッケージがあります。CRANにもEconometricsやCausal Inferenceなどの専用カテゴリが整備されています。

また、データ加工から統計分析、グラフ作成まで一つの環境で行いやすいため、修士論文の実証分析をRを中心に組み立てることもできます。

Python

Pythonは統計分析だけでなく、データ処理、機械学習、自然言語処理、Webデータの取得など幅広い用途で使用できます。

たとえばpandasでは、欠損値の処理や複数データのmerge・joinといったデータ加工が可能です。StatsmodelsではOLSをはじめ、時系列分析やさまざまな統計モデルを利用できます。

企業のデータ分析やデータサイエンスとの接続を考える場合には、Pythonを使えることも大きな強みになります。

Stata

Stataは、経済学の実証研究で長く利用されてきた統計ソフトです。

回帰分析だけでなく、パネルデータ、操作変数法、Difference-in-Differences、Treatment Effects、時系列分析など、経済学で頻繁に利用される分析方法がまとまっています。

また、経済学では既存研究を再現する「Replication」が重要です。

AEAも論文のデータと分析コードの公開を求めており、公式ガイダンスではStataのコードを.doファイル、Rのコードを.Rファイルとして保存する例が示されています。

そのため、過去の研究や公開されているレプリケーション・パッケージを読む際に、Stataのコードに触れる機会もあります。

自分の研究ではRを中心に使いながら、既存研究を再現するためにStataを読む・使うという組み合わせも考えられます。

MATLAB

MATLABは、特にマクロ経済学や数値計算、モデルのシミュレーションなどで利用されます。

MathWorksのEconometrics Toolboxでは、VAR、VEC、状態空間モデル、ARIMAなどの時系列モデルについて、推定・予測・シミュレーションを行うことができます。

また、マクロ経済学ではDSGEモデルを解いたりシミュレーションしたりするためにDynareが利用されることがあります。DynareはMATLABまたはGNU Octave上で動作します。

このように、

R=計量分析・データ処理

Python=データ処理・機械学習・大規模データ

Stata=伝統的な実証経済学・既存研究のReplication

MATLAB=マクロ・数値計算・モデルシミュレーション

といった大まかな特徴があります。

ただし、これは厳密な区分ではありません。同じ分析を複数のソフトで行うこともできます。

修士課程では、「どのソフトが一番優れているか」を決めることよりも、自分の研究目的に対して何を使うのが効率的なのかを判断できるようになることが重要です。

3.相関から一歩進んで「因果関係」を考える力

経済学のデータ分析で重要なのが、相関と因果関係を区別することです。

たとえば、

「教育年数が長い人ほど所得が高い」

というデータが得られたとしても、それだけで、

「教育を1年増やせば所得が上がる」

とは言えません。

教育年数が長い人は、家庭環境、能力、居住地域など、ほかの特徴も異なる可能性があるためです。

そこで実証経済学では、

「他の条件をできるだけ取り除いたうえで、ある政策や制度の変化が結果にどのような影響を与えたのか」

を明らかにしようとします。

そのために、回帰分析だけでなく、

  • 操作変数法
  • Difference-in-Differences
  • Regression Discontinuity Design
  • Matching
  • Panel Data Analysis

などの手法を研究目的に応じて利用します。

たとえばStataにも、観察データから政策・介入の効果を推定するためのDID、IPW、Matchingなどの因果推論機能が用意されています。

学部でも相関と因果の違いを学ぶことはありますが、修士課程ではさらに一歩進んで、

「この研究デザインで本当に因果効果を識別できるのか」

「どの仮定のもとで、この推定結果を因果効果として解釈できるのか」

まで考えながら分析を行います。

この点が、単純なデータ集計や回帰分析と、大学院レベルの実証分析との大きな違いの一つです。

4.誘導形・構造推定・シミュレーションまで考えられるようになる

修士課程では、因果効果を推定するだけでなく、研究分野によってはさらに高度な分析方法へ進みます。

その代表例が、誘導形(Reduced-form)の分析、構造推定、シミュレーションです。

誘導形の実証分析では、政策変更や制度の違いなどを利用して、

「Xが変化したとき、Yが実際にどれくらい変化したのか」

という因果効果をデータから推定します。

一方、構造推定では、消費者・企業・労働者などがどのようなルールで意思決定しているのかを経済モデルとして記述し、そのモデルのパラメータをデータから推定します。

構造モデルを作ることで、実際にはまだ行われていない政策について、

「もし制度をこのように変更したら、人々の行動や市場全体はどう変わるだろうか」

という反実仮想(Counterfactual)をシミュレーションすることも可能になります。

このような分析は、

  • 産業組織論
  • 労働経済学
  • 公共経済学
  • マクロ経済学
  • 国際経済学

など、さまざまな分野で利用されています。

特にマクロ経済学では、VARや状態空間モデルなどの実証モデルに加え、経済理論に基づいたモデルをコンピュータ上で解き、金融政策や財政政策の変化によって経済がどのように動くかをシミュレーションすることがあります。MATLABのEconometrics Toolboxでも、モデルの推定・予測だけでなくシミュレーションがサポートされています。

また、DSGEのような理論モデルでも、モデルを数値的に解き、ショックに対する経済の反応や政策変更の影響をシミュレーションします。

したがって大学院レベルになると、データから単に

「AとBには関係があります」

と示すだけではなく、

「なぜその関係が生まれるのか」

「どのようなメカニズムが働いているのか」

「政策や制度を変えたら何が起きるのか」

まで考える分析へ進むことができます。

5.複雑な問題を「分析できる問題」に構造化する力

データ分析で最も重要なのは、RやPythonのコードを書くことだけではありません。

その前に、

「そもそも何を明らかにしたいのか」

を整理する必要があります。

現実の社会・経済問題は非常に複雑です。

たとえば、

「少子化を改善するにはどうすればよいか」

という問いを、そのままデータで分析することは困難です。

そこで、

「保育所の利用可能性は女性の就業に影響するのか」

「住宅費の上昇は出生行動に影響するのか」

「児童手当の拡充によって出生率は変化するのか」

といったように、問題を具体的な問いへ分解していく必要があります。

さらに、

何をアウトカムとするのか、

どのデータを使うのか、

どの変数を比較するのか、

どのような識別戦略を使うのか、

誘導形で分析するのか、

構造モデルを作るのか、

どのような反実仮想を考えるのか、

という形で、分析可能な問題へ落とし込んでいきます。

つまり修士課程で身につくデータ分析力とは、

データを渡されて統計処理をする能力だけではありません。

Rawデータを整理し、研究目的に適したデータセットを作り、適切なソフトウェアと分析方法を選び、その結果を経済学的に解釈する。

さらに必要であれば、因果推論、構造推定、シミュレーションまで行う。

こうした一連のプロセスを経験することで、

「複雑な社会・経済問題を、データを使って分析できる形に構造化する力」

を身につけられることが、経済学修士に進学する大きなメリットの一つです。