リサーチ・デザインの構築、データ解析の概要、Rの初歩

本授業の説明

概要・目的

近年、エビデンス・ベースド・ポリシー・メイキング(EBPM) やデータサイエンス/人工知能の流行など、公共政策の実務だけでなく、さまざまな社会生活において、データ分析に基づいた意思決定・判断が重要視されてきている。本講義は、データ分析の「実践的な方法」の習得を主眼としており、統計分析ソフト「R」を用いた実習を中心に構成される。したがって、統計学的な理論よりも、有効なデータ分析を行うための背景にある考え方や手順について、社会科学における具体的な研究例を参照しながら学習する。

授業計画

※太字はこのレジュメの該当回

1. 授業概要の説明

2. リサーチデザイン・データ収集の方法

3. Rのインストール・記述統計の出し方

  1. 二変数の関係(クロス表・散布図)

  2. 統計的検定

  3. 回帰分析(1)

  4. 回帰分析(2)

  5. 回帰分析(3)

  6. パネルデータ分析

  7. 計量分析を用いた文献を読む

  8. 最終発表に関する実習・相談

  9. 学生による分析結果発表(1)

  10. 学生による分析結果発表(2)

  11. 学生による分析結果発表(3)

  12. フィードバック

成績評価

平常点(60%) :授業中の熱心な取り組み、積極的な発言や議論への参加、提出物の評価(3回課題を出す)をもとにする。 最終発表の内容(40%):重要な問題について、仮説を立て、適切に計量分析が行えたかをもとに評価する。

教科書

浅野正彦・矢内勇生『Rによる計量政治学―統計学で政治現象を分析する』(オーム社, 2018)

I. リサーチ・デザインの構築

1. リサーチ・デザインとは何か?

研究を進めるにあたって、研究目的や問いに基づいて、どのようにデータを収集し、どのような手法を使って、どのような分析するかという全体的な計画や枠組み

2. リサーチ・デザインの主要プロセス(1):研究の問いを立てる

問いを立てる

  • 社会科学における研究の問いの特徴:「問いを選択するルールは、研究活動におけるほかのルールほどには、定式化されてはいない」(キング・コヘイン・ヴァーバ 2004: 15)

\(\leftrightarrow\)但し、重要なことは・・・

  • 「個人的な理由は、研究テーマ選択を正当化するうえで必要でもなければ、十分でもない。ごく一部の特殊な場合を除けば、研究論文に個人的な理由を書くべきではない。もっとはっきりと遠慮なくいわせてもらえば、個々の研究者が何を考えているのかどうでもよいことなのである。学会や研究者仲間が関心をもっているのは、何が論証されているのかということだけなのである」(キング=コヘイン=ヴァーバ 2004: 16)

研究の問いを立てる上での指針とは?

  • 現実の世界にとって重要な問いを立てる \(\Rightarrow\)(政策的)含意・(policy) implicationを導けるから
扱う問題の特徴 具体例 問いかけの種類
社会・経済・政治活動にとって重要となるような問題を扱う お金があれば、人々は幸福なのか? 貧困はなくならないのか? 世界から戦争はなくならないのか? WHETHERのような問いかけ
それらのメカニズムを理解するのに役立つ問いを立てる 人々の幸福は所得によって、どのように規定されているのか? 貧困はどうすれば解決できるのか? なぜ戦争はなくならないのか? HOWの問いかけ、WHYの問いかけ
  • 特定の学問研究の発展に具体的に寄与できる問いを立てる

だからこそ重要になるのは・・・先行研究の整理によって、何がどこまで明らかになっているのかを理解しておくこと!

  • 研究の問いを立てる上での指針とは?

【重要だが未着手の問題】先行研究では重要とみなされているが、まだ体系的な研究がなされていない仮説を選択

【先行研究つぶし】先行研究では受け入れられているものの、間違いではないかという仮説を選択

【論争解決】先行研究において論争となっている問題を解決したり、一方の立場を支持する証拠を提示する

【見過ごされてきた問題】先行研究において見過ごされてきたテーマの体系的な分析を進める

【他の分野への応用】ある分野で確立された理論や証拠を、他の分野に対しても応用する

難しいことに感じるかもしれませんが、リサーチ・ペーパーなどで専門的に調査を進めていくと、自然と、その分野における先行研究内の仮説、論争、使われてきた方法などが分かってくるはず

  • 研究の問いの種類:上述のように、研究の問いにはいくつかのパターン種類がある。再度検討する
問いのパターン 対応する推論.inference.の型
記述的な問い 記述的推論(descriptive inference)」とも呼ばれる(キング=コヘイン=ヴァーバ 2004)。事象が“どのように(how)”なっているのかを記述する
因果(説明)的な問い 因果的推論(causal inference)」とも呼ばれる。事象が“なぜ(why)”起こっているのかという因果関係を説明する
記述か因果か 問いの形式 具体例
記述の問い HOW - 即自的問い (例)マサイ族の地域コミュニティはどのようになっているのか?
HOW - 理論を検証 (例)経済成長は民主化を促すのか?
HOW - 理論を反駁 (例)内戦の発生には民族対立が最も重要と考えられてきたが、天然資源の存在が最も重要
HOW - 理論の競合 (例)有権者の投票率は集権制下にとどまっているのか、成績評価によって決まっているのか?
因果/説明の問い WHY - データを理論的に説明する (例)なぜ経済成長は民主主義化を促すのか?
WHY - データで説明する (例)なぜ日本においては、地方選挙の投票率の方が国政選挙の投票率よりも低いのか?

3. リサーチ・デザインの主要プロセス(2):仮説を設定する

理論的主張とは何か考える

  • 理論とは何か?

理論:原因と結果に関する一般的な論述。原因と結果を含んで、両者を論理的に結び付けるステートメント

