散布図から重回帰分析へ!回帰直線と誤差を理解するデータ分析入門
はじめに:データ分析で結果を予測する力
現代のビジネスや研究において、データに基づいて未来を予測したり、現状の要因を分析したりするスキルは非常に重要です。売上を上げるためにはどの広告媒体が効果的か、気温の変化が商品の需要にどう影響するかなど、私たちが知りたい疑問の多くはデータ分析によってヒントを得ることができます。この記事では、データの関係性を視覚的に捉える「散布図」から出発し、2つの変数の関係を数式化する「回帰直線」、そして複数の要因を同時に分析する「重回帰分析」までを順を追って解説します。また、予測につきものの「誤差」にどう向き合うべきかについても詳しく掘り下げます。
この記事を読むことで、データを単なる数字の羅列から、意思決定のための強力な根拠へと変換する基礎知識が身につきます。
目次
散布図と回帰直線:2変数の関係を可視化する
散布図とは何か?
散布図は、2つの変数(例えば「気温」と「アイスクリームの売上」)のデータを、縦軸と横軸にとった座標平面上に点で打ったグラフです。散布図を描くことで、2つのデータ間にどのような関係(相関)があるのかを直感的に把握することができます。点が右肩上がりに集まっていれば「正の相関」、右肩下がりに集まっていれば「負の相関」があると考えられます。まずはデータを散布図にプロットし、全体的な傾向を視覚的に確認することが、すべてのデータ分析の第一歩となります。
単回帰分析と回帰直線の導出
散布図で全体的な傾向を掴んだら、次はその関係性を数式で表すことを試みます。これを「単回帰分析」と呼びます。単回帰分析では、ある変数(説明変数、原因となるデータ)から別の変数(目的変数、結果となるデータ)を予測するための直線を引きます。この直線を「回帰直線」と呼びます。
回帰直線の式は一般的に次のように表されます。
$$ y = eta_0 + eta_1 x $$
ここで、\( y \) は予測したい目的変数、\( x \) は説明変数を表します。また、\( eta_0 \) は切片(\( x = 0 \) のときの \( y \) の値)、\( eta_1 \) は傾き(回帰係数と呼ばれ、\( x \) が1単位増えたときに \( y \) がどれだけ増えるか)を示します。
この最適な直線を引くために、一般的には「最小二乗法」という手法が用いられます。これは、実際のデータ点と回帰直線との縦方向のズレ(誤差)の2乗の和を最も小さくするように、切片と傾きを決定する方法です。
重回帰分析へ:複数要因で結果をより正確に予測する
重回帰分析の基本的な考え方
現実世界の問題は、単一の要因だけで決まることは稀です。例えば「飲食店の売上」を予測する場合、単回帰分析のように「駅からの距離」だけで予測するよりも、「駅からの距離」「店舗の面積」「周辺の競合店舗数」など、複数の要因(説明変数)を組み合わせた方が、より精度の高い予測が可能になります。このように、2つ以上の説明変数を用いて目的変数を予測・分析する手法を「重回帰分析」と呼びます。
重回帰分析のモデル式は以下のように拡張されます。
$$ y = eta_0 + eta_1 x_1 + eta_2 x_2 + otag eta_n x_n $$
\( x_1, x_2, otag, x_n \) はそれぞれ異なる説明変数であり、\( eta_1, eta_2, otag, eta_n \) はそれぞれの変数が目的変数に与える影響度(偏回帰係数)を表します。偏回帰係数が大きいほど、その要因が結果に強く影響していることを意味します。
具体例:不動産価格の予測
例えば、マンションの家賃(目的変数)を予測するために、広さ(平米数)、築年数、最寄り駅からの徒歩分数を説明変数として重回帰分析を行ったとします。分析の結果、家賃 = 50000 + 2000 × 広さ – 1500 × 築年数 – 1000 × 徒歩分数 というモデルが得られたとしましょう。この式から、「広さが1平米増えると家賃が2000円上がる傾向にある」「築年数が1年古くなるごとに家賃が1500円下がる傾向にある」といった具体的な洞察を得ることができます。これにより、未知の物件に対しても適正な家賃を推測することが可能になります。
誤差(残差)の評価とモデルの精度
誤差とは何か?なぜ重要なのか
回帰分析を行う上で絶対に避けて通れないのが「誤差(残差)」の概念です。回帰直線はあくまでデータの傾向を表す「予測値」であり、実際の観測値とは必ずズレが生じます。観測値と予測値の差を「残差(または誤差)」と呼びます。
$$ e_i = y_i – ar{y}_i $$
ここで、\( e_i \) は \( i \) 番目のデータの誤差、\( y_i \) は実際の観測値、\( ar{y}_i \) はモデルによる予測値を意味します。予測モデルの目的は、この誤差全体をなるべく小さくすることです。もし誤差に特定の偏り(例えば、値が大きくなるほど誤差も極端に大きくなるなど)がある場合、その回帰モデルは適切ではなく、別の分析手法を検討する必要があるかもしれません。
決定係数による精度の評価
作成した回帰モデルがどれくらいデータをうまく説明できているかを示す指標として「決定係数(\( R^2 \))」がよく使われます。決定係数は0から1までの値を取り、1に近いほどモデルの当てはまりが良い(予測精度が高い)ことを示します。
$$ R^2 = 1 – rac{ ext{残差平方和}}{ ext{全体のばらつき}} $$
ただし、重回帰分析においては、無意味な説明変数を追加するだけでも決定係数が大きくなってしまうという性質があります。そのため、変数の数でペナルティを与えた「自由度調整済み決定係数」を使用するのが一般的です。
データ分析で陥りやすい落とし穴と注意点(失敗例)
回帰分析は強力ですが、盲目的に使うと思わぬ失敗を招きます。以下の点に注意してください。
- 相関関係と因果関係の混同:散布図や回帰分析で強い関係が見られても、それが直ちに「Aが原因でBが起きた」という因果関係を証明するわけではありません。第三の要因(交絡因子)が潜んでいる可能性があります。
- 外れ値の影響:最小二乗法は、極端に外れたデータ(外れ値)の影響を大きく受けてしまいます。事前に散布図を確認し、入力ミスや異常値がないかデータクレンジングを行うことが不可欠です。
- 多重共線性(マルチコ):重回帰分析において、説明変数同士の相関が強すぎる(例:「体重」と「BMI」を両方入れるなど)と、計算が不安定になり、係数の解釈ができなくなります。変数の選択には注意が必要です。
すぐに使える!回帰分析チェックリスト
実際に分析を始める前に、以下のステップを確認できるチェックリストを活用してください。
- 目的の明確化:何を予測したいのか(目的変数)、何が影響しそうか(説明変数)をリストアップしたか。
- データの可視化:すべての変数についてヒストグラムや散布図を作成し、分布や外れ値を確認したか。
- 欠損値の処理:空白のデータに対する対応(除外、平均値代入など)を決めたか。
- 多重共線性の確認:説明変数同士の相関行列を確認し、相関が高すぎるペアを一方から除外したか。
- モデルの評価:自由度調整済み決定係数や残差プロットを確認し、モデルの妥当性を評価したか。
よくある質問(FAQ)
Q1: 散布図で点がバラバラで何の規則性も見えません。どうすればいいですか?
A1: 相関関係がない可能性があります。その場合、無理に直線で当てはめても意味がありません。別の要因(変数)を探すか、データを層別化(例えば男女別や年代別など)して再度プロットし直すと、隠れた傾向が見えることがあります。
Q2: 単回帰分析と重回帰分析はどのように使い分ければよいですか?
A2: 影響を与える主要な要因が1つであることが明白な場合や、まずは最も強い要因との関係をシンプルに見たい場合は単回帰分析を使います。現実の複雑な事象をより高精度で予測・要因分析したい場合は重回帰分析を使用します。ただし、変数を増やしすぎるとモデルが複雑になりすぎるためバランスが重要です。
Q3: 決定係数(R^2)はどれくらいあれば「良いモデル」と言えますか?
A3: 分野によって異なります。物理学などの精密な実験データでは0.9以上が求められることもありますが、人間の行動やビジネスデータ(マーケティングなど)では、ノイズが多いため0.5〜0.7程度でも実用的に価値があるモデルとみなされることが多いです。
まとめ
データ分析における散布図の役割から、回帰直線による関係性の数式化、そして複雑な事象を紐解く重回帰分析までを解説しました。予測には必ず誤差が伴いますが、それを正しく評価しモデルを改善していくプロセスこそがデータ分析の醍醐味です。まずは手元のデータを散布図に描き、シンプルな回帰分析から挑戦して、データを武器にする第一歩を踏み出してみましょう。
Learning Tools
記事を検索したい方はここから!
記事を検索
関連記事や、今の内容に近いテーマをすぐに検索できます。
例: AI / 勉強法 / プログラミング / 塾講師