回帰分析の「回帰」ってどういうことですか?
もともとはある試験で結果が高かったものをもう一度試験すると結果は平均に近づく、という「平均への回帰」効果に由来しているわ。ただ、実際の回帰分析とはあまり関係ないの。
じゃあナイキ分析でもいいじゃないですか。
ナイキはまったく無関係だからだめよ。
こんにちは、Yunです!
データ分析について調べるなかで「回帰分析ってなに?」「単回帰分析と重回帰分析の違いは?」と疑問に感じていませんか?
そんな悩みをお持ちの方に、こちらの記事では回帰分析の基本について解説します!
この記事を読めば、回帰分析のおおよそのイメージがわかります!
回帰分析とはなにか
回帰分析(Regression Analysis)とは、ある結果(y)に対して、ある要因(x)がどのように影響しているかを分析する分析手法です。
回帰分析を用いることで、なんらかの要因xが引き起こす結果(未来)が予測可能になるため、マーケティング分野やAIの機械学習分野で積極的に活用されています。
具体的な回帰分析の式
みなさんが中学生のときに習ったことのある一次関数の知識が、回帰分析では重要になります。
一次関数は以下のような式で表されます。
\(y = ax + b\)
「a」は直線の傾きを表し、「b」は切片を表します。
このとき、xの値に応じてyは変化しますが、a(傾き)とb(切片)は変化しません。
傾き(係数)とは、xが1増えたときにyがどれだけ増えるかという値です。
切片とは、直線がy軸と交わる点をさします。これはxが0のときのyの値ともいえます。
\(y = ax + b\)は、回帰分析では以下のことを意味していると解釈します。
結果 = 要素 × 回帰係数 + 定数項
たとえば、ある飲食店でポテトの販売量がドリンクの販売量にどう関係するかを知りたいとしましょう。ポテトが売れるときはドリンクも売れるはず……、そういう予測のもと、回帰分析をおこないます。
このとき、以下の関係が成り立ちます。
ドリンクの販売量(結果) = ポテトの販売量(要素) × 回帰係数 + 定数項
この式もまた、要素が変化したときに結果がどのように変化するかを表しています。
要素xになんらかの値を入れれば結果yが求められるので、これはつまり回帰分析によって結果(未来)の予測が可能であることを示しています。
未来がわかるなんてすごすぎる!
説明変数と目的変数
データ分析では、身長、年齢、成績など個々のデータのことを変数(Variable)と呼びます。
説明変数(Independent Variable / 独立変数)とは、原因となる変数のことです。その値は分析に使用するほかの変数からの影響を受けません。
目的変数(Dependent Variable / 従属変数)とは、結果となる変数のことです。目的変数の値は説明変数の値しだいで変化します。
回帰分析は要素x(要因x)をもとに結果yを数値で表します。
これはxを用いてyを説明する行為と言いかえることができるので、回帰分析では\(y = ax + b\)のxを「説明変数」、yを「目的変数」と呼びます。
説明変数が原因で、目的変数が結果ですね!
回帰式
説明変数と目的変数の関係を表した式が回帰式(Regression Formula)です。
つまり、\(y = ax + b\)が回帰式のかたちです。
回帰分析とはこの回帰式を求める分析手法をさしますが、求めた回帰式の当てはまりの良さを調べることや、回帰式をもとに今後起こることを予測することもおこなわれます。
回帰分析の目的
回帰分析の2つの目的
回帰分析は大きく以下の2つの目的のために用いられます。
因果関係の推定
たとえば飲食店のドリンクの販売量は、ポテトの販売量以外にも、味の種類、サイズの種類、販売価格などさまざまな変数の影響をうけます。
回帰分析は、これらの変数が知りたい結果にどれくらい影響しているかを個別に調べることが可能です。
これにより、どの要因がもっとも結果に対して重要で、どの要因は無視してもいいものかがわかります。また、各要因が相互に関係しているかどうかも調べることができます。
多くの人の仕事に影響する部分としては、顧客満足度の調査や、商品の訴求ポイントを調べるために因果関係の分析が必要になります。
予測
回帰分析はすでに手元にあるデータを回帰式にあてはめることで、今後の結果の推移を予測することができます。
たとえばある企業が今後設備投資を増やしつづけたら、キャッシュフローがどのように変化するかなどを調べることができます。
回帰分析の種類
回帰分析には大きく線形回帰分析と非線形回帰分析の2種類があります。
線形回帰分析(Linear Regression)の代表的な分析手法は「単回帰分析」と「重回帰分析」です。
非線形回帰分析(Non-Linear Regression)の代表例には「ロジスティック回帰分析」があります。
単回帰分析
単回帰分析(Simple Linear Regression)とは、もっともシンプルな回帰分析のかたちです。
単回帰分析では説明変数xが1つだけ用いられます。
ここまで回帰式の例としてあげてきた\(y = ax + b\)も、単回帰分析の回帰式となっています。
重回帰分析
重回帰分析(Multiple Linear Regression)とは、目的変数が複数ある場合の回帰分析をさします。
前述の「飲食店のドリンクの販売量は、ポテトの販売量以外にも、味の種類、サイズの種類、販売価格などさまざまな変数の影響をうけるはず」という例をふたたび用います。
このとき、ポテトの販売量、味、サイズ、価格がそれぞれ説明変数x1, x2, x3… となります。
回帰式は以下のようになります。
\(y = a_1x_1 + a_2x_2 + a_3x_3 + … a_nx_n + b\)
このときyが目的変数、xが説明変数、aが回帰係数、bが定数項であることは単回帰分析のときと変わりません。nは説明変数が最大いくつあるかを示す自然数です。
ところで、単回帰分析の回帰式は直線をつくる式でしたが、重回帰分析の回帰式は2次元(平面)またはそれ以上の高次元をもつため、そのまま視覚化することは困難です。
複雑に感じられる重回帰分析ですが、それは説明変数の種類が増えただけであり、しくみ自体はそこまで複雑ではありません。
説明変数の種類が増えたぶん、ふつう単回帰分析よりも分析の精度が高くなるため、実際のデータ分析では重回帰分析がひんぱんに用いられます。
現実の現象のほとんどは複数の変数によって引き起こされているわ。
ロジスティック回帰分析
ロジスティック回帰分析は、なにかが発生する確率を予測する目的でよく使われる回帰分析手法です。
線形回帰分析では目的変数yは1を超えた値になりえますが、ロジスティック回帰分析は確率を表すために目的変数の値は0から1(= 0%から100%)のあいだに収まります。
このとき、目的変数yは0か1か、つまり2値で判断できるものでなくてはいけません。2値で判断できるもの、とはたとえば以下のようなものです。
つまり、ほぼなんでも2値で判断できるのですが、ロジスティック回帰分析では多数のデータ群をもとに、どのような特徴をもてば「1」を示す傾向にあるのかを分析します。
ロジスティック回帰分析の回帰式はふつう次のような形の線をつくります。横軸が変動しても、縦軸は0から1のあいだで推移します。
回帰係数
\(y = ax + b\)の回帰係数(= 傾き)は以下の式で表すことができます。
\(\dfrac{S_{xy}}{S_{xx}} = r_{xy}\dfrac{\sqrt{S_{yy}}}{\sqrt{S_{xx}}} = r_{xy}\dfrac{S_y}{S_x}\)
このとき、\(S_x\)と\(S_y\)は標準偏差、\(S_{xx}\)と\(S_{yy}\)は分散、\(S_{xy}\)は共分散、\(r_{xy}\)は目的変数yと説明変数xの相関係数です。
この式を言葉で言いかえると次のようになります。
回帰係数 = xとyの相関係数 × (yの標準偏差 ÷ xの標準偏差)
ちなみに、相関係数を2乗したものは「決定係数」または「寄与率」と呼び、回帰式の当てはまりのよさを表します。
相関係数は-1から1の範囲の値なので正の数のときも負の数のときもありますが、2乗するとかならず正の数になるのであつかいやすくなります。
回帰係数は相関係数をつかって求めるということはわかりました!
回帰係数と相関係数の違い
回帰係数と相関係数はどちらも複数の変数の関係性を数値化したものですが、両者は似て非なるものです。
回帰係数(Regression Coefficient)は1次関数の傾きと同じく、説明変数xが1増えたときに目的変数yがどれくらい影響を受けるか(動くか)を示します。
それに対して相関係数(Correlation Coefficient)は説明変数xと目的変数yの相関の強さを-1から1の範囲で示します。
つまり、相関係数は最小値-1・最大値1ですが、回帰係数は-1未満または1超の値をとることがあります。
また、回帰係数には価格を使ってドリンクの販売量を説明する、のような「向き」があります。ドリンクの販売量から価格を説明しようとすると回帰式の向きは反対になります。
両方向の回帰式の係数の幾何平均を求めると、相関係数を導くことができます。
回帰分析の結果の見方
重決定R2
重決定R2は決定係数や寄与率と同じものです。つまり、回帰式の当てはまりの良さがどれくらいかを示します。
数学的には相関係数(R)を2乗したものであり、0から1の値をとります。1に近いほど回帰式の精度が高いことを示します。
補正R2
補正R2(Adjusted R2)は「自由度調整済み決定係数」とも呼ばれます。
重決定R2は説明変数の数が増えるほど1に近づく性質がありますが、補正R2は自由度(サンプルサイズ – 説明変数の数)で調整されており、かならず重決定R2より小さい値になります。
重決定R2と異なり、説明変数の増加によって偶然に値が大きくなることを防げるので、実際の回帰分析では重決定R2よりも補正R2が重要視されます。
t値とp値
回帰式\(y = ax + b\)の係数aの確からしさ(有意性)を検定した結果が「t値」と「p値」です。
回帰分析では、「a = 0」の場合「y = b」となり、目的変数yと説明変数xが無関係であることになってしまいます。そのため、分析をはじめる前に回帰係数が0ではないことを確認しておかなければいけません。
「回帰係数が0である」などの棄却したい仮説を「帰無仮説」といい、帰無仮説を棄却できるかどうか確かめることを「t検定」といいます。
このt検定により導かれるのが「p値」です。
p値の「p」は「probability(確率)」の頭文字であり、p値が5%未満(p < 0.05)のときに「5%有意で帰無仮説を棄却する」というような言い方をします。
帰無仮説を棄却する水準を「有意水準」といい、一般的にp値が5%未満のときは有意水準を満たしていると考えます。p値が5%であるということは、「この結果は、回帰係数が0ではない状態で導かれた可能性が95%である」ということを意味します。
p値の小ささは、個別の説明変数が目的変数とどれくらい関係しているかを表しています。
t値もp値と同じく説明変数と目的変数の関係性を示しますが、p値とは反対に関係性が強いほど値が大きくなります。具体的には、t値が2以上のときには影響があると考え、2未満のときにはその説明変数は目的変数に影響していないと考えます。
「t値 = 係数 ÷ 標準誤差」で求められるため、係数が大きくなるか標準誤差が小さくなるとt値は大きくなります。
回帰係数と偏回帰係数と標準偏回帰係数
単回帰分析の係数を回帰係数、重回帰分析の係数を偏回帰係数といいます。
単回帰分析の係数である回帰係数は、ここまで説明してきたとおり回帰式の傾きと同義です。
重回帰分析の偏回帰係数(Partial Regression Coefficient)は、単に回帰係数の重回帰バージョンと考えることもできますが、意識すべき特徴もあります。
説明変数が複数ある重回帰分析では、それぞれの変数による説明内容が重複してしまう「冗長性」が生まれることがあります。これは特に、変数間の相関関係が強い場合に起こりやすくなります。
つまりX1がYに与える影響量の一部が、X2がYに与える影響量と重なってしまう状態です。
偏回帰係数はこの冗長性を排除した係数となっています。つまり、偏回帰係数A1は説明変数X1とほかの説明変数との相関を除去したときの、X1とYとの回帰係数です。
標準偏回帰係数(Standard Partial Regression Coefficient)は、偏回帰係数を比較できるように平均0・分散1になるように標準化したものです。
ふつう偏回帰係数は説明変数しだいで大きさや単位が異なります。そのため単純に比べることができないのですが、標準化することで相対化が可能になり、偏回帰係数ごとの目的変数にあたえる影響の大きさを調べることができます。
回帰分析をおこなう際の注意
多重共線性に注意する
重回帰分析では説明変数の数を増やせば増やすほど正確な予測ができるかというと、そうではないという点に注意が必要です。
似たような説明変数を複数使ったときに、分析結果が不正確になることを「多重共線性が生じている」といいます。
多重共線性(Multicollinearity)とは、互いに強い相関関係をもつ変数を用いると適切な結果を得られない性質のことです。
多重共線性が発生した際には、相関関係の強い変数のうち、どちらかを排除して分析し直す必要があります。
誤差
回帰式は直線ですが、それは理論上の線であり、実際のデータ(青丸)は必ず直線外にも存在しています。
データの座標と直線の差が「誤差(Error)」であり、回帰式はふつう誤差がもっとも小さくなるようにして考えます。
具体的には誤差の2乗和を考え、これを最小にする「最小二乗法」という計算法を用います。
誤差を2乗するのは、値が負の数にならないようにするためです。合計値の大きさで回帰式の適合度を確かめるので、負の数が混じっていると正確な大きさを示すことができません。
回帰分析の活用例
AIの機械学習
AIは音声や映像などの大量のデータをもとにそれらを法則化(= モデル化)し、ものの特徴や傾向を判断します。くり返しデータを学習し、判断を自動化するための学習法を機械学習といいます。
機械学習は「教師あり学習」と「教師なし学習」に分かれますが、回帰分析は教師あり学習にあたります。
ある傾向をもった人物がつぎにどのような商品を検索する可能性があるかを予測するなど、「おすすめ」を自動で算出するためのアルゴリズムなどに回帰分析が利用されています。
マーケティング
ここまでの例で紹介したような、購買要因分析やユーザーの動向分析などはすべてマーケティング分野に関係します。
マーケティングにおける回帰分析の活用例は枚挙にいとまがありませんが、たとえば以下のようなものがあります。
医療
医療の研究では、ある病気を発症する患者の特徴から、その病気の原因を回帰分析することもおこなわれています。
そのほか、以下も医療でおこなわれている回帰分析の例です。
教育心理学
個人の特性が将来的な社会的身分や経済的成功と関係するかどうかも、回帰分析によって分析されています。
そのほか、以下のような調査に回帰分析が利用されています。
回帰分析を覚えたら、いろんな場面で役立ちそうですね!