もくじ
帰分析分析ってなあに?
回帰分析の種類
で、何に使うの?
実際に使ってみる
方程式
誤差を求める(最小二乗法)
偏回帰係数
今回のデータで解った事
回帰分析ってなあに?
簡単にまとめると、説明変数(やった事とか)に対する目的変数(結果)がどのような影響を受けているかの因果関係を関数の形であらわす分析方法です。
例えば、体重(目的変数)に対する身長(説明変数)の因果関係を調べる場合だと、身長が増えると体重も増えるのか?ということが調べられるわけです。
こういった二つの事柄が本当に関係あるの?っていうのを調べるのが回帰分析みたいです。
回帰分析の種類
・単回帰分析
結果に対して行ったことが一つだけの場合は単回帰分析になる。
上記のだと体重に対して身長といったように、一つの事柄に対して一つの要素を用いての結果の予測、といった感じです。
・重回帰分析
結果に対して行ったことが複数ある場合は重回帰分析になる。
上記の例だと、体重に対して身長と腹囲、のように一つの事柄に対して複数の要素を用いて結果を予測するといった感じです。
で、何に使うの?
先ほどの例ではこんなわかりきったことを分析して何になるんだってな感じでしたが、因果関係の推定ができるということは、やったことが本当に結果出してるのかということが分析できるわけです。
例えば広告表示回数に対する売上、とか。勉強時間に対するテストの点数とか。残業時間に対するお給料(当然因果関係があるはずですよね)とか。
ぶっちゃけ結構なんにでも使えそうな気がしますね。
実際に使ってみる
タイトルにもありますが今回は単回帰分析を使用します。
(重回帰分析についてはほとんど触れませんので悪しからず・・・)
使用するデータ
というわけで実際に用意したデータがこちら。
身長に対する体重というシンプルな題材で試してみようと思います。
方程式
まず基本の式がこちらです。
$$y = β_1x + β_0$$
yを目的変数(結果)、xを説明変数(要因)と呼びます。
この方程式を使用してβ_1とβ_0を求めていくことになるのですが、この式は真の回帰式と呼ばれ求められるのはあくまで"理論値"であり、実際にはデータを作るときの測定誤差などが発生するため、これを加味した次の方程式を使用する必要があります。
$$y = β_1x + β_0 + u$$
この最後に加算された"u"が誤差、つまりは真の回帰式で求められた値と実際の計測値の差になり、単回帰分析ではすべてのデータに対してこの値ができるだけ小さくなるようにβ_1とβ_0を求めます。
誤差を求める(最小二乗法)
さて、肝心の誤差の計算ですが、
それぞれのデータの誤差(u_i)の二乗和が最小になるようなβ_1とβ_0を算出する、最小二乗法という方法を用いて行います。
$$\sum_{i=1}^{n}u_i^2 = \sum_{i=1}^{n}(y_i - (β_0 + β_1x_i))^2$$
しかし、この公式で求められたβ_1とβ_2はあくまで実際のデータ値から求めたものなので、真の回帰式で求められるβ_1とβ_2とは微妙に異なり、推定された値であるため偏回帰係数と呼ばれます。
偏回帰係数
ggると、回帰分析において得られる回帰方程式の各説明変数の係数のこと。とある。
今回のデータで解った事
ここまでの結果をグラフ化するとこうなります。
身長と体重がある程度の相関関係にあることが見て取れますね。
結論
美味しいから大丈夫、ではない
身長と体重は相関関係にある。(身長が高くなると体重も増える)
この回帰分析という手法は、実際にAIに機械学習をさせた時に学習結果が実際に推定される値と乖離していないかどうかなどを調べる際にも使用されます。そのうち機械学習を使って何かしてみたいって人は単語だけでも覚えておくと役立つのではないでしょうか。ほんとか?
それはそれとしてU149の放送が待ち遠しいですね・・・。
記事作成:K&Q