Pythonでp値を計算する方法


  1. scipyモジュールを使用する方法:

    from scipy import stats
    # サンプルデータ
    data = [1, 2, 3, 4, 5]
    # 1標本t検定を実行し、p値を計算する
    t_statistic, p_value = stats.ttest_1samp(data, 0)
    print("p値:", p_value)
  2. statsmodelsモジュールを使用する方法:

    import statsmodels.api as sm
    # サンプルデータ
    data = [1, 2, 3, 4, 5]
    # 1標本t検定を実行し、p値を計算する
    t_statistic, p_value, _ = sm.stats.ttest_1samp(data, 0)
    print("p値:", p_value)
  3. numpyとscipyを組み合わせて計算する方法:

    import numpy as np
    from scipy import stats
    # サンプルデータ
    data = [1, 2, 3, 4, 5]
    # 平均と標準偏差を計算
    mean = np.mean(data)
    std = np.std(data)
    # t値を計算
    t_value = (mean - 0) / (std / np.sqrt(len(data)))
    # 自由度を計算
    df = len(data) - 1
    # p値を計算
    p_value = 2 * (1 - stats.t.cdf(abs(t_value), df))
    print("p値:", p_value)

これらの方法を使用して、Pythonでp値を計算することができます。適切な方法を選択し、データに合わせて使用してください。なお、上記のコードは1標本t検定の例ですが、他の仮説検定にも応用することができます。