R プログラミングでの T テスト: XNUMX つのサンプルと対応のある T テスト [例]

統計的推論とは何ですか?

統計的推論は、データの分布に関する結論を生成する技術です。 データ サイエンティストは、科学的にしか答えられない疑問に直面することがよくあります。 したがって、統計的推論は、仮説が正しいかどうか、つまりデータによって検証されるかどうかをテストする戦略です。

仮説を評価するための一般的な戦略は、t 検定を実行することです。 t 検定では、XNUMX つのグループの平均値が同じかどうかを確認できます。 t 検定は、 学生テスト。 t 検定は以下について推定できます。

  1. 単一のベクトル (つまり、XNUMX サンプルの t 検定)
  2. 同じサンプルグループからの XNUMX つのベクトル (つまり、対応のある t 検定)。

両方のベクトルがランダムにサンプリングされ、独立しており、未知だが分散が等しい正規分布母集団に由来すると仮定します。

R プログラミングにおける T テストとは何ですか?

T 検定の背後にある基本的な考え方は、統計を使用して XNUMX つの相反する仮説を評価することです。

  • H0: 帰無仮説: 平均は使用したサンプルと同じです
  • H3: 正しい仮説: 平均値は使用したサンプルと異なります

T 検定は、サンプル サイズが小さい場合によく使用されます。 t 検定を実行するには、データの正規性を仮定する必要があります。

R の T テスト構文

R の t.test() の基本構文は次のとおりです。

t.test(x, y = NULL,
       mu = 0, var.equal = FALSE)
arguments:
- x : A vector to compute the one-sample t-test
- y: A second vector to compute the two sample t-test
- mu: Mean of the population- var.equal: Specify if the variance of the two vectors are equal. By default, set to `FALSE`

R での XNUMX サンプルの T 検定

1標本t検定、またはスチューデント検定は、ベクトルの平均を理論平均と比較します。 R での XNUMX サンプルの T 検定。 t 検定の計算に使用される式は次のとおりです。

R での XNUMX サンプルの T 検定

ここでは、

  • R での XNUMX サンプルの T 検定 平均を指します
  • R での XNUMX サンプルの T 検定 理論上の平均値まで
  • s は標準偏差です
  • n 観測値の数。

t 検定の統計的有意性を評価するには、 p値を選択します。 p値 範囲は 0 から 1 で、次のように解釈されます。

  • p 値が 0.05 未満の場合、帰無仮説を棄却できると確信していることを意味し、したがって H3 が受け入れられます。
  • p 値が 0.05 より大きい場合は、帰無仮説を棄却するのに十分な証拠がないことを示します。

p 値は、自由度が次のスチューデント分布の t 検定の対応する絶対値を調べることによって構築できます。 R での XNUMX サンプルの T 検定

たとえば、観測値が 5 つある場合、自由度 4、信頼区間 95% で、t 値をスチューデント分布の t 値と比較する必要があります。 帰無仮説を棄却するには、t 値が 2.77 より大きくなければなりません。

以下の表を参照:

R での XNUMX サンプルの T 検定

R での XNUMX サンプルの T 検定の例

あなたが Cookie を製造している会社だとします。 各クッキーには10グラムの砂糖が含まれているはずです。 クッキーは、すべてを混ぜる前にボウルに砂糖を加える機械によって製造されます。 あなたは、機械が各クッキーに 10 グラムの砂糖を加えないと信じています。 あなたの仮定が正しい場合、マシンを修理する必要があります。 クッキー XNUMX 枚分の砂糖レベルを保存しました。

注意: 関数 rnorm() を使用して、ランダム化されたベクトルを作成できます。 この関数は正規分布値を生成します。 基本的な構文は次のとおりです。

rnorm(n, mean, sd)
arguments
- n: Number of observations to generate
- mean: The mean of the distribution. Optional
- sd: The standard deviation of the distribution. Optional

平均 30、標準偏差 9.99 の 0.04 個の観測値を含む分布を作成できます。

set.seed(123) sugar_cookie <- rnorm(30, mean = 9.99, sd = 0.04)
head(sugar_cookie)

出力:

## [1]  9.967581  9.980793 10.052348  9.992820  9.995172 10.058603

