「t値は出たけど、片側検定のp値はどうやって求めるの?」。スプレッドシートで統計処理をしていると、こんな疑問にぶつかることがありますよね。
両側検定のp値はT.DIST.2T関数で求められますが、片側(右側)のp値を直接返す関数は別にあります。
そんなときに使うのがT.DIST.RT関数です。この記事ではGoogleスプレッドシートでのT.DIST.RT関数の使い方を、基本構文から実務活用まで解説します。T.DIST関数やT.DIST.2T関数との使い分けもあわせて紹介しますよ。
スプレッドシートのT.DIST.RT関数とは
T.DIST.RT関数(読み方: ティー・ディスト・アール・ティー関数)は、t分布の右側確率を返す関数です。「RT」は「Right-Tailed(右裾)」の略で、t分布の右端の面積を求めます。
ひとことでいうと、片側検定(右側)のp値を直接求められる関数です。p値(ピー値)とは「たまたまこの結果が出る確率」のことです。「ある値以上になる確率」を返すので、「AはBより大きいか」のように方向が決まった検定に向いています。
T.DIST.RT関数でできることをまとめると、次のとおりです。
- t統計量と自由度から、右側確率(P(T >= x))を直接求める
- 片側検定のp値をワンステップで取得する
- 両側p値への変換も簡単(2倍するだけ)
NOTE
T.DIST.RT関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、動作は同じです。
T.DIST関数が左側累積確率を返すのに対して、T.DIST.RT関数は右側確率に特化しています。T.DISTのTRUE(累積)で 1 - T.DIST(x, df, TRUE) と書く計算を、1つの関数で済ませられるのが便利なポイントですよ。
T.DIST.RT関数の基本構文と引数
=T.DIST.RT(x, 自由度)
カッコの中に2つの引数を指定します。
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| x | 必須 | t統計量の値(正の数値のみ) |
| 自由度(degrees_freedom) | 必須 | 自由度(1以上の正の整数) |
引数はT.DIST.2T関数と同じく2つだけです。T.DIST関数のようにTRUE/FALSEを指定する必要はありません。
xには正の値だけを渡せます。負の値を指定すると#NUM!エラーになるので注意してください。t統計量がマイナスになった場合はABS()で絶対値に変換しましょう。
=T.DIST.RT(ABS(B2), C2)
こう書けば、t統計量が正でも負でもエラーなく計算できます。
TIP
自由度(データから自由に値を決められる個数)は、1標本t検定ならサンプル数 – 1です。たとえばサンプル10個なら自由度は9になります。小数を渡した場合は整数部分だけが使われますよ。
具体的な使用例|サンプルデータで右側確率を求める
実際のデータを使って、T.DIST.RT関数の使い方を見ていきましょう。
例1: t値と自由度から片側p値を求める
論文や教科書で「t = 2.5、自由度 = 20」と出てきたとします。片側(右側)のp値を求めるにはこう書きます。
=T.DIST.RT(2.5, 20)
結果は約0.0106です。有意水準5%(0.05)を下回っているので、片側検定で有意差ありと判断できます。
ちなみに、両側p値が欲しい場合は2倍すれば求められます。
=T.DIST.RT(2.5, 20) * 2
結果は約0.0212です。T.DIST.2T関数で=T.DIST.2T(2.5, 20)と書いても同じ値になりますよ。
例2: 新教材が旧教材より成績を上げるか検定する
ある学校で新しい教材を導入し、成績が向上したかを確かめたいとします。
- 旧教材クラス: 12人、平均68点、標準偏差8.5
- 新教材クラス: 12人、平均74点、標準偏差7.2
この検定は「新教材のほうが高いか」という方向が決まっているので、片側検定が適切です。
まずt統計量を計算します。AVERAGE関数とSTDEV関数で平均・標準偏差を求めたあと、次の数式でt値を算出します。
=(74 - 68) / (SQRT(((12-1)*7.2^2 + (12-1)*8.5^2) / (12+12-2)) * SQRT(1/12 + 1/12))
結果は約1.8614です。自由度は 12 + 12 – 2 = 22 です。
次にT.DIST.RT関数で片側p値を求めます。
=T.DIST.RT(1.8614, 22)
結果は約0.0381です。有意水準5%を下回っているので、「新教材のほうが成績を上げる効果がある」と統計的に判断できます。
もし両側検定(T.DIST.2T)を使っていたら、p値は約0.0762です。有意水準5%を超えてしまいますね。検定の方向を正しく選ぶことが、結果の解釈に大きく影響するんですよ。
例3: 品質改善の効果を片側検定で確認する
製造ラインの改善後に、不良率が下がったかを検定する場面です。改善前のデータから算出したt値が1.5、自由度が15だったとします。
=T.DIST.RT(1.5, 15)
結果は約0.0771です。有意水準5%を超えているので、「改善効果があるとはいえない」という判断になります。ただし10%水準では有意なので、サンプル数を増やして再検証する価値はありますね。
T.DIST・T.DIST.2Tとの違いと使い分け
Googleスプレッドシートにはt分布関連の関数が複数あります。迷ったときのために整理しておきましょう。
| 関数 | 返す値 | 引数の数 | 主な用途 |
|---|---|---|---|
| T.DIST | 左側累積確率 or 確率密度 | 3つ(x, df, 累積) | 左側確率の計算、グラフ描画 |
| T.DIST.RT | 右側確率 | 2つ(x, df) | 片側検定(右側)のp値 |
| T.DIST.2T | 両側確率 | 2つ(x, df) | 両側検定のp値 |
3つの関数は等価式で変換できます。
T.DIST.RT(x, df) = 1 - T.DIST(x, df, TRUE)
T.DIST.RT(x, df) = T.DIST.2T(x, df) / 2
T.DIST.RT(x, df) = TDIST(x, df, 1)
使い分けのポイントをまとめます。
迷ったらT.DIST.2T関数で両側p値を求めるのが安全です。両側検定のほうが保守的な判断になるため、片側にする明確な理由がないときは両側を選びましょう。
正規分布関数(NORM.DIST)との使い分け
t分布と正規分布のどちらを使うかは、サンプル数で判断します。
| 条件 | 使う関数 |
|---|---|
| サンプル30未満 or 母集団の標準偏差が未知 | T.DIST.RT(t分布) |
| サンプル30以上 and 母集団の標準偏差が既知 | NORM.DIST関数 |
自由度が大きくなるとt分布は正規分布に近づきます。サンプル30個以上あれば、どちらを使っても結果はほぼ同じになりますよ。
よくあるエラーと対処法
T.DIST.RT関数でつまずきやすいポイントを3つまとめました。
xに負の値を渡して#NUM!エラー
T.DIST.RT関数はxに正の値のみを受け付けます。t統計量がマイナスのときはABS()で絶対値に変換してください。
=T.DIST.RT(-2.5, 10) ← #NUM! エラー
=T.DIST.RT(ABS(-2.5), 10) ← OK(結果: 約0.0158)
t分布は左右対称なので、右側確率に絶対値を使っても検定上の意味は変わりません。
自由度に0以下を指定して#NUM!エラー
自由度は1以上の正の整数です。0や負の値を渡すとエラーになります。
=T.DIST.RT(2, 0) ← #NUM! エラー
=T.DIST.RT(2, -1) ← #NUM! エラー
自由度 = サンプル数 – 1 なので、サンプルが1個しかないときはT.DIST.RT関数は使えません。最低でもサンプル2個(自由度1)が必要ですよ。
引数に文字列を渡して#VALUE!エラー
数値であるべき引数にテキストが入ると#VALUE!エラーです。セル参照を使うときは、参照先が数値になっているか確認しましょう。
=T.DIST.RT("abc", 10) ← #VALUE! エラー
まとめ
T.DIST.RT関数は、t分布の右側確率を返す関数です。
- 引数はxと自由度の2つだけ。片側p値をシンプルに取得できる
- xには正の値のみ指定可能。負の値にはABS()を使う
- 片側検定(右側)のp値に直結する。p < 0.05 なら有意差あり
- 両側p値が欲しいときは2倍するか、T.DIST.2T関数を使う
- T.DIST関数との関係は
T.DIST.RT(x, df) = 1 - T.DIST(x, df, TRUE) - 自由度は1以上。1標本ならサンプル数 – 1、対応なし2標本なら n₁+n₂-2
「新しい施策は本当に効果があったのか?」と方向が決まった検定をしたいとき、T.DIST.RT関数なら1行で片側p値を出してくれます。ぜひ活用してみてくださいね。