理論の良し悪しをめぐる基準:

「誤り」の可能性がある:反証可能性(falsifiability)が明確であることが良き理論の要件。原因にかかわる要素の何が覆されれば、理論が棄却されるかが明確

\(\leftrightarrow\)誤りのない理論:占い、陰謀論)

観察可能な含意(observable implications):理論が正しい時に、観察される出来事の束が多ければ多いほど良い

・観察可能な含意の例:隕石が落ちて恐竜が絶滅したなら、末期の恐竜化石のある地層から隕石の粒子が確認されるはず

・社会科学の観点からはどんな観察可能な含意の例が考えられるか?

具体的であること:上記の観察可能な含意んが導かれるように、具体性のある表現によって原因と結果の関係が明示されていなくてはならない

簡潔平明であること(parsimony):Pursue the simplest explanation!

  • 因果関係を想定する
【原因】 【結果】
【独立変数】 【従属変数】
【説明変数】 【被説明変数】
子供の教育水準 子供の所得水準
  • 因果関係の背景を探る

メカニズムの検討の重要性:原因と結果をつなぐ道筋・経路はどうなっているのかを理論的に考察する(理屈づける?)。

(例) 高い教育→上昇志向に対する動機付け→高所得の職種を知る機会の増大→周囲との競争耐性の増大→就活の成功→高所得へ

では、どうしたら所得に対する教育の妥当な効果を測ることができるのかか?以下図の赤の部分を無視した分析は何が問題となるのだろうか?

  • 本質的な因果関係・効果

・ 本質的な因果効果:「高い教育を受けていなければ、所得は低いままなのか?」(=反実仮想ないしは背理法的な思考)を考え、もしそうならば、高学歴は高所得をもたらすと結論付けることが可能。他の要因を考えるきっかけに(以下、「III. 因果関係の問題」を参照)。

・ 他の高所得をもたらす要因は?(例:実家がそもそも裕福、健康、居住地域) \(\Rightarrow\)後に見る制御変数共変量の精査へ

理論的主張と仮説の導出

  • 理論仮説(theoretical hypothesis)を定める

原因である独立変数が増えたときに/減った時に、結果である従属変数が増えるか/減るかという量的な関係が明示する 独立変数が増えるときに、従属変数は増えるのか減るのか?独立変数が減るときに、従属変数は増えるのか減るのか?)

原因と結果の関係についての量的変化を明示した、(1文からなる)ステートメントが理論仮説となる。

③(構成)概念のレベルでの量的関係の明示である場合が多い

【理論仮説の例】
政治関心が高いことで、政治への参加意欲が高まる
←政治関心も、政治への参加意欲も、ともに抽象的な(構成)概念。それ自体は直接的に観測したり、測定できるものではない
  • 検証仮説(testing hypothesis)を定める: 理論仮説を、(構成)概念のレヴェルではなく、観察可能な要素へと変換して仮説の形に定めだもの

\(\Rightarrow\)理論仮説に対して、概念の操作化・operationalizationがなされている。観察可能、ひいては測定可能なものへと各要素が変換されている

【検証仮説の例】
報道における政治ニュースの視聴頻度が高い有権者ほど、投票に行く(投票参加)確率が上がる
←理論仮説に対して、「概念の操作化+量の明示」がなされたもの
  • 条件付けの仮説の可能性を考える: 第3の変数として、原因/独立変数/説明変数に対する何らかの条件付けが、理論的に想定される場合も。それを条件付けの仮説として設定する必要があるか検討

政治への関心|高所得→政治への参加意欲(高所得の条件付け(conditionality)のもとでという意味)

【条件付け仮説の例】
有権者の所得が高いもとで報道における政治ニュースの視聴頻度が高い有権者ほど、投票に行く(投票参加)確率が上がる
←「政治への関心×高所得→投票参加」という因果性を分析しているということ。データをもとにした推定においては、交差項(interaction term)を用いた分析がとられることに

検証仮説を定める際に注意すべきこと:概念の操作化の妥当性

  • 概念(concept)とは何か?

概念:私たちの経験が凝縮されたもので、現実の世界認識し、理解するための手がかり。現実をとらえるための「標識」(高根 1979)

⇒わたしたちが分析においてまさにとらえようとしており、鍵となるが、漠然としたもの。具体的に測るために、何らかの変換をしなくてはならない。そこで以下の「構成概念妥当性」をはじめとした各種の妥当性が問われることに

  • 概念を測る:概念を観察・測定可能なかたちに変換する際に、妥当性(validity)を検討する必要性

⇒3つの種類の妥当性

(1)内容的妥当性(content validity)

(2)基準連関妥当性(criterion-related validity)

(3)構成概念妥当性(construct validity)

妥当性の種類 説明や具体例
(1)内容的妥当性 「必要な内容が含まれているのかどうか」ということ。(例: 入試問題などで試験範囲の問題が満遍なく含まれているのか? 調査すべき内容に関して、もれなく質問項目が含まれているのか?)
(2)基準連関妥当性 外的基準(external criterion)との連関・相関から妥当性を計ること。連関・相関が高いなら妥当性が高い。
 ・併存的妥当性 (concurrent validity) 同時期に得られた調査結果との相関を見る。(例: 入社試験時のSPIと小論文試験の結果の相関、同じ選挙の以前に実施された異なるサンプルの有権者に対する調査)
 ・予測的妥当性 (predictive validity) 後の時期に得られた調査結果との相関を見る。(例: 入社試験の結果とその後の営業成績、同じ選挙の以降に実施された同じサンプルの有権者に対する調査)
