• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

t検定

date: 2017-05-02 excerpt: t検定について

tag: 統計検定statisticst検定


t検定について

概要

  • 母分散がわからない場合に、標本平均と母平均の差の検定
    • 応用として2つの表に差があるかを確認する/対応のあるt検定/などがある

導出

あるサンプルからその平均を求める

\[\bar{x} = \frac{1}{n} \sum_{i=1}^{n}x_i\]

/中心極限定理/と平均の分散の不偏推定量からサンプルの平均は正規分布に従う

\[\bar{x} \sim N \left(\mu, \frac{\sigma^2}{n} \right)\]

これを標準化することで統計量を\(z\)として

\[z = \frac{\bar{x} - \mu}{\sqrt{\frac{\sigma^2}{n}}} \sim N(0, 1)\]

母分散がわからないとき、不偏分散\(S^2\)を用いることで自由度\(n-1\)の\(t\)分布に近似できる

\[t = \frac{\bar{x} - \mu}{\sqrt{\frac{S^2}{n}}} \sim t(n-1)\]

Pythondでの例

t検定の実行

import scipy.stats as stats

# 2つのサンプルデータ
data1 = ["データ1の値群", ...]
data2 = ["データ2の値群", ...]

# t検定の実行(等分散性を仮定)
t_statistic, p_value = stats.ttest_ind(data1, data2, equal_var=True)
print(f"t統計量: {t_statistic}, p値: {p_value}")

# t検定の実行(等分散性を仮定しない)
t_statistic, p_value = stats.ttest_ind(data1, data2, equal_var=False)
print(f"t統計量: {t_statistic}, p値: {p_value}")

t検定に必要なサンプルサイズの計算

import statsmodels.stats.power as smp

# 効果量、パワー、有意水準を設定
effect_size = 0.5  # 中程度の効果
power = 0.8
alpha = 0.05

# サンプルサイズの計算
sample_size = smp.TTestIndPower().solve_power(effect_size, power=power, alpha=alpha, ratio=1.0, alternative='two-sided')
print(f"必要なサンプルサイズ: {sample_size}")

参考

  • 統計学 t検定の仕組み/math-note


統計検定statisticst検定 Share Tweet