回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0:...

45
回帰分析 重回帰(2) 仮説検定

Transcript of 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0:...

Page 1: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

回帰分析重回帰(2)

仮説検定

Page 2: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

仮説検定

•単一の制約• t検定• メニューから行う方法

•複数の制約• F検定• メニューから行う方法• F統計量を実際に求める

•F検定の応用• 構造変化,最適なモデルの決定

Page 3: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

回帰分析の前提

•線型性

𝑦 = 𝑋𝛽 + 𝑢

•誤差項は互いに独立で同一の正規分布に従う

𝑢~𝑁(0, 𝜎2𝐼)

•多重共線性は無い

𝑋: full rank

Page 4: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

最小二乗推定量

𝑏 = (𝑋′𝑋)−1𝑋′𝑦 = 𝛽 + (𝑋′𝑋)−1𝑋′𝑢

ො𝑦 = 𝑋𝑏 = 𝑋(𝑋′𝑋)−1𝑋′𝑦 ≡ 𝑃𝑦

𝑒 = 𝑦 − ො𝑦 = 𝐼 − 𝑃 𝑦 ≡ 𝑀𝑦

𝑋′𝑒 = 0

誤差項の分散の推定値

𝑠2 =𝑒′𝑒

𝑛 − (𝑘 + 1)=

𝑅𝑆𝑆

𝑛 − (𝑘 + 1)

RSS: 残差平方和 Residual Sum of Squares

Page 5: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

最小二乗推定量(2)𝑏~𝑁 𝛽, 𝜎2(𝑋′𝑋)−1

特にxjの分布は

𝑏𝑗 − 𝛽𝑗

var(𝑏𝑗)~𝑁 0,1

var 𝑏𝑗 =𝜎2

𝑆𝑗𝑗(1 − 𝑅𝑗2)

Sjj : xjの平均値の周りの平方和,Rj2:xjを他の説明変数で回帰した場合の決定係数

s2 (誤差項の分散)は未知→次の関係を用いる

𝑒′𝑒

𝜎2 =𝑅𝑆𝑆

𝜎2 =𝑛 − (𝑘 + 1) 𝑠2

𝜎2 ~𝑋2 𝑛 − (𝑘 + 1)

Page 6: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

個々の係数に関する検定

仮説 H0: 𝛽𝑗 = 𝛽𝑗0

検定のための統計量

𝑏𝑗 − 𝛽𝑗0

s. e. (𝑏𝑗)~𝑡 𝑛 − (𝑘 + 1)

s. e. (𝑏𝑗) =𝑠

𝑆𝑗𝑗 1 − 𝑅𝑗2

s: 回帰の標準誤差(standard error of regression) ; s2の平方根,s2=RSS/[n-(k+1)] : 誤差項の分散s2についての最小二乗推定量

Page 7: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

-3 -2 -1 0 1 2 3

両側検定

臨界値の両側に落ちる確率をとして検定

Page 8: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

-3 -2 -1 0 1 2 3

片側検定

臨界値の片側に落ちる確率をとして検定

Page 9: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

Call:lm(formula = lwage ~ educ + exper + tenure)

Residuals:Min 1Q Median 3Q Max

-2.05802 -0.29645 -0.03264 0.28788 1.42809

Coefficients:Estimate Std. Error t value Pr(>|t|)

(Intercept) 0.284359 0.104190 2.729 0.00656 ** educ 0.092029 0.007330 12.555 < 2e-16 ***exper 0.004121 0.001723 2.391 0.01714 * tenure 0.022067 0.003094 7.133 3.29e-12 ***---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.4409 on 522 degrees of freedomMultiple R-squared: 0.316, Adjusted R-squared: 0.3121 F-statistic: 80.39 on 3 and 522 DF, p-value: < 2.2e-16

係数の推定値

標準誤差

t値 𝑡 =𝑏

s.e.(𝑏)=

𝑏−0

s.e.(𝑏)

p値

t値は係数の真の値が0だとして計算された統計量→ 個々の係数が0だという仮説の検定はt値,およびp値をみる

experのp値: experの係数の真の値が0のとき,t値の絶対値が2.391よりも大きくなる確率(両側確率)

個々の係数の検定

