1-1

Similar documents
1級 ワンポイント

第1回

計算式の取り扱い

1. 表 から 値 を 抽 出 する 説 明 1.1. 表 から 値 を 抽 出 するための 関 数 について 説 明 します LOOKUP VLOOKUP HLOOKUP 関 数 は 検 索 値 に 対 応 する 値 を 検 索 値 を 含 む 一 覧 表 から 抽 出 し てくれる 関 数 です

情報処理技能検定試験 表計算2級 手順書

返還同意書作成支援 操作説明書

POWER EGG V2.01 ユーザーズマニュアル ファイル管理編

もくじ 0.はじめに 1 1. 用 紙 をスキャナで 用 紙 を 読 み 込 む 1 2. 書 式 定 義 マークした 部 分 を 個 々のデータとして 取 り 込 む 場 合 ( 複 数 回 答 対 応 ) マークした 部 分 をグループ 化 して 取 り 込 む 場 合

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

01_07_01 データのインポート_エクスポート_1

<4D F736F F D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A B E A2E646F63>

平成25年度 独立行政法人日本学生支援機構の役職員の報酬・給与等について

目 次 1. 大 学 情 報 データベースシステムの 使 用 方 法 について EXCEL 一 括 登 録 EXCEL ダウンロード 検 索 条 件 の 指 定 プレビュー EXCEL ダウンロード(データ 抽 出 あ

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

目 次 1. 論 理 関 数 IF IF の 概 要 論 理 式 の 種 類 等 号 不 等 号 具 体 的 な 使 い 方 ネスト 複 数 の 条 件 を 記 述...

2 出 願 資 格 審 査 前 記 1の 出 願 資 格 (5) 又 は(6) により 出 願 を 希 望 する 者 には, 出 願 に 先 立 ち 出 願 資 格 審 査 を 行 いますので, 次 の 書 類 を 以 下 の 期 間 に 岡 山 大 学 大 学 院 自 然 科 学 研 究 科 等

<6D313588EF8FE991E58A778D9191E5834B C8EAE DC58F4992F18F6F816A F990B32E786C73>

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

Microsoft Office Excel2007(NO.2エクセル初級後編)

治 験 実 施 管 理 システム NMGCP 向 け Excel 形 式 プロトコール 作 成 手 順 書 V4.0.3 対 応 版 第 1 版 株 式 会 社 富 士 通 アドバンストエンジニアリング All Rights Reserved,Copyright 株 式 会 社 富 士 通 アドバン

預 金 を 確 保 しつつ 資 金 調 達 手 段 も 確 保 する 収 益 性 を 示 す 指 標 として 営 業 利 益 率 を 採 用 し 営 業 利 益 率 の 目 安 となる 数 値 を 公 表 する 株 主 の 皆 様 への 還 元 については 持 続 的 な 成 長 による 配 当 可


< DB8CAF97BF97A6955C2E786C73>

<4D F736F F D C97F195CF8AB DEC90E096BE8F912091E6312E313294C52E646F63>

2 役 員 の 報 酬 等 の 支 給 状 況 役 名 法 人 の 長 理 事 理 事 ( 非 常 勤 ) 平 成 25 年 度 年 間 報 酬 等 の 総 額 就 任 退 任 の 状 況 報 酬 ( 給 与 ) 賞 与 その 他 ( 内 容 ) 就 任 退 任 16,936 10,654 4,36

以 下 に 手 順 の 流 れを 記 載 します 3ページ 以 降 で 各 項 目 の 手 順 を 説 明 します ( をクリックすると 該 当 ページにジャンプします ) また 4ページに 汎 用 データ 受 入 に 関 するよくあるお 問 い 合 わせをご 紹 介 しています Step (3ペー

弁護士報酬規定(抜粋)

Box-Jenkinsの方法

18 国立高等専門学校機構

0 目 次 1. 畑 のあしあとの 使 い 方 P.3 2.オプション P.6 3.モバイルデバイスより 履 歴 取 得 P.8 4. 基 本 情 報 管 理 P 栽 培 計 画 P.22 6.ドキュメント 出 力 P 栽 培 履 歴 管 理 P.28 8.モバイルでの 栽

Microsoft Word - 目次.doc

2 県 公 立 高 校 の 合 格 者 は このように 決 まる (1) 選 抜 の 仕 組 み 選 抜 の 資 料 選 抜 の 資 料 は 主 に 下 記 の3つがあり 全 高 校 で 使 用 する 共 通 の ものと 高 校 ごとに 決 めるものとがあります 1 学 力 検 査 ( 国 語 数

平成16年年金制度改正 ~年金の昔・今・未来を考える~

2 役 員 の 報 酬 等 の 支 給 状 況 平 成 27 年 度 年 間 報 酬 等 の 総 額 就 任 退 任 の 状 況 役 名 報 酬 ( 給 与 ) 賞 与 その 他 ( 内 容 ) 就 任 退 任 2,142 ( 地 域 手 当 ) 17,205 11,580 3,311 4 月 1

SMILEes 人事給与 「年間報酬平均による保険者算定」 Q&A集


「1 所得税及び復興特別所得税の確定申告書データをお持ちの方」からの更正の請求書・修正申告書作成編

Transcription:

経 済 分 析 のための Stata 入 門 経 済 産 業 研 究 所 計 量 分 析 データ 室 松 浦 寿 幸 早 稲 田 大 学 大 学 院 経 済 学 研 究 科 佐 々 木 明 果 慶 應 義 塾 大 学 大 学 院 経 済 学 研 究 科 渡 辺 善 次 2006/04/01 version 最 新 版 は http://park1.wakwak.com/~mt_tosiyuki/stata-manual.htm からダウンロード 可 能 1

目 次 第 1 章 Stata のはじめの 一 歩...3 1-1.Stata の 起 動...3 1-2.データの 読 み 込 み...4 1-3.データを 保 存 する...5 1-4. 読 み 込 んだデータを 確 認 しよう...6 1-5. 変 数 の 加 工 と 条 件 式...8 1-6.Do ファイルのすすめ...10 1-7.LOG をとる...12 第 1 章 補 論...15 補 論 1-1.データ 読 み 込 みのトラブルシューティング...15 補 論 1-2.プログラミングによる 繰 り 返 し 作 業...19 第 2 章 データベースの 作 成...20 2-1.データの 縦 方 向 の 結 合 (1)...21 2-2.データの 横 方 向 の 結 合 (2)...22 2-3. 少 数 のデータセットから 大 規 模 データに 値 を 割 り 当 てる...24 2-4. 不 完 全 一 致 のデータセットの 接 続...25 第 3 章 記 述 統 計 による 分 析 ( 表 の 作 成 )...27 3-1.カテゴリー 区 分 された 変 数 ( 質 的 データ)...27 3-2. 連 続 変 数 の 記 述 統 計 量 をみる...30 3-3. 階 級 別 カテゴリー 変 数 の 作 成 ( 度 数 分 布 表 の 作 成 )...39 3-4.データのエクセルへの 移 行...41 第 4 章 回 帰 分 析 離 散 選 択 モデルの 推 定...43 4-1. 回 帰 分 析...43 4-2. 離 散 選 択 モデル...48 4-3. 回 帰 分 析 結 果 の 整 理 (outreg コマンド)...51 第 5 章 パネルデータによる 分 析...53 5-1.パネルデータとは...53 5-2.パネルデータによる 回 帰 分 析...58 第 5 章 補 論 重 複 データの 対 処 法...60 第 6 章 サバイバル 分 析...63 6-1.サバイバル 分 析 とは...63 6-2.サバイバルデータとしての 認 証...63 6-3.サバイバル 分 析...64 索 引...67 2

第 1 章 Stata のはじめの 一 歩 1-1.Stata の 起 動 まずは Stata を 起 動 してみましょう インストール 後 に Stata を 起 動 すると 以 下 の4つのウインドウ が 現 れます 以 下 簡 単 にそれぞれのウインドウの 役 割 について 説 明 します 図 1-1 (2) Review ウインドウ メニュー (4) Results ウインドウ (3) Variable ウインドウ (1) Command ウインドウ (1) Stata Command:コマンドを 入 力 するウインドウです (2) Review: 過 去 に 実 行 したコマンドが 順 次 表 示 されていきます 表 示 されているコマンドをク リックすると Stata Command ウインドウに 表 示 されます (3) Variable: 使 用 できる 変 数 の 一 覧 が 表 示 されます (4) Stata Results:データ 処 理 の 結 果 が 表 示 されます 実 際 のデータ 処 理 にあたっては メニューから 処 理 方 法 を 指 定 したり Stata Command ウインド ウにコマンドを 直 接 入 力 したりすることで 作 業 を 進 めることになります 初 心 者 にはメニューから 処 理 方 法 を 指 定 するほうが 簡 単 ですが ここでは Command ウインドウへコマンドを 入 力 して 作 業 を 進 める 方 法 を 中 心 に 説 明 します この 方 法 で Stata を 操 作 することに 慣 れておくと プログラムを 利 用 する 際 に 移 行 しやすいからです 3

1-2.データの 読 み 込 み Stata では 拡 張 子 が.dta となっている Stata 形 式 ファイルしか 処 理 に 用 いることはできません そこ で まず Stata 形 式 のファイルを 用 意 する 必 要 があります しかし 通 常 処 理 の 前 段 階 における データは EXCEL 形 式 やタブ 区 切 り カンマ 区 切 り(CSV)などで 保 存 されている 場 合 がほとんどで すから ここでは これらのファイル 形 式 のデータを Stata に 読 み 込 む 方 法 を 検 討 しましょう ここでは 以 下 のような 上 場 企 業 の 財 務 データを 読 み 込 む 場 合 を 検 討 します 表 1-2 証 券 コード 漢 字 略 称 売 上 高 経 常 利 益 賃 金 俸 給 試 験 研 究 費 従 業 員 数 6502 Toshiba 3256247 53741 498829 168295 74558 6503 Mitsubishi 2394085 30059 459219 138355 49842 6504 Fuji 582267 5550 99405 24711 14094 6505 Toyodenki 37643-1417 9463 650 1344 6506 Yasukawa 124863 123 27822 586 4576 6507 Shinko 88047-895 20009 845 2571 6508 Medensha 185874 3347 43393 1949 5130 まず 下 準 備 として 変 数 名 を 変 更 します Stata は 日 本 語 に 対 応 していませんので 変 数 名 が 日 本 語 の 場 合 文 字 化 けしてしまいます かならず 変 数 名 は 半 角 英 数 字 を 用 いてください 表 1-2のようなデータセットであれば 1 行 目 の 日 本 語 変 数 名 は 削 除 してから 読 み 込 ませてください 変 数 名 に スペースやハイフンは 使 えません R-and-D は RandD になってしまいます どう しても 使 いたい 場 合 は アンダーバー( R_and_D )を 用 いましょう code name sales Profit Wage R_and_D Labor 6502 Toshiba 3256247 53741 498829 168295 74558 6503 Mitsubishi 2394085 30059 459219 138355 49842 6504 Fuji 582267 5550 99405 24711 14094 6505 Toyodenki 37643-1417 9463 650 1344 6506 Yasukawa 124863 123 27822 586 4576 6507 Shinko 88047-895 20009 845 2571 6508 Medensha 185874 3347 43393 1949 5130 1-2-1.タブ 区 切 り カンマ 区 切 り(CSV)のファイルの 読 み 込 み insheet コマンドを 用 います 表 1-2のデータが CSV ファイル(たとえば D ドライブの Data フォ ルダー 内 に profit-loss.csv というファイル 名 とします )で 保 存 されていると すると 以 下 のようなコマンドを Command ウインドウに 書 き 込 みます insheet using d: Data profit-loss.csv なお 表 頭 に 変 数 名 を 入 力 しておくと Variable ウインドウに 変 数 名 が 表 示 されます 入 力 されて いない 場 合 変 数 名 は v1 v2 v3 となります この 場 合 rename コマンドで 変 数 名 を 変 更 でき ます rename の 使 い 方 は 4

rename [ 旧 変 数 名 ] [ 新 変 数 名 ] となります また 複 数 のファイルの 読 み 込 みを 行 う 際 は 作 業 用 フォルダーを 指 定 することもできます たとえ ば D ドライブの Data フォルダーを 作 業 用 フォルダーとすれば 以 下 のコマンドは 上 記 の 読 み 込 みコマンドと 同 じ 意 味 になります cd d: Data insheet using profit-loss.csv また 現 在 指 定 している 作 業 用 フォルダーを 確 認 する 際 は pwd コマンドを 用 います. pwd D: Data 1-2-2.エクセルファイルの 読 み 込 み エクセルファイルの 読 み 込 み 方 法 はいくつか 方 法 があります (1) タブ 区 切 り カンマ 区 切 り(CSV 形 式 )で 保 存 しなおして insheet コマンドで 入 力 する (2) コピー&ペーストで 貼 り 付 ける メニューの Data をクリックすると Data Editor が 開 きます あらかじめ EXCEL で 入 力 したい データを 範 囲 指 定 して コピー しておき Data Editor が 開 いている 状 態 で メニューの Edit Paste とすれば 簡 単 にデータを 読 み 込 ませることができます Do ファイルについて で 詳 述 しますが ここでは(1)の 方 法 をお 勧 めします (1)の 方 法 の 場 合 Do ファイルとして 作 業 をプログラム 化 させておくことができるので 後 になって 最 初 に EXCEL で 作 成 したデータを 補 正 したり 変 数 を 追 加 する 場 合 データの 読 み 込 み 遡 って 作 業 をやり 直 すこと ができるからです 1-3.データを 保 存 する データを 読 み 込 んだら まず Stata 形 式 でデータを 保 存 しましょう 保 存 の 仕 方 には 二 通 りあって メニューの file Save or Save as で 保 存 するか Command ウインドウで save コマンドを 入 力 してください 新 規 ファイルの 作 成 の 場 合 は 以 下 のようになります save D: Data profit-loss.dta なお 既 存 のファイルに 上 書 きする 場 合, replace オプションを 付 けます すなわち save D: Data profit-loss.dta,replace とします なお 一 度 保 存 したファイルを 開 くには use コマンドを 用 います 5

use D: Data profit-loss.dta 1-4. 読 み 込 んだデータを 確 認 しよう データを 保 存 したら 読 み 込 んだデータを 確 認 しましょう メニューに ワークシートの 形 をしたア イコンが 二 つあるのがわかるでしょうか? 右 側 が Data Browser です ( 図 1-4-1)ここをクリック すると ワークシートが 現 れるので データがきちんと 入 力 されているか 確 認 しましょう なお Data Browser ではエクセルのように 直 接 データを 加 工 することはできません 図 1-4-1 Data Browser 変 数 がたくさんある 場 合 Data Browser では データは 一 度 に 表 示 されないので スクロールさ せる 必 要 があります 面 倒 な 場 合 は 必 要 な 変 数 だけを 表 示 させたり ある 条 件 を 満 たすデータ だけを 表 示 させたりすることもできます 具 体 的 には Command ウインドウに browse sale profit と 入 力 すると sale と profit だけが 表 示 されます ( 図 1-4-2) また sale が 100,000 以 下 の 企 業 だけを 表 示 させたいときは browse if sale<=100000 とします 条 件 式 if の 使 い 方 については 後 述 します 図 1-4-2 6

このほか Results ウインドウ 上 で データを 確 認 する 方 法 がいくつかあります (1) list variable1 variable2 : 変 数 (variable)の 内 容 を 表 示 list sales profit wage +---------------------------+ sales profit wage --------------------------- 1. 3256247 53741 498829 2. 2394085 30059 459219 3. 582267 5550 99405 4. 37643-1417 9463 5. 124863 123 27822 --------------------------- 6. 88047-895 20009 7. 185874 3347 43393 +---------------------------+ (2) describe: 標 本 数 変 数 の 属 性 を 表 示 します ( des と 省 略 可 ) 7

. des Contains data obs: 7 vars: 7 size: 252 (99.9% of memory free) ------------------------------------------------------------------------------- storage display value variable name type format label variable label ------------------------------------------------------------------------------- code int %8.0g name str10 %10s sales long %12.0g profit long %12.0g wage long %12.0g r_and_d long %12.0g R_and_D labor long %12.0g Labor ------------------------------------------------------------------------------- Sorted by: Note: dataset has changed since last saved storage type は 変 数 の 形 式 です int は 整 数 str10 は 10bite 以 下 の 文 字 列 long は long 形 式 であることを 示 します (3) sum variable1 variable2 : 変 数 (variable)の 基 本 統 計 量 を 表 示 します. sum name sales profit Variable Obs Mean Std. Dev. Min Max -------------+-------------------------------------------------------- name 0 sales 7 952718 1315259 37643 3256247 profit 7 12929.71 21080.1-1417 53741 name は 文 字 列 ですので 基 本 統 計 量 が 計 算 されません 1-5. 変 数 の 加 工 と 条 件 式 変 数 を 加 工 する 表 を 作 成 する 際 に 変 数 を 足 したり 引 いたり 掛 けたり 割 ったりという 作 業 が 必 要 となる 場 合 が 出 てきます そんなときに 使 えるコマンドを 整 理 しておきましょう (1) generate: 新 たな 変 数 を 作 ったり 変 数 を 加 工 する 場 合 に 使 用 (gen と 省 略 可 ) 8

gen newvar1 = variable1 + variable2 gen newvar2 = variable1 - variable2 gen newvar3 = variable1 * variable2 gen newvar4 = variable1 / variable2 ( 例 )generate hosdc2=hosd1 + hosd2 generate age2 = age*age (2) egen:gen コマンドには 使 えないいくつかの 関 数 を 使 うことができるコマンド egen newvar = function(variable1) function のところには 関 数 を 書 き 込 みます 利 用 できるものを 多 数 ありますが 主 なものは 以 下 のとおりです mean: 平 均 値 sum: 合 計 max: 最 大 値 min: 最 小 値 ( 例 )egen avg = mean(chol) この 例 では chol の 平 均 値 を 計 算 し その 値 を avg に 代 入 する 注 意 点 generate の sum( )は 変 数 を 上 から 順 番 に 合 計 した 値 を 順 次 表 示 していくが egen の sum( )は 変 数 をすべて 合 計 した 値 が 常 に 表 示 される gen sum1 = sum(a) egen sum2 = sum(a) A Sum1 Sum2 1 1 15 2 3 15 3 6 15 4 10 15 5 15 15 また パネルデータを 作 成 する 際 は 次 の group 関 数 が 便 利 です たとえば 以 下 のように2 年 分 の 都 道 府 県 データに 対 して group 関 数 を 使 って 新 しい 変 数 を 作 成 してみましょう Prefecture Year Hokkaido 1990 Hokkaido 1991 Aomori 1990 Aomori 1991 Iwate 1990 egen newvar = group(year) 9

newvar prefecture year 1 Hokkaido 1990 2 Hokkaido 1991 1 Aomori 1990 2 Aomori 1991 1 Iwate 1990 year で 特 定 されるグループについて 同 じ 数 値 が 割 り 当 てられます カッコ 内 には カテゴリー 変 数 ( 上 の 例 では prefecture)を 指 定 することもできます また カッコ 内 に 複 数 の 変 数 を 並 べる こともできます (3) replace:すでに 存 在 する 変 数 の 値 などを 書 き 換 える 時 に 用 いる replace oldvar = value1 if variable==2 variable が 2 の 場 合 oldvar の 値 を value1 に 置 き 換 える ( 例 ): 変 数 の 値 を 書 き 換 える(-8 5) replace odd = 5 if odd == -8 Odd Even 1 2 3 4-8 6 7 8 9 10 Odd Even 1 2 3 4 5 6 7 8 9 10 (4) 条 件 式 の 書 き 方 これまで 度 々 登 場 していますが ここで 条 件 式 の 書 き 方 についてまとめておきましょう 等 しいとき(==) replace newvar=1 if var1==0 等 しくない(!= もしくは ~=) replace newvar=1 if var1!=0 replace newvar=1 if var1~=0 大 小 関 係 (>,<,<=,>=) replace newvar=1 if var2=>0 かつ (&) replace newvar=1 if var2=>0&var1==0 または ( ) replace newvar=1 if var2=>0 var1==0 A かつ B または C かつ D replace newvar=1 if (var3== A &var4== B ) (var3== C &var4== D ) 変 数 が 文 字 列 であっても で 囲 むことで 条 件 式 に 加 えることができます 1-6.Do ファイルのすすめ 10

Do ファイルについてふれておきましょう Do ファイルはとは Stata のコマンドを 作 業 工 程 順 に 書 き 並 べたファイルで いくつものコマンドをまとめて 実 行 する 際 たいへん 便 利 です また 作 業 工 程 をすべて DO ファイル 上 で 記 述 する 習 慣 をつけておけば すべての 作 業 をもう 一 度 初 めからやり 直 すことができます 人 間 というものは かならずミスをする 動 物 ですから 作 業 を 繰 り 返 しているう ちに どこかでミスをしてしまうものです そんな 場 合 も 一 連 の 作 業 を Do ファイル 上 で 記 述 してお けば 元 に 戻 ってデータセットを 修 正 することができるわけです さて Do ファイルの 作 成 方 法 ですが 秀 丸 などのテキストエディターで Stata のコマンドを 書 き 込 んだファイルを 作 成 して 保 存 するときに 拡 張 子 を.do とします Stata には 専 用 の Do ファイルエ ディターがありますが 使 い 勝 手 はあまりよくありません 以 下 の 例 は これまでの 一 連 の 作 業 を DO ファイルにしたものです * do file の 例 insheet using c:\data\profit-loss.csv des list sales labor sum sales labor Do ファイルの 中 に コメントを 加 える 場 合 は 行 頭 に * をつけておきます また 変 数 の 数 がた くさんあって 改 行 したい 場 合 は 行 末 に /* 次 の 行 の 行 頭 に */ を 入 れます * Do ファイルで 改 行 したいとき insheet using c:\data\profit-loss.csv des list sales labor wage /* */ name profit Do ファイルを 実 行 するには file do で ファイルの 所 在 を 指 定 します ( 図 1-6 参 照 ) 11

図 1-6 Command ウインドウを 利 用 する 際 は do c: Data yomikomi.do と 入 力 します 1-7.LOG をとる さて データが 正 しく Stata に 読 み 込 まれたことが 確 認 できたら いよいよ 分 析 ですが その 前 に ログ( 作 業 記 録 )のとり 方 についてみておきましょう Stata による 作 業 結 果 は Results ウインドウに 表 示 されますが 結 果 が 長 くなるとすべてを 見 る ことができなくなります そこで Results ウインドウに 表 示 された 結 果 をファイル 上 に 記 録 する 必 要 が 出 てくるわけです ログファイルを 作 成 するには メニューの LOG アイコンをクリックします ( 図 1-7) 既 存 のログ 12

ファイルを 開 くことも 出 来 ますが その 際 は 結 果 を 既 存 のファイルに 付 け 足 すか(Append を 選 択 ) 上 書 きするかを(Overwrite)を 選 択 します Command ウインドウや Do ファイル 上 で 実 行 したい 場 合 は log using D: Data logwotoru.log とします 既 存 の logwotoru.log ファイルにこのコマンド 以 下 の 結 果 を 付 け 足 していき この 場 合 は log using D: Data logwotoru.log, append 上 書 きする 際 は append の 代 わりに overwrite と 記 入 します ここでは 拡 張 子 を.log としてい ますが 必 ずしも.log である 必 要 はありません どんな 拡 張 子 でもテキストファイトして 保 存 され ていますので 秀 丸 等 で 開 くことが 出 来 ます 13

図 1-7 Log をとる 14

第 1 章 補 論 補 論 1-1.データ 読 み 込 みのトラブルシューティング ここでは データ 読 み 込 みの 際 のトラブル 対 処 法 についていくつか 解 説 しておきます (1) メモリーが 足 りない! 大 容 量 のデータを 読 み 込 ませると 以 下 のようなメッセージが Results ウインドウに 表 示 され デ ータが 読 み 込 めないことがあります. use "D:\Data\daikibo-data.csv", clear no room to add more observations An attempt was made to increase the number of observations beyond what is currently possible. You have the following alternatives: 1. Store your variables more efficiently; see help compress. (Think of Stata's data area as the area of a rectangle; Stata can trade off width and length.) 2. Drop some variables or observations; see help drop. 3. Increase the amount of memory allocated to the data area using the set memory command; see help memory. r(901); このメッセージがでるのは Stata に 割 り 当 てられているメモリーよりもデータのほうが 大 きいから です このような 場 合 データを 読 み 込 む 前 に Stata に 割 り 当 てられるメモリー 領 域 を 確 保 してお く 必 要 があります たとえば 50m 割 り 振 りたい 場 合 は set memory 50m とします 一 度 読 み 込 みに 失 敗 し エラーメッセージが 出 た 後 で メモリーの 割 当 量 を 変 更 したい 場 合 は データセットをクリアーしてください 具 体 的 には Command ウインドウから 以 下 のように 入 力 します clear (2) browse や list でデータが 確 認 できるのに sum で 記 述 統 計 量 が 出 ない! 数 値 列 に 文 字 列 が 混 ざっていると データ 読 み 込 みの 際 に その 変 数 は 文 字 列 として 認 識 され てしまいます たとえば 下 図 のように 欠 損 値 が N.A. と 入 力 されている 場 合 その 変 数 は 文 字 列 となります 15

value1 value2 value3 5465 5647 5835 N.A. 5835 6030 4164 4303 4446 4634 N.A. 4446 4355 4500 N.A. このデータセットを 読 み 込 み descript コマンドで 変 数 の 属 性 を 調 べると 読 み 込 んだ 変 数 の storage type が str( 文 字 列 )になっています. des Contains data obs: 5 vars: 3 size: 52 (99.9% of memory free) ------------------------------------------------------------------------------- storage display value variable name type format label variable label ------------------------------------------------------------------------------- value1 str4 %8.0g value2 str4 %10s value3 str4 %12.0g ------------------------------------------------------------------------------- Sorted by: このとき 読 み 込 んだ 変 数 について sumarize で 記 述 統 計 を 出 力 しようとすると 以 下 のように 結 果 が 出 てきません. sum name sales profit Variable Obs Mean Std. Dev. Min Max -------------+-------------------------------------------------------- value1 0 value2 0 value3 0 このような 場 合 読 み 込 み 前 のデータに 戻 って N.A. を ピリオド. に 置 換 するか 空 白 セ ルにしてしまいましょう その 後 再 度 読 み 込 みを 実 行 してみてください また Stata 上 で 変 換 することも 出 来 ます データの 置 き 換 えコマンドある replace を 用 います replace value2=. if value2== N.A. このコマンドは value2 の 要 素 が N.A. になっているものは ピリオド. に 置 き 換 えよ と 16

いう 意 味 です ただし これだけの 作 業 では まだ 変 数 は 文 字 列 のままです 変 数 の 要 素 がすべ て 数 値 もしくはピリオド. になったら destring value2,replace と 入 力 します この 他 空 白 セルにゴミ(たとえば 誤 って 空 白 セルに ^ ; など)が 入 っている 場 合 も 文 字 列 になってしまいます このような 場 合 まずどこにどんなものが 入 っているのかを 探 し 出 すのは 大 変 です そこで 当 該 変 数 で sort variable(variable 内 のデータを 大 きいもの もしくはアルフ ァベット 順 に 並 び 替 える)して その 変 数 を browse してみてください 数 値 に 異 物 が 混 入 していれ ば 一 番 最 後 に 並 んでいるはずです (3) 数 値 と 文 字 列 が 組 み 合 わさった 変 数 を 分 解 したい 変 数 が 数 値 と 文 字 列 の 組 み 合 わせになっている 場 合 で それを 分 解 して 利 用 したいケースを 考 えましょう たとえば 以 下 のような 数 値 と 文 字 が 組 み 合 わさった 変 数 があったとします この 変 数 の 上 二 桁 が 業 種 コードで アルファベットが 法 人 属 性 ( 個 人 企 業 なら A 法 人 企 業 なら B) 下 一 桁 が 本 店 か(1) 支 店 か(2)を 示 しているとします code 1 58A1 2 58A2 3 58B1 4 59B2 基 本 的 には generate コマンドにオプションを 付 けて 処 理 します 1)アルファベットを 取 り 出 したいとき gen str1 corp=substr(code,3,1) 新 しい 変 数 の 属 性 変 数 code の 3 文 字 目 から 1 文 字 取 り 出 す この 場 合 1 byte の 文 字 列 2) 上 二 桁 の 数 値 を 取 り 出 したいとき gen byte industry=real(substr(code,1,2)) 新 しい 変 数 の 属 性 この 場 合 数 値 取 り 出 した 数 値 を 実 数 として 認 識 する real が 無 い 場 合 文 字 列 扱 い 結 果 は 以 下 のようになります code corp industry 1 58A1 A 58 2 58A2 A 58 3 58B1 B 58 4 59B2 B 59 17

また この 方 法 を 応 用 すれば 複 数 のコードを 結 合 させた 長 い 桁 数 の ID 番 号 を 分 解 することもで きます たとえば 以 下 のような ID 番 号 があったとします id 1 01201001 2 01201002 3 01301001 4 01304001 ID の 上 二 桁 が 都 道 府 県 番 号 次 の 三 桁 が 市 区 町 村 コード 最 後 の 三 桁 が 事 業 所 コードとすると これを 分 解 する 方 法 を 考 えましょう まず この 変 数 id を 文 字 列 として 認 識 しなおします gen str10 code_str=string(id) 上 二 桁 を 取 り 出 し prefecture( 都 道 府 県 )とします gen byte prefecture=real(substr(code_str,1,2)) 同 様 の 手 順 で 市 区 町 村 コード 事 業 所 コードを 取 り 出 すことができます 18

補 論 1-2.プログラミングによる 繰 り 返 し 作 業 同 じような 作 業 を 何 度 も 繰 り 返 す 必 要 があるとき DO ファイルを 使 ったとしても いちいち コマ ンドを 並 べるのは 面 倒 です そんなとき プログラミングの 初 歩 的 な 知 識 があると 効 率 的 に 作 業 す ることができます 複 数 の 変 数 に 同 じ 処 理 を 適 用 したい 場 合 は for を 使 います たとえば 以 下 のデータセットの ように P.15 ページの 表 のような 欠 損 値 が N.A. と 表 示 されているデータセットがあったといま す N.A. を 欠 損 値 に 変 えるには 前 述 のように replace value1=. if value1== N.A. replace value2=. if value2== N.A. replace value3=. if value3== N.A. という 作 業 を 繰 り 返 す 必 要 があります この 一 連 の 作 業 を 繰 り 返 しコマンドをつかって 処 理 してみ ましょう for num 1/3: replace valuex=. if valuex== N.A. この for num コマンドを 使 うと Stata は X のところに 順 番 に1から3の 数 値 を 代 入 し コマンド 処 理 が 3 回 繰 り 返 します また value1, value2, value3, value4 という4つの 変 数 のそれぞれの 比 率 を 計 算 するときは gen ratio12=value1/value2 gen ratio13=value1/value3 gen ratio14=value1/value4 gen ratio23=value2/value3 gen ratio24=value2/value4 gen ratio34=value3/value4 となります これを for num コマンドを 使 うときは 以 下 のように で 繰 り 返 す 数 値 を 複 数 定 義 するこ ともできます for num 1/3 num 2/4: gen ratioxy=valuex/valuey このコマンドの 弱 点 は 数 値 を 順 番 に 代 入 するときしか 使 えない 点 です 全 く 異 なる 名 称 の 複 数 の 変 数 に 対 して 繰 り 返 し 処 理 を 行 う 場 合 は foreach コマンドを 使 います foreach v of varlist income consumption investment [ 改 行 ] { [ 改 行 ] 1 replace `v'=. if `v'== N.A. [ 改 行 ] } 2 下 線 部 1のところに 処 理 を 施 したい 変 数 を 並 べます 下 線 部 2には 繰 り 返 し 処 理 を 施 したいコ マンドを 書 きます このコマンドを 実 行 すると 下 線 部 2の`v のところに 1の 変 数 が 順 番 に 代 入 されていきます 19

第 2 章 データベースの 作 成 第 2 章 では 複 数 のデータセットをまとめて 一 つのデータセットにする 方 法 について 検 討 します データの 接 続 方 法 としては A B C D E をそれぞれ 異 なるデータセットの 入 ったファイルとすると き 以 下 のようなパターンが 考 えられます 縦 に 接 続 する 場 合 (2-1) A B 横 に 接 続 する 場 合 : 完 全 一 致 (2-2) A C 片 方 のデータセットの 一 部 が 複 数 に 対 応 する 場 合 (2-3) A D 横 に 接 続 する 場 合 : 不 完 全 一 致 (2-4) A E 以 上 の(1)~(4)を 例 をあげながら 検 討 してみましょう 20

2-1.データの 縦 方 向 の 結 合 (1) まず はじめに 複 数 の 個 体 ごとのデータファイルを 結 合 する 方 法 を 考 えます 例 として 都 道 府 県 ごとにファイルされたデータを 一 つにまとめる 方 法 について 考 えましょう Hokkaido.dta Prefecture Year Production 1 1980 1200 1 1981 1310 1 1982 1450 ( 省 略 ) 1 2000 2560 Aomori.dta Prefecture Year Production 2 1980 800 2 1981 710 2 1982 1050 ( 省 略 ) 2 2000 1420 この2つのファイルを 結 合 させる 場 合 append コマンドを 用 います 使 用 方 法 としては 一 方 のファイルを 開 いた 状 態 で もう 一 方 のファイルを append で 呼 び 出 します 具 体 的 には 以 下 のようになります (2つのファイルは D:\Data にあるとします ) cd D: Data use Hokkaido.dta append Aomori.dta save Production80-00.dta 完 成 したファイルは 以 下 のようになります Prefecture Year Production 1 1980 1200 1 1981 1310 ( 省 略 ) 1 2000 2560 2 1980 800 2 1981 710 ( 省 略 ) 2 2000 1420 append を 使 う 際 の 注 意 点 として 必 ず 共 通 の 変 数 には 同 じ 変 数 名 を 付 けておいてください 21

2-2.データの 横 方 向 の 結 合 (2) 次 に 複 数 の 個 体 のデータが 変 数 ごとに 各 々のファイルに 収 録 されている 場 合 に データを 結 合 させる 例 を 考 えてみましょう 例 として 都 道 府 県 別 の 生 産 額 のデータに 都 道 府 県 別 の 賃 金 のデ ータを 接 続 する 方 法 を 考 えます Wage.dta Production.dta prefecture wage 1 3.616281 2 2.643890 3 3.521620 4 3.630811 5 3.347991 6 3.517322 7 3.928278 8 5.337247 9 4.912243 ( 省 略 ) 47 2.687243 prefecture production 1 18954421 2 4634405 3 4678288 4 8429719 5 3901386 6 4095372 7 7692465 8 11374471 9 7739373 ( 省 略 ) 47 3268545 まず 接 続 する2つのファイルをキーとなる 変 数 で sort しておく 必 要 があります Wage.dta からみ てみましょう ( 二 つのファイルは D ドライブの Data フォルダーにあるものとします ). cd D:\Data (D ドライブ Data フォルダーに 移 動 ). des Contains data from D:\Data\Wage.dta obs: 47 vars: 2 21 Apr 2004 21:58 size: 423 (99.9% of memory free) ------------------------------------------------------------------------------ storage display value variable name type format label variable label ------------------------------------------------------------------------------ prefecture byte %8.0g wage float %9.0g ------------------------------------------------------------------------------ Sorted by: この 場 合 Sorted by の 後 ろに 何 も 示 されていないので まだ sort されていないことがわかり ます そこで sort prefecture 22

と Command ウインドウに 入 力 し データをソートしてから もう 一 度 des で 確 認 すると 以 下 のよう になります. des Contains data from D:\Data\Wage.dta obs: 47 vars: 2 21 Apr 2004 21:58 size: 423 (99.9% of memory free) ---------------------------------------------------------------------------- storage display value variable name type format label variable label ---------------------------------------------------------------------------- prefecture byte %8.0g wage float %9.0g ---------------------------------------------------------------------------- Sorted by: prefecture この 状 態 で save しておきます save Wage.dta,replace 上 書 きすることになるので replace を 忘 れずに 同 様 に Production.dta も prefecture で sort し save しておきます これで 準 備 完 了 です 二 つのファイルのうち どちらを 先 に 呼 び 出 して 構 いませんが Production.dta を 先 に 呼 び 出 すことにしましょう use Production.dta データを 接 続 するには merge コマンドを 使 います merge コマンドは merge [キー 変 数 ] using [ 接 続 するファイル 名 ] となります 今 の 場 合 接 続 のキーとなる 変 数 は prefecture 接 続 するファイルは Wage.dta です ので 以 下 のようになります merge prefecture using Wage.dta うまくいけば データセットは 以 下 のようになります 23

prefecture wage production _merge 1 3.616281 18954421 3 2 2.64389 4634405 3 3 3.52162 4678288 3 4 3.630811 8429719 3 5 3.347991 3901386 3 6 3.517322 4095372 3 7 3.928278 7692465 3 8 5.337247 11374471 3 9 4.912243 7739373 3 ( 省 略 ) 47 2.687243 3268545 3 ここで _merge という 新 しい 変 数 が 生 成 されていますが これについては 後 述 します なお 続 け て 他 のデータセットを merge する 場 合 は _merge を drop しておいてください 2-3. 少 数 のデータセットから 大 規 模 データに 値 を 割 り 当 てる さて 2-2のケースでは 接 続 する2つのファイルの 長 さは 等 しくなっていました しかし 現 実 の ニーズとしては 2-1で 作 成 した 都 道 府 県 年 次 項 目 のファイルに 年 次 別 の 全 国 一 律 のデ ータ たとえば 物 価 指 数 を 接 続 するといった 作 業 が 必 要 になることもあります このような 場 合 は どうしたらいいのでしょうか? 例 として 以 下 のような 年 次 別 の 全 国 平 均 の 物 価 指 数 を2-1で 作 成 したデータセットに 接 続 す る 方 法 について 考 えましょう Price.dta Year Price 1980 100.0 1981 101.2 ( 省 略 ) 2000 132.2 接 続 方 法 は 基 本 的 に2-2と 同 じで まず 接 続 する 際 のキーとなる 変 数 で 接 続 する2つの ファイルが sort されているかどうか 確 認 します この 場 合 は 年 次 を 示 す Year がキー 変 数 となり ます 問 題 がなければ 一 方 のデータを 開 いた 状 態 で merge を 行 います use Production80-00.dta merge year using Price.dta 結 果 は うまくいけば 以 下 の 表 のようになります Year が 同 一 のところには 必 ず 同 じ Price の 値 が 入 っていることが 確 認 できます 24

Prefecture Year Production Price 1 1980 1200 100.0 2 1980 800 100.0 3 1980 1921 100.0 ( 省 略 ) 1 1981 1310 101.2 2 1981 1050 101.2 ( 省 略 ) 1 2000 2560 132.3 2 2000 1420 132.3 2-4. 不 完 全 一 致 のデータセットの 接 続 (1)~(3)までのデータセットでは 2つのデータセットに 含 まれるキーとなる 変 数 が 完 全 な 対 応 関 係 がありました しかし 実 際 には 以 下 のようなキーとなる 変 数 が 部 分 的 にしか 対 応 していない ケースがままあります 以 下 のような 例 を 考 えましょう even.dta odd.dta number Even 5 10 6 12 7 14 8 16 number Odd 1 1 2 3 3 5 4 7 5 9 この2つのファイルのキーとなる 変 数 は number です ですが 2つのファイルに 重 複 する 変 数 は 5 だけです このケースで number をキーに merge すると 以 下 のようになります use even.dta merge number using odd.dta number Even Odd _merge 5 10 9 3 6 12 1 7 14 1 8 16 1 1 1 2 2 3 2 3 5 2 4 7 2 この 場 合 even.dta と odd.dta の number 変 数 で 共 通 なのは 5 のみなので キーとして 指 定 した 変 数 が 共 通 する 場 合 のみ 同 じ 行 に odd.dta が 接 続 され 異 なる 場 合 には 異 なる 行 に odd.dta を 接 続 さ れます 25

なお merge コマンドを 実 行 すると _merge という 変 数 が 副 産 物 として 生 成 されます _merge は 二 つのデータの 結 合 状 態 を 表 します _merge=3 : キーに 指 定 した 変 数 が 結 合 前 の 二 つのファイル 双 方 に 存 在 していた 場 合 _merge=1 : キーにした 変 数 が merge 実 行 前 に 開 いていたファイルのみに 存 在 していた 場 合 _merge=2 : キーにした 変 数 が merge 実 行 時 に 呼 び 出 しファイルのみに 存 在 していた 場 合 even.dta と odd.dta の 接 続 を 例 にすると となります even.dta と odd.dta の 両 方 のファイルに 含 まれていたデータ:_merge=3 even.dta のみに 含 まれていたデータ:_merge=1 odd.dta のみに 含 まれていたデータ:_merge=2 26

第 3 章 記 述 統 計 による 分 析 ( 表 の 作 成 ) 3-1.カテゴリー 区 分 された 変 数 ( 質 的 データ) カテゴリー 区 分 されたデータとは 主 に 質 的 ( 離 散 )データを 指 します 一 般 的 には その 区 分 か 数 値 なのか 文 字 なのかは 問 われません 大 きく 分 けると1 順 位 尺 度 と2 名 義 尺 度 の2 種 類 の 尺 度 により 区 分 されます 順 位 尺 度 は 例 えば 銀 行 の 預 金 格 付 けのように 信 用 度 の 高 い 順 から AAA ~C まで 区 分 されるように 順 位 を 表 わす 質 的 データになります 名 義 尺 度 は 性 別 ( 男 女 )や 結 婚 の 有 無 ( 既 婚 未 婚 既 婚 暦 有 独 身 他 )などのように 特 性 を 表 わす 質 的 データです 以 下 のデータセット 例 から STATA による 記 述 統 計 の 取 り 方 をみましょう ( 特 に 記 載 のない 限 り3-1~3-2を 通 じて 以 下 の 同 一 データセット 例 を 使 ってコマンド 例 を 紹 介 することとします ) 3-1 3-2で 扱 う 共 通 データセット 例 id time yesno age family y x1 x2 10001 1 0 36 3 801.2 250.1 22.8 10001 2 0 37 3 840.0 200.5 26.7 10001 3 1 38 4 845.3 287.5 19.4 10002 1 1 24 2 523.0 184.1 35.8 10002 2 1 25 2 534.1 197.8 15.2 10002 3 1 26 2 591.5 205.5 40.9 10003 1 0 31 3 750.0 276.5 55.4 11168 2 1 40 4 920.1 321.7 28.9 11168 3 1 41 4 900.4 312.8 52.7 id と time はデータをパネルデータの 構 成 を 表 わす 変 数 yesno はカテゴリー 区 分 された 変 数 その 他 は 連 続 変 数 とする (1) 表 の 作 成 まず tab コマンドを 使 ってカテゴリー 変 数 の 分 布 を 見 ましょう 一 変 数 だけに 着 目 する 場 合 度 数 相 対 度 数 累 積 相 対 度 数 が 確 認 できます. tab yesno yesno Freq. Percent Cum. ------------+----------------------------------- 0 1,410 40.24 40.24 1 2,094 59.76 100.00 ------------+----------------------------------- Total 3,504 100.00 ここに 条 件 式 (if)を 加 え 範 囲 を 指 定 することも 可 能 です また plot オプションを 加 えると 相 対 度 数 を 視 覚 的 に 確 認 することもできます 27

. tab yesno if time==1,plot yesno Freq. ------------+------------+----------------------------------------------------- 0 480 ************************************* 1 688 ***************************************************** ------------+------------+----------------------------------------------------- Total 1,168 さらに 二 つの 変 数 を 指 定 して 分 布 を 確 認 することもできます 特 に 指 定 がない 場 合 度 数 のみが 表 示 されます 相 対 度 数 を 確 認 するには 行 ごとの 相 対 度 数 (col) 列 ごとの 相 対 度 数 (row)の 表 示 をオプションで 指 定 する 必 要 があります また 度 数 表 示 を 省 略 し 相 対 度 数 のみ 確 認 したい 時 には nofreq のオプションを 指 定 します. tab yesno time,row nofreq time yesno 1 2 3 Total -----------+---------------------------------+---------- 0 34.04 33.83 32.13 100.00 1 32.86 33.00 34.15 100.00 -----------+---------------------------------+---------- Total 33.33 33.33 33.33 100.00 また 二 つの 変 数 を 指 定 する 時 all オプションで 分 布 の 情 報 も 得 られます. tab yesno time,all row nofreq time yesno 1 2 3 Total -----------+---------------------------------+---------- 0 34.04 33.83 32.13 100.00 1 32.86 33.00 34.15 100.00 -----------+---------------------------------+---------- Total 33.33 33.33 33.33 100.00 Pearson chi2(2) = 1.5594 Pr = 0.459 likelihood-ratio chi2(2) = 1.5626 Pr = 0.458 Cram>'s V = 0.0211 gamma = 0.0320 ASE = 0.028 Kendall's tau-b = 0.0181 ASE = 0.016 (2)ラベルの 設 定 28

カテゴリー 区 分 された 変 数 には ラベルを 設 定 することができます 銀 行 の 格 付 けのように 複 数 のカテゴリー(AAA~C)が 存 在 する 時 推 定 のための 便 宜 上 各 カテ ゴリーに 数 値 を 与 えることがあります(たとえば AAA を 1 AA を 2 など) ただしこの 時 分 布 を 示 す 記 述 統 計 を 取 ると 数 値 に 変 換 されたカテゴリーが 示 されるため カテゴリー 区 分 が 多 けれ ば 多 いほど 数 値 の 与 え 方 について 混 乱 してしまいます ラベルを 設 定 することで その 混 乱 を 回 避 することができます 以 下 では 3-1.(1)の yesno 変 数 について 例 示 しましょう 下 の 例 の 下 線 部 分 に 適 当 なラベル 名 を 設 定 し 続 いて1カテゴリー 項 目 2" " 内 に 項 目 ラベ ル 名 を 指 定 し 12を1セットとして 必 要 なカテゴリー 項 目 分 のセット 数 だけ 記 述 します ただし 必 ずしも 全 カテゴリー 項 目 にラベルを 作 る 必 要 はありません label define yesnolabel 0 "no" 1 "yes" label value yesno yesnolabel ここには 指 定 されたラベルに 置 き 換 えられる 変 数 名 を 指 定 します ラベルを 設 定 したことで 2-1.(1)の 表 は 以 下 のように 表 示 されます yesno Freq. Percent Cum. ------------+----------------------------------- no 1,410 40.24 40.24 yes 2,094 59.76 100.00 ------------+----------------------------------- Total 3,504 100.00 以 下 に 示 すように ラベルを 設 定 しなかったカテゴリー 項 目 に 対 し add オプションを 使 うことでラ ベル 項 目 を 追 加 することが 可 能 です 下 線 部 分 には 追 加 先 の 既 存 ラベル 名 を 指 定 します label define yesnolabel 2 "nuetral" 3 "no answer", add label value yesno yesnolabel また 一 度 設 定 したラベルを 削 除 したい 場 合 は drop オプションを 使 用 します label drop yesno 複 数 の 変 数 にラベル 設 定 しているときに すべてのラベルを 一 挙 に 削 除 したい 場 合 は 変 数 名 を _all とします すなわち 以 下 のコマンドを 入 力 します label drop _all 29

3-2. 連 続 変 数 の 記 述 統 計 量 をみる (1)sum コマンドによる 表 示 5 種 類 の 基 本 的 な 統 計 量 ( 度 数 平 均 標 準 偏 差 最 小 値 最 大 値 )を 見 る 場 合 は sum コマンド が 便 利 です 条 件 式 を 加 えることも 可 能 です. sum y if yesno==1 Variable Obs Mean Std. Dev. Min Max -------------+-------------------------------------------------------- y 2094 821.1025 490.4918 2 5840 通 常 統 計 量 は 桁 数 の 表 示 が 統 一 されていません 桁 数 表 示 を 統 一 するには format コマンドを 使 います fo rmat ( 桁 数 表 示 指 定 をしたい) 変 数 名 %w.df format コマンドライン 中 w に 表 示 幅 の 指 定 数 を d に 小 数 点 以 下 の 桁 数 を 記 入 します 例 えば 小 数 点 2 桁 まで 表 示 するとき 以 下 のように format コマンドの 利 用 により 前 ページと 桁 表 示 の 違 いが 確 認 できます. format y %9.2f. sum y if yesno== 1, format Variable Obs Mean Std. Dev. Min Max -------------+-------------------------------------------------------- y 2094 821.10 490.49 2.00 5840.00 こ の 例 では 変 数 y の 全 体 を 9 桁 で 小 数 点 以 下 を 2 桁 の 数 値 で 表 示 せよ というコマンドを 意 味 します ( 2)tabstat コマンドによる 表 示 上 の5 種 類 以 外 の 記 述 統 計 を 見 るには tabstat コマンドが 便 利 です 具 体 的 には 次 の 統 計 量 を 見 ることが 可 能 です statname definition ------------------------ -------------------------- mean mean count count o f nonmissing observations n same as count sum sum max maxim um min minimum range range = m ax - min 30

sd standard deviation var variance cv semean coefficient of variation (sd/mean) standard error of mean = sd/sqrt(n) skewness skewness kurtosis kurtosis median p1 median (same as p50) 1st percentile p5 5th percentile p10 10th percentile p25 25th percentile p50 p75 50th percentile (same as median) 75th percentile p90 90th percentile p95 95th percentile p99 99th percentile iqr q interquartile range = p75 - p25 equivalent to specifying "p25 p50 p75" -------------------------------------------------- どの 統 計 量 を 表 示 するかを stat( ) の( ) 内 に 指 定 する 必 要 がありますが この 記 述 がない 場 合 は 平 均 値 (mean)のみが 表 示 されます tabstat コマンドでは 得 られる 統 計 量 が 増 えるだけでなく カテゴリー 別 に 記 述 することも 可 能 となります 以 下 では 条 件 式 (if)を 指 定 し カテゴリー 別 (by) に 表 示 した 例 を 示 しましょう. tabstat y if yesno==1,by(time) stat(mean n sd sum max min range) Summary for variables: y by categories of: time time mean N sd sum max min range ---------+---------------------------------------------------------------------- 1 827.9515 688 480.8856 569630.6 5005 44 4961 2 816.2902 691 509.9375 564056.6 5140 3 5137 3 819.163 715 481.002 585701.6 5840 2 5838 ---------+---------------------------------------------------------------------- Total 821.1025 2094 490.4918 1719389 5840 2 5838 複 数 の 変 数 に 関 する 記 述 統 計 をとることもできます ここでは 行 ごとの 各 変 数 が 表 示 されるよう col(variable)と 指 定 しています col(stat)とすると 行 ごとに 統 計 量 が 表 示 されます ここでは 表 側 が 表 示 されませんが コマンドラインで 記 述 した 順 番 に 表 示 されています 31

. tabstat age family y x1 x2,by(time) stat(mean n sd) col(variable) nototal Summary statistics: mean, N, sd by categories of: time time age family y x1 x2 ---------+-------------------------------------------------- 1 32.11387 3.946062 710.2808 229.8031 33.32908 1168 1168 1168 1168 1168 4.314128 1.560986 437.1246 137.7185 68.29036 ---------+-------------------------------------------------- 2 33.11387 3.97089 701.2497 242.1618 30.23334 1168 1168 1168 1168 1168 4.314128 1.563566 449.4901 150.8053 63.96301 ---------+-------------------------------------------------- 3 34.11387 4.029966 706.0007 245.3844 31.77663 1168 1168 1168 1168 1168 4.314128 1.539525 431.1006 158.5248 72.25981 ------------------------------------------------------------ 上 の 例 では コマンドの 最 後 に nototal というオプションがつけてあります このオプションをつない と 各 変 数 について 全 カテゴリー 合 計 の 統 計 量 ( 平 均 標 本 数 標 準 偏 差 )も 一 緒 に 表 示 されま す (3)table コマンドによる 表 示 table コマンドでは 特 に 指 定 がない 場 合 には 各 データ 値 に 対 する 度 数 が 表 示 されるため 3-1.(1)の tab コマンドに 類 似 しています 違 いは table コマンドでは 行 ごと(col) 列 ごと(row) の 合 計 値 を 表 示 しないという 点 です 合 計 値 を 表 示 するには row col オプションを 加 える 必 要 が あります 例 ) table yesno time, row col これで tab yesno time と 同 一 の 表 が 作 成 されます ただし tab コマンドは 各 データ 値 ごとの 度 数 が 表 示 されるため 連 続 変 数 には 向 かないのに 対 し table コマンドでは 以 下 のようにカテゴリー 変 数 に 対 応 した 連 続 変 数 の 統 計 量 を 得 ることも 出 来 ます データセット 全 体 の 統 計 量 を 得 るには row オプションで 全 データを 対 象 とした 統 計 量 を 得 るのが 良 いでしょう また format( )オプションにより データの 桁 表 示 指 定 が 可 能 です ( ) 内 の 桁 数 指 定 方 法 などは3-2.(1)をご 参 照 ください 32

. table time, c(mean y sd y mean x1 sd x1) format(%9.2f) row ---------------------------------------------------------- time mean(y) sd(y) mean(x1) sd(x1) ----------+----------------------------------------------- 1 710.28 437.12 229.80 137.72 2 701.25 449.49 242.16 150.81 3 706.00 431.10 245.38 158.52 Total 705.84 439.20 239.12 149.37 ---------------------------------------------------------- カテゴリー 変 数 を 指 定 した 後 c( )の( ) 内 に1 得 たい 統 計 量 の 種 類 2 変 数 名 の12を1セッ トとして5セットまで 指 定 できます 1には 以 下 の 統 計 量 を 指 定 可 能 です freq mean sd sum rawsum count n max min median p1 p2 : p50 : p98 p99 iqr (for frequency) (for mean of varname) (for standard deviation) (for sum) (for sums ignoring optionally specified weight) (for count of nonmissing observations) (same as count) (for maximum) (for minimum) (for median) (for 1st percentile) (for 2nd percentile) (for 50th percentile -- same as median) (for 98th percentile) (for 99th percentile) (for interquartile range) カテゴリー 別 に 連 続 変 数 の 統 計 量 を 得 られるという 点 は2-2.(2)の tabstat と 同 じ 機 能 です 特 徴 として tabstat は 同 時 に 出 力 可 能 な 変 数 が 多 いという 利 点 があり table は 表 側 が 表 示 さ れるため 視 覚 的 に 判 別 しやすい 表 を 出 力 できる 利 点 があります さらに table では by( ) オプションを 指 定 することで2 段 階 のカテゴリー 分 類 をすることが 可 能 です 33

. table time, c(mean y sd y mean x1 sd x1) by(yesno) ---------------------------------------------------------- yesno and time mean(y) sd(y) mean(x1) sd(x1) ----------+----------------------------------------------- no 1 541.6194 292.3441 239.8083 138.2875 2 534.5977 267.1221 257.675 168.9387 3 527.3891 249.2619 245.2759 108.4163 ----------+----------------------------------------------- yes 1 827.9515 480.8857 222.8227 136.9881 2 816.2902 509.9375 231.453 135.9933 3 819.163 481.002 245.4531 183.3931 ---------------------------------------------------------- (3) データを 記 述 統 計 量 で 構 成 されるデータセットに 変 換 する collapse コマンドは データを 記 述 統 計 量 で 構 成 されるデータセットに 置 き 換 えます (そのため collapse コマンドで 指 定 しなかったデータは 全 て 消 失 する 点 に 注 意 が 必 要 です ) collapse ( ) var ( ) 内 に 以 下 の 統 計 量 を 指 定 します 指 定 のない 場 合 は 平 均 値 で 計 算 されます statname definition ------------------------------------------------------------ mean means sd standard deviations sum sums rawsum sums ignoring optionally specified weight count number of nonmissing observations max maximums min minimums median medians p1 1st percentile p2 2nd percentile : 3rd -- 49th percentiles p50 50th percentile (same as median) : 51st -- 97th percentiles p98 98th percentile p99 99th percentile iqr interquartile range ------------------------------------------------------------ var の 部 分 に 変 数 名 を 指 定 します また by( ) オプションによりカテゴリー 別 に 記 述 統 計 量 を 作 成 できます ここには 複 数 の 変 数 を 指 定 することが 可 能 です ためしに 複 数 年 度 の 企 業 別 財 務 データから 企 業 別 の 平 均 値 を 抽 出 する 方 法 を 見 てみましょ う 今 データセットには 以 下 のように 企 業 の ID 番 号 (id) 年 次 (year) 従 業 者 数 (labor) 賃 金 (wage)のデータが 含 まれているとします 34

. list fid year labor wage +--------------------------------+ fid year labor wage -------------------------------- 1. 6501 1994 80493 7.459692 2. 6501 1995 78368 7.559527 ( 省 略 ) 6. 6501 1999 66046 8.325031 7. 6501 2000 58739 8.417542 8. 6501 2001 54017 8.820519 9. 6501 2002 48590 9.560157 10. 6502 1994 74558 6.690483 ( 省 略 ) 14. 6502 1998 66471 8.003415 15. 6502 1999 63328 7.752084 ( 省 略 ) データセットの 概 要 は. des Contains data obs: 2,910 vars: 6 size: 75,660 (99.3% of memory free) ------------------------------------------------------------------------------- storage display value variable name type format label variable label ------------------------------------------------------------------------------- year int %8.0g fid long %12.0g labor long %12.0g slsprofit float %9.0g wage float %9.0g rdsls float %9.0g ------------------------------------------------------------------------------- Sorted by: ここで 企 業 ごと(fid) 従 業 者 数 賃 金 の 平 均 値 を 求 めたいとします collapse (mean) labor wage,by(fid) データセットは 以 下 のような 形 に 変 更 されます 35

. des Contains data obs: 4 vars: 3 size: 72 (99.9% of memory free) ------------------------------------------------------------------------------- storage display value variable name type format label variable label ------------------------------------------------------------------------------- fid int %8.0g labor double %12.0g (mean) labor wage float %9.0g (mean) wage ------------------------------------------------------------------------------- Sorted by: fid 確 かに 標 本 数 が 減 少 しています ただし データセットは 置 き 換 わりますが Stata Result 画 面 に 表 が 表 示 されるわけではありません 統 計 量 を 確 認 するには 別 途 list コマンドにより 画 面 表 示 をするか browse コマンドによりデータ 表 示 をする 必 要 があります collapse コマンドと browse コマンドを 使 うことで 簡 単 にエクセルなどの 表 計 算 ソフトにデータを 移 し 変 えることが 可 能 となります 上 記 の 作 業 結 果 を list すると 以 下 のようになります. list labor wage +------------------------+ labor wage ------------------------ 1. 67156.77778 8.307827 2. 63760.33333 7.962406 3. 45268.22222 10.37165 4. 11891.44444 7.572086 +------------------------+ by()オプションを 使 う 際 に 複 数 の 変 数 を 指 定 することも 可 能 です たとえば 市 区 町 村 別 のデ ータセットがあったとして 個 々のデータは 都 道 府 県 コード(prefecture)と 市 区 町 村 コード(city) で 識 別 されているとします 36

Prefecture city Production 1 101 1200 1 101 800 1 102 1921 ( 省 略 ) 2 101 1310 2 104 1050 ( 省 略 ) 3 101 2560 3 102 1420 このよう 複 数 の 変 数 で 識 別 さているデータセットの 場 合 by オプションで 複 数 の 変 数 を 指 定 しま す collapse (sum) production, by(prefecture city) また collapse コマンドを 使 うとデータセット 自 体 が 入 れ 替 わってしまいます そこで 同 じデータ セットで 何 度 も collapse コマンドを 使 って 複 数 のデータセットを 作 成 する 場 合 は 処 理 前 にデータ を 保 存 し collapse で 処 理 した 後 に 再 度 データを 呼 び 出 す 必 要 があります このような 場 合 には preserve コマンドと restore コマンドが 便 利 です preserve は データセットをメモリー 上 に 保 存 (ファイルの 上 書 き 新 規 作 成 は 行 わない)し restore は preserve でメモリー 上 に 保 存 したデータセットを 呼 び 出 してくれます 次 の 例 では collapse の 前 後 に preserve と restore を 入 れて collapse 後 に 変 更 になったデータセットを restore により collapse 以 前 のデータに 復 元 する 処 理 を 確 認 したものです 37

. preserve. collapse (mean) labor wage,by(fid). des Contains data obs: 4 collapse により 標 本 数 が 減 少 vars: 3 size: 80 (99.9% of memory free) --------------------------------------------------------------------------- storage display value variable name type format label variable label --------------------------------------------------------------------------- fid long %12.0g labor double %12.0g (mean) labor wage float %9.0g (mean) wage ---------------------------------------------------------------------------. restore preserve 以 前 のデータセットを 復 元. des Contains data obs: 36 collapse 処 理 の 前 の 標 本 数 に 戻 る vars: 4 size: 648 (99.9% of memory free) --------------------------------------------------------------------------- storage display value variable name type format label variable label --------------------------------------------------------------------------- year int %8.0g fid long %12.0g labor long %12.0g wage float %9.0g ---------------------------------------------------------------------------. list +--------------------------------+ year fid labor wage -------------------------------- 1. 1994 6501 80493 7.459692 2. 1995 6501 78368 7.559527 3. 1996 6501 75590 8.030771 38

3-3. 階 級 別 カテゴリー 変 数 の 作 成 ( 度 数 分 布 表 の 作 成 ) 度 数 分 布 表 などを 作 成 する 場 合 連 続 変 数 を 階 級 別 のカテゴリー 変 数 ( 階 級 値 )に 置 き 換 える 必 要 があります たとえば 電 機 メーカーの 財 務 データを 使 って 従 業 員 階 級 別 の 度 数 分 布 表 の 作 成 方 法 を 考 えましょう 最 終 的 に 作 成 したい 表 は 以 下 のような 従 業 員 数 階 級 別 の 企 業 数 を 表 示 した 表 になります 従 業 員 数 階 級 企 業 数 Percent 累 積 ------------+----------------------------------- 1~99 21 6.29 6.29 100~999 191 57.19 63.47 1000~ 122 36.53 100.00 ------------+----------------------------------- Total 334 100.00 この 表 を 作 成 するためには 各 企 業 を 従 業 員 数 階 級 ごとに 振 り 分 けなければなりません この 作 業 をオーソドックスに 進 めるとなると 以 下 のように replace コマンドを 繰 り 返 し 実 行 することになり ます gen newvar=. replace newvar=x1 if var<=x1 replace newvar=x2 if var>x1&var<=x2 replace newvar=xn if var>x1&var>x2&var>x3&var> この 作 業 を replace コマンドを 使 って 地 道 に 作 業 するのはかなり 面 倒 です そこで 以 下 の recode 関 数 を 用 います gen newvar=recode(var, x1,x2,x3,,xn) ただし x1<x2<x3< <xn とします このコマンドは 上 記 ののコマンド 群 と 同 義 になります 上 の 具 体 例 のように 規 模 別 に 99 人 以 下 100 人 以 上 999 人 1000 人 以 上 のカテゴリー 変 数 を 作 成 したい 場 合 gen labor_category=recode(labor, 99, 999,1000) とします このコマンドは 以 下 の 作 業 と 同 じ 結 果 になります gen labor_category=. replace labor_category =99 if labor<=99 replace labor_category =999 if labor>99&labor<=999 replace labor_category =1000 if labor>999 従 業 員 数 のように 整 数 値 であれば 問 題 ないですが 比 率 のように 実 数 値 の 場 合 は 注 意 が 必 要 で す たとえば パート 従 業 員 比 率 のカテゴリーを 作 成 する 場 合 は 39

gen part_category=recode(ratio_part, 0.25, 0.5,0.75,1) とします このコマンドは 以 下 の 作 業 と 同 じ 結 果 になります gen part_category=. replace part_category =0.25 if ratio_part<=0.25 replace part_category =0.5 if ratio_part>0.25&ratio_part<=0.5 replace part_category =0.75 if ratio_part>0.5&ratio_part<=0.75 replace part_category =1 if ratio_part>0.75 例 として 電 気 機 器 メーカー334 社 の 従 業 者 数 の 度 数 分 布 表 を 作 成 しましょう まず データの 記 述 統 計 量 を sum で 確 認 しましょう. su labor 0 Variable Obs Mean Std. Dev. Min Max -------------+-------------------------------------------------------- labor 334 2416.356 7143.216 4 58739 次 に この 334 社 のデータを 3 階 級 の 階 級 値 に 置 き 換 えた 変 数 を 作 成 します. gen labor_category=recode(labor,99,999,1000) これを tabulate で 表 示 すると 以 下 のような 度 数 分 布 表 が 完 成 します. tabulate labor_category labor_categ ory Freq. Percent Cum. ------------+----------------------------------- 99 21 6.29 6.29 999 191 57.19 63.47 1000 122 36.53 100.00 ------------+----------------------------------- Total 334 100.00 40

3-4.データのエクセルへの 移 行 論 文 を 書 く 際 には Stata で 作 成 した 表 などを Result ウインドウのログではなく EXCEL 等 で 整 形 して 利 用 することが 多 いかと 思 います Stata では 結 果 表 や 元 データの 一 部 を EXCEL に 貼 り 付 けたり 全 データシートを EXCEL 形 式 に 変 換 することができます (1) 作 表 結 果 の 貼 り 付 け Result Window の 画 面 をカット&ペーストすることで 簡 単 に 作 表 結 果 を EXCEL に 移 行 することがで きます まず Result Window の 結 果 をマウスで 領 域 指 定 します 次 に 右 クリックして 図 3-1の ように Copy Table を 選 択 します 図 3-1 次 に EXCEL を 開 き 貼 り 付 け を 行 うと 図 3-2のように 表 をそのまま EXCEL 上 で 復 元 するこ とができます 図 3-2 (2)データの 貼 り 付 け データの 一 部 を EXCEL に 移 行 させる 際 まず browse コマンドにより 移 行 させたいデータを stata browser に 表 示 させます 例 えば browse labor if labor<10000 表 示 される stata browser の 範 囲 を 選 択 しコピーします( 図 3-3) EXCEL を 開 き 貼 り 付 け を 41

行 うと EXCEL 上 に 復 元 されます( 図 3-4) 図 3-3 図 3-4 (2)データの 形 式 変 換 Stata 上 でデータを 加 工 した 後 その 現 状 の 加 工 済 データのまま EXCEL 形 式 で 保 存 しておきたい 時 などには outsheet コマンドを 用 いて 全 データもしくは 指 定 変 数 系 列 を 形 式 変 換 させます outsheet using data, replace 同 名 の 既 存 ファイルに 上 書 きする 場 合 の 指 定 ( 指 定 しない 際 には, replace を 除 く) 新 たに 保 存 するファイル 名 この 時 データはタブ 区 切 り 形 式 で data.out として 保 存 されます これを EXCEL 形 式 まで 変 換 するには まず EXCEL の ファイル の 開 く から.out として 保 存 されたファイルを 指 定 します テ キストファイル ウィザードが 開 くので カンマやタブなどの 区 切 り 文 字 によってフィールドごとに 区 切 られたデータ を 指 定 すると EXCEL 形 式 でデータを 確 認 できます outsheet using data, replace comma とすると タブ 区 切 りではなくコンマ 区 切 り 形 式 で data.out ファイルが 保 存 されます replace 以 降 に nonames を 加 えると 変 数 コード 行 を 除 いたファイルが 保 存 されます 42

第 4 章 回 帰 分 析 離 散 選 択 モデルの 推 定 本 節 では 回 帰 分 析 および 離 散 選 択 モデルの 推 定 を 説 明 します ほとんどの 回 帰 分 析 が コマンド 名 [ 被 説 明 変 数 ] [ 説 明 変 数 ] の 順 に 並 べてリターンキーを 押 せば 結 果 が 出 力 されます コマンドによっては オプションをつけ ることも 可 能 です その 際 は 通 常 説 明 変 数 の 後 ろに カンマをつけてその 後 ろにオプションを 指 定 します コマンド 名 [ 被 説 明 変 数 ] [ 説 明 変 数 ], [オプション] また サンプルを 限 定 して 分 析 する 場 合 条 件 式 if でサンプルを 絞 ることができます コマンド 名 [ 被 説 明 変 数 ] [ 説 明 変 数 ] if condition==1 4-1. 回 帰 分 析 本 節 では 最 も 単 純 な 最 小 二 乗 法 ( 以 下 OLS)による 回 帰 分 析 を 説 明 します 本 章 の 冒 頭 で 説 明 したとおり コマンド 名 被 説 明 変 数 説 明 変 数 の 順 に 並 べれば 回 帰 分 析 を 行 うことができます 最 も 単 純 な 消 費 関 数 を 例 に 挙 げて OLS を 説 明 します 推 計 式 は Cons = 定 数 項 + t Y t + ε です Cons t はt 期 の 消 費 Y t は t 期 の 所 得 ε t 誤 差 項 です year cons Y 1980 171396.4 312835.2 1981 175753.5 322586.0 1982 183732.8 333273.5 1983 187904.2 341441.8 1984 191204.8 353575.1 1985 199016.7 370527.9 1986 205480.0 379843.8 1987 216162.3 404032.7 1988 226153.3 426670.6 1989 240139.1 451819.8 1990 245054.9 470701.9 1991 251837.0 480778.1 1992 256197.7 482596.4 1993 262698.4 484486.3 1994 270053.6 492857.9 1995 273573.4 505715.3 1996 276604.6 520134.5 1997 276918.2 523999.4 1998 279262.5 516623.9 1999 277907.6 518878.4 t 43

OLSの 基 本 式 reg 被 説 明 変 数 説 明 変 数 if 条 件 式, (option) この 式 が 最 も 基 本 的 な OLS を 実 行 するコマンドです Stata では option で 指 定 をしなければ 自 動 的 に 回 帰 式 に 定 数 項 が 含 まれます したがって 何 も 条 件 やオプションをつけないで 先 の 消 費 関 数 を 推 計 するコマンドは となります reg cons y Source SS df MS Number of obs = 20 -------------+------------------------------ F( 1, 18) = 2504.47 Model 2.8294e+10 1 2.8294e+10 Prob > F = 0.0000 Residual 203354041 18 11297446.7 R-squared = 0.9929 -------------+------------------------------ Adj R-squared = 0.9925 Total 2.8498e+10 19 1.4999e+09 Root MSE = 3361.2 ------------------------------------------------------------------------------ cons Coef. Std. Err. t P> t [95% Conf. Interval] -------------+---------------------------------------------------------------- y.5139885.0102706 50.04 0.000.4924108.5355662 _cons 9937.722 4527.128 2.20 0.042 426.5786 19448.86 ------------------------------------------------------------------------------ Stata では 何 も 指 定 しない 場 合 説 明 変 数 に 自 動 的 に 定 数 項 が 含 まれてしまいます 定 数 項 を 外 して 推 計 したい 場 合 には nocons オプションを 指 定 します reg cons y, nocons (1) ラグ 付 き 変 数 の 取 り 扱 い(システム ファンクションの 利 用 ) 先 述 の 推 計 式 にラグ 付 き 変 数 を 含 める 場 合 例 えば Cons t = 定 数 項 + Yt + Yt 1 + ε t とする 場 合 変 数 Y の1 期 ラグ 付 き 変 数 が 必 要 となります この 時 システム 変 数 [_n-1]を 利 用 す るとよいでしょう 変 数 Y t-1 を 以 下 のように 作 成 し 上 式 を 推 定 することができます gen y1=y[_n-1] reg cons y y1 44

(2) 質 的 変 数 の 取 り 扱 い 回 帰 分 析 においては 質 的 な 情 報 を 扱 う 際 には その 変 数 をそのまま 用 いるのではなく ダミー 変 数 と 呼 ばれる 0/1 の 変 数 に 置 き 換 えて 分 析 されることがしばしばあります 単 純 なダミー 変 数 であ れば たとえば 性 別 の 違 いを 分 析 に 取 り 込 みたい 場 合 以 下 のような 手 順 を 踏 みます データセ ットでは 性 別 は sex(1のとき 男 性 2 は 女 性 )となっているとすると gen d_male=0 replace d_male=1 if sex==1 reg wage age education d_male となります d_male は 男 性 のとき1を 示 す 変 数 です この 係 数 は 賃 金 の 男 女 差 を 示 すことになり ます なお ダミー 変 数 を 作 成 する2つのコマンドは 以 下 の 一 文 にまとめることもできます gen male=sex==1 連 続 変 数 からダミー 変 数 を 作 成 する 場 合 は まず 38 ページで 説 明 した 方 法 でカテゴリー 変 数 を 作 成 します 次 に 新 たに 作 成 したカテゴリー 変 数 (ここでは labor_category としましょう )をも とにダミー 変 数 を 作 成 するには 以 下 のようなコマンドを 使 います tabulate labor_category, generate(empcat) このコマンドにより empcat1, empcat2, empcat3, empcat4 の4つの 変 数 が 生 成 されます 37 ページの 例 と 同 じデータセットでダミー 変 数 を 作 成 してみましょう. tab labor_category,generate(empcat) labor_categ ory Freq. Percent Cum. ------------+----------------------------------- 99 21 6.29 6.29 999 191 57.19 63.47 1000 122 36.53 100.00 ------------+----------------------------------- Total 334 100.00 describe で 確 認 すると 新 しい 変 数 が 生 成 されていることがわかります 45

. des Contains data obs: 334 vars: 6 size: 11,022 (99.9% of memory free) ------------------------------------------------------------------------------- storage display value variable name type format label variable label ------------------------------------------------------------------------------- id long %12.0g labor long %12.0g labor_category float %9.0g empcat1 byte %8.0g labor_category== 99.0000 empcat2 byte %8.0g labor_category== 999.0000 empcat3 byte %8.0g labor_category== 1000.0000 ------------------------------------------------------------------------------- 新 しい 変 数 empcat1,empcat2, empcat3 は 0 1で 構 成 されていることがわかります. sum empcat* Variable Obs Mean Std. Dev. Min Max -------------+-------------------------------------------------------- empcat1 334.0628743.2431008 0 1 empcat2 334.5718563.4955521 0 1 empcat3 334.3652695.4822281 0 1 ここで 作 成 した 企 業 規 模 ダミー 変 数 を 回 帰 分 析 で 取 り 扱 うには reg y x1 x2 x3 empcat1 empcat2 とします ダミー 変 数 は すべて 説 明 変 数 に 挿 入 すると 定 数 項 と 多 重 共 線 性 を 引 き 起 こしうまく 推 定 できないので ここでは empcat3 を 省 いています Stata では 質 的 変 数 をダミー 変 数 に 自 動 的 にダミー 変 数 に 置 き 換 えて 回 帰 分 析 を 実 行 するコ マンドも 備 え 付 けてあります ただし この 方 法 は 標 準 的 な 最 小 二 乗 法 (reg コマンドによる 分 析 ) にしか 用 いることが 出 来 ませんので 注 意 が 必 要 です (3)xi:reg コマンド 基 本 式 は 以 下 のようになります xi:reg 被 説 明 変 数 説 明 変 数 i.カテゴリー 変 数 46

コマンドとして xi:reg を 入 力 し ダミー 変 数 を 作 成 したいカテゴリー 変 数 の 前 に i.をつけます(i の 後 にピリオドを 忘 れないよう 注 意 ) このコマンドは 質 を 表 すカテゴリー 変 数 に 対 して 自 動 的 にカテゴリー 毎 のダミー 変 数 を 作 成 して くれるコマンドです 具 体 例 として 以 下 の 推 計 式 を 考 えます 賃 金 (wage)= 定 数 項 + 年 齢 (age) + 大 学 院 卒 ダミー(D[education=1]) + 大 学 卒 ダミー(D[education=2]) + 短 大 卒 ダミー(D[education=3]) + 高 卒 ダミー(D[education=4]) ここで education は 大 学 院 卒 なら1 大 学 卒 なら2 短 大 卒 なら3 高 卒 なら4を 示 すカテゴリー 変 数 であるとします このカテゴリー 毎 にダミー 変 数 を 作 って 説 明 変 数 に 加 えたい 場 合 xi:reg を 用 いると 自 動 的 にカテゴリー 毎 にダミー 変 数 を 作 って 推 計 してくれます 今 回 のケースであれば 以 下 のようにコマンドを 入 力 します xi:reg wage age i.education 推 計 結 果 は 以 下 のように 表 示 されます i.education _Ieducation_1-4 (naturally coded; _Ieducation_1 omitted) Source SS df MS Number of obs = 54 -------------+------------------------------ F( 4, 49) = 24.39 Model 8.92978039 4 2.2324451 Prob > F = 0.0000 Residual 4.48509126 49.091532475 R-squared = 0.6657 -------------+------------------------------ Adj R-squared = 0.6384 Total 13.4148716 53.253110786 Root MSE =.30254 ------------------------------------------------------------------------------ wage Coef. Std. Err. t P> t [95% Conf. Interval] -------------+---------------------------------------------------------------- age.0263066.003927 6.70 0.000.0184149.0341982 _Ieducatio~2 -.5410875.144381-3.75 0.000 -.831232 -.250943 _Ieducatio~3 -.7688748.1875269-4.10 0.000-1.145724 -.3920254 _Ieducatio~4 -.98413.1953334-5.04 0.000-1.376667 -.5915928 _cons 6.009725.2079137 28.90 0.000 5.591907 6.427544 ------------------------------------------------------------------------------ この 計 算 結 果 は Edum1 は 大 学 院 卒 =1 その 他 =0 のダミー 変 数 (Edum2 は 大 学 卒 =1 その 他 =0 のダミー 以 下 続 く)としたおときに reg wage age Edum1 Edum2 Edum3 Edum4 という 回 帰 式 と 同 じ 結 果 をもたらします (4)areg コマンド 47

xi:reg の 類 似 のコマンドとして areg コマンドがあります xi:reg コマンドを 用 いると すべてのダミー 変 数 の 係 数 が 表 示 されますが 必 ずしもダミー 変 数 の 係 数 が 必 要 でない 場 合 があります その 際 areg コマンドを 用 いると 同 じ 計 算 を Speedy に 実 行 してくれます 賃 金 を 従 業 員 の 年 齢 学 歴 で 分 析 する 例 を 見 ましょう 先 の 例 を 用 いて 推 計 する 場 合 には 以 下 のようにコマンドを 入 力 します areg 被 説 明 変 数 説 明 変 数, absorb(カテゴリー 変 数 名 ) xi:reg コマンドとの 違 いは 自 動 的 に 作 成 されたダミー 変 数 の 個 々の 係 数 パラメータの 値 や t 値 な どを 推 計 結 果 として 表 示 しない 点 です 推 計 結 果 は 以 下 のように 表 示 されます Number of obs = 54 F( 1, 49) = 44.87 Prob > F = 0.0000 R-squared = 0.6657 Adj R-squared = 0.6384 Root MSE =.30254 ------------------------------------------------------------------------------ lwage Coef. Std. Err. t P> t [95% Conf. Interval] -------------+---------------------------------------------------------------- age.0263066.003927 6.70 0.000.0184149.0341982 _cons 5.452406.1475945 36.94 0.000 5.155804 5.749009 -------------+---------------------------------------------------------------- education F(3, 49) = 9.393 0.000 (4 categories) ------------------------------------------------------------------------------ 推 計 結 果 の 一 番 下 に 出 ている F 検 定 の 結 果 は Edum1 ~ Edum4 のパラメータが 同 時 に 0 にな るかどうかを 検 定 した 結 果 を 表 しています xi:reg コマンドでは F 検 定 が 行 われない 代 わりに 個 別 のダミー 変 数 のパラメータや t 値 が 表 示 されています 説 明 変 数 として 用 いた age の 係 数 パラメ ータが areg コマンドを 用 いた 場 合 と 同 じになることを 確 認 してください 4-2. 離 散 選 択 モデル Stata は 個 票 データ 処 理 に 強 みを 発 揮 しますが 個 票 データの 中 には アンケート 調 査 のようなデ ータが 使 われている 場 合 も 見 受 けられます 本 節 では そのようなデータを 分 析 する 離 散 選 択 モ デル( 質 的 変 量 モデル)を 紹 介 します (1)プロビット 分 析 質 的 データを 被 説 明 変 数 とするモデルの 代 表 的 な 分 析 手 法 がプロビット 分 析 です プロビットモデ ル ロジットモデルは 回 帰 分 析 の 考 え 方 を 応 用 した 確 率 モデルに 基 づく 分 析 手 法 であるため 本 章 の 冒 頭 で 説 明 したとおり コマンド 名 被 説 明 変 数 説 明 変 数 の 順 に 並 べれば 分 析 を 行 うことが できます プロビット 分 析 では 以 下 のコマンドを 用 いて 分 析 します 48

probit 被 説 明 変 数 説 明 変 数 以 下 では 50 人 の 既 婚 女 性 の 労 働 に 関 するデータを 例 にして 説 明 します 推 計 式 は 以 下 のようなものを 想 定 します Work = C18 + AGE + AGE^2 + ED + HI 変 数 の 説 明 は 以 下 のとおり Work : 0= 就 労 していない 1= 就 労 している C18 : 18 歳 未 満 の 子 供 の 数 AGE : 年 齢 ED : 教 育 年 数 HI : 夫 の 収 入 このモデルをプロビット 分 析 する 場 合 以 下 のようにコマンドを 入 力 します probit Work C18 Age Age2 ED HI 推 計 結 果 は 以 下 のように 表 示 されます Iteration 0: log likelihood = -32.67091 Iteration 1: log likelihood = -26.474454 Iteration 2: log likelihood = -26.229633 Iteration 3: log likelihood = -26.227426 Iteration 4: log likelihood = -26.227426 Probit estimates Number of obs = 50 LR chi2(5) = 12.89 Prob > chi2 = 0.0245 Log likelihood = -26.227426 Pseudo R2 = 0.1972 ------------------------------------------------------------------------------ work Coef. Std. Err. z P> z [95% Conf. Interval] -------------+---------------------------------------------------------------- c18 -.4013713.1897784-2.11 0.034 -.7733302 -.0294125 age.1501527.1375394 1.09 0.275 -.1194196.419725 age2 -.0023274.0015347-1.52 0.129 -.0053352.0006805 ed.0536939.0906034 0.59 0.553 -.1238854.2312732 hi -4.96e-06.0000102-0.48 0.628 -.000025.0000151 _cons -1.478264 2.82501-0.52 0.601-7.015182 4.058654 ------------------------------------------------------------------------------ 通 常 の 回 帰 分 析 では 係 数 は 説 明 変 数 が1 増 えると 被 説 明 変 数 がどの 程 度 変 化 するか という 限 界 効 果 として 解 釈 できますが probit モデルの 場 合 そのような 解 釈 はできません probit モ 49

デルで 限 界 効 果 を 導 くには 通 常 多 少 の 計 算 を 必 要 としますが Stata では dprobit コマンドを つかってプロビットモデルにおける 限 界 効 果 を 表 示 することができます コマンドはプロビット 分 析 と 同 じく 以 下 のように 書 きます dprobit Work C18 Age Age2 ED HI さらに Stata では 順 序 プロビットモデルも oprobit コマンドを 使 って 推 計 することができます 順 序 プロビットモデルの 場 合 も 同 様 に oprobit Work C18 Age Age2 ED HI と 書 くことになります (2)ロジット 分 析 プロビット 分 析 では 確 率 分 布 として 正 規 分 布 を 用 いてきましたが ロジスティック 分 布 を 用 いるロジ ット 分 析 も 質 的 変 量 データの 分 析 にしばしば 用 いられます 先 ほどの 例 に 対 してロジット 分 析 を 行 う 場 合 以 下 のようなコマンドを 入 力 します logit Work C18 Age Age2 ED HI 推 計 結 果 は 以 下 のように 表 示 されます Iteration 0: log likelihood = -32.67091 Iteration 1: log likelihood = -26.42873 Iteration 2: log likelihood = -26.250084 Iteration 3: log likelihood = -26.248375 Iteration 4: log likelihood = -26.248374 Logit estimates Number of obs = 50 LR chi2(5) = 12.85 Prob > chi2 = 0.0249 Log likelihood = -26.248374 Pseudo R2 = 0.1966 ------------------------------------------------------------------------------ work Coef. Std. Err. z P> z [95% Conf. Interval] -------------+---------------------------------------------------------------- c18 -.6613577.3264931-2.03 0.043-1.301272 -.021443 age.2636399.2363032 1.12 0.265 -.1995059.7267857 age2 -.0040124.002665-1.51 0.132 -.0092357.0012109 ed.0812957.1520127 0.53 0.593 -.2166436.3792351 hi -8.43e-06.0000175-0.48 0.629 -.0000427.0000258 _cons -2.659551 4.717939-0.56 0.573-11.90654 6.587439 ------------------------------------------------------------------------------ 50

4-3. 回 帰 分 析 結 果 の 整 理 (outreg コマンド) 複 数 の 回 帰 分 析 結 果 を journal スタイルでまとめるのは 結 構 面 倒 な 作 業 です こんなとき outreg コマンドを 用 いると 便 利 です outreg コマンドは ado ファイルで 提 供 されています まず 以 下 の WEB ページから outreg.ado ファイルをダウンロードしてください http://ideas.repec.org/c/boc/bocode/s375201.html internet explorer にプログラムが 表 示 されたら そのページを テキスト 形 式 で 名 前 をつけて 保 存 してください さらに 拡 張 子 を.ado に 変 更 してください ダウンロードしたファイルは stata をインストールしたときに 生 成 される ado フォルダーの 下 の personal フォルダーに 移 してください ado ファイルの 使 い 方 は User s Guide も 参 考 にしてください reg コマンドの 実 行 後 に outreg using filename.doc と 分 析 結 果 の 出 力 先 を 指 定 すると filename.doc というファイルが 生 成 さます 次 の 例 では 県 民 経 済 計 算 ( 経 済 企 画 庁 平 成 2 年 )の 47 都 道 府 県 の 貯 蓄 額 (save)と 所 得 (income)を 使 った 回 帰 分 析 の 結 果 を outreg コマンドによって save.doc ファイルに 出 力 しています * 回 帰 式 1. reg save income Source SS df MS Number of obs = 47 -------------+------------------------------ F( 1, 45) = 71.47 Model 109948399 1 109948399 Prob > F = 0.0000 Residual 69224547.9 45 1538323.29 R-squared = 0.6136 -------------+------------------------------ Adj R-squared = 0.6051 Total 179172947 46 3895064.06 Root MSE = 1240.3 ------------------------------------------------------------------------------ save Coef. Std. Err. t P> t [95% Conf. Interval] -------------+---------------------------------------------------------------- income 3.756302.4443138 8.45 0.000 2.861408 4.651196 _cons -3866.052 1116.157-3.46 0.001-6114.107-1617.997 ------------------------------------------------------------------------------. outreg using save.doc 51

* 回 帰 式 2. reg save Source SS df MS Number of obs = 47 -------------+------------------------------ F( 0, 46) = 0.00 Model 0 0. Prob > F =. Residual 179172947 46 3895064.06 R-squared = 0.0000 -------------+------------------------------ Adj R-squared = 0.0000 Total 179172947 46 3895064.06 Root MSE = 1973.6 ------------------------------------------------------------------------------ save Coef. Std. Err. t P> t [95% Conf. Interval] -------------+---------------------------------------------------------------- _cons 5445.34 287.8779 18.92 0.000 4865.872 6024.809 ------------------------------------------------------------------------------. outreg using save.doc,append こうして 生 成 された save.doc ファイルの 中 身 は 以 下 のとおりです (1) (2) save save income 3.756 (8.45)** Constant -3,866.052 5,445.340 (3.46)** (18.92)** Observations 47 47 R-squared 0.61 0.00 Absolute value of t statistics in parentheses * significant at 5%; ** significant at 1% これをコピーしてEXCELに 貼 り 付 けると 以 下 のような journal フォーマットの 表 が 得 られます (1) (2) save save income 3.756 (8.45)** Constant -3,866.05 5,445.34 (3.46)** (18.92)** Observations 47 47 R-squared 0.61 0 Absolute value of t statistics in parentheses * significant at 5%; ** significant at 1% 52

第 5 章 パネルデータによる 分 析 5-1.パネルデータとは パネルデータとは 同 一 の 主 体 / 個 体 ( 個 人 家 計 企 業 など)を 複 数 の 時 点 について 観 測 したも のです STATA では 個 体 を 認 識 する 変 数 を 行 方 向 に 並 べ 個 体 ごとの 同 一 変 数 の 異 時 点 の 観 測 値 が 列 方 向 行 方 向 のどちらに 並 ぶかにより データの 構 成 が 大 きく 異 なります LONG 形 式 : 複 数 の 個 体 のデータの 集 合 が 縦 方 向 に 接 続 されたデータ WIDE 形 式 : 複 数 の 個 体 のデータ 系 列 が 横 方 向 に 接 続 されたデータ LONG 形 式 のデータ( 例 ) fid year labor slsprofit head-q 6501 1994 80493.0173707 13 6501 1995 78368.0214952 13 6501 1996 75590.031215 13 6501 1997 72193.0195598 13 6501 1998 70375.0042226 13 6501 1999 66046 -.0303931 13 6501 2000 58739.0084272 13 6501 2001 54017.0139593 13 6501 2002 48590 -.0231846 13 6502 1994 74558.016504 14 6502 1995 73463.021515 14 6502 1996 71170.0326982 14 6502 1997 68441.0253295 14 ( 以 下 省 略 ) WIDE 形 式 のデータ( 例 ) fid labor1994 labor1995 labor1996 labor1997 labor... 6501 80493 8368 5590 2193 6502 74558 3463 1170 8441 6503 49842 8421 7752 7372 6504 14094 3794 3202 2870 Long 形 式 のデータ 作 成 同 一 個 体 を 追 跡 調 査 している 調 査 統 計 に 対 し 同 一 変 数 に 関 する 一 連 の 調 査 結 果 であっても 時 点 ごとに 個 別 データシートが 存 在 する 場 合 があります このような 時 append コマンドによりパ ネルデータセットを 構 築 することができます ただし 各 データシートにおいて 時 点 を 識 別 する 変 数 が 各 シートに 含 まれている 必 要 があるのに 注 意 が 必 要 です append コマンドの 扱 いは 2-1. データの 縦 方 向 の 結 合 をご 参 照 ください Wide 形 式 のデータ 作 成 53

Wide 形 式 では 各 個 体 の 識 別 変 数 に 対 応 して 全 変 数 が 横 に 並 ぶことになります そのため 新 たなデータセットの 追 加 などには merge コマンドにより 対 応 することができます merge コマン ドの 扱 いは 2-2.データの 横 方 向 の 結 合 を 参 照 してください Long 形 式 と Wide 形 式 の 特 性 パネル 計 量 分 析 を 行 うには データセットが 必 ず Long 形 式 となっている 必 要 があります ただし データの 扱 いは Wide 形 式 である 方 が 便 利 な 時 もあります 例 えば GDP 主 要 項 目 の GDP 成 長 率 への 寄 与 度 を 算 出 したい 場 合 異 なる 変 数 の 異 なる 時 点 を 抽 出 して 計 算 する 必 要 があります id year GDP C I 0001 : ( 省 略 ) : : : 0001 1999 a b c : 0001 2000 d e f : 0002 : ( 省 略 ) : : : 0002 1995 g h i : 0002 2000 j k l : ( 以 下 省 略 ) ここで 2000 年 の C( 民 間 最 終 消 費 支 出 )の GDP 成 長 率 への 寄 与 度 を 測 るとき 4-1.(1)のシステ ムファンクション[_n-1]を 用 いて gen new_var_name == ( C - C[_n-1])/GDP[_n-1] if year==2000 と 計 算 式 を 指 定 することができます この 時 固 体 0001 については 2000 年 消 費 の GDP 成 長 率 寄 与 度 = ( e - b ) a として 正 しく 計 算 されることになります しかし 個 体 0002 は 1996 年 から 1999 年 のデータが 欠 損 し ていることから (k-h)/g が 計 算 されます これは 対 1995 年 変 化 率 を 算 出 していることになり 本 来 示 されるべき 値 ( 欠 損 値 ".")を 得 ることができません 後 述 の5-1.(3)で 紹 介 するデータ オ ペレータ ファンクションにより 個 体 別 に 正 しく 計 算 することが 可 能 ではありますが 複 雑 な 計 算 式 の 場 合 や 全 期 間 に 対 して 時 系 列 の 寄 与 度 データが 必 要 なのではなく ある 一 時 点 の 寄 与 度 の み 抽 出 した 場 合 などは データセットが Long 形 式 ではなく Wide 形 式 となっていると 便 利 です(デ ータ 形 式 の 変 換 は 5-1.(1)をご 参 照 ください) id GDP1999 GDP2000 C1999 C2000 0001 : a b c d 0002 : e f g h ( 以 下 省 略 ) 上 のようにデータセットが Wide 形 式 の 時 gen new_var_name = ( C2000 - C1999)/GDP1999 で 個 体 別 に 2000 年 の 正 しい 消 費 の GDP 成 長 率 寄 与 度 を 計 れることとなります balance パネルと unbalance パネル balanced panel とは 使 用 するデータセットの 各 個 体 の 変 数 が 全 期 間 揃 っている( 欠 損 値 を 含 54

まない)パネルデータセットであることを 言 います 反 対 に ある 個 体 のある 時 点 のデータが 欠 損 し ている 場 合 は unbalanced panel と 言 います (1)パネルデータ 形 式 を 変 換 する パネルデータの LONG 形 式 WIDE 形 式 変 換 を reshape コマンドにより 行 うことができ ます 5-1.パネルデータとは のデータ 形 式 別 のパネルデータセット 例 を 用 いて 見 てみましょ う long 形 式 wide 形 式 の 変 換 reshape wide labor slsprofit, i(fid) j(year) 変 換 対 象 の 変 数 wide に 続 いて 変 換 したい 変 数 名 を 記 入 します 個 体 ごとに 時 間 を 通 じて 一 定 の 変 数 (たとえば 表 の 変 数 のうち head-q のように 個 体 ごとにみると 一 定 になっている 変 数 )は 記 入 する 必 要 はありません ただし 個 体 により 時 間 により 異 なる 値 をもつ 変 数 がデータセットに 含 まれている ( 表 の labor や slsprofit のような 変 数 )にも 関 わらず 変 換 対 象 の 変 数 として 記 述 から 漏 れてい る 時 データ 形 式 変 換 は 行 われずエラー 表 示 が 返 されます コマンドライン 中 の wide 以 下 には time variant( 時 間 について 可 変 )な 変 数 は 全 て 記 入 するようにしましょう 変 換 の 軸 となる 個 体 を 表 わす 変 数 fid と 時 間 を 表 わす 変 数 year の 全 データが 一 対 一 の 関 係 であれば 問 題 なく 変 換 されます 誤 植 などにより 重 複 してデータが 存 在 する 場 合 ( 例 えば fid 番 号 5948 の 1999 年 のデータが1つ 以 上 存 在 する 場 合 など)は 変 換 されず year not unique within fid; there are multiple observations at the same year within fid. Type "reshape error" for a listing of the problem observations. r(9); のようなエラーが 表 示 されます このような 場 合 の 対 処 方 法 は 第 5 章 の 補 論 を 参 照 してください なお unbalanced panel である 場 合 データ 変 換 に 特 に 問 題 は 生 じません 欠 損 しているデータ については. の 欠 損 を 表 わす 記 述 が 自 動 的 に 置 き 換 わります wide 形 式 long 形 式 の 変 換 reshape long labor slsprofit, i(fid) j(year) 変 換 するデータセットには 変 換 対 称 として 指 定 する 変 数 名 (ここでは labor, slsprofit)と そ の 変 数 名 に 数 値 が 続 く 変 数 (ここでは labor1994, labor11995, )が 存 在 する 必 要 があります 指 定 変 数 名 に 続 く 数 値 が j( ) で 指 定 した 時 間 軸 変 数 の 値 として 変 換 されます 全 ての 変 数 が 正 しく 存 在 する 時 ( 共 通 した 変 数 名 があり その 各 変 数 名 に 共 通 した 数 値 系 列 が 続 いている 場 合 ) 細 かい 指 定 を 省 略 し reshape long と 記 入 するだけで データ 形 式 が 変 換 されます 55

(2)パネルデータとしての 認 証 パネルデータによる 分 析 を 行 う 際 STATA にデータセットがパネルデータであるという 情 報 を 伝 え る 必 要 があります tsset var1 var2 var1 には 主 体 を 表 わす 変 数 名 を var2 には 時 間 軸 を 表 わす 変 数 名 を 記 述 します. tsset fid year panel variable: fid, 1909 to 359059 time variable: year, 1994 to 2002 パネルデータであることを 伝 えたら パネルデータの 形 状 を xtdes コマンドにより 確 認 できます. iis fid. tis year. xtdes 1 fid: 1909, 1993,..., 359059 n = 334 year: 1994, 1995,..., 2002 T = 9 Delta(year) = 1; (2002-1994)+1 = 9 (fid*year does not uniquely identify observations) Distribution of T_i: min 5% 25% 50% 75% 95% max 1 7 9 9 9 9 27 Freq. Percent Cum. Pattern 2 ---------------------------+----------- 3 256 76.35 76.35 111111111 94-02 まで 連 続 している 標 本 が 256 社 27 8.08 84.43.11111111 16 4.79 89.22 11111111. 12 3.59 92.81..1111111 10 2.99 95.81...111111 3 0.90 96.71 1111111.. 1 0.30 97.60...1 1 0.30 97.90...11111 7 2.10 100.00 (other patterns) ---------------------------+----------- 334 100.00 XXXXXXXXX 1 ここには 個 体 識 別 変 数 (fid)が 1909~359059 までの 値 の 334 社 のデータが 1994~2002 年 の 9 時 点 分 あることを 示 しています また 変 数 fid と year が 一 対 一 の 関 係 でないことも (fid*year does not uniquely identify observations)で 示 しています そのため デー タの 重 複 を 修 正 しなくては Wide 形 式 に 変 換 することも 回 帰 分 析 することもできないことが 分 56

かります 2 ここには データの 欠 損 に 関 する 情 報 が 得 られます 95%のデータは 9 時 点 のデータがあるこ とを 示 していますが 5%のデータは 7 時 点 のデータであることが 示 されています よって こ のデータセットは unbalanced panel であることが 分 かります 3 2の 情 報 を より 詳 しく 示 しています 256 サンプルはデータは 全 期 間 連 続 しており 27 サンプ ルは1 期 目 のデータが 欠 損 していることを 示 しています Pattern の 列 にしめされる 1 はデー タ 存 在 していることを 示 し. はデータが 存 在 していないことを 示 しています (3)データ オペレータ ファンクション tsset の 設 定 により STATA が 時 系 列 の 概 念 を 認 識 できるようになると 遅 延 演 算 子 などのオペレ ーション ファンクションを 利 用 することが 可 能 となります l. ファンクション 時 系 列 方 向 のデータを 含 むデータを 扱 う 際 l. を 変 数 の 前 に 付 けるこ とでラグ 付 変 数 として 認 識 されます labor labor(t) l.labor labor(t-1) l2.labor labor(t-2) : : f. ファンクション f. を 変 数 の 前 に 付 けることで 一 期 前 の 値 を 参 照 します f.labor labor(t+1) f2.labor labor(t+2) : : d. ファンクション d. を 変 数 の 前 に 付 けると 前 期 値 との 差 分 変 数 として 認 識 します d.labor labor(t)-labor(t-1) これらのオペレーション ファンクションは 個 体 ごとの 時 系 列 を 参 照 して 算 出 されます その 点 が 変 数 システムファンクション[_n-1]などと 異 なり パネルデータを 扱 う 際 の 極 めて 利 便 性 の 高 いフ ァンクションと 言 えます 以 下 に l.ファンクションとシステムファンクション[_n-1]との 違 いを 例 示 しましょう 57

. tsset fid year. gen test1=l.labor. gen test2=labor[_n-1]. list +---------------------------------------+ fid year labor test1 test2 --------------------------------------- 1. 1909 1995 535.. 2. 1909 1996 529 535 535 ( 省 略 ) 6. 1909 2000 470 509 509 7. 1993 1994 922. 470 test2 では 個 体 変 数 別 に 8. 1993 1995 929 922 922 データが 作 成 がされない ( 省 略 ) 様 子 がわかります 15. 1993 2002 773 799 799 16. 4062 1994 1450. 773 17. 4062 1995 1921 1450 1450 ( 以 下 省 略 ) データ オペレータ ファンクションにより Long 形 式 でもデータの 扱 いが 容 易 になりますが 5-2. で 紹 介 する 回 帰 分 析 に オペレータ ファンクション 付 の 変 数 を 直 接 組 み 込 むことはできません 回 帰 分 析 でラグ 付 変 数 などを 使 用 したい 場 合 は まず 一 度 gen コマンドで 新 たな 変 数 を 作 成 し その 新 変 数 を 使 って 回 帰 分 析 を 試 みましょう 5-2.パネルデータによる 回 帰 分 析 パネル 計 量 分 析 を 行 う 際 データの 特 性 (i: 個 体 を 表 わす 変 数 t: 時 間 を 表 わす 変 数 )に 関 する 情 報 が 必 要 です 5-1.(2)で 指 定 した tsset から 変 更 がなければ 回 帰 分 析 を 行 うコマンドラ インごとに i や t を 指 定 する 必 要 はありません ただし データを 加 工 したことで 新 たな 個 体 認 識 変 数 や 時 間 変 数 が 作 成 された 場 合 などは データ 特 性 が 変 更 された 情 報 を STATA に 伝 えなけれ ばなりません iis varname tis varname iis コマンドは 新 たな 個 体 認 識 の 変 数 の 指 定 tis は 新 たな 時 間 変 数 の 指 定 を 行 います この 時 tsset で 伝 えていた 情 報 は 残 されないため 元 の 特 性 を 用 いて 分 析 し 直 したい 時 には 特 性 変 数 の 再 指 定 をする 必 要 があります 以 下 では 実 際 に 回 帰 分 析 を 行 う 手 順 を 概 説 します ここでは 説 明 変 数 に 強 外 生 性 を 仮 定 し O LSにより 一 致 推 定 量 を 得 られるものとして 固 定 効 果 モデルと 変 量 効 果 モデルを 紹 介 します 説 明 変 数 に 内 生 変 数 が 含 まれる 場 合 などや ダイナミックなモデルを 想 定 する 際 に 操 作 変 数 法 (xtivreg)などによる 推 定 を 行 うことがありますが 詳 しくは 各 自 マニュアルをご 参 照 ください な お パネル 分 析 におけるGMM 推 定 量 や より 高 度 な 推 定 量 などは STATA にプログラムが 内 蔵 さ れていなくても 研 究 者 などが 個 人 的 に 作 成 したプログラムを 一 般 公 開 している 場 合 もありますの 58

で すぐに 諦 めずに 一 度 < http://www.stata.com/links/resources2.html >で 検 索 してみることをお 勧 めします (1) 線 形 回 帰 分 析 ( 変 量 効 果 モデル 固 定 効 果 モデルなど) xtreg depvar indepvar,xx depvar 部 分 に 被 説 明 変 数 を indepvar 部 分 に 被 説 明 変 数 ( 複 数 記 入 可 )を 記 入 します,xx の xx 部 分 には 以 下 の 得 たい 推 定 量 を 記 入 します 無 記 入 の 場 合 は 変 量 効 果 モデル re が 推 定 されます be fe re between-effects estimator fixed-effects estimator GLS random-effects estimator (2)ハウスマン 検 定 STATA には 固 定 効 果 モデルと 変 量 効 果 モデルの 推 定 量 を 比 較 して 個 体 効 果 が 説 明 変 数 と 相 関 をもつかどうかのハウスマン 検 定 を 以 下 の 手 順 で 行 うことができます xtreg depvar indepvar, fe est store fixed xtreg depvar indepvar, re hausman fixed. なお 下 線 部 分 には 適 当 な 変 数 名 を 指 定 します (3) 非 線 形 回 帰 分 析 ここでは 非 線 形 回 帰 モデルとして プロビット ロジットとトービット モデルのコマンドだけ 簡 単 に ご 紹 介 します オプションなどの 詳 しい 解 説 はここでは 省 略 しますので 必 要 に 応 じてマニュアル をご 参 照 ください プロビット モデル xtprobit depvar indepvar, i(id) ロジット モデル xtlogit depvar indepvar, i(id) トービット モデル xttobit depvar indepvar, i(id) ll(#) ここで ll(#)は 左 に 切 断 されたデータを 意 味 し # に 切 断 点 を 記 入 します 右 に 切 断 されたデータ の 場 合 は ul(#)を 記 入 します 右 にも 左 にも 切 断 されていたデータを 推 定 するには ll(#)と ul(#)を 両 方 記 入 しましょう 59

第 5 章 補 論 重 複 データの 対 処 法 下 記 のデータのように 1991 年 の id=5 のデータのように 一 つのデータセットの 中 に 2 つのデー タが 入 っている 場 合 を 考 えて 見 ましょう id year value 1 1990 100 2 1990 100 3 1990 100 4 1990 100 5 1990 100 1 1991 110 2 1991 111 3 1991 112 4 1991 113 5 1991 114 5 1991 114 このデータを 無 理 やり パネルデータとして 認 識 させようとしても. tsset id year repeated time values within panel というメッセージが 返 ってきます また reshape で wide データに 変 換 しようとすると. reshape wide value,i(id) j(year) (note: j = 1990 1991) year not unique within id; there are multiple observations at the same year within id. Type "reshape error" for a listing of the problem observations. r(9); というエラーメッセージが 返 ってきます ここで reshape error と 入 力 すると id=5 が 重 複 しているこ とがわかります. reshape error (note: j = 1990 1991) i (id) indicates the top-level grouping such as subject id. j (year) indicates the subgrouping such as time. The data are in the long form; j should be unique within i. There are multiple observations on the same year within id. 60

The following 2 out of 11 observations have repeated year values: +-----------+ id year ----------- 10. 5 1991 11. 5 1991 +-----------+ (data now sorted by id year) こういった 問 題 への 対 処 法 としては EXCEL 等 で 作 成 した 元 のデータセットに 戻 って 作 成 方 法 に 間 違 いがなかったかを 調 べるか duplicatees コマンドを 用 いて 重 複 しているデータの 片 方 を 強 制 的 に 削 除 してしまう 方 法 が 考 えられます duplicates コマンドは report オプションをつけると 重 複 状 況 を 表 示 させることができま す copies 1となっている 行 は 重 複 のないデータの 数 2は 重 複 するペアの 数 が 表 示 されます. duplicates report id year Duplicates in terms of id year -------------------------------------- copies observations surplus ----------+--------------------------- 1 9 0 2 2 1 -------------------------------------- 重 複 しているペアの 片 方 を 削 除 するには drop オプションを 使 います. duplicates drop id year,force duplicates in terms of id year (1 observation deleted) このコマンドの 後 に データセットを browse すると 次 の 表 のように 重 複 データが 強 制 的 に 削 除 差 入 れていることがわかります 61

id year value 1 1990 100 1 1991 110 2 1990 100 2 1991 111 3 1990 100 3 1991 112 4 1990 100 4 1991 113 5 1990 100 5 1991 114 62

第 6 章 サバイバル 分 析 6-1.サバイバル 分 析 とは サバイバル 分 析 とは 誤 解 を 恐 れずに 言 えば 分 析 上 興 味 のあるイベントの 発 生 の 有 無 を 表 す 変 数 と そのイベントが 発 生 するまでの 時 間 を 表 す 変 数 との 関 係 を 分 析 する 手 法 です この 手 法 は 生 物 学 の 分 野 で 応 用 開 発 が 進 められたものですが 近 年 では 事 業 所 の 存 続 閉 鎖 に 関 す る 分 析 など 経 済 学 へも 応 用 されています 同 様 の 研 究 テーマに 用 いられるその 他 の 手 法 として は 存 続 退 出 の2 者 択 一 によるプロビット モデルが 挙 げられますが プロビット モデルを 用 いた 分 析 の 場 合 いつ 参 入 したかといった 過 去 の 履 歴 が 考 慮 できないという 欠 点 があり その 欠 点 を 補 う 目 的 でサバイバル 分 析 が 用 いられます 6-2.サバイバルデータとしての 認 証 STATA においてサバイバル 分 析 を 行 う 場 合 には パネル 分 析 と 同 様 まずサバイバル 分 析 を 行 うことを STATA に 認 識 させる 必 要 があります サバイバル 分 析 に 用 いられるデータには 大 きく 分 けて 以 下 の 二 つがあります Survival-time data: 観 察 された 個 体 の ID 期 間 を 表 す 変 数 failure or censoring を 示 す 変 数 の 三 つの 要 素 が 入 ったデータ Count-time data :Survival-time data の 集 計 版 failure or censoring を 示 す 変 数 時 点 t における failure or censoring であった 個 体 総 数 の 二 つの 要 素 が 入 ったデータ Survival-time data を 用 いる 場 合 は stset コマンド Count-time data を 用 いる 場 合 は ctset コマンドを 用 いて STATA に 認 識 させます stset [timevar], fail(failvar) ctset [timevar], fail(failvar) [timevar]には 時 間 を 表 す 変 数 を (failvar)には 分 析 上 興 味 があるイベントを 表 すダミー 変 数 (failure=1,cencsoring=0)を それぞれ 指 定 します サバイバル 分 析 では (failvar)で 指 定 し た 変 数 を 非 説 明 変 数 として 認 識 します stset を 使 用 した 場 合 には 様 々なオプションが 利 用 可 能 です 例 えば origin(time originvar)と 指 定 すると イベントが 発 生 するまでの 時 間 (t)をt=timevar-originvar として 計 算 してくれます origin の 他 にも 様 々なオプションがありますが ここでは 説 明 を 省 略 します 各 自 STATA マニュ アル(Version.8 なら Survival analysis and epidemiological tables )を 参 照 してください 63

ここで 企 業 倒 産 をイベント(failvar)とする 以 下 のような Survival-time data を 考 えてみましょ う id year died closeyear origin slsprofit llabor wage_f 1 1996 0 2002 1925 0.0131807 9.488124 7.327905 1 2000 0 2002 1925 0.0029958 9.206634 7.818227 2 1996 0 2002 1961 0.0131807 9.488124 7.327905 2 2000 0 2002 1961 0.0029958 9.206634 7.818227 ( 省 略 ) 110 1996 0 2001 1970 0.0428923 8.050385 7.597767 110 2000 1 2001 1970 0.0047661 7.959975 8.029329 ( 省 略 ) 339 1996 0 2001 1969 0.0264739 7.187657 6.518518 339 2000 1 2001 1969 0.0156754 7.25347 6.512385 ( 以 下 省 略 ) id は 企 業 id year はデータ 年 次 died は 企 業 倒 産 の 有 無 を 表 すダミー 変 数 ( 倒 産 =1) closeyear は 倒 産 年 次 origin は 設 立 年 次 slsprofit は 売 上 高 利 益 率 llabor は 従 業 員 数 の 対 数 値 wage_f は 平 均 賃 金 の 対 数 値 です この Survival-time data を STATA に 認 識 させるため 以 下 のように 指 定 します stset closeyear, fail(died) origin(time origin) オプションで origin(time origin) と 指 定 しているので 企 業 倒 産 と 企 業 の 生 存 年 数 (closeyear-origin)の 関 係 を 分 析 することを STATA に 認 識 させたことになります 6-3.サバイバル 分 析 分 析 上 興 味 のあるイベントが 少 なくとも t 期 間 以 降 に 発 生 する 確 率 を 示 す 関 数 を 生 存 関 数 (あるいはハザード 関 数 )と 呼 びます サバイバル 分 析 では ハザード 率 ( 次 の 瞬 間 に 分 析 上 興 味 があるイベントが 起 こる 確 率 )を 被 説 明 変 数 ハザード 率 に 影 響 を 与 える 変 数 を 説 明 変 数 とし こ の 生 存 関 数 (あるいはハザード 関 数 )がどのような 要 因 によって 変 化 するかを 推 定 するものです STATA では 複 数 の 推 定 方 法 に 対 してコマンドが 用 意 されています (1)Cox の 比 例 ハザードモデル(Cox Proportional Hazard Models) 詳 しい 説 明 は 他 の 教 科 書 に 委 ねますが ハザード 関 数 にはベースライン ハザードと 呼 ばれる 様 々な 要 因 を 取 り 除 いた 場 合 の 全 サンプルに 共 通 するハザード 率 が 含 まれます Cox は ベース ライン ハザードの 分 布 が 推 定 に 影 響 しないような 推 定 方 法 を 考 案 しました そのため ベースライ ン ハザードの 分 布 の 形 を 特 定 せずにハザード 関 数 を 推 定 するモデルを Cox の 比 例 ハザードモデ ル(Cox Proportional Hazard Models)と 呼 びます Cox の 比 例 ハザードモデルを 推 定 する 場 合 には 以 下 のコマンドを 用 います stcox 説 明 変 数,オプション 前 述 のとおり stset コマンドで 被 説 明 変 数 (failvar)を 認 識 させていますので ここでは 被 説 明 64

変 数 を 指 定 する 必 要 はありません 先 ほどの 企 業 倒 産 のデータを 使 って 実 際 に Cox モデルを 推 定 してみましょう 推 定 を 行 うため に 以 下 のようにコマンドを 入 力 します stcox slsprofi llabor wage_f 推 定 の 結 果 は 以 下 のように 出 力 されます failure _d: died analysis time _t: (closeyear-origin) origin: time origin Iteration 0: log likelihood = -626.87893 Iteration 1: log likelihood = -623.83754 Iteration 2: log likelihood = -603.29044 Iteration 3: log likelihood = -602.39677 Iteration 4: log likelihood = -602.36518 Iteration 5: log likelihood = -602.36512 Refining estimates: Iteration 0: log likelihood = -602.36512 Cox regression -- Breslow method for ties No. of subjects = 2039 Number of obs = 2039 No. of failures = 90 Time at risk = 63310 LR chi2(3) = 49.03 Log likelihood = -602.36512 Prob > chi2 = 0.0000 ------------------------------------------------------------------------------ _t Coef. Std. Err. z P> z [95% Conf. Interval] -----------+------------------------------------------------------------------ slsprofit -8.229497 1.207052-6.82 0.000-10.59528-5.863718 llabor -.2330196.076712-3.04 0.002 -.3833724 -.0826669 wage_f -.1396185.0821836-1.70 0.089 -.3006953.0214583 ------------------------------------------------------------------------------ (2) 分 布 を 仮 定 した 推 定 ベースライン ハザードの 分 布 の 形 を 仮 定 してハザード 関 数 を 推 定 する 場 合 以 下 のコマンドを 用 います streg 説 明 変 数,dist( 分 布 名 ) dist( 分 布 名 )の 代 表 的 な 例 として 以 下 のようなものがあります 65

dist(weibull) :ベースライン ハザードにワイブル 分 布 を 仮 定 dist(exponential): 指 数 分 布 を 仮 定 (3)Kaplan-Meier 分 析 生 存 関 数 (あるいはハザード 関 数 )をノンパラメトリックに 推 定 する 方 法 として Kaplan-Meier 分 析 があります 詳 しい 説 明 は 他 の 教 科 書 に 委 ねますが 各 期 におけるイベントの 発 生 確 率 を 掛 け 合 わせたものを 生 存 関 数 (Kaplan-Meier 推 定 量 )として 時 間 の 変 化 とともに 生 存 確 率 がどのよ うに 変 化 するかを 分 析 する 手 法 です 生 存 確 率 と 時 間 の 関 係 (Kaplan-Meier survivor curve) をグラフにする 場 合 以 下 のコマンドを 用 います sts graph sts graph, na 二 行 目 は 累 積 のグラフを 書 く 場 合 に 用 います 先 ほどの 企 業 倒 産 のデータを 使 って Kaplan-Meier survivor curve を 書 く(sts graph)と 以 下 のように 出 力 されます 66

索 引 all, 29 _merge, 24 A add, 29 append, 21 Append, 13 areg, 47 B balance パネル, 54 browse, 6 C col, 28, 32 collapse, 34 Copy Table, 41 Cox の 比 例 ハザードモデル, 64 ctset, 63 D d., 57 Data Browser, 6 Data Editor, 5 describe, 7 destring, 17 Do ファイル, 11 dprobit, 50 drop, 29 duplicatees, 61 E egen, 9 EXCEL, 41 F f., 57 for, 19 for num, 19 foreach, 19 format, 30, 32 G generate, 8 I iis, 58 insheet, 4, 5 K Kaplan-Meier 分 析, 66 L l., 57 list, 7 LONG 形 式, 53 M merge, 23 N nofreq, 28 nototal, 32 O oprobit, 50 67

outreg, 51 outsheet, 42 overwrite, 13 Overwrite, 13 P preserve, 37 probit, 49 pwd, 5 R recode, 39 reg, 44 rename, 4 replace, 5, 10 reshape, 55 restore, 37 Results ウインドウ, 12 row, 28, 32 S save, 5 set memory, 15 stat, 31 Stata 形 式, 4 stcox, 64, 65 streg, 65 stset, 63 sum, 8 T table, 32 tabstat, 30, 33 tis, 58 tsset, 56 U unbalance パネル, 54 use, 6 W WIDE 形 式, 53 X xi:reg, 46 xtdes, 56 xtreg, 59 あ エクセルファイル, 5 か 回 帰 分 析, 43 階 級 別 カテゴリー 変 数, 39 カテゴリー, 27 カンマ 区 切 り, 4 繰 り 返 し, 19 さ 最 小 値, 30 最 大 値, 30 サバイバル 分 析, 63 システム 変 数, 44 質 的 ( 離 散 )データ, 27 質 的 変 数, 45 条 件 式, 10 相 対 度 数, 27, 28 た 縦 方 向 の 結 合, 21 タブ 区 切 り, 4 ダミー 変 数, 45 度 数, 27, 30 度 数 分 布 表, 39 は ハウスマン 検 定, 59 68

パネルデータ, 53 標 準 偏 差, 30 プロビット, 48 平 均, 30 変 量 効 果 モデル, 59 保 存, 5 ま メモリー, 15 文 字 列, 15, 17 や 横 方 向, 22 ら ラベル, 29 離 散 選 択, 48 累 積 相 対 度 数, 27 ログ( 作 業 記 録 ), 12 69