(3)構成概念妥当性 (≒因子的妥当性) ある評価方法が、測定する概念や特性をどれだけ反映できているか。構成概念から予測される結果があり、それが実証分析(≒因子分析等)を通して適切に反映されているか。構成概念妥当性=内容的妥当性+基準連関妥当性であるといわれるぐらい、構成概念妥当性は重要
 ・収束的妥当性 予測されるほかの尺度との相関が強いと予測される場合に、実際に相関が強いか否か(例: 不安特性尺度をもとに測って、それが神経症傾向の尺度と相関をもつか否か)
 ・弁別的妥当性 予測されるほかの尺度の相関が低いと予測される場合に、実際に相関が低いか否か

4. リサーチ・デザインの主要プロセス(3):実証分析、そして多変量分析へ

アプローチの決定

  • 量的アプローチ

定量的調査(quantitative research)」とそのもとに得られたデータを使った実証分析のアプローチ

⇒多くの場合が、「large-N分析」。本授業が扱っていくアプローチ

  • 質的アプローチ

定性的調査(qualitative research)」とそのもとに得られたデータ(資料)を使った実証分析のアプローチ

⇒多くの場合が、「small-N分析

量的アプローチ、特に多変量解析において、私たちは何をしようとしているのか?

  • 推論(inference):観察できている既知(known)のことから、観察ができない未知(unknown)をとらえる作業。データ分析においては、得られた数1000の標本(sample)から全体(population)を推論する

※実はちょっと良くない図…何が良くないのか、考えてみよう。

  • 真の値と推定量

・ 数1000の標本から得られた2024年10月衆議院選挙の投票率(投票参加の平均(mean))が52.4%:推定量(estimator)

・ 有権者全体の2024年10月衆議院選挙の投票率が53.85%:真の値(true value・parameter)

真の値が投票率のように既知であることは稀。推定量をもとに真の値は何かを推論することが、実証分析におけるデータ分析の主たる作業

真の値から見て、いかに偏りがない(unbiased)、分散が小さく/有効な(efficient)、一致性の高い(consistent)推定量を求めるかがデータ分析のカギに

真の値を得る(に近づける)ために避けたいこと:誤差(error)の問題

統計分析をめぐる主な3つの誤差

  • 標本誤差(sampling error): 母集団全体ではなく、限られた標本から得られた統計量が、母集団の真の値と異なることから生じる誤差

→サンプル抽出の過程で生じる誤差であり、標本規模(sample size)を大きくすることで、標本誤差は小さくなる。またより母集団の真の値に近い推定が可能になるとされる

  • 測定誤差(measurement error): データ収集の過程で、対象の真の値が正確に測定されないことにより、真の値と観測値にずれが生じる誤差

→測定誤差がランダム誤差(random error)であれば、測定のたびにばらつくことにより、平均するとゼロに近づく性質と仮定できる。一方で、系統誤差(systematic error)であれば、 常に一方向に偏る誤差であり、推定量のバイアス(=最も避けたいこと!)の原因となる

  • 推定誤差(estimation error): 標本から得られたデータを用いて、母集団の真の値(平均や回帰係数)を推定する際に生じる誤差。標本誤差に加えて、用いた推定法がモデルの仮定と合致していない場合や、計算手法に起因して推定誤差が生じる。推定量のバイアスをもたらす主たる原因に

→推定誤差は標準誤差や信頼区間を用いて評価(回帰分析の授業回にて詳細に説明)。推定値が真の値・パラメターにどれだけ近いかを判断する材料に

5. リサーチ・デザインの主要プロセス(4):実証分析の妥当性を考える

  • リサーチ・デザインによって明らかにできることの射程を考える≒分析の妥当性を考えること

⇒内的妥当性と外的妥当性の緊張関係・トレードオフを考慮する

妥当性の種類 説明
(1)交差妥当性 ある標本内で成立した因果モデル(重回帰式など)が他の標本においても成立するかどうか
(2)内的妥当性 因果に関する想定が内的に一貫しているかどうか
(3)外的妥当性 因果モデルが他に対しても一般化可能であるか

内的に一貫した内的妥当性の高いデザイン(研究室実験)VS広範な地域・歴史に適用可能なビッグスケールの外的妥当性の高い研究(質的な比較歴史研究)

⇒どちらが優れているか、どちらのリサーチ・デザインをとるのかは研究課題による。さらに研究者がとりうる研究領域、研究手法による

II.データ収集の方法

1. どのようなデータを扱うのか?

データの目的に沿った分類

学術的調査の例

調査名 URL
日本版総合的社会調査 (Japanese General Social Surveys: JGSS) http://jgss.daishodai.ac.jp/
全国選挙データ (Japan Election Studies: JES) https://jesproject.wixsite.com/jesproject
東京大学谷口研究室・朝日新聞社共同調査 https://www.masaki.j.u-tokyo.ac.jp/utas/utasindex.html
American National Election Studies https://electionstudies.org/
Comparative Study of Electoral Systems (CSES) https://cses.org/
Comparative Welfare State Dataset (CWSD) https://www.lisdatacenter.org/news-and-events/comparative-welfare-states-dataset-2020/

実務的調査の例

種類 調査名 URL 備考
官庁統計(国内) 総務省統計局 http://www.stat.go.jp/data/guide/1.htm
総務省統計局・長期統計 http://www.stat.go.jp/data/chouki/index.htm
日銀短観 http://www.boj.or.jp/statistics/tk/index.htm/
世論調査 国民生活に関する世論調査 http://www8.cao.go.jp/survey/index-ko.html
新聞社による内閣支持率や政党支持率調査 公表されているものもあれば購入や使用許可が必要な場合も、要注意
市場調査 企業が戦略立案のために実施、視聴率調査やマーケットの動向調査など

調査方法による分類

各種調査手法の一覧

