R演習 : 線形回帰分析

注意 : データの一部は https://www.statlearning.com/ より入手可能です.

データを眺める

Exercise : TV $\times$ sales, radio $\times$ sales, newspaper $\times$ salesの散布図を描いてみよう.

単回帰分析

R標準のパッケージを使って単回帰分析を行う.$Y$を売上,$X$をTVへの広告料として, $$ Y=\beta_{0} + \beta_{1}X + \varepsilon $$ のモデル式をデータに当てはめる.

回帰係数はcoefficient関数もしくはcoef関数で出力できる.

Exercise : TV $\times$ salesの散布図に回帰直線を重ね描きしてみよう.

残差のBoxplot

predictで予測値を計算できる.

多変量線形回帰分析

Rによる実装は単回帰分析の場合とほとんど同じ.

Exercise : 上記のStd.errort valueの部分をlm関数を使わずに求めよ.

性能評価

次の仮想データは線形モデルで適合可能だろうか?

多項式回帰モデル $$ Y=\beta_{0} + \beta_{1}X + \beta_{2}X^{2} + \cdots + \beta_{k}X^{k} + \varepsilon $$ で適合してみる.

実は$k=3$が正解.

トレーニングデータとテストデータ

Bostonデータの読み込み.

トレーニングデータとテストデータに分ける.

次の4つのモデルを比較したい. $$ \begin{align*} {\tt medv} &= \beta_{0} + \beta_{1}{\tt crim} + \varepsilon \\ {\tt medv} &= \beta_{0} + \beta_{1}{\tt rm} + \beta_{2}{\tt age} + \varepsilon \\ {\tt medv} &= \beta_{0} + \beta_{1}{\tt tax} + \beta_{2}{\tt lstat} + \varepsilon \\ {\tt medv} &= \beta_{0} + \beta_{1}{\tt zn} + \beta_{2}{\tt indus} + \beta_{3}{\tt chas} + \varepsilon \end{align*} $$ 最初のモデルに対するMSEは次のように計算される.

Exercise : 同様にして他の3つのモデルに対してMSEを計算し,ベストなモデルを探しだそう.

クロスバリデーション

Carデータの読み込み.

多項式回帰モデルをデータに適合させることを考え,8foldクロスバリデーションでその次数$k$を決定しよう.

Exercise : 次の不完全なコードを完成さえ,上記を実現せよ.