直線回帰で紐解くXとYの予測物語【ChatGPT統計解析】
直線回帰(単回帰)分析は、単一の説明変数Xを使用して目的変数Yを予測する統計手法です。この分析では、XとYの関係を直線的なモデルで表し、最小二乗法を用いてこの直線のパラメータ(傾きとY切片)を決定します。傾きとY切片は、観測データとモデル予測値との間の残差平方和を最小化することで計算されます。このプロセスでは、Yが正規分布に従い、等分散性を持つことが前提とされています。直線回帰分析は、Yの予測にXをどのように利用できるかを明らかにすることで、変数間の関係性を理解するのに役立ちます。
▼▼▼▼▼▼▼▼
チャンネル登録はこちら
直線回帰(単回帰)分析とは
例えば35歳のときの血圧が135mmHg、45歳のときの血圧が145mmHgであったとします。
40歳のときの血圧の値はないのですが、もしあったらいくらだと予想しますか。
この予想は簡単ですね。暗算でも140mmHgと求まります。
実は、無意識のうちに頭の中で、
血圧=1×年齢+100
という計算をしています。
この計算により、本来ない40歳時の血圧を140mmHgと予測することができるのです。
この場合、年齢をX、血圧をYとすると、
X、Yがいずれも連続変数(連続型確率変数)であるとき、
Y=1×X+100
という式で、XからYを予測することを直線回帰分析といいます。
Xのことを説明変数、Yのことを目的変数といいます。
説明、目的の意味は、Yを予測することを目的とした場合、これをXで説明できるか、という意味合いがあります。
Y=1×X+100
というのはグラフにすると直線になります。1が直線の傾き、100が直線とY軸との交点です。Y切片ともいいます。
ここで注意しなければいけないのは、直線回帰分析は、XとYの関係を調べる手法ではありません。
関係を調べる手法としては、別途相関分析というものがあります。
回帰分析ではXとYは対等ではないということです。
Xが与えられて、はじめてYが予測できるのです。
そういう意味でXのことを独立変数、Yのことを従属変数と呼ぶこともあります。
上の例は2点で予測する極端な例ですが、実際の回帰分析では、もっとたくさんの観測値を扱います。
直線回帰分析の目的は、直線を決定することです。つまり、傾きとY切片を求めることです。これら傾き、Y切片のことは回帰係数と呼びます。
傾きをb1、Y切片をb0とすると、
Y=b0+b1×X
という一般式で表されます。
このb0、b1は標本(観測値)から計算することが可能な値です。
あくまで標本から得られた値であり、真の値は神様しかわかりません。
真の回帰式は、
Y=β0+β1×X
と、回帰係数をギリシア文字で表します。
正規性と等分散性
回帰分析が可能とするための条件が2つあります。
Y=β0+β1×X
において、
@Yが正規性が成立する(正規分布をする)
AYに等分散性が成立する
ということです。
とはいっても、標本サイズが小さいうちは、本当に正規性があるのか等分散性があるのかはわかりません。
その段階でも、回帰分析を行って構いません。
最小2乗法:残差の平方和を最小化
さて、直線を決定するにはどうすればよいでしょうか。
直線は、なるべく観測値にあてはまっている方がよいと考えられます。
では、観測値と直線のあてはまりがよいとはどういうことでしょうか。
それは、同じXにおける観測値Yと、直線上の値Y-hatが、なるべく近いということです。
YとY-hatの差のことを、残差と呼んでいます。
残差=Y−Y-hat
残差がなるべく小さくなるように直線を決定する、ということです。
それも、一観測値の残差ではなく、全観測値の残差全体をなるべく小さくする必要があります。
では、実際どうすればよいでしょうか。
観測値は複数あります。そして、直線の上側にも、下側にも観測値があります。
直線の上側に観測値があるときは、残差はプラスになります。
直線の下側に観測値があるとくは、残差はマイナスになります。
単純に足し算すると、プラスとマイナスが打ち消されてしまいます。
そこで必要な発想が、「2乗する」という発想です。
2乗してからたすことにより、マイナスとプラスを打ち消しあうのを回避でき、純粋にその大きさだけを評価できます。
残差を2乗して足し算する、すなわち残差平方和を計算します。
この残差平方和を最小にすることにより、最適な直線を決定します。
これがすなわち最小2乗法です。
残差平方和は、回帰係数の2次関数で表されます。縦軸に残差平方和、横軸に回帰係数の一方をとると、下に凸の放物線になります。
さて、下に凸の放物線の場合、最小値はどこにあるでしょう。
言うまでもなくとがった最下部です。
最下部の特徴として、接線の傾きがゼロになります。
接線の傾きは、2次関数を微分すれば求めます。
微分してゼロ、という関係式をつくればよいのです。
直線回帰分析の場合、回帰係数が、b0、b1と2つあります。
したがって、残差平方和をb0、b1の2次式であらわし、これをb0、b1について偏微分すればよいことになります。
これにより、b0、b1を計算することができます。
全体を俯瞰すると、横軸がb0、奥行き軸がb2、縦軸を残差平方和とする放物面になります。
この放物面の最下部に求めたい最小値があります。
この最小値はたった一つしかありません。
この最小値が偏微分で求まれば、回帰係数b0、b1の解も一意に決まります。
回帰分析の中でも直線回帰分析は最も簡単なモデルですが、回帰係数を求めるためにこんな複雑なことをしているのです。
ChatGPTに聞いてみた
プロンプト
あなたは最高のデータサイエンティストです。
直線回帰分析について解説してください。
#制約条件:
サルでもわかる平易な日本語で
文字数は300字程度
ChatGPTの回答
直線回帰分析とは、点々とばらついたデータの間の関係を、一本の直線で説明しようとする方法です。例えば、勉強時間とテストの点数の関係を考えてみましょう。勉強時間が長いほど、テストの点数が高くなると予想されますよね。この関係を直線で表すと、勉強時間を増やすごとに、点数がどれだけ上がるかを予測できるようになります。このとき、直線回帰分析では、実際のデータと直線との差(誤差)が最小になるように、直線の傾きと切片を決めます。傾きはデータの変化の速さを、切片は直線がy軸と交わる点(基本的なスタート地点)を表します。直線回帰分析の良いところは、単純でわかりやすく、実際のデータに基づいて未来を予測する手がかりを提供してくれることです。しかし、すべてのデータがきれいな直線になるわけではないので、使う場面を選ぶ必要があります。この方法は、2つのものの関係をシンプルに理解したいときにとても役立ちますよ。