調査手法 内容
調査票調査 調査事項や回答記入欄などを予め記載した同一フォーマットの調査票を用いる調査。それぞれの質問項目が「変数」に該当。調査した人数分のケース(≒サンプル)
聴き取り(インタビュー調査) 調査票を用いずに、それにとらわれることなく、対象者に質問をして回答を導く調査。(注:フィールドワークなどでは予め同一のフォーマットを作成するとしても、それをベースに質問者が自由に質問を展開する場合は調査票調査に分類) (例) 政治史や外交史などの分野で行われるオーラル・ヒストリー URL: http://joha.jp/
参与観察 探求したい社会現象が起こっている現場に参加(≒フィールドワーク)し、そこで行動をともにしながら観察したことを記録していく手法。文化人類学や社会学でよく用いられる方法。研究のアウトプットとしては事例研究などが適する。 ※参与観察における目的:記述でも因果関係の説明でもなく、場合によっては「解釈(interpretation)」が目指される(例:ある部族におけるウィンクの意味)
ドキュメント分析 政府文書、回顧録、手紙、日記、オーラル・ヒストリーといった「一次資料」や、新聞雑誌記事、関連の先行研究といった「二次資料」を用いて、事実関係の記述や因果関係の解明を目指す作業。 ⇒国立国会図書館や国立公文書館(National Archive)などでの資料収集が主体に。政治史や外交史研究において主流の方法

2. 量的データの社会調査法による収集の形態

大別して、以下のものに分類

(1)面接調査法

(2)留置き調査法

(3)郵送調査法

(4)電話調査法

(5)インターネット調査法

(1)面接調査法

面接担当者が質問を1つづつ尋ね、それに対して回答者が答える方式

面接調査法の長所と短所

長所 短所
・大量のデータを一度に収集でき、回答が標準化されているため変数化しやすい ・質問形式の固定化により、回答の深さや背景が十分に得られにくい
・対象者から詳細な情報や深い洞察が得られる。柔軟な質問展開が可能 ・データの標準化が困難で、インタビューアーの影響により偏りが生じる可能性がある
・現場の実態を直接観察でき、コンテクストを深く理解できる ・観察者の主観が入りやすく、一般化が難しい場合がある
・既存の資料を利用できるため、費用や時間を節約できる。過去のデータが豊富 ・資料の偏りや不完全さにより、データの網羅性や信頼性が低下する可能性がある
・高額。高度な技能がある組織、またそれを資金面で動員できる組織でしか事実上遂行が不可能

(2)留置き調査法

調査官が調査対象者のもとを訪れ、調査票を手渡し留置く。それに回答者が答え、後日回収する方式

留置き調査の長所と短所

長所 短所
・対象者が都合の良い時間に、全体の構成を把握しながら回答することができるので調査協力を得やすい ・代理人による回答がなされている可能性がある
・対象者と直接面接する必要がないので、他の家族の構成員などから回収することも可能 ・家族との接触などからの影響を受けている可能性がある
・調査者との接触が少ない分、正直な回答が得られやすい ・知識を問う設問で、対象者が独自に調べて回答してしまい、真の知識量が測れない場合がある
・質問内容を理解できない場合に、対象者が質問できる相手がいない

(3)郵送調査法

調査票を調査対象者に郵送し、対象者が回答を記入後に返送する方式

郵送調査の長所と短所

長所 短所
・調査員を必要としないので、調査員を雇うコスト分をかなりの程度削減可能 ・代理人が記入している可能性がある
・全国や場合によっては海外など、地理的に広い範囲をカバー可能 ・家族など周囲からの影響を受けている可能性がある
・調査員を介しない分、対象者が正直に回答する可能性が高まる ・回収率が低い

(4)電話調査法

当初は調査員が調査者宅に電話をかけ、質問文を読み上げ、対象者が答える方式として始まる。現在では、電話番号リストをもとにしたRandom Digit Dialing (RDD)により、調査対象者を抽出し、予め調査者が録音した内容への回答を直接コンピューターで集計するCATI(computer-Assisted Telephone Interviewing)方法が一般的

電話調査の長所と短所

長所 短所
・短時間で調査が可能 ・電話帳に記載されていない人が予め調査対象者から漏れてしまうという切断バイアス(truncate)
・調査員が対象者宅などを訪れなくてすむために負担が小さい ・固定電話は減少し、携帯電話が主流に。RDDの限界によってサンプルの代表性は担保しにくくなっている
・調査員が質問する場合、代理人による回答が行われる可能性が減り、質問文を理解できない場合の説明などが可能となる ・携帯電話が主流になっている昨今、不審電話としてそもそも電話に出てもらえない。莫大な回数の架電をしても、回答率は数%程度

(5)インターネット調査法

インターネットを使って調査協力者を募り、調査画面に誘導して回答してもらう方法。質問文だけではなく、何らかの処置となるワーディングを工夫した文章、画像・映像視聴なども組み合わせることにより実験設計が可能となる

電話調査の長所と短所

長所 短所
・調査協力者の都合に合わせて回答に取り組める ・インターネットを利用できる人や、インターネットでの調査に応じるという、予めその調査に関心のある人のみの情報しか入手し難いという切断バイアス(truncate)
・調査員にかかわるコストを抑えることが可能 ・サンプルの人口動態に対する代表性を担保できない場合がほとんど
・回収率は総じて高くなる(予定サンプルに達するまで調査を継続するため) ・他調査法に比べて安価とはいえ、インターネット調査会社に依頼した場合、社によっては高額の調査費を支払う必要がある

III.多変量データの分析

1.多変量データとは何か?

我々がRを使って行おうとすることは何か? - 多変量データ:複数の変数・変量(variables・variates)からなるデータ。以下の表のように、複数の変数から構成されるデータセットである。 - 多変量解析:複数の変数・変量からなるデータに対して、データの特性を要約したり、関心のある変数間の関係性を回帰分析等により明らかにすること

