演習問題の答え     Last modified: Aug 19, 2015

 各変数において,平均値からの偏差を計算すると,表 1 のようになる。

表 1.平均値からの偏差および予測値
 ケース番号   $X_{1}$   $X_{2}$   $Y$   $X_{1}-\bar{X}_{1}$   $X_{2}-\bar{X}_{2}$   $Y-\bar{Y}$   $\hat{Y}$ 
1 1.2 1.9 0.9 $-$4.2 $-$1.4 $-$1.3 0.939
2 1.6 2.7 1.3 $-$3.8 $-$0.6 $-$0.9 1.250
3 3.5 3.7 2.0 $-$1.9 0.4 $-$0.2 1.926
4 4.0 3.1 1.8 $-$1.4 $-$0.2 $-$0.4 1.856
5 5.6 3.5 2.2 0.2 0.2 0.0 2.298
6 5.7 7.5 3.5 0.3 4.2 1.3 3.465
7 6.7 1.2 1.9 1.3 $-$2.1 $-$0.3 1.864
8 7.5 3.7 2.7 2.1 0.4 0.5 2.744
9 8.5 0.6 2.1 3.1 $-$2.7 $-$0.1 2.060
10 9.7 5.1 3.6 4.3 1.8 1.4 3.596
平均値 5.4 3.3 2.2

 正規方程式は,
 $71.98\,b_{1} + 6.46\,b_{2} = 16.58$
 $6.46\,b_{1} + 35.30\,b_{2} = 11.44$
となり,これを解いて,$b_{1} = 0.20462$,$b_{2} = 0.28663$ となる。

 また,$b_{0} = 2.2 - 0.20462\times 5.4 - 0.28663\times 3.3 = 0.14918$ となる。

 すなわち,求める重回帰式は $\hat{Y} = 0.20462\, X_{1} + 0.28663\, X_{2} + 0.14918$ である。


R を用いると以下のようになる。
> # データ
> X1 <- c(1.2, 1.6, 3.5, 4, 5.6, 5.7, 6.7, 7.5, 8.5, 9.7)
> X2 <- c(1.9, 2.7, 3.7, 3.1, 3.5, 7.5, 1.2, 3.7, 0.6, 5.1)
> Y <- c(0.9, 1.3, 2, 1.8, 2.2, 3.5, 1.9, 2.7, 2.1, 3.6)
> X <- cbind(X1, X2) # 独立変数のデータ行列
> cbind(X, Y)
       X1  X2   Y
 [1,] 1.2 1.9 0.9
 [2,] 1.6 2.7 1.3
 [3,] 3.5 3.7 2.0
 [4,] 4.0 3.1 1.8
 [5,] 5.6 3.5 2.2
 [6,] 5.7 7.5 3.5
 [7,] 6.7 1.2 1.9
 [8,] 7.5 3.7 2.7
 [9,] 8.5 0.6 2.1
[10,] 9.7 5.1 3.6
> p <- ncol(X) # 独立変数の個数
> n <- length(Y) # サンプルサイズ
> ## 偏回帰係数について
> Sxx <- var(X)*(n-1) # 独立変数間の変動・共変動行列
> Sxy <- var(X, Y)*(n-1) # 独立変数と従属変数の共変動ベクトル
> b <- solve(Sxx, Sxy) # 偏回帰係数
> b0 <- mean(Y)-sum(colMeans(X)*b) # 定数項
> c(b0=b0, b=b)
       b0        b1        b2 
0.1491756 0.2046172 0.2866338


・ 直前のページへ戻る  ・ E-mail to Shigenobu AOKI