2e-16は2.0 * 10^(-16)という意味

Page 10: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

Source | SS df MS Number of obs = 526-------------+---------------------------------- F(3, 522) = 80.39

Model | 46.8741805 3 15.6247268 Prob > F = 0.0000Residual | 101.455581 522 .194359351 R-squared = 0.3160

-------------+---------------------------------- Adj R-squared = 0.3121Total | 148.329762 525 .28253288 Root MSE = .44086

------------------------------------------------------------------------------lwage | Coef. Std. Err. t P>|t| [95% Conf. Interval]

-------------+----------------------------------------------------------------educ | .092029 .0073299 12.56 0.000 .0776292 .1064288

exper | .0041211 .0017233 2.39 0.017 .0007357 .0075065tenure | .0220672 .0030936 7.13 0.000 .0159897 .0281448_cons | .2843595 .1041904 2.73 0.007 .0796755 .4890435

------------------------------------------------------------------------------

係数の信頼区間

p値:両側確率

Stataの出力

Page 11: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

仮説検定 単一の制約

•仮説 H0 : 𝛽𝑗 = 𝛽𝑗0

•H0が真の場合,最小二乗法による推定値bjは次の分布にしたがう

𝑏𝑗 − 𝛽𝑗0

s. e. (𝑏𝑗)~𝑡 𝑛 − (𝑘 + 1)

•特に𝛽𝑗0 = 0の場合(係数の真の値は0に等しい)の

仮説検定は,回帰分析のoutput( t値およびp値)をみるだけでよい

•一般的には,p値が0.05未満なら,係数=0の仮説は棄却される

Page 12: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

係数の信頼区間𝑏𝑗 − 𝛽𝑗

0

s. e. (𝑏𝑗)~𝑡 𝑛 − (𝑘 + 1)

両側5%の臨界値→t分布の97.5%点

これを t0.975 とすれば( Pr 𝑡 ≤ 𝑡0.975 = 0.975を満たす値),

bjの信頼区間(95%信頼区間)は次の通りになる𝛽𝑗0 − 𝑡0.975 ⋅ s. e. (𝑏𝑗) ≤ 𝑏𝑗 ≤ 𝛽𝑗

0 + 𝑡0.975 ⋅ s. e. (𝑏𝑗)

• Stataの出力→𝛽𝑗0として推計値bjを用いた場合

• R : confint(object名)で係数の信頼区間が出力される

• Eviews: 回帰分析の結果のメニューからView→CoefficientDiagnostics → Confidence Intervals

• excelを使う

Page 13: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

問題

wage1.rawのデータを用いた先ほどのOLSで,次の仮説をそれぞれ検定せよ。

1. educの係数が0.06に等しい

2. experの係数が0.005に等しい

3. tenureの係数が0.02に等しい

----------------

• Stata: _b{varname], _se[varname], invttail(df,p)を用いる

• Eviews: @coefs, @stderrs, @qtdist(p,df)を用いる

• R: coef(object名), qt(p,df),s.e.はsummary(object名)[ , 2]

• Excelに係数,標準誤差をコピーして計算,統計関数はt.inv(p,df)

Page 14: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

複数の制約

• H0: 𝛽1 = 0, 𝛽2 = 0,⋯ , 𝛽𝑟 = 0

• 上の仮説を検定するためには, (𝛽1, 𝛽2,⋯ , 𝛽𝑟)の同時分布を考えればいいですが(s2が既知の場合多変量正規分布にしたがう),この検定は次のF検定と同値であることがしられています。

Τ𝑅𝑅𝑆𝑆 − 𝑈𝑅𝑆𝑆 𝑟

Τ𝑈𝑅𝑆𝑆 𝑛 − (𝑘 + 1)~𝐹(𝑟, 𝑛 − (𝑘 + 1))

• RRSS (Restricted Residual Sum of Squares: 制約付きの残差平方和)

• URSS (Unrestricted Residual Sum of Squares: 制約無しの残差平方和)

• r : 制約の数• n-(k+1): 制約無しの回帰での自由度

Page 15: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

0 1 2 3 4 5

F Distribution: Numerator df = 5, Denominator df = 100

f

臨界値よりも大きな値をとる場合に仮説H0を棄却