2.変数の呼称

  • 原因と結果に対応する呼称

  • 変数データ解析の性質に応じた呼称

3.モデルとは?

  • 多変量解析の中でも、多変量回帰分析(重回帰分析)に本授業では取り組んでいく
  • 推定のためのモデル(estimation model):従属変数=独立変数 (lhs=rhs)で表される

実際のモデルとはどのようなものか?

  • 検証する仮説群

仮説1:学歴が高いほど、賃金が上がる

仮説2:職業訓練を受けるほど、賃金が上がる

仮説3:専門的な就業年数が長いほど、賃金が上がる

仮説4:仕事に対する動機づけが高いほど、賃金が上がる

これを数式によって表現すると・・・ \[ y_{wage}=\beta_{0}+\beta_{1}x_{education}+\beta_{2}x_{training}+\beta_{3}x_{expertise}+\beta_{4}x_{motivation}+\epsilon. \]

各要素の説明

\(y_{wage}:賃金\)

\(\beta_{0}:定数項(切片)\)

\(x_{education}:学歴\)

\(x_{training}:職業訓練受講歴\)

\(x_{expertise}:専門的な就業年数\)

\(x_{motivation}:仕事に対する動機づけ\)

本授業では、こうした重回帰分析の多様な形態を学ぶことを目指すが、それ以外の重回帰分析の手法もあることも知っておこう

4. データの種類と多変量解析

データの種類によって、適した分析方法を見極めることがデータ解析には求められる。データの種類と適した分析手法について確認する。

観察データ(observation data):観察から得られたデータ

  • 横断面データ:特に個人に関する意識調査のデータはサーヴェイ・データ(survey data)と呼ばれる。実験的処置が含まれない1時点からなるサーヴェイデータは、観察データであり、横断面データである。

  • パネル・データ:観察データのパネル・データにおいて、個人に関するサーヴェイ・データは、横断面情報\(i\)の方が時系列情報\(t\)より多い、横断面=時系列データ(cross section-time-series data: CSTS data)である。これに対して、OECD諸国に関するパネルデータの場合、横断面情報\(i\)の方が時系列情報\(t\)より少ないこともあり、その場合は時系列=横断面データ(time series-cross section data: TSCS data)と呼ばれる。

  • 時系列データ(time-series data):ある特定の集団、地域、国に関する長期間のデータが集積されたもの。経済成長率、日経平均株価、支持率などのデータがある

実験データ(experimental data):実験によって得られたデータ

  • 横断面データ(cross-section data):ある1時点における個人、グループ、集団、場所・領域などに関する情報を集めたデータであり、実験データにおける横断面データには、必ず介入(intervention)・処置(treatment)と統制(control)・対照(contrast)を分ける変数が含まれる

  • パネル・データ(panel data)/横断面=時系列データ(cross section-time-series data: CSTS data):個人、グループ、場所に関する複数時点の観察が含まれたデータ。実験データの場合、多くの場合に横断面\(i\)に関する情報が、時系列\(t\)に関する情報より多く含まれる(CSTS)。

IV.因果関係の問題

1. 因果法則の3つの条件(高根 1979)

①原因が結果より先に起こる

②原因と結果が共変する

③原因以外の重要な要因が変化しない

2. 相関関係(correlation)があるということ

相関係数\(r\)が0.6の場合:

相関係数\(r\)が0.6の場合:

相関係数\(r\)が0.02の場合(つまり\(r=0\)を否定できない場合):

ちなみに相関に関する図は、次のようなコードで出力していた。こうしてコードを書けるようになっていこう!

set.seed(123) # 同じ結果を得るためにseedを設定
n <- 100 # サンプルサイズ

# 相関が0.6になるようなデータセット生成
x <- rnorm(n)
y <- -0.02 * x + sqrt(1 - (-0.02)^2) * rnorm(n)
df <- data.frame(x, y)

#必要なパッケージの導入
library(ggplot2)
library(ggalt)

#描画
p <- ggplot(df, aes(x=x, y=y)) +
  geom_point() + # 散布図
  geom_smooth(method='lm', se=FALSE, linetype='dashed', color='blue') + # 回帰直線
  annotate("text", x = mean(df$x), y = mean(df$y), label = "r=0.02", color = "red") + # 相関係数のテキストを中央に配置
  coord_fixed(ratio = 1) + # アスペクト比を1に設定
  geom_encircle()+# プロット全体を囲む
  theme_bw()

print(p)

3. 相関係数の計算:まずはざっとR(RStudio)に触れてみよう!

相関関係について考えるために、まずはRを使ってピアソン積率相関係数を計算してみよう。

df_wel<-read.csv("welfare_state.csv")
attach(df_wel)
head(df_wel)
##    id year     pop  po65 socx_pub    per_aged leftseat
## 1 AUL 1960 10275.0 874.9       NA 0.085148418     36.9
## 2 AUL 1961 10508.2 894.6       NA 0.085133515     37.9
## 3 AUL 1962 10700.5 913.6       NA 0.085379188     49.2
## 4 AUL 1963 10906.9 933.0       NA  0.08554218     48.5
## 5 AUL 1964 11121.6 948.1       NA 0.085248525     41.0
## 6 AUL 1965 11340.9 966.3       NA 0.085204878     41.0

分析結果を解釈する。結果の見方がわかった上で、結果の解釈の仕方がなんとなくわかるだろうか?

cor.test(socx_pub,per_aged)
## 
##  Pearson's product-moment correlation
## 
## data:  socx_pub and per_aged
## t = 18.372, df = 649, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.5319956 0.6333041
## sample estimates:
##       cor 
## 0.5849266

