レポートの解答例
Sub report()Dim A As Range, B As Range, C As Range, D As Range
Cells(1, 1) = 2
Cells(1, 2) = 4
Cells(1, 3) = 4
Cells(2, 1) = 2
Cells(2, 2) = -1
Cells(2, 3) = -6
Cells(3, 1) = 2
Cells(3, 2) = 3
Cells(3, 3) = -2
Cells(1, 5) = 18
Cells(2, 5) = -2
Cells(3, 5) = -6
Set A = Range(Cells(1, 1), Cells(3, 3))
Set B = Range(Cells(1, 5), Cells(3, 5))
Set C = Range(Cells(5, 1), Cells(7, 3))
Set D = Range(Cells(5, 5), Cells(7, 5))
C = Application.MInverse(A)
D = Application.MMult(C, B)
End Sub
交差検証法
さて前回はy=β0+β1x1+β2x2+β3x3+誤差
というモデルを考えたのですが(これをモデル0と呼ぶことにします)、これが最適とは限りません。今回は他のモデルも考えてみて、比較しましょう。経度は気温への影響が少ないかも知れないので
y=β0+β1x1+β3x3+誤差
というモデルを考えて(これをモデル1と呼ぶことにします)、これとモデル0のどちらが良いか比較します。
比較の方法として
∑i=120 {yi-(β0+β1xi1+β2xi2+β3xi3)}2
と
∑i=120 {yi-(β0+β1xi1+β3xi3)}2
の最小値が小さい方、という比較は意味がありません。必ず前者の方が等しいか、小さくなります。何故なら前者で β2=0と置けば後者になるので、後者の最小値と同じ値を前者はとることが出来るからです。 注意すべきは、もし仮にx2がyと関係なくても、前者の方が小さくなってしまうので、これらの 小ささを比較していては不要な変数もどんどん採用してしまいます。
ではどのように比較すればよいでしょうか?大事なのは
y=β0+β1x1+β2x2+β3x3+誤差
や
y=β0+β1x1+β3x3+誤差
が、yの値を知らないときにその予測として役に立つか、ということです。なので例えば β0+β1x11+β2x12+β3x13がy1の推定として役に立っているか確認するなら、β0, β1, β2, β3を推定するためにy1の値を使っては確認になりません。
従って、次の手順でモデル0の推定のよさを調べることになります。
- 1.
- 都市番号2,3,...,20のデータを用いてβ0, β1, β2, β3の値を推定し、そのβ0, β1, β2, β3を用いて推定誤差
y1-(β0+β1x11+β2x12+β3x13) を求めます。 - 2.
- 都市番号1,3,...,20のデータを用いてβ0, β1, β2, β3の値を推定し、そのβ0, β1, β2, β3を用いて推定誤差
y2-(β0+β1x21+β2x22+β3x23) を求めます。
…… - 20.
- 都市番号1,2,...,19のデータを用いてβ0, β1, β2, β3の値を推定し、そのβ0, β1, β2, β3を用いて推定誤差
y20-(β0+β1x20,1+β2x20,2+β3x20,3) を求めます。
0 件のコメント:
コメントを投稿