スプレッドシートのINTERCEPT関数の使い方|回帰直線のy切片を求める

スポンサーリンク

「広告費ゼロの状態でも、ベースの売上はいくらあるんだろう?」「回帰式の切片って、具体的にどう求めるの?」

こんなふうに、データの起点となる基準値を知りたいときってありますよね。SLOPE関数で傾きを求めても、切片がなければ予測式は完成しません。

そんなときに使えるのがINTERCEPT関数です。この記事では基本の書き方からy切片の読み取り方、SLOPE・CORREL・FORECAST関数との連携まで解説します。

INTERCEPT関数とは?回帰直線のy切片を求める関数

INTERCEPT関数(読み方: インターセプト関数)は、2つのデータセットから回帰直線のy切片を返す統計関数です。「INTERCEPT」は英語の「intercept(切片・交点)」が由来です。

回帰直線とは、散布図に描かれた点の並びに最もフィットする直線のことです。y切片とは、この直線がy軸と交わる点、つまりx=0のときのyの値を意味します。

たとえば、月ごとの広告費(x)と売上(y)のデータがあるとします。INTERCEPT関数の結果が「28.3」なら、広告費がゼロでもベースの売上が約28.3万円あるという意味です。

INTERCEPT関数にできることをまとめると、次のとおりです。

  • 2つのデータ間の回帰直線のy切片を求める
  • x=0のときのyの推定値(データの基準値)を把握する
  • SLOPE関数と組み合わせて回帰式(y = ax + b)を作る
  • CORREL関数で相関を確認したうえで予測に活用する

NOTE

INTERCEPT関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、動作は同じです。

INTERCEPT関数の書き方(構文と引数)

基本構文

=INTERCEPT(データ_y, データ_x)

カッコの中に、y切片を求めたい2つのデータ範囲を指定します。

引数の説明

引数必須/任意説明
データ_y必須従属変数のデータ範囲(例: 売上データ)
データ_x必須独立変数のデータ範囲(例: 広告費データ)

引数はたった2つだけなのでシンプルですよね。SLOPE関数と同じで、yを先、xを後 に指定します。「結果(y)が先、原因(x)が後」と覚えてください。

WARNING

データ_yとデータ_xのデータ数は同じにしてください。データ数が異なると #N/A エラーになります。

TIP

範囲内の文字列・TRUE/FALSE・空白セルは自動的に無視されます。ただし、数値としての「0」は計算の対象になります。

INTERCEPT関数の基本的な使い方

実際にINTERCEPT関数を使ってみましょう。

あるお店で6か月分の「広告費(万円)」と「売上(万円)」を記録したとします。

 A列(月)B列(広告費)C列(売上)
2行目4月10150
3行目5月15200
4行目6月20280
5行目7月25310
6行目8月30390
7行目9月35450

y切片の値を求める

=INTERCEPT(C2:C7, B2:B7)

結果は約 28.3 になります。これは「広告費がゼロでも、ベースの売上が約28.3万円ある」ことを表しています。

y切片の読み取り方

y切片は「xが0のときのyの推定値」です。実務での読み取り方をまとめます。

切片の値意味
正の値x=0でもyにベースラインがある広告なしでも売上28万円
負の値xがある程度ないとyが発生しない一定の投資が必要
0に近いxとyがほぼ比例関係広告なし=売上なし

TIP

y切片はあくまで統計的な推定値です。実際にx=0の状態が観測されていない場合、切片の値をそのまま「広告費ゼロの売上」と解釈するのは注意が必要です。データの範囲外への外挿には限界があることを覚えておいてください。

INTERCEPT関数の実践的な使い方・応用例

SLOPE関数と組み合わせて回帰式を作る

INTERCEPT関数だけではy切片しかわかりません。SLOPE関数と組み合わせると、回帰式が完成します。

回帰式は y = 傾き x x + 切片 です。

=SLOPE(C2:C7, B2:B7)      → 約 12.1(傾き)
=INTERCEPT(C2:C7, B2:B7)  → 約 28.3(切片)

この回帰式は y = 12.1 x x + 28.3 です。たとえば広告費を40万円(x=40)に増やした場合の売上予測は、12.1 x 40 + 28.3 = 約512万円と計算できます。

月別売上のベースラインを把握する

月番号をx、売上をyとしてy切片を求めると、トレンド開始時点の売上水準がわかります。

 A列(月番号)B列(売上)
2行目1320
3行目2345
4行目3360
5行目4390
6行目5410
7行目6440
=INTERCEPT(B2:B7, A2:A7)

