「F値は出たけど、p値はどうやって求めればいいの?」。スプレッドシートでF検定や分散分析をしていると、こんな場面にぶつかりますよね。
F.DIST関数で 1 - F.DIST(x, df1, df2, TRUE) と書けば求められますが、少し面倒です。もっと直接的に右側確率を返してくれる関数があれば便利ですよね。
そこで使うのがF.DIST.RT関数です。この記事ではGoogleスプレッドシートでのF.DIST.RT関数の使い方を、構文から実務活用まで解説します。
スプレッドシートのF.DIST.RT関数とは
F.DIST.RT関数(読み方: エフ・ディスト・アールティー関数)は、F分布の右側確率を返す関数です。「RT」は「Right-Tailed(右側)」の略で、指定したF値よりも大きな値が出る確率を直接求められます。
F分布(エフぶんぷ)は「2つのグループの分散の比」を評価するための分布です。0以上の値しか取らず、右に裾を引く非対称な形が特徴ですよ。
F.DIST.RT関数にできることをまとめると、次のとおりです。
- F検定のp値を直接求める(等分散かどうかの判定)
- 分散分析(ANOVA)のp値を計算する
- 回帰分析のF値から有意性を判定する
- 臨界値との比較なしにp値で直接判断できる
NOTE
F.DIST.RT関数はGoogleスプレッドシートの全バージョンで使えます。ExcelでもExcel 2010以降で同名の関数が利用できます。
基本構文と3つの引数
=F.DIST.RT(x, 自由度1, 自由度2)
カッコの中に3つの引数を指定します。F.DIST関数と違い、累積/密度を切り替える4番目の引数はありません。常に右側の累積確率を返します。
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| x | 必須 | F分布で評価する数値(0以上) |
| 自由度1(degrees_freedom1) | 必須 | 分子の自由度。1以上の正の整数 |
| 自由度2(degrees_freedom2) | 必須 | 分母の自由度。1以上の正の整数 |
TIP
自由度の求め方はF検定と分散分析で異なります。F検定では「分子 = サンプル数1 – 1」「分母 = サンプル数2 – 1」です。分散分析では「分子 = グループ数 – 1」「分母 = 全データ数 – グループ数」で求めます。小数を渡した場合は整数部分だけが使われます。
F.DISTとの関係・等価式
F.DIST.RT関数は、F.DIST関数の累積確率を1から引いた値と同じ結果を返します。
=F.DIST.RT(3.49, 3, 20)
=1 - F.DIST(3.49, 3, 20, TRUE)
どちらも約0.0340を返します。F.DIST.RTのほうが数式が短くて済みますね。
検定のp値を求めるときは右側確率が必要です。F.DIST.RTを使えば 1 - ... の計算が不要になるので、ミスも減らせますよ。
F.DIST.RT関数の基本的な使い方
まずはシンプルな例でF.DIST.RT関数の動きを確認しましょう。
自由度(5, 20)のF分布で、xの値を変えたときの右側確率を見てみます。
| x | F.DIST.RT(x, 5, 20) | 意味 |
|---|---|---|
| 1 | 0.4437(44.4%) | xより大きい値が出る確率は約44% |
| 2 | 0.1183(11.8%) | xより大きい値が出る確率は約12% |
| 2.71 | 0.0499(5.0%) | 有意水準5%の臨界値付近 |
| 4 | 0.0103(1.0%) | かなり珍しい値 |
| 5 | 0.0033(0.3%) | 非常に珍しい値 |
xが大きくなるほど右側確率は小さくなります。これは「大きなF値が偶然出る確率は低い」ということです。
F検定の判定基準はシンプルです。
- p値 < 0.05(有意水準5%)→ 統計的に有意(分散に差がある)
- p値 >= 0.05 → 有意な差があるとはいえない
この判定に使う「p値」こそがF.DIST.RT関数の戻り値ですよ。
実務活用3パターン
F.DIST.RT関数の基本がわかったところで、実務で使える3つのパターンを紹介します。
等分散性のF検定――2グループのばらつきに差があるか判定する
「拠点Aと拠点Bの売上のばらつきに差があるか」を判定するのがF検定です。t検定の前提確認としてよく使われます。
拠点A(10件)と拠点B(12件)の売上データがあるとします。分散を計算した結果、分散A = 250、分散B = 100 だったとします。
F値は「大きいほうの分散 / 小さいほうの分散」で求めます。
F値 = 250 / 100 = 2.5
自由度1 = 10 – 1 = 9、自由度2 = 12 – 1 = 11 です。
=F.DIST.RT(2.5, 9, 11)
結果は約0.0808です。有意水準5%(0.05)を超えているので、「ばらつきに有意な差があるとはいえない」と判断できます。等分散を仮定したt検定を使ってよいということですね。
TIP
データ範囲がそのまま使えるなら、F.TEST関数もおすすめです。
=F.TEST(A2:A11, B2:B13)と書くだけで、分散比やF値を自分で計算しなくてもp値が返ります。
一元配置分散分析(ANOVA)――3グループ以上の平均に差があるか調べる
「3つの店舗の売上平均に差があるか」を調べるのが分散分析(ANOVA: Analysis of Variance)です。
店舗A・B・Cの月間売上(各5件ずつ、合計15件)を分析する例です。分散分析表を作成した結果、次の値が得られたとします。
| 変動要因 | 変動 | 自由度 | 分散 |
|---|---|---|---|
| グループ間 | 1200 | 2 | 600 |
| グループ内 | 2400 | 12 | 200 |
F値 = グループ間分散 / グループ内分散 = 600 / 200 = 3.0 です。
=F.DIST.RT(3.0, 2, 12)
結果は約0.0876です。有意水準5%を超えているので、「3店舗の平均に有意な差があるとはいえない」となります。
有意水準10%なら有意になるレベルです。サンプルを増やして再検証するのも一つの方法ですよ。
回帰分析の有意性検定――モデル全体が意味を持つか確認する
回帰分析で「このモデルは統計的に有意か」を判断するときにもF値を使います。
説明変数3つ・サンプル数30の重回帰分析でF値が5.2だったとします。
=F.DIST.RT(5.2, 3, 26)
自由度1 = 説明変数の数 = 3、自由度2 = 30 – 3 – 1 = 26 です。
結果は約0.0062です。有意水準5%を大きく下回るので、「この回帰モデルは統計的に有意」と判断できますね。
F分布関連関数との使い分け
Googleスプレッドシートには、F分布に関連する関数がいくつかあります。用途に応じて使い分けましょう。
| 関数 | 用途 | 特徴 |
|---|---|---|
| F.DIST | 左側累積確率または確率密度を返す | CDF/PDFを切り替え可能(TRUE/FALSE) |
| F.DIST.RT | 右側累積確率を返す | p値の算出に直結。引数3つでシンプル |
| F.INV | 確率からF値を逆算する(左側) | F.DISTの逆関数 |
| F.INV.RT | 確率からF値を逆算する(右側) | 有意水準から臨界値を直接求められる |
| F.TEST | 2つのデータ範囲でF検定のp値を返す | 分散比の計算が不要 |
使い分けのポイントはこちらです。
- F検定のp値を求めたい → F.DIST.RT(本記事の主役)
- 左側の累積確率やグラフの密度が必要 → F.DIST
- 臨界値を求めたい → F.INV.RT(例: 有意水準5%・自由度(3, 20)の臨界値 = 3.10)
- データ範囲から直接F検定したい → F.TEST
他の分布の右側確率関数との比較
F.DIST.RT以外にも、右側確率を返す統計関数があります。
| 関数 | 分布 | 主な用途 |
|---|---|---|
| F.DIST.RT | F分布 | 分散の比較・分散分析 |
| T.DIST.RT | t分布 | 少数サンプルの平均差の片側検定 |
| CHISQ.DIST.RT | カイ二乗分布 | 適合度検定・独立性検定 |
どの関数も「検定統計量が大きいほどp値は小さくなる」という点は共通です。違いは扱うデータの種類ですよ。
- 分散(ばらつき)を比べたい → F.DIST.RT
- 平均の差を検定したい → T.DIST.RT
- カテゴリデータの偏りを調べたい → CHISQ.DIST.RT
よくあるエラーと対処法
F.DIST.RT関数でつまずきやすいポイントをまとめました。
xに負の値を指定して #NUM! エラー
F分布は0以上の値しか取りません。xに負の値を渡すと #NUM! エラーになります。
=F.DIST.RT(-1, 3, 20) → #NUM! エラー
F値は「分散の比」なので、必ず0以上になります。負の値が入っている場合は計算元のデータを確認してくださいね。
自由度に1未満を指定して #NUM! エラー
自由度1・自由度2はどちらも1以上の正の整数でなければなりません。0を指定すると #NUM! エラーになります。
=F.DIST.RT(2, 0, 20) → #NUM! エラー
引数に文字列を渡して #VALUE! エラー
数値であるべき引数にテキストが入ると #VALUE! エラーになります。セル参照を使うときは、参照先が数値であることを確認しましょう。
=F.DIST.RT("abc", 3, 20) → #VALUE! エラー
分散比の大小を逆にしてしまう
F検定では「大きい分散 / 小さい分散」が原則です。逆にするとF値が1未満になり、右側確率が大きくなって検定の感度が落ちます。
どちらの分散が大きいかを先に確認してから計算してくださいね。
関数名のスペルミスで #NAME? エラー
F.DIST.RT のピリオドが抜けたり、FDISTRT と書いたりすると #NAME? エラーになります。ピリオドを2つ含む F.DIST.RT が正しい綴りです。
まとめ
F.DIST.RT関数は、F分布の右側確率(p値)を直接返す関数です。
- 引数は3つ(x, 自由度1, 自由度2)。累積/密度の切り替えは不要
1 - F.DIST(x, df1, df2, TRUE)と同じ結果を、より短い数式で求められる- F検定(等分散性の判定)や分散分析(ANOVA)のp値計算に使える
- p値が有意水準(通常5%)を下回れば「統計的に有意」と判定する
- xに負の値や自由度に0を渡すと
#NUM!エラーになる - 関連関数として、逆算にはF.INV.RT、データから直接F検定するにはF.TESTが便利
F検定や分散分析でp値が必要になったら、まずF.DIST.RT関数を使ってみてください。1 - F.DIST(...) の計算が不要になるので、数式がすっきりしますよ。
