統計的学習入門を読んで自分なりにまとめてみた〜パート2〜線形回帰
今回は線形回帰分析について、まとめてみる。
目次
1、線形回帰って何?〜概要
2、何してるの?〜アルゴリズム
3、例えば?どう使う?〜分析、検証
4、終わりに
1、線形回帰って何?〜概要
線形回帰(単回帰分析)はデータに線を引いて、傾向みたり、線の上にあるか下にあるかみるもの。教師あり学習。
2つのものを比べて、一個大きくなったらもう一個は大きくなるのか小さくなるのか、その度合いで、2つのものがどれだけ関係があるのか、どんな関係性なのかを調べる方法。そして、その線をたどったら、1つわかるともう1つもだいたいわかるから未来予知に使える。
2、何してるの?〜アルゴリズム
まずは、
①線形単回帰のモデル式
予測値(ワイハットという、初めて知った時こんな見た目通りの名前に笑った(笑))
推定の切片
推定の傾き
x=入力
次に、
②求め方
とを求めるために最小2乗法(LSM: Least Squares Method)を使う。
i番目のXのデータについて、Yの予測値を
とすると、
i番目の残差はこう表せて、i番目の応答変数の実測値と線形モデルが予測した値との差、残差平方和(RSS:residual sum of squares)を
こう定義する
最小二乗法はRSSを最小化するような推定の切片傾きを選ぶ、つまり偏微分*1することで、求められる。
③評価
今までは、予測をして、式を作っていたが、今度は、真の式との誤差を比べて、どのくらいの精度でこの予測が正しいかを評価する。まず、回帰係数の推定値の精度評価。
切片
傾き
残差
予測の切片と傾きと実際の指揮との誤差を調べていく、
(SE:標準誤差:Standard error)
:Yの観測値の標準偏差
:残差の分散である*2。
:の推定値は残差標準誤差(RSE:residual standard error)
標準誤差は信用区間を求めるのにつかったり、仮説検定、例えば、ここでは帰無仮説と対立仮説でXとYの間に関係があるかないかを検定したりするのに使う。
また、予測の傾きが0から標準語採掘分は慣れているかをt統計量で計算できる。
p値も出てくる。検定の仕方で求め方も少し変わるらしい
統計量(確率変数)がデータから計算した統計量の値より極端な値を取る確率をp値と言う。
p値が小さい→帰無仮説が正しくなさそう。
次に、モデルの精度評価、4つ指標がある。RSE、、相関係数とF値だ。
RSE(残差標準誤差:residual standard error)、モデルがデータに当てはまっていない度合いを図る、小さいと、モデルに当てはまっている
(決定係数:R2 Statistic)、当てはめ度合いを図るもう一つの方法、割合(分散のうち説明されてる部分の割合)
相関係数(correlation)もXとYの間の線形関係の度合いを図る
F統計量
3、例えば?どう使う?〜分析、検証
アイスクリーム屋さんのブログ(ブログ下の参照欄)からデータを拝借させていただいて、自分でもRで分析してみた
店舗別の平均客数データ(12店舗)【1章4節のデータ】
店舗 駅からの距離(m) 平均客数 1 10 795 2 1200 213 3 500 465 4 50 694 5 740 403 6 30 782 7 10 769 8 360 561 9 150 692 10 930 361 11 620 385 12 65 723
まず、xを駅からの距離(m)として、yを平均客数とする。
xとyの値を代入して
プログラム> y <- c(795,213,465,694,403,782,769,561,692,361,385,723)
> x <- c(10,1200,500,50,740,30,10,360,150,930,620,65)
> plot(x,y)これにlm関数を適用させてその結果をansという変数に代入して、
プログラム> ans <- lm(y~x)
> ans
Call:
lm(formula = y ~ x)Coefficients:
(Intercept) x
755.3496 -0.4761すると、こんな感じになる。これから、yの予測式は、
より詳しくはsummary()でできる
プログラム> s.ans <- summary(ans)
> s.ansCall:
lm(formula = y ~ x)Residuals:
Min 1Q Median 3Q Max
-75.143 -26.590 4.033 31.998 48.461Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 755.34960 17.06123 44.27 8.31e-13 ***
x -0.47614 0.03095 -15.38 2.74e-08 ***
---
Signif. codes:
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 41.9 on 10 degrees of freedom
Multiple R-squared: 0.9595,Adjusted R-squared: 0.9554
F-statistic: 236.7 on 1 and 10 DF,p-value: 2.74e-08
Estimate:今回の回帰分析における回帰係数の推定値
(Intercept):切片(定数項)
Std. Error:各回帰係数の推定量の標準誤差
t value:T値
Pr(>|t|) :P値
Adjusted R-squared:自由度修正済み決定係数
Multiple R-squared:決定係数
Residual standard error:誤差こうの標準偏差の推定値
F-statistic:統計量 on 自由度1 and 自由度2 で表記される。DFはdegrees of freedom(自由度)の略*5
最後に回帰直線を赤くみやすくつけてあげて、プロット
プログラム> abline(ans, lwd = 3, col = "red")
分析の後には、検証のターンが最後にある。
試しに出てきた直線に新しくデータを持ってきて、それがどれだけズレがあるかで、この直線の分析器はどのくらい正しいかを判定する。
4、終わりに
かなりの部分をいろんなサイトから拝借したものを使ったので、著作権とかがわからないので、少し心配ですが、なんとか形にすることができた。この調子で全部読んだ本をまとめて行く。
こちらの本やサイトなどを参考にさせていただきました!
式など*6