No.05622 構造変化とダミー係数について  【大家】 2008/01/31(Thu) 18:43

私は大学3年で経済を勉強しているものです。
エクセルを使った統計の作業をしているのですが,手順がよくわからないものがあるので教えていただけるとうれしいです。

Y,X,Z,W という4つの変数の1960年1月から2000年12月までのデータをもとにつくった
Y=a+b*X+c*Z+d*W
の式がバブル期の前後で構造変換しているかどうか(D=バブルダミー)
Y=a+ a'*D + b*X + b'*D + c*Z + d*W
の 式エクセルによって推定し,検定をすることで明らかにしたいのですが,a',b',をエクセルの回帰分析ツールでどのように求めればいいのかがわからない のです。ためしにダミー変数を単独で入力して回帰分析をしてみたのですが,そうすると新しいダミー変数Uが推定されるだけでa'とb'がわかりません。

どうかエクセルを使った構造変化の推定手順を私に教えてください。

No.05623 Re: 構造変化とダミー係数について  【青木繁伸】 2008/01/31(Thu) 19:23

モデル式に問題があるでしょう
a'*D+b'D と区別して書いても,実際それは(a'+b')*D なので a' と b' は分離できないでしょう。
> df <- structure(list(Y = c(35.4, 24.8, 17, 18.3, 14.8, 46.3, 60.3, 
52.5, 44.7, 31.1), X = c(2L, 1L, 2L, 3L, 2L, 2L, 1L, 2L, 3L,
4L), Z = c(3L, 2L, 1L, 1L, 2L, 3L, 4L, 3L, 2L, 1L), W = c(4L,
3L, 2L, 2L, 1L, 3L, 5L, 4L, 3L, 1L), D = c(0L, 0L, 0L, 0L, 0L,
1L, 1L, 1L, 1L, 1L)), .Names = c("Y", "X", "Z", "W", "D"), class = "data.frame", row.names = c(NA,
-10L))
> df
Y X Z W D
1 35.4 2 3 4 0
2 24.8 1 2 3 0
3 17.0 2 1 2 0
4 18.3 3 1 2 0
5 14.8 2 2 1 0
6 46.3 2 3 3 1
7 60.3 1 4 5 1
8 52.5 2 3 4 1
9 44.7 3 2 3 1
10 31.1 4 1 1 1
> ans <- lm(Y~X+Z+W+D, df)
> summary(ans)

Call:
lm(formula = Y ~ X + Z + W + D, data = df)

Residuals:
1 2 3 4 5 6 7 8 9 10
-0.012088 -0.004196 -0.007892 -0.113686 0.137862 -0.334166 0.095604 0.091908 0.088212 0.058442

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.77972 0.44695 -1.745 0.142
X 1.40579 0.12206 11.517 8.65e-05 ***
Z 3.42817 0.14088 24.334 2.18e-06 ***
W 5.77393 0.09088 63.532 1.83e-08 ***
D 16.99600 0.17832 95.313 2.41e-09 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.1858 on 5 degrees of freedom
Multiple R-squared: 0.9999, Adjusted R-squared: 0.9999
F-statistic: 1.663e+04 on 4 and 5 DF, p-value: 1.715e-10
直接 a' と b' を使うモデル式を書いたらどうだとお思いかも知れない。lm では書けないので本来は非線形最小二乗法のための nls 関数で書いてみよう(a' を a2, b' を b2 と表記する)。
> ans2 <- nls(Y~a+a2*D+b*X+b2*D+c*Z+d*W, df, start=(list(a=-0.8, a2=8, b=1.4, b2=8, c=3.4, d=5.8)))
以下にエラー nlsModel(formula, mf, start, wts) :
パラメータの初期値で勾配行列が特異です
エラーになり,推定できない(本来,このモデルは線形なので,収束しないわけはない。エラーが出る原因は a' と b' を別々に推定しようとしているから。a' だけに集約すると以下のようになんなく解が求まる
> ans2 <- nls(Y~a+a2*D+b*X+c*Z+d*W, df, start=(list(a=-0.8, a2=8, b=1.4, c=3.4, d=5.8)))
> ans2
Nonlinear regression model
model: Y ~ a + a2 * D + b * X + c * Z + d * W
data: df
a a2 b c d
-0.7797 16.9960 1.4058 3.4282 5.7739
residual sum-of-squares: 0.1726

Number of iterations to convergence: 1
Achieved convergence tolerance: 9.303e-07
求まった解は ls を使ったものと同じ(当たり前ですが)。。。

No.05624 Re: 構造変化とダミー係数について  【大家】 2008/01/31(Thu) 19:29

あ!申し訳ありません,式の入力を一部間違えていました。
早速のご回答していただいたのにすみません。

Y=a+ a'*D + b*X + b'*D + c*Z + d*W
ではなく
Y=a+ a'*D + b*X + b'*D*X + c*Z + d*W

でした。
a,X二つの変数が,ある時期を境にどのように変化するか推定したいのでした・・・

No.05625 Re: 構造変化とダミー係数について  【青木繁伸】 2008/01/31(Thu) 19:49

> 式の入力を一部間違えていました。

脱力しますね。

DX という変数を作れば良いだけでは?(Rなら明示的に作らなくても良いのだが)
> df$DX <- df$D*df$X
> df
Y X Z W D DX
1 35.4 2 3 4 0 0
2 24.8 1 2 3 0 0
3 17.0 2 1 2 0 0
4 18.3 3 1 2 0 0
5 14.8 2 2 1 0 0
6 46.3 2 3 3 1 2
7 60.3 1 4 5 1 1
8 52.5 2 3 4 1 2
9 44.7 3 2 3 1 3
10 31.1 4 1 1 1 4
> ans <- lm(Y~D+X+DX+Z+W, df)
> summary(ans)

Call:
lm(formula = Y ~ D + X + DX + Z + W, data = df)

Residuals:
1 2 3 4 5 6 7 8 9 10
-0.045875 -0.054785 0.008911 -0.054785 0.146535 -0.319802 0.124422 0.097690 0.070957 0.026733

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.74620 0.48990 -1.523 0.202380
D 16.77558 0.48691 34.453 4.23e-06 ***
X 1.36370 0.15759 8.653 0.000981 ***
DX 0.09043 0.18329 0.493 0.647613
Z 3.44488 0.15663 21.994 2.53e-05 ***
W 5.78251 0.10017 57.724 5.39e-07 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.2017 on 4 degrees of freedom
Multiple R-squared: 0.9999, Adjusted R-squared: 0.9998
F-statistic: 1.129e+04 on 5 and 4 DF, p-value: 2.197e-08
Excelでやる場合も同じ。以下に図として添付します。このままでは読めないでしょうが,クリックすれば原寸大に拡大されます。


No.05652 Re: 構造変化とダミー係数について  【大家】 2008/02/01(Fri) 15:32

青木先生

どうもありがとうございました。
図を付けていただいたおかげでとてもよく分かりました。

質問を間違えてしまったためにお手数をおかけしてすみませんでした。

大家晶子

● 「統計学関連なんでもあり」の過去ログ--- 041 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る