Page 16: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

複数のbjに関する制約(単一の制約)

単一の制約の問題に帰着できる場合がある

例)Kane and Rouse(1995)短大と4年生大学: 賃金差はあるか

回帰式

ln 𝑤𝑎𝑔𝑒 = 𝛼 + 𝛽1 ∙ 𝑗𝑐 + 𝛽2 ∙ 𝑢𝑛𝑖𝑣 + 𝛽3 ∙ 𝑒𝑥𝑝𝑒𝑟 + 𝑢 (1)

jc 短大の教育年数univ 4年生大学の教育年数exper 卒業後の年数(仕事の経験年数)

H0: b1=b2

Page 17: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

複数のbjに関する制約(単一の制約) 続き

(1)式においてb2= b1+d とおくと

ln 𝑤𝑎𝑔𝑒 = 𝛼 + 𝛽1 ∙ 𝑗𝑐 + 𝛽1 + 𝛿 ∙ 𝑢𝑛𝑖𝑣 + 𝛽3 ∙ 𝑒𝑥𝑝𝑒𝑟 + 𝑢 (2)

これより

ln 𝑤𝑎𝑔𝑒 = 𝛼 + 𝛽1 ∙ 𝑗𝑐 + 𝑢𝑛𝑖𝑣 + 𝛿 ∙ 𝑢𝑛𝑖𝑣 + 𝛽3 ∙ 𝑒𝑥𝑝𝑒𝑟 + 𝑢 (3)

を得る。つまり,jc+univという変数を新たに作成し, この変数を説明変数に用いて回帰すると,univの係数が0という単一の係数の制約に帰着する

Page 18: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

Call:lm(formula = lwage ~ educ + exper + tenure)

Residuals:Min 1Q Median 3Q Max

-2.05802 -0.29645 -0.03264 0.28788 1.42809

Coefficients:Estimate Std. Error t value Pr(>|t|)

(Intercept) 0.284359 0.104190 2.729 0.00656 ** educ 0.092029 0.007330 12.555 < 2e-16 ***exper 0.004121 0.001723 2.391 0.01714 * tenure 0.022067 0.003094 7.133 3.29e-12 ***---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.4409 on 522 degrees of freedomMultiple R-squared: 0.316, Adjusted R-squared: 0.3121 F-statistic: 80.39 on 3 and 522 DF, p-value: < 2.2e-16

Rの出力

全ての説明変数の係数が0という仮説検定のF統計量およびp値

Page 19: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

Source | SS df MS Number of obs = 526-------------+---------------------------------- F(3, 522) = 80.39

Model | 46.8741805 3 15.6247268 Prob > F = 0.0000Residual | 101.455581 522 .194359351 R-squared = 0.3160

-------------+---------------------------------- Adj R-squared = 0.3121Total | 148.329762 525 .28253288 Root MSE = .44086

------------------------------------------------------------------------------lwage | Coef. Std. Err. t P>|t| [95% Conf. Interval]

-------------+----------------------------------------------------------------educ | .092029 .0073299 12.56 0.000 .0776292 .1064288

exper | .0041211 .0017233 2.39 0.017 .0007357 .0075065tenure | .0220672 .0030936 7.13 0.000 .0159897 .0281448_cons | .2843595 .1041904 2.73 0.007 .0796755 .4890435

------------------------------------------------------------------------------

Stataの出力

全ての説明変数の係数が0という仮説検定のF統計量およびp値

Page 20: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

係数制約の検定 : Stata

• 回帰分析実行後,メニューから Statistics/ Postestimation

を選択すると左下の画面

Tests, contrasts, and comparisons of parameter estimates / Lineartests of parameter estimates

を選択 → 右下の画面で Create を選択

Page 21: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

係数制約の検定 : Stata (2)

• ここでは,exper, tenureの係数がともに0という仮説の検定を行う

• Createを選択する→左の画面でexper を選択してOK

• 続いて,もう一度Createを選択して,Specification 2を作成。同様の操作をしてtenure の係数を0という制約を課す

• 制約条件の設定が終了したらOKを押す

• 左下の画面が実行結果(この例では,仮説は棄却される)

. test (exper) (tenure)

( 1) exper = 0

( 2) tenure = 0