結果は約 297.1 です。「トレンド開始時点の売上水準は約297万円」と読み取れます。SLOPE関数の結果(約23.7)と合わせると「月あたり約23.7万円ずつ成長し、起点は約297万円」と報告できますね。

FORECAST関数で予測値を直接求める

「回帰式を手で計算するのはめんどう」というときはFORECAST関数が便利です。SLOPE・INTERCEPTの計算を内部で自動的に行い、予測値を直接返してくれます。

=FORECAST(40, C2:C7, B2:B7)

広告費40万円のときの売上予測が一発で出ます。結果は上の回帰式と同じ約512万円です。

TIP

FORECAST関数を使えばSLOPE・INTERCEPTを個別に求めなくても予測ができます。ただし「傾きと切片の値を個別に把握したい」場合はSLOPE・INTERCEPTを使い分けてください。

CORREL関数で相関を確認してからINTERCEPTを使う

INTERCEPT関数は「2つのデータに関連がある」前提でy切片を求めます。しかし、関連がないデータでもy切片は計算されてしまいます。

そこで、CORREL関数先に相関の強さを確認するのがおすすめです。

=CORREL(C2:C7, B2:B7)

相関係数が0.7以上(または-0.7以下)なら相関が強いと判断できます。この場合はINTERCEPT関数の結果を信頼してベースライン値として活用できます。

相関係数が0.3程度の場合、INTERCEPT関数でy切片は出ますが、その値の信頼性は低くなります。「データ分析の手順」として覚えておくと便利ですよ。

ステップ使う関数確認すること
1. 相関確認CORREL関数相関係数が0.7以上か
2. 傾きを求めるSLOPE関数xが1増えたときのy変化量
3. 切片を求めるINTERCEPT関数x=0のときのy値
4. 予測するFORECAST関数指定したxに対するy予測値

よくあるエラーと対処法

#N/Aエラー

INTERCEPT関数で最もよく見るエラーです。

原因対策
データ_yとデータ_xの行数が異なるセル範囲の行数を揃える

たとえば =INTERCEPT(C2:C7, B2:B10) のように行数がずれていると発生します。範囲を確認してください。

#DIV/0!エラー

以下の原因が考えられます。

原因対策
数値データが1つしかない2つ以上の数値データを指定する
xのデータがすべて同じ値データにばらつきがあるか確認する

xがすべて同じ値だと、回帰直線を引くための分母が0になります。データ入力のミスがないか確認してください。

TIP

エラーが表示されると困る場合は、IFERROR関数で囲むとスマートです。=IFERROR(INTERCEPT(C2:C7, B2:B7), "データ不足") のように書けます。

SLOPE関数との違い・関連する統計関数

SLOPE関数との違い

INTERCEPT関数とペアで使うのがSLOPE関数です。

項目INTERCEPTSLOPE
戻り値回帰直線のy切片(b)回帰直線の傾き(a)
意味x=0のときのyの値xが1増えたときのy変化量
構文=INTERCEPT(データ_y, データ_x)=SLOPE(データ_y, データ_x)
回帰式y = a x x + by = a x x + b

この2つを組み合わせると、回帰式 y = ax + b が完成します。

関連する統計関数の一覧

関数説明INTERCEPT関数との関係
SLOPE関数回帰直線の傾きを求めるINTERCEPTとペアで回帰式を作る
CORREL関数相関係数を求めるINTERCEPTの前に相関の強さを確認する
FORECAST関数線形予測値を返すSLOPE+INTERCEPTの計算を一括で行う
AVERAGE関数平均値を求めるデータの平均値を確認する
STDEV関数標準偏差を求めるデータのばらつきを確認する
RSQ関数決定係数を返す回帰直線の当てはまりの良さを数値化する

まとめ

INTERCEPT関数は、2つのデータセットから回帰直線のy切片を返す関数です。

この記事のポイント

  • 構文は =INTERCEPT(データ_y, データ_x) で、yを先・xを後に指定する
  • 戻り値はy切片(x=0のときのyの推定値)
  • SLOPE関数と組み合わせて回帰式 y = ax + b を作れる
  • FORECAST関数を使えば予測値を直接計算できる
  • 使う前にCORREL関数で相関の強さを確認するのがおすすめ

関連する統計関数

INTERCEPT関数の使い方がわかったら、以下の関数もあわせて覚えてみてください。データ分析の幅が広がりますよ。

タイトルとURLをコピーしました