「回帰直線で予測してみたけど、この予測ってどれくらい信頼できるの?」
スプレッドシートでSLOPE関数やFORECAST関数を使って予測値を出したものの、精度が気になることはありませんか。「当たるかどうかは運次第」では、仕事で使うにはちょっと心もとないですよね。
そこで活躍するのが STEYX関数 です。この記事では、スプレッドシートのSTEYX関数の基本構文から標準誤差の読み取り方、関連関数との連携まで解説していきます。
スプレッドシートのSTEYX関数とは?
STEYX関数(読み方: エスティーワイエックス)は、回帰直線に対する標準誤差を返す統計関数です。「STEYX」は「Standard Error of Y for eXpected」の略です。「予測されるyの標準誤差」という意味ですね。
標準誤差とは、回帰直線の予測値と実際のデータがどれくらいズレているかを示す指標です。値が小さいほど予測の精度が高いことを意味します。
たとえば、広告費から売上を予測する回帰直線があるとします。STEYXの値が「10」なら、予測値から上下約10万円の範囲に実際の売上が収まりやすい、というイメージです。
STEYX関数にできることをまとめると、次のとおりです。
- 回帰直線の予測精度を数値で確認できる
- 複数の予測モデルを比較して、より精度の高いほうを選べる
- RSQ関数(決定係数)と組み合わせて予測の信頼性を総合判断できる
- FORECAST関数の予測値にどの程度の誤差があるか把握できる
NOTE
STEYX関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、動作は同じです。
STEYX関数の書き方(構文と引数)
基本構文
=STEYX(データ_y, データ_x)
カッコの中に、標準誤差を求めたい2つのデータ範囲を指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| データ_y | 必須 | 従属変数のデータ範囲(例: 売上データ) |
| データ_x | 必須 | 独立変数のデータ範囲(例: 広告費データ) |
SLOPE関数やINTERCEPT関数と同じく、yを先、xを後 に指定します。「結果(y)が先、原因(x)が後」と覚えてください。
WARNING
データ_yとデータ_xのデータ数は同じにしてください。データ数が異なると
#N/Aエラーになります。また、データ数が3未満の場合は#DIV/0!エラーが返ります。
TIP
範囲内の文字列・TRUE/FALSE・空白セルは自動的に無視されます。ただし、数値としての「0」は計算の対象になりますよ。
STEYX関数の基本的な使い方
実際にSTEYX関数を使ってみましょう。
あるお店で6か月分の「広告費(万円)」と「売上(万円)」を記録したとします。
| A列(月) | B列(広告費) | C列(売上) | |
|---|---|---|---|
| 2行目 | 4月 | 10 | 150 |
| 3行目 | 5月 | 15 | 200 |
| 4行目 | 6月 | 20 | 280 |
| 5行目 | 7月 | 25 | 310 |
| 6行目 | 8月 | 30 | 390 |
| 7行目 | 9月 | 35 | 450 |
標準誤差を求める
=STEYX(C2:C7, B2:B7)
結果は約 11.55 になります。
この「11.55」は、回帰直線の予測値と実際の売上が平均で約11.55万円ズレていることを表しています。売上の平均値(約297万円)に対して約4%の誤差なので、かなり精度の高い予測だと判断できますよ。
標準誤差の読み取り方
STEYX関数の結果は常に0以上の値になります。値の大きさで予測精度を判断しましょう。
| 標準誤差の大きさ | 意味 | 判断 |
|---|---|---|
| 小さい(yの平均に対して5%以下) | 予測値と実測値のズレが小さい | 予測精度が高い |
| 中程度(5〜15%程度) | そこそこのズレがある | 目安として使える |
| 大きい(15%以上) | 予測値と実測値のズレが大きい | 予測の信頼性は低い |
TIP
標準誤差の絶対値だけで判断するのは危険です。売上が数千万円のデータで誤差10万円なら小さいですが、売上が50万円のデータで誤差10万円なら大きいですよね。yの平均値に対する割合で評価するのがポイントです。
STEYX関数の実務活用例
予測モデルの比較に使う
2つの予測モデルがあるとき、どちらがより正確かを比較できます。たとえば「広告費→売上」と「来客数→売上」の精度を見てみましょう。
| D列(来客数) | C列(売上) | |
|---|---|---|
| 2行目 | 80 | 150 |
| 3行目 | 110 | 200 |
| 4行目 | 140 | 280 |
| 5行目 | 155 | 310 |
| 6行目 | 195 | 390 |
| 7行目 | 225 | 450 |
=STEYX(C2:C7, B2:B7) → 約11.55(広告費モデル)
=STEYX(C2:C7, D2:D7) → 結果を比較
値が小さいほうのモデルが売上予測に適しています。こうした比較は、予算配分の根拠としても説得力がありますよ。
SLOPE・INTERCEPTと組み合わせて予測範囲を示す
SLOPE関数とINTERCEPT関数で回帰式を作り、STEYXで予測の誤差幅を添えると、説得力のある報告になります。
=SLOPE(C2:C7, B2:B7) → 12(傾き)
=INTERCEPT(C2:C7, B2:B7) → 約26.67(切片)
=STEYX(C2:C7, B2:B7) → 約11.55(標準誤差)
この結果から「広告費40万円のとき、売上は約507万円(誤差 ±約12万円)」と報告できます。予測値だけでなく誤差の幅も示すことで、相手に判断材料を正しく渡せますよね。
NOTE
より厳密には、標準誤差の約2倍(95%信頼区間)を使います。上の例なら「507 ± 約23万円」が95%の確率で収まる範囲です。ビジネスの報告では、この範囲を添えるのがおすすめです。
よくあるエラーと対処法
| エラー | 原因 | 対処法 |
|---|---|---|
#N/A | データ_yとデータ_xのデータ数が異なる | 範囲の行数をそろえてください |
#DIV/0! | データ数が3未満(2個以下) | 最低3つのデータ点が必要です |
#VALUE! | 引数にセル範囲以外を指定した | 数値データのセル範囲を指定してください |
TIP
データの中に空白セルや文字列が混ざっていてもエラーにはなりません。自動的に無視されます。ただし、無視された結果としてデータ数が3未満になると
#DIV/0!エラーになるので注意してくださいね。
似た関数との違い・使い分け
回帰分析に関連する関数は複数あります。それぞれ役割が違うので、目的に応じて使い分けましょう。
| 関数 | 役割 | 返す値 |
|---|---|---|
| STEYX | 予測の誤差を測る | 標準誤差(0以上の実数) |
| SLOPE | 回帰直線の傾き | xが1増えたときのyの変化量 |
| INTERCEPT | 回帰直線のy切片 | xが0のときのyの値 |
| CORREL | 2つのデータの相関の強さ | -1〜1の相関係数 |
| FORECAST | xの値からyを予測 | 予測値 |
| STDEV | データ全体のばらつき | 標準偏差 |
STEYX関数とSTDEV関数は「ばらつきを測る」点では似ていますが、測る対象が異なります。STDEVはデータ全体のばらつき、STEYXは回帰直線からのばらつき(残差)です。
回帰分析の流れとしては、まずCORREL関数やPEARSON関数で相関を確認します。次にSLOPE・INTERCEPTで回帰式を作り、STEYXで精度を確認するのがおすすめですよ。
まとめ
STEYX関数は、回帰直線の予測精度を数値で確認できる関数です。
- 構文:
=STEYX(データ_y, データ_x)でyを先、xを後に指定 - 戻り値: 標準誤差(値が小さいほど予測精度が高い)
- 活用: 予測モデルの比較、SLOPE・INTERCEPTと組み合わせた予測範囲の提示
- 注意: データ数は最低3つ必要。絶対値ではなくyの平均に対する割合で評価する
FORECAST関数で予測値を出したら、STEYX関数で精度もセットで確認してみてください。予測の信頼性を示せると、報告の説得力がぐっと上がりますよ。