F( 2, 522) = 49.69

Prob > F = 0.0000

Page 22: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

説明変数の全て(educ, exper, tenure)の係数が0かどうか

ここをクリックし,coefficient diagnostics → Wald tests -coefficient restrictions ..をたどると,係数の制約のテストの画面が表れる。複数の制約も可能。

個々の係数=0の検定はここをみる

この値からF検定を行うこともできる。 E-views では直前の回帰の残差平方和は@ssrに保存される

係数制約の検定 : Eviews

Page 23: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

EviewsのF検定 View/ Coefficient diagnostics/ Wald test –Coefficient Restrictions を選択

c(3)=0, c(4)=0 で制約式を指定(複数の制約式は , で区切る)

c(3)は3番目の説明変数の係数(定数項を1番目とカウント)

H0: exper,tenureの係数がともに0

検定のための統計量は,自由度が (2,522) のF統計量

5%水準の臨界値は3.013

H0は棄却される

自由度(2,252)のF分布に従う確率変数が49.685よりも大きな値をとる確率は0.0000

Page 24: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

F検定(コマンドを打ち込む方法 Eviews)• 制約無しの回帰分析→URSS を求める

制約なしの回帰後,コマンドウィンドウで scalar urss= @ssr

• 制約付の回帰分析→RRSS を求める制約つきの回帰後,コマンドウィンドウで scalar rrss= @ssr

• F統計量を計算分子は (rrss-urss)/(制約の数),分母はurrs/(制約なしの回帰の自由度) で計算した変数を作る(以下では,ffとした)

コマンドウィンドウで次のようにタイプ

scalar f1= (rrss – urss)/制約の数

scalar f2 =urss/(@regobs – 定数項を含んだ説明変数の個数)

scalar ff =f1/f2

