「両側検定で使うt値って、有意水準をどう変換して指定すればいいんだっけ?」。T.INV関数で両側検定のt値を求めようとすると、確率の変換で迷いますよね。
スプレッドシートならT.INV.2T関数を使えば、両側の有意水準をそのまま指定するだけでt値を求められます。この記事ではGoogleスプレッドシートでのT.INV.2T関数の使い方を、基本構文から実務活用まで解説します。T.INVとの使い分けやTINV(旧関数)との関係もあわせて紹介しますよ。
スプレッドシートのT.INV.2T関数とは
T.INV.2T関数(読み方: ティー・インバース・ツー・ティー関数)は、t分布の両側逆関数です。両側確率を指定すると、その確率に対応するt値(正の値)を返してくれます。
「T」はt分布の「t」、「INV」は「Inverse(逆)」、「2T」は「Two-Tailed(両側)」の略です。
たとえば「自由度10のt分布で、両側5%に対応するt値はいくつか」を1つの数式で求められます。
T.INV.2T関数にできることをまとめると、次のとおりです。
- 両側確率(有意水準)からt値を逆算する
- 両側t検定の棄却値(臨界値)を算出する
- 信頼区間の計算に必要なt値を求める
- t分布表を引く手間をなくす
NOTE
T.INV.2T関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、動作は同じです。
基本構文と2つの引数
=T.INV.2T(確率, 自由度)
カッコの中に2つの引数を指定します。
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 確率(probability) | 必須 | t分布の両側確率。0より大きく1以下の値 |
| 自由度(degrees_freedom) | 必須 | 自由度。サンプルサイズ – 1 が基本(1以上の正の整数) |
TIP
T.INV.2T関数は常に正の値を返します。両側検定では±の対称な範囲を使うため、返ってきたt値の正負両方が棄却域の境界になりますよ。
T.INV.2TとT.INVの関係
T.INV.2TとT.INV関数は、確率の指定方法が異なるだけで同じt値を求められます。
=T.INV.2T(0.05, 10) → 約2.228(両側5%のt値)
=T.INV(0.975, 10) → 約2.228(片側97.5%のt値)
T.INV.2T(α, df) = T.INV(1 – α/2, df) の関係です。両側検定では有意水準αをそのまま渡せるT.INV.2Tのほうが直感的ですね。
T.INV.2T関数の基本的な使い方
まずはシンプルな例で動きを確認してみましょう。自由度10のt分布を使います。
=T.INV.2T(0.05, 10)
結果は約2.228です。これは「t分布の両端を合わせて5%になる境界のt値」を意味します。t値が-2.228より小さいか、2.228より大きい領域が全体の5%ということですね。
確率を変えて、いくつかの値を見てみましょう。
| 確率(両側) | 数式 | 結果 | 意味 |
|---|---|---|---|
| 0.10 | =T.INV.2T(0.10, 10) | 約1.812 | 両端合計10%の境界 |
| 0.05 | =T.INV.2T(0.05, 10) | 約2.228 | 両端合計5%の境界 |
| 0.01 | =T.INV.2T(0.01, 10) | 約3.169 | 両端合計1%の境界 |
| 1.00 | =T.INV.2T(1.00, 10) | 0 | 両端合計100%(全範囲) |
確率が小さいほど大きなt値が返ります。有意水準を厳しく(小さく)するほど、棄却に必要なt値が高くなるイメージです。確率1.0を指定すると0が返りますが、これは全範囲を含むことを意味しています。
T.INV.2T関数の実務活用パターン
基本がわかったところで、実際の業務で使えるパターンを紹介します。
母平均の信頼区間を計算する
「サンプルデータから、母集団の平均がどのくらいの範囲に入るか」を求めるのが信頼区間(しんらいくかん)です。サンプルが少ないときはt分布を使います。
売上データ10件の平均が500万円、標準偏差が80万円のケースで95%信頼区間を計算してみましょう。
=T.INV.2T(0.05, 9)
結果は約2.262です。95%信頼区間なので、有意水準は1 – 0.95 = 0.05をそのまま指定するだけでOKです。
このt値を使って信頼区間を求めます。
標準誤差 = 標準偏差 / √サンプルサイズ = 80 / √10 ≒ 25.3
下限 = 500 - 2.262 × 25.3 ≒ 442.8(万円)
上限 = 500 + 2.262 × 25.3 ≒ 557.2(万円)
スプレッドシートで一気に計算するなら、次のように書けます。
=AVERAGE(B2:B11) - T.INV.2T(0.05, COUNT(B2:B11)-1) * STDEV(B2:B11) / SQRT(COUNT(B2:B11))
=AVERAGE(B2:B11) + T.INV.2T(0.05, COUNT(B2:B11)-1) * STDEV(B2:B11) / SQRT(COUNT(B2:B11))
AVERAGE関数で平均、STDEV関数で標準偏差、COUNT関数でサンプルサイズを自動取得しています。T.INV関数では0.975と変換が必要でしたが、T.INV.2Tなら0.05とそのまま指定できるのがポイントです。
両側t検定の棄却値を求める
「2つのグループの平均に差があるかどうか」を判定するのが両側t検定です。T.INV.2T関数で棄却値(きゃっきゃくち)を直接求められます。
有意水準5%、サンプルサイズ16(自由度15)の場合です。
=T.INV.2T(0.05, 15)
結果は約2.131です。計算したt統計量の絶対値がこの値を超えていれば、「2グループの平均に有意な差がある」と判定できます。
たとえばA店とB店の月間売上を比較するケースを考えてみましょう。A店16か月分の平均が320万円、B店16か月分の平均が290万円です。プールした標準偏差が50万円のとき、t統計量は次のように計算します。
t統計量 = (320 - 290) / (50 × √(1/16 + 1/16)) ≒ 1.697
t統計量1.697は棄却値2.131を下回っているので、「売上差は統計的に有意とはいえない」という結果になります。
一方、T.DIST.2T関数を使えばp値を直接求めることもできますよ。
信頼水準を変えて比較する
信頼区間の幅は信頼水準によって変わります。T.INV.2T関数で複数の信頼水準を一度に比較してみましょう。
自由度9の場合です。
| 信頼水準 | 有意水準(α) | 数式 | t値 |
|---|---|---|---|
| 90% | 0.10 | =T.INV.2T(0.10, 9) | 約1.833 |
| 95% | 0.05 | =T.INV.2T(0.05, 9) | 約2.262 |
| 99% | 0.01 | =T.INV.2T(0.01, 9) | 約3.250 |
信頼水準を上げるほどt値が大きくなり、信頼区間の幅も広くなります。95%信頼区間がもっともよく使われますが、より慎重な判断が必要な場面では99%を選ぶこともありますよ。
T.INVとの使い分け(片側と両側)
T.INV関数とT.INV.2T関数はどちらもt値を逆算する関数ですが、用途が異なります。
| 比較項目 | T.INV | T.INV.2T |
|---|---|---|
| 確率の指定 | 左側累積確率 | 両側確率 |
| 返す値 | 正の値も負の値も返す | 常に正の値を返す |
| 主な用途 | 片側検定の棄却値 | 両側検定の棄却値・信頼区間 |
| 等価式 | ― | T.INV(1 – α/2, df) と同じ |
使い分けのポイントは次のとおりです。
- 片側検定(「効果が上がったか」など方向が決まっている) → T.INV関数
- 両側検定(「差があるか」方向は問わない) → T.INV.2T関数
- 信頼区間の計算 → T.INV.2Tが直感的(有意水準をそのまま渡せる)
T.INVで両側検定のt値を求めることもできますが、確率を1 - α/2に変換する必要があります。両側で使う場面ではT.INV.2Tを選ぶのがおすすめです。
TINV(旧関数名)との関係
GoogleスプレッドシートにはTINVという旧関数もあります。TINVとT.INV.2Tは同じ動作をします。
=TINV(0.05, 10) → 約2.228
=T.INV.2T(0.05, 10) → 約2.228(同じ結果)
どちらも両側確率を引数に取り、正のt値を返します。新しく数式を書くときはT.INV.2Tを使いましょう。TINVは互換性のために残されている旧関数です。
T.INV.2T関数でエラーが出るときの対処法
T.INV.2T関数でよくあるエラーと、その対処法をまとめました。
確率に0以下を指定して#NUM!エラー
確率は「0より大きく1以下の値」でなければなりません。0やマイナスの値を指定すると#NUM!エラーになります。
=T.INV.2T(0, 10) ← #NUM! エラー
=T.INV.2T(-0.5, 10) ← #NUM! エラー
TIP
T.INV関数では確率1も
#NUM!になりますが、T.INV.2Tでは確率1は許容されます(結果は0)。ここがT.INVとの違いのひとつですよ。
自由度に0以下を指定して#NUM!エラー
自由度は1以上の正の整数が必要です。0やマイナスの値を指定するとエラーになります。
=T.INV.2T(0.05, 0) ← #NUM! エラー
=T.INV.2T(0.05, -5) ← #NUM! エラー
自由度は「サンプルサイズ – 1」で求めます。サンプルが1件しかないと自由度が0になりエラーになるので、最低でもサンプル2件以上が必要ですよ。
引数に文字列を渡して#VALUE!エラー
数値であるべき引数にテキストが入ると#VALUE!エラーになります。セル参照を使うときは、参照先が数値になっているか確認してくださいね。
まとめ
T.INV.2T関数は、t分布で両側確率からt値を逆算する関数です。
- 2つの引数(確率・自由度)を指定するだけで使える
- 両側検定の有意水準をそのまま渡せるのが最大のメリット
- 信頼区間の計算ではAVERAGE関数・STDEV関数・COUNT関数と組み合わせて活用する
- T.INV関数は片側、T.INV.2Tは両側。用途に合わせて使い分ける
- T.DIST.2T関数の逆関数。「確率→t値」の方向で計算したいときに使う
- TINV(旧関数名)と同じ動作。新しい数式ではT.INV.2Tを使う
- 確率に0を指定すると
#NUM!エラー。範囲は0より大きく1以下
t分布表を毎回引かなくても、T.INV.2T関数ならスプレッドシート上で即座にt値を求められます。両側検定や信頼区間の計算にぜひ活用してみてくださいね。
