回帰分析 重回帰 (1)
項目 重回帰モデルの前提 最小二乗推定量の性質 仮説検定 ( 単一の制約 ) 決定係数 Eviews での回帰分析の実際 非線形効果 ダミー変数 定数項ダミー 傾きのダミー 3 つ以上のカテゴリー
重回帰モデル multiple regression model 説明変数が 個以上 y 1 x 1 x k x k u i y x i 他の説明変数を一定に保っておいて,x i だけを 1 単位増加させたときに y が何単位増えるか 他の要因をコントロールした x i 固有の影響
重回帰モデル前提 y i x 1 1i x i k x ki u i 1. 線型モデル ( パラメータに関し ). 誤差項の期待値は0 3. 誤差項は互いに独立 4. 誤差項の分散は一定 ( 分散均一性 ) 5. 誤差項は正規分布に従う BLUE の成立のためにはこの条件は不要
最小二乗法 残差平方和を最小にするようにパラメータを決定 a,b 1,b,..,b k : 未知パラメータ, 1,,.. k の推定値 e i : 残差 n i ki k i i i n i i k x b x b b x a y e b b b a S 1 1 1 1 1 ),..,,, (
最小二乗推定量 E( b j ) j var( b j ) a jj S j xx S j xx : 説明変数 x j の平方和 (x j を他の説明変数に回帰したときの残差の平方和 ) 誤差項の分散の推定量 SER (standard error of the regression) s 1 n ( k 1) 1 RSS n ( k 1) n i1 e i k+1 は説明変数の個数 ( 定数項と x の数 )
仮説の検定 H 0 : j = j0 b S xx j ~ N 0,1 bj j0 bj j s. e.( b ) j s S xx 0 j ~ t n ( k 1) k+1 は説明変数の個数 ( 定数項と x)
当てはまりの良さ TSS=ESS+RSS 決定係数 R ESS 1 TSS RSS TSS 説明変数の数 k を増やしていけば,R は単調に増加する 自由度修正済み決定係数 adjusted R 説明変数の増加にペナルティーを課すように修正した R R 1 RSS /( n k 1) TSS /( n 1) 1 TSS s /( n 1)
単回帰での結果 wage1.raw
重回帰での結果
RESID RESID RESID RESID 重回帰での結果 () 16 16 1 1 8 8 4 4 0 0-4 -4-8 -4 0 4 8 1 16-8 0 4 8 1 16 0 16 WAGEHAT 16 EDUC 1 1 8 8 4 4 0 0-4 -4-8 0 10 0 30 40 50 60 EXPER -8 0 10 0 30 40 50 TENURE
被説明変数を ln(wage) にした場合 ここをクリックすると, Representation Estimation output Coefficient Diagnostics Residual Diagnostics などのメニューが表れる ( この画面は Estimation Output) Educ が 1 年増加すると賃金は 9.% 上昇 Exper が 1 年増加すると賃金は 0.4% 増加 Tenure が 1 年増加すると賃金は.% 増加
RESID RESID RESID RESID 1.5 1.0 0.5 0.0 1.5 1.0 0.5 0.0-0.5-1.0-1.5 -.0 -.5 0.4 0.8 1. 1.6.0.4.8 LWAGEHAT 1.5 1.0 0.5 0.0-0.5-1.0-1.5 -.0 -.5 0 4 8 1 16 0 EDUC 1.5 1.0 0.5 0.0-0.5-1.0-1.5 -.0-0.5-1.0-1.5 -.0 -.5 0 10 0 30 40 50 -.5 0 10 0 30 40 50 60 TENURE EXPER
R での回帰分析 lm(y ~ x1 + x + x3 + x4) lm( モデル式 ) で回帰分析をおこなう回帰分析の結果をobjectに代入 summary(object) で結果の概要を出力 plot(object) で残差の診断 ----------------- wage1_1.lm<- lm(wage~ educ + exper + tenure) summary(wage1_1.lm) plot(wage1_1.lm)
R での残差診断 被説明変数に wage と lwage(wage の対数値 ) を用いた回帰の比較
y 非線形効果 説明変数 x の 次の項を説明変数として加える 係数の意味 y x a b1 x b x b3 z b 1 係数の意味の直感的な把握の仕方 b x e x が 1 単位増加したとき y に与える効果 x の水準に依存する b 1,b の値をもとに x が与えられた場合の y/ x の大きさを計算する (Excel の活用 ) Eviews の中では, 例えば,x が平均値をとる場合の効果についてはコマンドラインで scalar dydx = @coefs(i) + @coefs(i+1)* @mean(x) とするとスカラー変数 dydx が作成される (@coefs(i) 直前の回帰の i 番目の係数 (x の係数 : 定数項は 1 番目とする ), @coefs(i+1): x^ の係数,@mean(x) 変数 x の平均値 )
tenure の 乗項を加えた回帰
Eviews での回帰分析の統計量 スカラー変数 @regobs オブザベーション数,@f F 統計量,@ssr 残差平方和 その他 @aic, @coefs(i), @stderrs(i), @tstats(i), @dw, @r, @rbar ベクトル変数 @coefs 係数ベクトル @coefs(i) で i 番目の説明変数の係数 ( 定数項が 1 番目 ),@stderrs 係数の標準誤差,@tstats t 値 コマンド行で scalar var1 = @ssr vector var = @coefs とタイプするとvar1やvar@ssr, @coefsの中身が保存される
R での回帰分析の統計量 回帰分析の結果は summary(object) で取り出せたが, 他の情報も取り出せる summary(object) 回帰分析の結果のようやく coef(object) 係数の推定値 resid(object) 残差 fitted(object) 回帰モデルの推定値 deviance(object) 残差平方和 plot(object) 残差のチェックのためのグラフ confint(object) 係数の信頼区間 ----------------- コマンドラインで,coefficients(wage1.lm) または coef(wage1.lm) とタイプすると推計された係数が出力される coef(wage1.lm)[1] coef(wage1.lm)[] で係数ベクトルの 1 番めの要素と 番めの要素が出力される
R での変数の作成方法 コマンドラインで新変数名 <- 計算式 で作成できる 例 ) lnwage <- log(wage) exper <- exper * exper exper <- exper^ 回帰式の中での指定 計算式で指定することもできる log( ) はそのまま使えるようだが, 次式等は I( ) 関数を用いる lm(log(wage) ~ educ) lm(wage ~ educ + I(educ^))
問題 (1) ln(wage) を被説明変数にし,educ, exper, tenure, tenure の 乗を説明変数にして回帰分析を行え wage1.raw のデータを用いる tenure の範囲を調べよ tenure が 1 年増加したとき,wage は何 % 増加するか tenure=0, 5, 10, 0, 30, 40 のそれぞれの場合について 上の回帰分析の係数の値を用い,tenure と wage の関係をグラフで表せ educ の 乗を説明変数に加えるとどうなるか
ダミー変数 質を表す変数 女性ならば 1, そうでなければ 0 結婚していれば 1. そうでなければ 0 大学卒ならば 1, そうでなければ 0 educ, wage, exper はこれに対し連続変数 一般に,0 または 1 をとるような変数をダミー変数と呼ぶ
ダミー変数 () 定数項ダミー 傾きに関するダミー 3 つ以上のカテゴリーを持つ変数の場合 学歴 中卒または高校中退 高卒, 大卒未満 大卒以上 職業 事務職 研究職 営業 現場
定数項ダミー ln(wage) ln( wage) a b1 female b educ female=0 の場合 ln( wage) a b educ b female=1 の場合 a b ln( wage) a b1 b 図は b 1 <0 の場合 educ a+b 1 educ
ln( wage) ln(wage) a 傾きのダミー a b1 female b educ b3 b b +b 3 female female=0 の場合 ln( wage) female=1 の場合 educ a b educ ln( wage) a b1 ( b b3 ) educ a+b 1 図は b 1 <0,b 3 >0 の場合 educ
問題 () female ダミー変数を説明変数に加えた回帰を行え 被説明変数 ln(wage) 説明変数 educ, exper, tenure, female 賃金の男女格差は存在するか 学歴の効果に男女格差が存在するか educ と female の交差項を作成する exper, tenure の効果に男女格差が存在するか
問題 (3) 次の回帰を行う 被説明変数 ln(wage) 説明変数 educ, tenure, exper, female, female*educ, female*tenure, female*exper 男女別に回帰分析を行う EViews のメニューで sample を選択 If condition.. のボックスに条件式を記入 female=0 とすれば男性のみ,female = 1 とすれば女性のみ ; 戻すときは sample で条件式を消す 説明変数を educ, tenure, exper として回帰 ダミー変数を用いた回帰と結果を比較せよ R の場合は,lm( ) で subset 関数を使う lm(y~x1+x, subset=(female==0)) female =0 のデータのみで回帰
3 つ以上のカテゴリー 中卒高卒大卒 D1 0 1 0 D 0 0 1 例 ) 学歴 中卒, 高卒 ( 短大卒を含む ), 大卒の 3 つのカテゴリー この場合, つのダミー変数をつくる 中卒をベースにした効果 D1: 中卒とした比較した高卒の効果 D: 中卒と比較した大卒の効果 高卒と大卒の比較は? 3 つダミー変数を作るとどうなるか? N 種類のカテゴリー N-1 個のダミー変数
問題 (4) 結婚ダミーが賃金に与える影響を調べよ married( 結婚していれば 1) 結婚が賃金に与える影響は男女間で異なるかもしれない 結婚 男女の組み合わせで 4 通り married と female のそれぞれの組合せの観測度数を調べよ 二つの変数 (married と female) を選択して, グループとして開く Menu から View/N way tabulation クロス集計票 被説明変数 ln(wage), 説明変数 female, married, female*married, + educ, exper, tenure として回帰 female*married 適当な名前で新しい変数を作る female, married, female*married の係数の意味は 定数項の大きさは? 男性既婚, 男性独身, 女性既婚, 女性独身
問題 (5) 教育年数の影響は, 連続変数で捉えるのではなく, 学歴別に調べた方がよいかもしれない 教育年数の分布を調べよ 教育年数から次のような学歴ダミー変数を作れ 高卒未満 ( educ < 1) 高卒以上大卒未満 (1 <= educ <16) 大卒以上 (16 <= educ) 次の回帰分析を行え 被説明変数 :ln(wage), 説明変数 : 学歴ダミー, その他の変数 (exper, tenure, female)
変数の作成方法 (Eviews) メニューの Genr ボタンをクリック 新変数を作成する画面で次のように記述 ED1 = (educ<16) and (educ>=1) ED = (educ>=16) 論理式を用いてダミー変数を作成 ( 真なら 1, 偽なら 0) ED1: educ<16 かつ educ>=1 の時に限り 1, それ以外は 0 ED: educ>=16 の時に限り 1, それ以外は 0 ED1 は高卒ダミー,ED は大卒ダミー ( 中卒がベース ) 論理式で用いる演算子 and / or, = ( 等しい ), <> ( 等しくない ), >,<,>=,<=,
変数の作成方法 (R) コマンドラインで ed1 <- (educ<16) & (educ>=1) ed <- (educ>=16) ed1( 高卒ダミー ) とed( 大卒ダミー ) はTRUEとFALSEの 値をとる このままで回帰分析に使える Rでの論理演算子 == 等しい & and or xor どちらか1つだけが真! 否定