For Unlawful Colonel Knowledge

Rで重回帰分析-大気汚染@

重回帰分析

yを目的変数として説明変数をxとしたとき重回帰モデルの式は以下のように表される。

線型代数,ベクトル解析,慣性モーメント,解析力学,微分方程式,フーリエ解析,物理学,数学

 

単回帰モデルの説明変数が一つなのに対しこの重回帰モデルは説明変数を2つ以上をとる。一つの目的変数を複数の説明変数によって相関関係により導く。

 

ここでは大気汚染に関してのデータ”usair”というデータを使用し、目的変数をso2、その他のデータを説明変数として考える。
(※このページは左の書籍とデータ分析教室 Nava(ナバ)のサイトを参考にしております。特にナバ様の説明は大変参考になりました。ありがとうございます。)

usair

大気汚染データ
線型代数,ベクトル解析,慣性モーメント,解析力学,微分方程式,フーリエ解析,物理学,数学
7つあるそれぞれの変数の意味は次のようになる。

SO2 大気中の1立方メートル当たりのSO2(二酸化硫黄)の量
Temp 年間平均気温
Manuf 20人以上の従業員を雇用している製造業の数
Pop 千人単位での人口数
Wind 時間当たりの年平均風速(マイル)
Precip 年間の平均降水量(インチ)
Day 年間の平均降水日数
得られたCSVファイルを読み込む。 次のようにしてデータを格納する。読み込む場合は2重引用符囲むようにする。
usair_csv <- read.csv("usair.csv")
データの上部分の確認
head(usair_csv)

線型代数,ベクトル解析,慣性モーメント,解析力学,微分方程式,フーリエ解析,物理学,数学

ヒストグラムによるデータの可視化

hist(usair_csv$so2)

線型代数,ベクトル解析,慣性モーメント,解析力学,微分方程式,フーリエ解析,物理学,数学

 

hist(usair_csv$temp)

線型代数,ベクトル解析,慣性モーメント,解析力学,微分方程式,フーリエ解析,物理学,数学

 

hist(usair_csv$manuf)

線型代数,ベクトル解析,慣性モーメント,解析力学,微分方程式,フーリエ解析,物理学,数学

 

hist(usair_csv$pop)

線型代数,ベクトル解析,慣性モーメント,解析力学,微分方程式,フーリエ解析,物理学,数学

最初にデータを可視化することでデータの全体像を把握するのに役立つ。

相関分析

目的変数とそれぞれの説明変数との関係性の大きさを見るために相関係数と散布図の出力を行う。
相関係数と散布図を同時に表示するpsychというパッケージを使ってデータを可視化する。

psychのインストール

install.packages("psych")

ライブラリ読み込み

library(psych)

usair_csv.fit <- usair_csv[,c(2,3,4,5,6,7,8)]

 

psych::pairs.panels(usair_csv.fit)

 

線型代数,ベクトル解析,慣性モーメント,解析力学,微分方程式,フーリエ解析,物理学,数学

重回帰モデルの構築と要約

上の結果により目的変数のso2とその他変数の相関分析による関係性の強弱はわかったがひとまずすべての変数を使った重回帰分析と解析結果の要約を実行していく。
so2を目的変数とし残りの変数を説明変数として重回帰モデルで説明していく。 以下のように読み込ませ実行する。
out_usair <- lm(so2 ~ temp + manuf + pop + wind + precip + days, data = usair_csv.fit)
線型代数,ベクトル解析,慣性モーメント,解析力学,微分方程式,フーリエ解析,物理学,数学
共変量 回帰係数の推定値 標準偏差 t値 p値
Intercept 107.98276 48.78814 2.213 0.033690
temp -1.27862 0.63858 -2.002 0.053280
manuf 0.06517 0.01586 4.109 0.000237
pop -0.03982 0.01525 -2.612 0.013302
Wind -2.53754 1.79407 -1.414 0.166336
precip 0.51586 0.36894 1.398 0.171097
days -0.06409 0.16571 -0.387 0.701343
上記の結果のcoefficientsの部分を見てみるとmanufとpopの2つが二酸化硫黄のレベルを予測するのに最も適しているのがわかる。また右に*印がついているのもmanufとぽpopでp値が小さいほど右に:*印がつき(最大で3つ)優位な説明変数だということがわかる。


ホーム RSS購読 サイトマップ
TOP 線形代数 ベクトル解析 慣性モーメント 解析力学 微分方程式 NEへの道しるべ