では、相関関係があるということは、因果関係があることを意味するだろうか?

  • 高齢者人口割合が増える→社会保障費が拡充される

  • 社会保障費が拡充され福祉が充実する→人々の寿命が伸びた

  • あるいはその両方の相乗効果・シナジーなのかも?

  • いや、人々の寿命を伸ばし、社会保障費も上げる第3の要因があるのかも?!(例:平和で戦争のない民主主義体制の継続)

2つの要素間に相関関係があることが、ただちに両者の因果関係を必ずしも意味しない。これはどういう意味なのだろうか・・・

4.因果関係の根本問題:もしも実験ができるなら・・・

  • 因果関係の根本問題:Nyman-Rubinの因果モデル

各個体それぞれにおいて処置(treaetment 他に処理・介入等とも表現)を受けた時と受けなかった時の両方が観察可能な時:その処置による結果(outcome)の差を定量的に観測することで、処置による因果効果を確かめることができる

⇒その根本問題とは?:「処置を受けた個体」と「処置を受けなかった個体」、どちらかは存在せず観察できないので、個体に関する処置の差(unit level causal effect)を比較することはできない

  • 因果効果の測定をめぐる代替的手法

以下のStabe Unit Treatment Value Assumption (SUTVA)のもとで、集団レヴェルでの因果効果(population level causal effect)を評価する;

(1)観察される個体の反応は、他の個体がどのような処理を受けてもその影響を受けない→他の個体とは独立

(2)処理水準はそれぞれ1つの水準に定められる

集団間の結果の差を平均処置効果(average causal effect: ATE)として処置の効果、すなわち因果効果とみなす

潜在的帰結(potential outcome)をもとにした因果推論

  • 実験的手法

    • ランダム化比較試験(randomized controll treatment: RCT):ランダム・サンプリングにより統制群(control group)と処置群(treatment group)に被験者を無作為割り当て(random assaignment)することによって、処置の集合的な因果効果を見ることによって、因果効果を特定する

    • 自然実験(natural experiment):あるイヴェントが生じたことにより、「偶然に」処置を受けたグループが生じた際、処置をを受けたグループと受けていない統制群との間で結果の差を観察する(例は口頭で説明します)

⇒こうした実験的手法によって集められたデータを「実験データ」と呼ぶ。因果効果を直接的に測定しようとする設計に基づていることから、より因果効果を適切に測りやすいと考えられている

しかし、考えてみよう。いつでもこうした実験的な手法が採用できるだろうか・・・?

5.相関関係と因果関係:多変量解析の技法

先ほどの相関と因果の問題に戻ろう。

  • 要因間に相関が認められるとしてもその相関関係が、

(1)2つの要因間の因果関係によって生じたものなのか

(2) 2つの要因の共通原因となる第三の要因があって、その要因の変動によって生じたものなのか

を区別する必要がある(黒木学『構造的因果モデルの基礎』共立出版、2017年、3頁)

  • 第3の要因:交絡(covariates)の問題(再掲)

【交絡(covariates)】民主主義が人々の寿命にも、民主主義が社会保障支出の増大もともに促し、そのもとで「高齢者の人口割合→社会保障支出」という因果が観察されているのが観察されているのかもしれない

【因果媒介効果(causal mediation effect)】高齢者人口の増加が成熟した民主主義を促し、それが民主主義的福祉国家のもとでの社会保障支出をもたらしているかもしれない

関心のある2変数間の因果関係に影響を与える、第3番目以降の変数、すなわち多変量を扱うのが多変量解析であり、何を明らかにするかに応じて利用する分析手法が変わる

6. 多変量解析の技法(この授業では扱わないものもあるけど知っておくとよいもの)

多変量解析とひとくちに言っても、その中には多くの技法が含まれる。「I-3.モデル」の説明で取り上げた「多変量回帰」はその一例だが、他にも次のようなデータの要約、因果性の検証ための技法がある。

  • 重回帰分析 (multivariates regrression analysis):ある1つの目的変数に対する因果性を仮定し、その要因と考えられる複数の変数からの因果性を同定する(identify)ための方法
result<-lm(socx_pub~per_aged+leftseat)
summary(result)
## 
## Call:
## lm(formula = socx_pub ~ per_aged + leftseat)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -9.1099 -2.9080 -0.0915  2.8955 12.9471 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   1.87238    0.99570   1.880   0.0605 .  
## per_aged    117.18442    7.02275  16.686  < 2e-16 ***
## leftseat      0.06025    0.01050   5.737 1.48e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.074 on 648 degrees of freedom
##   (559 個の観測値が欠損のため削除されました)
## Multiple R-squared:  0.3739, Adjusted R-squared:  0.372 
## F-statistic: 193.5 on 2 and 648 DF,  p-value: < 2.2e-16
  • 構造方程式モデリング (Structural Equation Modeling (SEM)):複数の変数間に複数の因果を仮定し、共分散行 列や相関行列をもとに因果性を同定するための方法
library(lavaan) #構造方程式モデリングのためのパッケージをロード
library(semPlot)

DF2 <- data.frame(per_aged, socx_pub , leftseat) #分析に利用するデータフレームの作成

model <- '          #モデルの設定
 
  # 回帰
  socx_pub~leftseat
  per_aged~leftseat
  socx_pub~ per_aged
 '
fit2 <- sem(model, data=DF2) #推定
summary(fit2)
## lavaan 0.6-19 ended normally after 1 iteration
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         5
## 
##                                                   Used       Total
##   Number of observations                           651        1210
## 
## Model Test User Model:
##                                                       
##   Test statistic                                 0.000
##   Degrees of freedom                                 0
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   socx_pub ~                                          
##     leftseat          0.060    0.010    5.750    0.000
##   per_aged ~                                          
##     leftseat          0.000    0.000    6.852    0.000
##   socx_pub ~                                          
##     per_aged        117.184    7.007   16.725    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .socx_pub         16.523    0.916   18.042    0.000
##    .per_aged          0.001    0.000   18.042    0.000
semPaths(fit2, "model", "est", intercepts = FALSE) #推定結果の描画

  • 因子分析 (Factor Analysis)