ff の累積分布を求める(@cfdist(ff,df1,df2)を用いる

Excelでも同様の計算ができる

Page 25: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

係数制約の検定 : R回帰の結果をwage1.lmに保存した場合

• 単一の仮説

• H0: bj=0 → summary(wage1.lm)でt値,p値をみる

• 係数の信頼区間

• confint(wage1.lm)

• 回帰係数の値はcoef(wage1.lm)で取り出せるが,標準誤差,t値は次のようにする

coef(summary(wage1.lm) ) で係数,s.e. t-value, p-valueの行列が出力される

coef(summary(wage1.lm) )[ ,n] で係数,s.e., t値,p値が取り出せる([ , n] は行列の第n列の成分を表す)

n=1: 係数, n=2: s.e. , n=3: t値, n=4: p値

coef(summary(wage1.lm))[2,2] とすると行列の(2,2)成分

Page 26: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

係数制約の検定 : R (2)

Τ𝑅𝑅𝑆𝑆 − 𝑈𝑅𝑆𝑆 𝑟

Τ𝑈𝑅𝑆𝑆 𝑛 − (𝑘 + 1)~𝐹(𝑟, 𝑛 − (𝑘 + 1))

#残差平方和はdeviance(object)で取り出す> wage1.lm <- lm(lwage ~ educ + exper + tenure) # 制約なし回帰> wage2.lm <- lm(lwage~ educ) # 制約付き回帰> rss1 <- deviance(wage1.lm) # 制約なし残差平方和 urss> rss2 <- deviance(wage2.lm) # 制約つき残差平方和 rrss> ff <- rss2 - rss1 # rrss - urss> ff1 <- ff/2 # 制約は2つ(r=2)> ff2 <- rss1/(522) # 分母fff <- ff1/ff2 # F統計量 この場合,fff=49.685です> 1 - pf(fff,2,522)[1] 0 # 自由度(2,522)のF分布に従う確率変数がfffより大きくなる確率> qf(.95, 2, 522)[1] 3.012991 # 自由度(2,522)のF分布に従う確率変数の95%点

Page 27: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

係数制約の検定 : R (3)

• linearHypothesis( ) 関数を用いるlinearHypothesis(object, 制約式の行列,右辺)

• car というpackageを読み込む必要• Rstudio の右下のwindowから読み込む

• lwage~educ + exper + tenure でexper, tenureの係数がともにゼロ → 行列で表現

0 0 1 00 0 0 1

𝛼𝛽1𝛽2𝛽3

=00

Page 28: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

> lhs <- rbind(c(0,0,1,0),c(0,0,0,1))> rhs <- c(0,0)> linearHypothesis(wage1.lm, lhs, rhs )

Linear hypothesis test

Hypothesis:exper = 0tenure = 0

Model 1: restricted modelModel 2: lwage ~ educ + exper + tenure

Res.Df RSS Df Sum of Sq F Pr(>F) 1 524 120.77 2 522 101.46 2 19.314 49.685 < 2.2e-16 ***---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’

car packageを読み込んで上のコマンドを実行上の式のlhs は次の式の右辺の行列を代入したもの

0 0 1 00 0 0 1

𝛼𝛽1𝛽2𝛽3

=00

制約なし,制約付きの残差平方和

F統計量

c( ) は連結関数(concatenate)でベクトルを作るrbind( ) は rowbind でベクトルを行方向に加える関数

cbind( ) clomnbindは列方向に加える関数

rhs: 省略すれば0 (rhsのdefaultは0)

Page 29: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

example : linearHypothesis(model, lhs, rhs)

変数の名前を用いて書くこともできる(rhsのdefaultは0)

賃金方程式(wage1.lm)

H0: exper=0,tenure=0の検定

linearHypothesis(wage1.lm, c(“exper”,”tenure”) )

あるいは

lhs=c(“exper”, “tenure”) ; linearHypothesis(wage1.lm,lhs)

H0: exper-tenure=0 の場合

linearHypothesis(wage1.lm, "exper - tenure”)

linearHypothesis(wage1.lm,“exper - tenure=0”)

具体例はhelpを参照

Page 30: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

係数制約の検定 : R (4)

• waldtest( ) を使う(パッケージlmtestが必要)

制約なしモデル → wage1.lm

制約付きモデル → wage2.lm

だとして(例えば,wage2.lmではexperとtenureの係数

が共に0という制約を課したモデル)

waldtest(wage1.lm, wage2.lm)

でF検定が行われる

• 個々の係数が0の検定は coeftest( )でも出力される。• パッケージlmtest必要

• summary( )と同じ情報

Page 31: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

問題1

•wage1.raw

被説明変数 ln(wage)

説明変数 educ, exper, tenure, female

•次の仮説を検定せよ

1. H0 : 全ての説明変数の係数が0に等しい

2. H0 : 女性と男性の賃金格差は無い(定数項ダミーだけでよい)

3. H0 : exper と tenure の係数が共に0である

Page 32: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

問題2

•問題1と同じデータで次の仮説を検討せよ。• 説明変数にfemale ダミーと学歴(educ),勤続年数(tenure)の交差項を加える。

•女性と男性の賃金格差(定数項)は無いし,学歴の効果の違いも無いし,勤続年数の効果の違いも無い。

Page 33: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

問題 3

•mlb1.xls

•次の回帰式を推定• 被説明変数:log(salary)• 説明変数: years, gamesyr, bavg, hrunsyr, rbisyr, runsyr, fldperc, allstar, frstbase, scndbase, thrdbase, shrtstop, catcher,(baseはoutfield)

• 次の仮説を検討せよ。• 他の要因を一定にした場合,捕手と外野手の年俸は同じ

• 他の要因を一定にした場合,守備位置の違いは年俸に影響を与えない

Page 34: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

Chowテスト

•構造変化の検定• 例)消費関数,投資関数の推計

• T個の時系列データ• 時点s以降で構造変が起きたかどうかの検定

•全体を二つの期間に分割• 時点ダミーを導入してg=0の検定を行う

𝑦𝑡 = 𝛽′𝑥𝑡 + 𝛾′𝐷𝑡𝑥𝑡 + 𝑢𝑡

𝐷𝑡 = ቊ0 𝑡 = 1, . . , 𝑠1 𝑡 = 𝑠 + 1, . . . , 𝑇

(𝑅𝑅𝑆𝑆 − 𝑈𝑅𝑅𝑆)/𝑘

𝑈𝑅𝑅𝑆/𝑇 − 2𝑘~𝐹(𝑘, 𝑇 − 2𝑘)

kは説明変数の個数(定数項も含めて)

Page 35: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

最適なモデルの決定• F検定

• nested modelの場合

• adjusted R2を用いる方法

• AIC基準 (Akaike Information Criteria)AIC=-2ln(L)+2kln(L): 対数尤度, k: パラメータの数(説明変数の数)

AICを最小にするようなモデルを選ぶ

RではAIC(object名)

Stata: メニューからStatistics/ Postestimation/ Specification, …/ Information criteria

• 変数増減法(stepwise regression)

• RESET (regression specification error test)

• 回帰式 非線形性のテスト

• J テスト• non nested model

Page 36: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

RESET𝑦 = 𝛽0 + 𝛽1𝑥1 +⋯+ 𝛽𝑘𝑥𝑘 + 𝑢 (1)

上のモデルを推計し,yの予測値を得る。yの予測値の平方,3乗の項,...を説明変数に加えた次のモデルを推計する

𝑦 = 𝛽0 + 𝛽1𝑥1 +⋯+ 𝛽𝑘𝑥𝑘 + 𝛾1 ො𝑦2 + 𝛾2 ො𝑦

3 + 𝑢 (2)

H0: (1)の定式化が正しい → g1=g2=0

R:resettest(object名),パッケージlmtestが必要

Stata : Statistics/ Postestimation/ Specification, …/ Ramsey regression specification-error test

Eviews: (1)式をOLSで推計後,View/ Stability Diagnostics/ Ramsey RESET Testを選択し,Number of Fitted Terms で(2)式にFitted valueをいくつ入れるかを設定(1→ 2次の項まで,2→ 3次の項まで)

Page 37: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

Non nested model

• mlb1.xlsのMLB選手の年棒の回帰分析では,hrunsyr(ホームラン数)とrbisyr(打点)はともに,有意ではなかった(二つの変数の単相関は0.89と非常に高いため)。

• そこで,次の二つのモデルのどちらが適切かを選択する必要に迫られたとする。

H1: log( 𝑠𝑎𝑙𝑎𝑟𝑦) = 𝛽0 + 𝛽1𝑦𝑒𝑎𝑟𝑠 + 𝛽2𝑔𝑎𝑚𝑒𝑠𝑦𝑟 + 𝛽3𝑏𝑎𝑣𝑔+𝛽4ℎ𝑟𝑢𝑛𝑠𝑦𝑟 + 𝑢

H2: log( 𝑠𝑎𝑙𝑎𝑟𝑦) = 𝛽0 + 𝛽1𝑦𝑒𝑎𝑟𝑠 + 𝛽2𝑔𝑎𝑚𝑒𝑠𝑦𝑟 + 𝛽3𝑏𝑎𝑣𝑔+𝛽4𝑟𝑏𝑖𝑠𝑦𝑟 + 𝑢

Page 38: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

J test

• どちらか一方のモデルが正しいモデルであれば,他方のモデルで得られた予測値は説明力を持たない

• (例)H2で推定したモデルの予測値(y2hat)を説明変数としてH1に代入して,b5=0の検定を行う

log( 𝑠𝑎𝑙𝑎𝑟𝑦) = 𝛽0 + 𝛽1𝑦𝑒𝑎𝑟𝑠 + 𝛽2𝑔𝑎𝑚𝑒𝑠𝑦𝑟 + 𝛽3𝑏𝑎𝑣𝑔+𝛽4ℎ𝑟𝑢𝑛𝑠𝑦𝑟 + 𝛽5𝑦2ℎ𝑎𝑡 + 𝑢

• 同様に,H1で推定したモデルの予測値(y1hat)を説明変数としてH2に代入して,b5=0の検定を行う

• 両方のテストとも棄却される場合がある→別のモデル

Page 39: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

Rでの回帰分析の統計量回帰分析の結果がobjectに保存されている場合

summary(object) 回帰分析の結果

coef(object) 係数の推定値

resid(object) 残差

fitted(object) 回帰モデルの推定値

deviance(object) 残差平方和

plot(object) 残差のチェックのためのグラフ

confint(object) 係数の信頼区間

-----------------

coef(summary(object)) 係数,s.e. t値,p値の行列

coef(summary(object))[,n] n=1:係数,n=2:標準誤差,n=3:t値,n=4:p値

回帰の標準誤差,F値,自由度修正済み決定係数,自由度

例) coef(summary(wage1.lm))[,2]→回帰モデル(wage1.lm)の標準誤差

