Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
回帰分析重回帰(1)
項目
•重回帰モデルの前提
•最小二乗推定量の性質• 仮説検定(単一の制約)
• 決定係数
•回帰分析の実際
•非線形効果
•ダミー変数• 定数項ダミー
• 傾きのダミー
• 3つ以上のカテゴリー
重回帰モデルmultiple regression model
説明変数が2個以上
𝑦 = 𝛼 + 𝛽1𝑥1 + 𝛽2𝑥2 +⋯+ 𝛽𝑘𝑥𝑘 + 𝑢
係数の意味: 𝛽𝑖 =𝜕𝑦
𝜕𝑥𝑖
•他の説明変数を一定に保っておいて,xi だけを1単位増加させたときに y が何単位増えるか
•他の要因をコントロールした xi 固有の影響
重回帰モデル
前提
𝑦𝑖 = 𝛼 + 𝛽1𝑥1𝑖 + 𝛽2𝑥2𝑖 +⋯+ 𝛽𝑘𝑥𝑘𝑖 + 𝑢𝑖
1. 線型モデル(パラメータに関し)
2. 誤差項の期待値は0
3. 誤差項は互いに独立
4. 誤差項の分散は一定(分散均一性)
5. 誤差項は正規分布に従う• BLUEの成立のためにはこの条件は不要
最小二乗法
残差平方和を最小にするようにパラメータを決定• a,b1,b2,..,bk : 未知パラメータ a,b1,b2,..bk の推定値• ei : 残差
次の式を最小にするようにa,b1,b2,..,bk を決める
𝑆(𝑎, 𝑏1, 𝑏2, . . , 𝑏𝑘) =
𝑖=1
𝑛
𝑒𝑖2
=
𝑖=1
𝑛
𝑦𝑖 − 𝑎 − 𝑏1𝑥1𝑖 − 𝑏2𝑥2𝑖 −⋯− 𝑏𝑘𝑥𝑘𝑖2
最小二乗推定量
• bjの期待値と分散E(𝑏𝑗) = 𝛽𝑗
var( 𝑏𝑗) = 𝜎2𝑎𝑗𝑗 =𝜎2
𝑆𝑥𝑥𝑗
Sxxj :説明変数 xj の平方和(xj を他の説明変数に回帰したとき
の残差の平方和)
•誤差項の分散の推定量
𝑠2 =1
𝑛 − (𝑘 + 1)𝑅𝑆𝑆 =
1
𝑛 − (𝑘 + 1)
𝑖=1
𝑛
𝑒𝑖2
n−(k+1) は残差の自由度
k+1は説明変数の個数(定数項とxの数)
s : SER (standard error of the regression)
仮説の検定
次の仮説を考える H0: bj=bj0
H0が正しければ,bjは次の分布に従う
𝑏𝑗 − 𝛽𝑗0
Τ𝜎2 𝑆𝑥𝑥𝑗
~𝑁 0,1
𝜎2は未知なので,残差の平方和から計算された s2を用いると
𝑏𝑗 − 𝛽𝑗0
Τ𝑠2 𝑆𝑥𝑥𝑗
=𝑏𝑗 − 𝛽𝑗0
s. e. (𝑏𝑗)~ 𝑡 𝑛 − (𝑘 + 1)
𝑏𝑗−𝛽𝑗0
s.e.(𝑏𝑗)は自由度n-(k+1)のt分布に従う。
当てはまりの良さ
• TSS=ESS+RSS全平方和=回帰式で説明できる部分の平方和+残差平方和
•決定係数 R2
𝑅2 =𝐸𝑆𝑆
𝑇𝑆𝑆= 1 −
𝑅𝑆𝑆
𝑇𝑆𝑆問題点:説明変数の数kを増やしていけば,R2は単調に増加する
•自由度修正済み決定係数 adjusted R2
説明変数の増加にペナルティーを課すように修正したR2
ሜ𝑅2 = 1 −𝑅𝑆𝑆/(𝑛 − 𝑘 − 1)
𝑇𝑆𝑆/(𝑛 − 1)
•通常は, adjusted R2を報告する
単回帰(R)
lm(formula = wage ~ educ)
Coefficients: Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.90485 0.68497 -1.321 0.187
educ 0.54136 0.05325 10.167 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 3.378 on 524 degrees of freedom
Multiple R-squared: 0.1648, Adjusted R-squared: 0.1632
F-statistic: 103.4 on 1 and 524 DF, p-value: < 2.2e-16
SER
SER: Standard Error of Regression
重回帰(R)
lm(formula = wage ~ educ + exper + tenure)
Coefficients: Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.87273 0.72896 -3.941 9.22e-05 ***
educ 0.59897 0.05128 11.679 < 2e-16 ***
exper 0.02234 0.01206 1.853 0.0645 .
tenure 0.16927 0.02164 7.820 2.93e-14 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 3.084 on 522 degrees of freedom
Multiple R-squared: 0.3064, Adjusted R-squared: 0.3024
F-statistic: 76.87 on 3 and 522 DF, p-value: < 2.2e-16
重回帰(Stata)
Source | SS df MS Number of obs = 526
-------------+---------------------------------- F(3, 522) = 76.87
Model | 2194.1116 3 731.370532 Prob > F = 0.0000
Residual | 4966.30269 522 9.51398984 R-squared = 0.3064
-------------+---------------------------------- Adj R-squared = 0.3024
Total | 7160.41429 525 13.6388844 Root MSE = 3.0845
------------------------------------------------------------------------------
wage | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
educ | .5989651 .0512835 11.68 0.000 .4982176 .6997126
exper | .0223395 .0120568 1.85 0.064 -.0013464 .0460254
tenure | .1692687 .0216446 7.82 0.000 .1267474 .2117899
_cons | -2.872735 .7289643 -3.94 0.000 -4.304799 -1.440671
------------------------------------------------------------------------------
RSS(Residual Sum of Squares)
Mean Squared Error = RSS/df
SER
重回帰(Eviews)Dependent Variable: WAGE
Method: Least Squares
Date: 12/09/19 Time: 22:54
Sample: 1 526
Included observations: 526
Variable Coefficient Std. Error t-Statistic Prob.
C -2.872735 0.728964 -3.940844 0.0001
EDUC 0.598965 0.051284 11.67948 0.0000
EXPER 0.022340 0.012057 1.852849 0.0645
TENURE 0.169269 0.021645 7.820361 0.0000
R-squared 0.306422 Mean dependent var 5.896103
Adjusted R-squared 0.302436 S.D. dependent var 3.693086
S.E. of regression 3.084476 Akaike info criterion 5.098216
Sum squared resid 4966.303 Schwarz criterion 5.130652
Log likelihood -1336.831 Hannan-Quinn criter. 5.110916
F-statistic 76.87317 Durbin-Watson stat 1.791222
Prob(F-statistic) 0.000000
回帰分析 R
lm(y ~ x1 + x2 + x3 + x4)
lm( モデル式 ) で回帰分析をおこなう
回帰分析の結果をobjectに代入
summary(object)で結果の概要を出力
plot(object) で残差の診断
-----------------
wage1_1.lm<- lm(wage~ educ + exper + tenure)
summary(wage1_1.lm)
plot(wage1_1.lm) # 残差のチェック
回帰分析 Stata• 回帰分析
メニューから Statistics/ Linear models and related/ Linear regression → 被説明変数,説明変数を指定
• 残差のプロット(回帰分析の直後に)
メニューから Statistics/ Postestimation で左下のwindow→Diagnostic and analytical plots/ Residual versus fitted plot を選択
回帰分析 Eviewsメニューから
Quick / Estimate equation
で右のようなwindowがpop up
回帰式を指定
回帰式の被説明変数がy,説明変数がx1, x2, x3 の場合
y c x1 x2 x3
と指定する(スペースで区切る)
cは定数項(constant term)
直前の回帰の残差は変数RESIDに保存される
yの予測値はy –RESID で作成するか,回帰分析が出力されたwindowのメニューでForecastを選択すると予測値を変数名をつけて保存できる→ グラフ
非線形効果
• 説明変数xの2次の項を説明変数として加える
𝑦 = 𝑎 + 𝑏1𝑥 + 𝑏2𝑥2 + 𝑏3𝑧 + 𝑒
• 係数の意味𝜕𝑦
𝜕𝑥= 𝑏1 + 2𝑏2𝑥
x増加の効果→ xの水準に依存(通常はxの平均値で評価)
• 係数の意味の把握の仕方
(R,Stata,Eviewsの中でも計算できますが,Excelを使うのが一番簡単でしょう)
• b1,b2の値をもとに xが与えられた場合の ∂y/∂x の大きさを計算する(Excel等で)
• xの値を与えて,yhat = b1* x + b2* x^2 を計算し(他の説明変数は無視して),x
とyhatのグラフを描かせる
tenureの2乗を説明変数に加えた回帰
• lm(formula = wage ~ educ + exper + tenure + tenursq)
Coefficients: Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.921059 0.723714 -4.036 6.25e-05 ***
educ 0.586161 0.051083 11.475 < 2e-16 ***
exper 0.017618 0.012072 1.459 0.14505
tenure 0.305430 0.050521 6.046 2.84e-09 ***
tenursq -0.005189 0.001743 -2.978 0.00304 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 3.061 on 521 degrees of freedom
Multiple R-squared: 0.318, Adjusted R-squared: 0.3128
F-statistic: 60.74 on 4 and 521 DF, p-value: < 2.2e-16
tenureの2乗
回帰分析の推計値の取り出し方(Stata)
• 回帰係数 : _b[変数名]; 例) _b[tenure]
• 係数の標準誤差 : _se[変数名] ; 例) _se[tenure]
• R2: e(r2),adjusted R2 : e(r2_a)
• ESS(Expained Sum of Squares) : e(mss)
• RSS(Residual Sum of Squares) : e(rss)
• 誤差項の自由度 : e(df_r)
-----------------------
数学関数 abs(x), exp(x), int(x), log(x), sqrt(x), sum(x)
統計関数 mean(x), median(x), max(x), min(x), sd(x)
論理式 & (and), | (or), ! (not)
比較演算子 >, <, >=, <=, ==, != (“==“ は等しいという意味)
べき乗は ^
回帰分析の推計値の取り出し方(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)[2] で係数ベクトルの1番めの要素と2番めの要素が出力される
Rでの変数の作成方法
• コマンドラインで新変数名 <- 計算式
で作成できる例) lnwage <- log(wage)
exper2 <- exper * exper
exper2 <- exper^2
• 新変数は,そのままではデータフレームの外に作られる→上の式で,新変数名をデータフレーム名$新変数 として,新変数をデータフレームに追加し,そのデータフレームを保存しておくと,後で利用できる
• 回帰式の中での指定→計算式で指定することもできる。log( )はそのまま使えるようだが,2次式等はI( )関数を用いる
lm(log(wage) ~ educ)
lm(wage ~ educ + I(educ^2))
Eviewsでの回帰分析の統計量
•スカラー変数@regobs オブザベーション数,@f F統計量,@ssr 残差平方和
その他 @aic, @coefs(i), @stderrs(i), @tstats(i), @dw, @r2, @rbar2
•ベクトル変数@coefs 係数ベクトル @coefs(i) でi番目の説明変数の係数(定数項が1番目),@stderrs 係数の標準誤差,@tstats t値
コマンド行で
scalar var1 = @ssr
vector var2 = @coefs
とタイプするとvar1およびvar2に@ssr, @coefsの値が代入される
問題(1)
• ln(wage)を被説明変数にし,educ, exper, tenure, tenureの2乗を説明変数にして回帰分析を行え。•wage1.rawのデータを用いる
• tenureの範囲を調べよ。• tenureが1年増加したとき,wageは何%増加するか• tenure=0, 5, 10, 20, 30, 40のそれぞれの場合について
•上の回帰分析の係数の値を用い,tenureとwageの関係をグラフで表せ。
ダミー変数
•質を表す変数
•女性ならば1,そうでなければ0
•結婚していれば1,そうでなければ0
•大学卒ならば1,そうでなければ0
•educ, wage, exper → 連続変数
•一般に,0または1をとるような変数をダミー変
数と呼ぶ
ダミー変数(2)
•定数項ダミー
•傾きに関するダミー
•3つ以上のカテゴリーを持つ変数の場合•学歴
• 中卒または高校中退
• 高卒,大卒未満
• 大卒以上
•職業• 事務職
• 研究職
• 営業
• 現場
educbfemalebawage ++= 21)ln(
educ
ln(wage)
female=0の場合
female=1の場合
educbawage += 2)ln(
educbbawage ++= 21)ln(
b2
b2
a
a+b1
図はb1<0の場合
定数項ダミー
( )educfemalebeducbfemalebawage +++= 321)ln(
educ
ln(wage)female=0の場合
female=1の場合
educbawage += 2)ln(
educbbbawage +++= )()ln( 321
b2
b2+b3
a
a+b1図はb1<0,b3>0の場合
傾きのダミー
問題 (2)
•femaleダミー変数を説明変数に加えた回帰を行え•被説明変数 ln(wage)•説明変数 educ, exper, tenure, female
•賃金の男女格差は存在するか
•学歴の効果に男女格差が存在するか•educ とfemaleの交差項を作成する
問題 (3)• 次の回帰を行う
• 被説明変数 ln(wage)• 説明変数 educ, tenure, exper, female, female*educ, female*tenure,
female*exper
• 男女別に回帰分析を行う• 説明変数を educ, tenure, exper として回帰• ダミー変数を用いた回帰と結果を比較せよ。
------------------------------------
• R:lm( ) でsubset関数を使う• lm(y~x1+x2, subset=(female==0)) female =0 のデータのみで回
帰
• Stata: 回帰式を指定するwindowで by/if/in のタブを選択
Restrict observations の箇所で if のところで条件を指定
• Eviews: メニューでsampleを選択→ If condition..のボックスに条件式を記入 female=0 またはfemale = 1 とする; 戻すときはsample で条件式を消す
3つ以上のカテゴリー
•例)学歴ダミー• 中卒, 高卒, 大卒 の3つのカテゴリー
•この場合,2つのダミー変数をつくる• D1(高卒なら1,そうでなければ0)
• D2(大卒なら1,そうでなければ0)
• D1,D2は中卒をベースにした高卒,大卒の比較(切片の違い)
• 高卒と大卒の比較は?
• 3つダミー変数を作るとどうなるか?
•N種類のカテゴリー → N-1 個のダミー変数
中卒 高卒 大卒
D1 0 1 0
D2 0 0 1
問題(4)
•教育年数の影響は,連続変数で捉えるのではなく,学歴別に調べた方がよいかもしれない
•教育年数の分布を調べよ
•教育年数から次のような学歴ダミー変数を作れ•高卒ダミー(高卒以上大卒未満)
educ>=12 かつ educ <16•大卒ダミー(大卒 以上)
educ >=16
•次の回帰分析を行え•被説明変数:ln(wage),説明変数:学歴ダミー,その他の変数 (exper, tenure, female)
変数の作成方法(R)コマンドラインで
ed1 <- (educ<16) & (educ>=12)ed2 <- (educ>=16)
• 論理式を用いて1(TRUE)または0(FALSE)の変数を作成
• ed1(高卒ダミー)とed2(大卒ダミー)はTRUEとFALSEの2値をとる。このままで回帰分析に使える
Rでの論理演算子
== 等しい
& and
| or
xor どちらか1つだけが真
! 否定
変数の作成方法(Stata)
• メニューから Data/ Create or change data/ Create new variable を選択
• 右の画面で,Variable name に新変数の名前,
Specify a value… のところに式を書く
論理式
& (and), | (or), ! (not)
<, >, <=, >=, ==, !=
変数の作成方法(Eviews)
メニューの Genr ボタンをクリック→新変数を作成する画面で次のように記述
ED1 = (educ<16) and (educ>=12)ED2 = (educ>=16)
論理式を用いてダミー変数を作成(真なら1,偽なら0)
ED1: educ<16 かつ educ>=12 の時に限り1,それ以外は0ED2: educ>=16 の時に限り1,それ以外は0。ED1は高卒ダミー,ED2は大卒ダミー(中卒がベース)論理式で用いる演算子
and / or , = (等しい), <> (等しくない),>,<,>=,<=,