library(caret) #ダミー変数作成のために利用
library(psych) #因子分析のための```fa()```コマンドのために利用

politician<-read.csv("politician2017.csv", fileEncoding="SJIS") #データを読み込み
attach(politician)

tmp<-data.frame(as.factor(Q1_1)) #データフレームを作成

tmp1 <- dummyVars(~.,data=tmp) #ダミー変数を効率良く作成
policy<- as.data.frame(predict(tmp1, tmp))

result <- fa(policy,factors=2,rotation="varimax") #因子分析
result
## Factor Analysis using method =  minres
## Call: fa(r = policy, factors = 2, rotation = "varimax")
## Standardized loadings (pattern matrix) based upon correlation matrix
##                      MR1      h2     u2 com
## as.factor.Q1_1..1  -1.04 1.07334 -0.073   1
## as.factor.Q1_1..2   0.06 0.00411  0.996   1
## as.factor.Q1_1..3   0.09 0.00839  0.992   1
## as.factor.Q1_1..4   0.05 0.00265  0.997   1
## as.factor.Q1_1..5   0.25 0.06499  0.935   1
## as.factor.Q1_1..6   0.10 0.01025  0.990   1
## as.factor.Q1_1..7   0.07 0.00472  0.995   1
## as.factor.Q1_1..9   0.02 0.00025  1.000   1
## as.factor.Q1_1..10  0.05 0.00265  0.997   1
## as.factor.Q1_1..11  0.04 0.00129  0.999   1
## as.factor.Q1_1..12  0.08 0.00567  0.994   1
## as.factor.Q1_1..13  0.06 0.00381  0.996   1
## as.factor.Q1_1..14  0.02 0.00050  0.999   1
## as.factor.Q1_1..15  0.04 0.00182  0.998   1
## as.factor.Q1_1..16  0.10 0.00949  0.991   1
## as.factor.Q1_1..99  0.07 0.00535  0.995   1
## 
##                 MR1
## SS loadings    1.20
## Proportion Var 0.07
## 
## Mean item complexity =  1
## Test of the hypothesis that 1 factor is sufficient.
## 
## df null model =  120  with the objective function =  22.11 with Chi Square =  10122.98
## df of  the model are 104  and the objective function was  21.79 
## 
## The root mean square of the residuals (RMSR) is  0.06 
## The df corrected root mean square of the residuals is  0.06 
## 
## The harmonic n.obs is  465 with the empirical chi square  350.31  with prob <  2e-28 
## The total n.obs was  465  with Likelihood Chi Square =  9962.43  with prob <  0 
## 
## Tucker Lewis Index of factoring reliability =  -0.139
## RMSEA index =  0.451  and the 90 % confidence intervals are  0.445 0.46
## BIC =  9323.66
## Fit based upon off diagonal values = 0.37
## Measures of factor score adequacy             
##                                                    MR1
## Correlation of (regression) scores with factors   0.91
## Multiple R square of scores with factors          0.84
## Minimum correlation of possible factor scores     0.67
  • 主成分分析 (Prinsipal Component Analysis:PCA)
  • クラスター分析 (Clauster Analysis)
data<-iris

distance <- dist(data) #ユークリッド距離
hc <- hclust(distance, "ward.D2") # 樹形図

plot(hc) #デンドログラムの描画

上記いずれの方法もデータの特性を要約し、関心のある要素間の関係性を分析するものである。分散分析法(Analysis of Variance: ANOVA)が、どちらかというと2変数間(1つの独立変数と1つ従属変数)の平均値の差や分散の差に焦点を当てるものである一方で、複数の変数の要約・因果性の特定を試みていることを知っておこう

 

V.Rを使ったデータ分析

1.統計分析用のソフトウェア

データ解析を行うに際して、利用可能なソフトウェアは以下のように多くある。

  • Excel:Microsoft Office自体は有料だが、PCに標準装備のことも多い

  • HAD:Excelがあれば、それにアドインすることで無料で利用可能。こちらよりダウンロード可能。以下のSPSSに対応する分析が、無料で入手できるツールによって可能

  • SPSS:有料。Graphic User Interface (GUI)により簡易な操作で各種の統計分析が可能

  • STATA:有料。優れたGUIを有しつつ、コマンド入力により高度な分析も可能。また高度な分析を行う際のアドインも充実

2.Rを利用するメリット

  • 無料

  • コマンド入力とpackageにより高度な分析が可能

  • Rユーザーの層が厚いことから、かなり高度な分析であっても、solutionをオンライン上で検索して発見することができる

3.実践:RStudioのインストール

①まずはじめにRstudioを各自のパソコンにインストールし利用できるようにしよう。

②次にR本体をインストールしよう。 ※Macの場合は、「Mac R download」で検索し、ダウンロードしてください。

4.実践:Projectを作ろう

①RStudioを起動したら、まずは「Project」を作るとよい。Projectによって、1つの分析プロセスを構成し管理していくことがスムーズな作業を進める鍵になる。以下の赤く囲んだところから「New Project」を選択。

②次にProjectを作るフォルダを指定する。新しくフォルダを作成するならNew Directoryを選択、既存のフォルダを利用するならExisting Directoryを選択する。以下では、New Directoryを選択するものとして説明するが、どちらでも難易度が異なるということはない。

③続いて、New Projectを選択したら・・・

④BrowseボタンからProjectを作成したいフォルダを選択し、Directory NameでProjectの名前を入力する。可能な限りローマ字表記で。