summary(object)$sigma

summary(object)$fstatistic

summary(object)$adj.r.squared

summary(object)$df

回帰係数はcoef( )で取り出せるが,t値,標準誤差,p値は多少面倒

Page 40: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

Rの統計関数

Distribution R name additional arguments

beta beta shape1, shape2, ncp

binomial binom size, prob

chi-squared chisq df, ncp

exponential exp rate

F f df1, df2, ncp

log-normal lnorm meanlog, sdlog

logistic logis location, scale

normal norm mean, sd

Student’s t t df, ncp

uniform unif min, max

累積分布関数 p + , 密度関数 d + , 分布関数の逆関数 q +, 乱数 r +

Page 41: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

回帰分析の推計値の取り出し方(Stata)

• 回帰係数 : _b[変数名]; 例) _b[tenure]

• 係数の標準誤差 : _se[変数名] ; 例) _se[tenure]

• R2: e(r2),adjusted R2 : e(r2_a)

• ESS(Explained 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)

比較演算子 >, <, >=, <=, ==, != (“==“ は等しいという意味)

べき乗は ^

Page 42: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

Stataの統計関数(1)

• normal(z) : 標準正規分布 累積分布関数

• normalden(z) : 標準正規分布 密度関数

• normalden(x,m,s) : 平均m, 標準偏差s の正規分布密度関数