XNUMX サンプルの t 検定を使用して、砂糖のレベルがレシピと異なるかどうかを確認できます。 仮説検定を行うことができます。

  • H0: 平均的な糖質レベルは10に相当します。
  • H3: 平均的な糖質レベルが10とは異なります

有意水準 0.05 を使用します。

# H0 : mu = 10
t.test(sugar_cookie, mu = 10)

出力は次のとおりです。

R での XNUMX サンプルの T 検定の例

0.1079 サンプルの t 検定の p 値は 0.05 で、95 以上です。 機械によって追加される砂糖の量が 9.973 ~ 10.002 グラムであることを 0% 確信できます。 帰無 (HXNUMX) 仮説を棄却することはできません。 機械によって加えられた砂糖の量がレシピに従っていないという十分な証拠はありません。

R での対応のある T 検定

対応のある T 検定、または依存サンプルの t 検定は、処理グループの平均が XNUMX 回計算される場合に使用されます。 対応のある t 検定の基本的なアプリケーションは次のとおりです。

  • A / Bテスト: XNUMX つのバリエーションを比較する
  • ケースコントロールスタディ: 治療前/治療後

R での対応のある T 検定の例

ある飲料会社は、割引プログラムが売上に及ぼす影響を知りたいと思っています。同社は、このプログラムが宣伝されている店舗の 1 つで毎日の売上を追跡することにしました。プログラムの終了時に、同社は、プログラム実施前と実施後の店舗の平均売上に統計的な違いがあるかどうかを知りたいと考えています。

  • 同社はプログラム開始前に毎日売上を追跡した。 これが最初のベクトルです。
  • このプログラムは 1 週間宣伝され、毎日売上が記録されます。これが私たちの 2 番目のベクトルです。
  • t 検定を実行して、プログラムの有効性を判断します。 両方のベクトルの値が同じ分布 (つまり、同じショップ) から得られるため、これは対応のある t 検定と呼ばれます。

仮説検証は次のとおりです。

  • H0: 平均値に差なし
  • H3: XNUMXつの手段は異なります

t 検定の XNUMX つの仮定は、未知だが等しい分散であることを思い出してください。 実際には、データはほとんど等しい平均値を持たず、t 検定で不正確な結果が得られます。

等分散の仮定を緩和する XNUMX つの解決策は、ウェルチ検定を使用することです。 R は、デフォルトでは XNUMX つの分散が等しくないことを前提としています。 データセットでは、両方のベクトルの分散が同じである場合、var.equal= TRUE を設定できます。

プログラム後の売上の平均値がより高いガウス分布から XNUMX つのランダム ベクトルを作成します。

set.seed(123)
# sales before the program
sales_before <- rnorm(7, mean = 50000, sd = 50)
# sales after the program.This has higher mean
sales_after <- rnorm(7, mean = 50075, sd = 50)
# draw the distribution
t.test(sales_before, sales_after,var.equal = TRUE)

R での対応のある T 検定の例

p 値 0.04606 が得られ、しきい値 0.05 よりも低くなりました。 XNUMX つのグループの平均は大きく異なると結論付けました。 このプログラムにより店舗の売上が向上します。

まとめ

  • 統計的推論は、データの分布に関する結論を生成する技術です。
  • T 検定は推論統計の一種です。2 つのグループの平均間に統計的な差があるかどうかを調べるためによく使用されます。
  • 1 サンプル t 検定、またはスチューデント検定では、ベクトルの平均を理論上の平均と比較します。
  • 対応のある T 検定、または依存サンプルの t 検定は、処理グループの平均が XNUMX 回計算される場合に使用されます。

t 検定をまとめると次の表のようになります。

ホイール試乗 検証する仮説 p値 Code オプションの引数
XNUMXサンプルのt検定 ベクトルの平均が理論上の平均と異なる 0.05
t.test(x, mu = mean)
対応のあるサンプルの t 検定 同じグループの平均 A は平均 B とは異なります 0.06
t.test(A,B, mu = mean)
var.equal= TRUE

分散が等しいと仮定する場合、パラメータ var.equal= TRUE を変更する必要があります。