重回帰分析の係数の求め方

Rのサンプル airquality を使用

R
dat <- na.omit(airquality)
head(dat)
R
fit <- lm(Solar.R ~ Wind+Temp, data=dat)
summary(fit)

下記の係数の推定値を求めてみましょう

R
summary(fit)$coef[1:3] 

\(\bf b=
\left(
\begin{array}{ccc}
-49.8135134 \\
0.6478038 \\
2.9331301
\end{array}
\right)
\)

データフレームを行列に変換して変数行列 \(\bf X\) を作成

(切片用の列を追加するのを忘れずに)

R
dat$b <- c(rep(1, dim(dat)[1]))
dat2 <- dat[ ,c("b",  "Wind", "Temp")]
mat <- as.matrix(dat2)

\(\bf b = (X^TX)^{-1}X^Ty\)より

R
solve(
    t(mat) %*% mat) %*% 
    t(mat) %*% 
    dat$Solar.R

コメント欄 『間違い』や『分かりにくい部分』などのご意見もお寄せください

タイトルとURLをコピーしました