スプレッドシートのT.INV関数の使い方|t分布の逆関数

スポンサーリンク

「少人数のデータで信頼区間を求めたいけど、t値ってどうやって出すんだろう?」。統計の教科書を開くとt分布表が載っていますが、毎回表を探すのは面倒ですよね。

スプレッドシートならT.INV関数を使えば、確率と自由度を指定するだけでt値を一発で求められます。この記事ではGoogleスプレッドシートでのT.INV関数の使い方を、基本構文から実務活用まで解説します。T.DISTとの関係やTINV(旧関数)との違いもあわせて紹介しますよ。

スプレッドシートのT.INV関数とは

T.INV関数(読み方: ティー・インバース関数)は、t分布の逆関数です。確率を指定すると、その確率に対応するt値を返してくれます。「T」はt分布の「t」、「INV」は「Inverse(逆)」の略です。

たとえば「自由度9のt分布で、左側95%に対応するt値はいくつか」を1つの数式で求められます。

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

  • 確率(左側累積確率)からt値を逆算する
  • 信頼区間の計算に必要なt値を求める
  • 片側t検定の棄却値(臨界値)を算出する
  • t分布表を引く手間をなくす

NOTE

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

基本構文と2つの引数

=T.INV(確率, 自由度)

カッコの中に2つの引数を指定します。

引数必須/任意説明
確率(probability)必須t分布の左側累積確率。0より大きく1より小さい値
自由度(degrees_freedom)必須自由度。サンプルサイズ – 1 が基本(1以上の正の整数)

TIP

自由度(じゆうど)とは、データから自由に値を決められる個数のことです。サンプルサイズから1を引いた値で、たとえばサンプル10個なら自由度は9になります。小数を渡した場合は整数部分だけが使われますよ。

TINV(旧関数名)との違いに注意

GoogleスプレッドシートにはTINVという関数もあります。ただし、TINVは両側確率を引数に取る点がT.INVと大きく異なります。

=T.INV(0.975, 10)    → 約2.228(片側97.5%のt値)
=TINV(0.05, 10)      → 約2.228(両側5%のt値)
=T.INV.2T(0.05, 10)  → 約2.228(TINVと同じ結果)

T.INVは片側(左側累積確率)、TINVとT.INV.2Tは両側確率を指定します。名前が似ていますが動作が異なるので、混同しないように気をつけてくださいね。

新しく数式を書くときはT.INVまたはT.INV.2Tを使いましょう。

T.INV関数の基本的な使い方

まずはシンプルな例で動きを確認してみましょう。自由度10のt分布を使います。

=T.INV(0.5, 10)

結果は0です。確率0.5(50%)を指定すると、ちょうど0が返ります。t分布は左右対称なので、中央値が0になるわけですね。

確率を変えて、いくつかの値を見てみましょう。

確率数式結果意味
0.025=T.INV(0.025, 10)約-2.228左側2.5%の境界
0.05=T.INV(0.05, 10)約-1.812左側5%の境界
0.5=T.INV(0.5, 10)0ちょうど中央
0.95=T.INV(0.95, 10)約1.812左側95%の境界
0.975=T.INV(0.975, 10)約2.228左側97.5%の境界

確率が0.5より小さいと負の値、0.5より大きいと正の値が返ります。t分布が左右対称なので、0.05と0.95の結果は符号だけが違う(絶対値は同じ)ことにも注目してください。

T.INV関数の実務活用3パターン

基本がわかったところで、実際の業務で使えるパターンを3つ紹介します。

母平均の信頼区間を計算する

「サンプルデータから、母集団の平均がどのくらいの範囲に入るか」を求めるのが信頼区間です。サンプルが少ないときはt分布を使います。

売上データ10件の平均が500万円、標準偏差が80万円のケースで95%信頼区間を計算してみましょう。

=T.INV(0.975, 9)

結果は約2.262です。このt値を使って信頼区間を求めます。

標準誤差 = 標準偏差 / √サンプルサイズ = 80 / √10 ≒ 25.3
下限 = 500 - 2.262 × 25.3 ≒ 442.8(万円)
上限 = 500 + 2.262 × 25.3 ≒ 557.2(万円)

スプレッドシートで一気に計算するなら、次のように書けます。

=AVERAGE(B2:B11) - T.INV(0.975, COUNT(B2:B11)-1) * STDEV(B2:B11) / SQRT(COUNT(B2:B11))
=AVERAGE(B2:B11) + T.INV(0.975, COUNT(B2:B11)-1) * STDEV(B2:B11) / SQRT(COUNT(B2:B11))

AVERAGE関数で平均、STDEV関数で標準偏差、COUNT関数でサンプルサイズを自動取得しています。データが変わっても信頼区間が自動更新されるので便利ですよ。

片側t検定の棄却値を求める

「新しい施策の効果が、従来より本当に高いといえるか」を判定するのが片側t検定です。T.INV関数で棄却値(きゃっきゃくち)を求められます。

