Excelで最小二乗法の直線を出す方法|関数と近似曲線
※写真はイメージです
やり方はこれだけ
傾き =SLOPE(yの範囲, xの範囲) / 切片 =INTERCEPT(yの範囲, xの範囲)Excelで最小二乗法の直線(y=ax+b)を出すには、傾きはSLOPE、切片はINTERCEPTを使います。グラフで見たいときは、散布図を作って「近似曲線の追加」→「線形近似」→「グラフに数式を表示する」にチェックすれば、同じ式がグラフの上に出ます。
この図の表をExcelファイルでダウンロード(問題と答えのシートつき)
最小二乗法とは
ばらばらに並んだ点に、いちばんよく合う直線を引く計算のしかたです。それぞれの点と直線の「たての距離」を2乗して足した合計が、いちばん小さくなる直線を選びます。Excelの関数も、グラフの近似曲線も、中ではこの計算をしています。
関数で出す
| 出したいもの | 関数 | この例 |
|---|---|---|
| 傾き(a) | =SLOPE(B2:B6,A2:A6) | 0.94 |
| 切片(b) | =INTERCEPT(B2:B6,A2:A6) | 7 |
| 傾きと切片をまとめて | =LINEST(B2:B6,A2:A6) | 0.94 と 7 |
| 当てはまりのよさ(決定係数R²) | =RSQ(B2:B6,A2:A6) | 約0.97 |
| x=60のときの予測 | =FORECAST.LINEAR(60,B2:B6,A2:A6) | 63.4 |
yの範囲(結果)を先、xの範囲(原因)を後に書くのがポイントです。逆にすると別の直線になります。
グラフで見る(散布図と近似曲線)
- 2つの列を選んで「挿入」→「散布図」
- 点を右クリック →「近似曲線の追加」
- 「線形近似」を選び、「グラフに数式を表示する」「グラフにR-2乗値を表示する」にチェック直線と「y = 0.94x + 7」「R² = 0.9701」がグラフに出ます。
うまくいかないとき
1SLOPEの答えがグラフの式とちがう
yとxの範囲を逆に入れています。
直し方SLOPE(yの範囲, xの範囲) の順にします。
2#DIV/0! になる
xの値が全部同じか、数字が1つしかありません。
直し方xの範囲に、ちがう値が2つ以上あるか確かめます。
サンプルファイルで試す
saisho-nijo.xlsx をダウンロード(無料・登録なし)
よくある質問
Excelで最小二乗法を使うには?
傾きはSLOPE、切片はINTERCEPTで出します。散布図の近似曲線(線形近似)でも同じ式が出ます。
決定係数(R²)を出すには?
RSQ関数か、近似曲線の「グラフにR-2乗値を表示する」で出します。
LINEST関数とSLOPEのちがいは?
SLOPEは傾きだけ、LINESTは傾きと切片(と決定係数など)をまとめて返します。
一緒に覚えたい関数・操作
このページについて
操作の説明は Microsoft 365 の日本語版Excel(Windows)に合わせています。図はこのサイトで作ったもので、表の会社名・商品名・人名は架空です。運営者情報