• invnormal(p) : normal(z)=pの逆関数

• t(df, t) : 自由度dfのt分布 累積分布関数

• tden(df,t) : 自由度dfのt分布 密度関数

• ttail(df,t) : 自由度dfのt分布 uppertailの確率(Prob(T>t))

• invttail(df,p): ttail(df,t)=p の逆関数

• F(n1,n2,f) : 自由度(n1,n2)のF分布 累積分布関数

• Fden(n1,n2,f) : 自由度(n1,n2)のF分布 密度関数

• Ftail(n1,n2,f) = 1 − F(n1,n2.f)

• invF(n1,n2,p) : F(n1,n2,f)=pとなるfを返す

• invFtail(n1,n2.p) : Ftail(n1,n2,f)=p となるfを返す

Page 43: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

Stataの統計関数(2)

• chi2(df,x) : 自由度dfのカイ2乗分布 累積分布関数

• chi2den(df,x) :自由度dfのカイ2乗分布 密度関数

• chi2tail(df,x) :カイ2乗分布のuppertail の確率= 1 – chi2(df,x)

• invchi2(df,p) : chi2(df,x)=pを満たすxを返す

• invchi2tail(df,p) : chi2tail(df,x)=pを満たすxを返す

• binomial(n,k,p):n回の試行,成功確率pの2項分布で成功確率がk以下の確率(累積分布関数)

• binomialp(n,k,p):2項分布で成功回数がkである確率(密度関数)

Page 44: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

Eviewsでの回帰分析

• @coefs(i) : i番目の係数

• @stderrs(i): 標準誤差

• @tstats(i): t値

• @coefcov(I,j): i番目のj番目の係数の共分散

• @f : F統計量

• @se: standard error of the regression

• @ssr: 残差平方和

• @regobs: 回帰分析でのオブザベーション数

Page 45: 回帰分析 重回帰(2) - Keio Universityfs1.law.keio.ac.jp/~aso/ecnm/pp/ecnmtrcs05.pdfH0: ある変数の係数が0 係数の標準誤差 t 値= b / b(s.e.) 係数の真の値が0だとして

Eviewsでの統計関数

• @c--:cumulative distribution function(CDF)• @d--:density function• @q--:quantile( inverse CDF)• @r--:random number generator------------------------------------• @cfdist(x,df1,df2),@qfdist(x,df1,df2) F分布• @cnorm(x), @qnorm(p) 正規分布• @ctdist(x,df), @qtdist(p,df) t分布• Eviewsで,自由度(2,522)のF分布に従う変数の95%点を求めるためには

scalar ff= @qfdist(0.95, 2, 522)をコマンド行に打ち込む