有意水準(ゆういすいじゅん)とは「偶然の結果を誤って有意と判定してしまう確率の上限」のことです。一般的には5%がよく使われます。

有意水準5%、サンプルサイズ15(自由度14)の場合です。

=T.INV(0.95, 14)

結果は約1.761です。計算したt統計量がこの値を超えていれば、「有意に高い」と判定できます。

たとえば、施策前の平均が100、施策後のサンプル15件の平均が112、標準偏差が20のとき、t統計量は次のように計算します。

t統計量 = (112 - 100) / (20 / √15) ≒ 2.324

t統計量2.324は棄却値1.761を超えているので、「施策の効果は統計的に有意」と判断できますよ。

両側検定の棄却値を求める

「平均に差があるかどうか(高いか低いかは問わない)」を判定するのが両側検定です。T.INV関数でも求められますが、T.INV.2Tを使うほうが直感的です。

有意水準5%、自由度20の場合を比べてみましょう。

=T.INV(0.975, 20)       → 約2.086(T.INVで求める場合)
=T.INV.2T(0.05, 20)     → 約2.086(T.INV.2Tで求める場合)

どちらも同じ結果です。T.INVでは「1 – 有意水準/2 = 0.975」を確率に指定し、T.INV.2Tでは有意水準0.05をそのまま指定します。

使い分けのポイントは次のとおりです。

  • 片側検定 → T.INV(有意水準5%なら確率に0.95を指定)
  • 両側検定 → T.INV.2T(有意水準をそのまま指定できるので直感的)

両側検定をT.INVで書くと確率の計算で混乱しやすいので、素直にT.INV.2Tを使うのがおすすめですよ。

T.DISTとの関係(順方向と逆方向)

T.INV関数は、T.DIST関数逆関数です。2つの関数は「入力と出力が逆」の関係にあります。

関数入力出力方向
T.DISTt値(x)確率(p)t値 → 確率
T.INV確率(p)t値(x)確率 → t値

具体例で確認してみましょう。自由度10の場合です。

=T.DIST(1.812, 10, TRUE)   → 約0.95(95%)
=T.INV(0.95, 10)           → 約1.812

T.DISTに1.812を入れると確率0.95が返り、T.INVに0.95を入れると1.812が返ります。お互いの結果を入れ替えても元に戻るということですね。

使い分けのポイントは次のとおりです。

  • 「t値2.5は上位何%?」T.DIST(t値がわかっていて確率を知りたい)
  • 「上位5%のt値はいくつ?」 → T.INV(確率がわかっていてt値を知りたい)

両側の確率を求めたいときはT.DIST.2T関数、右側の確率だけ求めたいときはT.DIST.RT関数が便利です。正規分布ベースの逆関数が必要ならNORM.INV関数もチェックしてみてください。

T.INV関数でエラーが出るときの対処法

T.INV関数でよくあるエラーと、その対処法をまとめました。

確率に0以下や1以上を指定して#NUM!エラー

確率は「0より大きく1より小さい値」でなければなりません。0や1、負の数を指定すると#NUM!エラーになります。

=T.INV(0, 10)    ← #NUM! エラー
=T.INV(1, 10)    ← #NUM! エラー
=T.INV(-0.5, 10) ← #NUM! エラー

他のセルの計算結果を確率として渡すときは、値が0〜1の範囲内か確認しておきましょう。

自由度に0以下を指定して#NUM!エラー

自由度は1以上の正の整数が必要です。0やマイナスの値を指定するとエラーになります。

=T.INV(0.95, 0)   ← #NUM! エラー
=T.INV(0.95, -5)  ← #NUM! エラー

自由度は「サンプルサイズ – 1」で求めます。サンプルが1件しかないと自由度が0になりエラーになるので、最低でもサンプル2件以上が必要ですよ。

引数に文字列を渡して#VALUE!エラー

数値であるべき引数にテキストが入ると#VALUE!エラーになります。セル参照を使うときは、参照先が数値になっているか確認してくださいね。

まとめ

T.INV関数は、t分布で確率からt値を逆算する関数です。

  • 2つの引数(確率・自由度)を指定するだけで使える
  • 確率0.5を指定すると0が返る。t分布の中央がゼロであることを反映している
  • 信頼区間の計算ではAVERAGE関数STDEV関数COUNT関数と組み合わせて活用する
  • T.DIST関数の逆関数。「確率→t値」の方向で計算したいときに使う
  • 片側検定にはT.INV、両側検定にはT.INV.2Tを使い分ける
  • TINV(旧関数名)はT.INV.2T相当(両側)なので、T.INV(片側)とは結果が異なる点に注意
  • 確率に0や1を指定すると#NUM!エラー。範囲は0より大きく1より小さい値

t分布表を毎回引かなくても、T.INV関数ならスプレッドシート上で即座にt値を求められます。信頼区間やt検定の計算にぜひ活用してみてくださいね。

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