[R]単回帰モデルにおける回帰係数のp値を求める(44の例題で学ぶ計量経済学、オーム社、p.181)
データは以下のとおり(p.97の表3.2)。xxiは説明変数、yyiは目的変数(被説明変数)。これをメモ帳に貼り付けて「table3_2.csv」というテキストファイルで保存をして、カレントディレクトリに置いておく。
i, xxi, yyi
1, 2, 3
2, 4, 5
3, 6, 6
4, 8, 10
以下、計算。
> dtf <- read.csv("table3_2.csv", header = TRUE)
> xxi <- dtf$xxi
> yyi <- dtf$yyi
> n <- nrow(dtf)
> k <- 2
> degf <- n - k
> mxy <- matrix(yyi, ncol = 1)
> mxxx <- matrix(c(rep(1.0, n), xxi), ncol = 2)
> mxb <- solve(t(mxxx) %*% mxxx) %*% t(mxxx) %*% mxy
> b <- as.vector(mxb)
> yyhi <- mxxx %*% mxb
> sssse <- sum((yyi - yyhi) ^ 2)
> sh2 <- sssse / degf
> mxcc <- sh2 * solve(t(mxxx) %*% mxxx)
> seb <- sqrt(diag(mxcc))
> tb <- b / seb
> pb <- 2 * pt(abs(tb), degf, lower.tail = FALSE)
> rr2 <- sum((yyhi - mean(yyi)) ^ 2) / sum((yyi - mean(yyi)) ^ 2)
> arr2 <- 1 - (sssse / (n - k)) / (sum((yyi - mean(yyi)) ^ 2) / (n - 1))
> cat(sprintf("回帰式 Y^i = %.1f + %.1f Xi\n", b[1], b[2]))
回帰式 Y^i = 0.5 + 1.1 Xi
> cat(sprintf(" (%.3f) (%.3f)\n", tb[1], tb[2]))
(0.430) (5.185)
> cat(sprintf("αの推定値の t値 tα = %.3f\n", tb[1]))
αの推定値の t値 tα = 0.430
> cat(sprintf("αの推定値の p値 pα = %.3f\n", pb[1]))
αの推定値の p値 pα = 0.709
> cat(sprintf("βの推定値の t値 tβ = %.3f\n", tb[2]))
βの推定値の t値 tβ = 5.185
> cat(sprintf("βの推定値の p値 pβ = %.3f\n", pb[2]))
βの推定値の p値 pβ = 0.035
« [R]単回帰モデルにおけるt分布による切片の仮説検定(両側検定)を行う(44の例題で学ぶ計量経済学、オーム社、p.181) | トップページ | [R]旧エクセルのファイル(.xls)を読み込む »
「R(数値計算)」カテゴリの記事
- [R]回帰分析におけるAICを簡単に求める(2023.01.03)
- [R]回帰分析における対数尤度を簡単に求める(2023.01.01)
- [R]パスカルの三角形を求める(2022.12.19)
- [R]丸め誤差を考慮して数値の比較を行う(2022.09.08)
- [R]単回帰モデルにおける回帰係数のp値を求める(44の例題で学ぶ計量経済学、オーム社、p.181)(2022.05.24)
« [R]単回帰モデルにおけるt分布による切片の仮説検定(両側検定)を行う(44の例題で学ぶ計量経済学、オーム社、p.181) | トップページ | [R]旧エクセルのファイル(.xls)を読み込む »
コメント