⑤ここでは「practice」という名前のプロジェクトを作成したが、下の画面のように、画面右上に自分の入力した名前が表示されていればprojectの作成は成功。

⑥次に画面の右下、Filesというタブを見てみよう。Projectが保存されているフォルダ内のファイルを確認できるが、そこに拡張子.Rprojのプロジェクトファイルも格納されているのがわかる。

5.実践:データの読み込み

最初に利用するデータを読み込むことから始めよう。

①Rでは、他のソフトウェアで作られたデータセットを読み込むことが多い。最も多いパターンは、Excelによる.csv(comma separated variables)データである。ここで注意するべきことは、データファイルの保存場所である。利用するデータを必ず、作成したProjextファイルと同じフォルダ内に保存しよう。保存が成功しているなら、下の画面のように、Filesタブ内に、データファイルの存在を確認することができる。

②いよいよコマンドを入力していくが、コマンドを入力するのは「R Script」という画面である。ここにコマンドを書き、スクリプトとして保存することで、毎回同じ作業を繰り返して行うことができる。そしてスクリプトを共有することで、他の分析者とも「再現可能性」をもって、作業を追試しあうことができる。スクリプト画面を立ち上げてみよう。

画面左上の「+」マークから、「R Script」を選択するとスクリプトを記入する画面が立ち上がる。スクリプトに書いたコマンドを実行した結果は、下の「Console」画面に表示される。それによって生成されたオブジェクトは、左上の「Environment」タブに表示されていく。

③では実際に、データを読み込むコマンドを入力してみよう。次のようなコマンドを打つとデータを読み込むことができる。attach()コマンドによって、データファイル内の変数をスムーズに分析に利用することができるので、データの読み込みと同時にこのコマンド処理もしておくようにしよう。

df_cws<-read.csv("cws.csv")
attach(df_cws)

上記のコマンドについて説明する。最初に書いたcws」というのは、データを格納するオブジェクトであり、任意の名前をつけてもらって構わない。data frameを略して、dfで始まる名前を付けることも多い。「<-」はオブジェクトにread.csvのコマンドによって、()内の作業をしたオブジェクトを格納するという記号である。「小なり(<)」と「ハイフン(-)」からなっている。次のattach()はデータフレーム内に含まれる各変数を分析に利用できるようにするためのコマンドである。

スクリプトにはこのように書いていくことになる。最初の赤く囲んだ部分は、このスクリプトタイトルである。ポイントは#マーク。#で始まる行、あるいは文言はメモとして認識され、コマンドとは認識されない。だから7行目の###-------load dataもコマンドとは認識されないメモ行である。そしてすべての行を選択し、左上の青で囲んだ「Run」をクリックするとコマンドが実行される。

ここで実行された結果を「Console」で確認しよう。赤で囲んだのが1回目の試行だが、attach()コマンドをattacをミスタイプしている。するとエラーが赤文字で表示される。多くの場合、赤文字で表示さているときには、その作業がコマンドのエラーによりうまくなされていないことを表している。2回目はの試行では、赤文字は出ておらず、次のコマンドを待機する>が表示されている。

そして右上の「Environment」には、新たに生成されたデータオブジェクトとして「df_cws」が表示されている。

6.実践:パッケージのインストール

①Rでは、様々な形式のデータファイルを読み込むことができるが、そのためにはパッケージ(package)のインストールが必要になる。パッケージのインストールは次のコマンドで実行できる。

install.packages("openxlsx")

ここでは、エクセルファイルを幅広く読み込んだり書きだしたりするための、openxlsxパッケージを例に書いたが、簡単な分析から高度な分析まで多様なパッケージをインストールし分析に利用できるのがRの強みである。

②他にも以下のように、画面右下の「Packages」タブから、「install」を選択。

ウィンドウ内に「openxlsx」と入力してパッケージをインストールすることも可能。

③そしてExcelの「.xlsx」ファイルを読み込む場合には、以下のlibrary(openxlsx)によってまずはパッケージを読み込む。続いて、read.xlsx()によって、次のようにコードを書けば、エクセルファイルの”cws”シートのところにあるデータを読み込むことができる。

library(openxlsx)
df_cws<-read.xlsx("cws.xlsx", sheet = "cws")
attach(df_cws)

7.保存

①スクリプトの保存が最も大事。下の保存のアイコンをクリック。

②任意の名前を付けて「保存」すると、スクリプト画面の名称が変更になり(赤)、右下の「Files」画面に拡張子「.R」のファイルが追加されているのがわかる。

これ以降は、「保存」のアイコンをクリックすることで上書きすることが可能。

VI. R Markdownも使ってみよう

R Markdownの意義

あらゆる分野の分析において、分析結果の追試可能性、再現性はとても重要である。他の研究者が、同じデータや同じ条件下でのデータを使って同じ分析をしたときに、同様の分析結果が得られるのかを確かめることが科学においては重視される。その一連の作業を効率よく進めるために、RにはR上でコマンドを入力し分析をするだけではなく、分析結果の報告といった文章情報も統合的に入力する機能として「R Markdown」機能が備わっている。本授業では、この機能を積極的に利用し、レポートを効率的に、再現性を保ったうえで書いていく技術を身に着けよう。

R Markdownの実践

①再び、画面左上の「+」マークから、「R Markdown」を選択。

②「Title」欄に任意の名前を入力し、現時点では、「HTML」出力を選択して「OK」。

③デフォルトで、次のような例示画面が出力される。それぞれの行の意味は説明とともに、以下図を参照してもらいたい。

④この段階で早速、以下図の赤で囲んだ「knit」ボタンをクリックしてみよう。markdownを保存することが求められるので、任意の名前を入力し「save」。

⑤以下のようなHTML画面が表示される。

そしてこの説明のためのHTML画面も、実は・・・