Python 3 で数学を。

Python 3 とライブラリで数学の問題を解いていきます。統計学や機械学習はときどき。

統計学。1標本t検定 (両側)。(Python 3, SciPy: stats, ttest_1samp())

使用するライブラリ

NumPy

SymPy

Python 3 コード

t_test_one_samp.py

#!/usr/bin/env python3


"""(docstring)
"""


import numpy as np
from scipy import stats


def t_test_one_samp(dat, mu):
    """(docstring)
    """
    # dat: データ, mu: 母平均
    return stats.ttest_1samp(dat, mu)


if __name__ == '__main__':
    dat = np.array([-4, 1, -3, -5, -2, -8])

    t_statistic, p_value = t_test_one_samp(dat, 0)
    print('t_statistic:', t_statistic)
    print('p_value: ', p_value)
    print('')

    if p_value < 0.05:
        print('p値: {} \n有意差がある。'.format(np.round(p_value, 5)))
    else:
        print('p値: {} \n有意差はない。'.format(np.round(p_value, 5)))

出力

$ python3 t_test_one_samp.py
t_statistic: -2.8419928002940256
p_value:  0.036161770914657755

p値: 0.03616 
有意差がある。

参考文献

The R Tips―データ解析環境Rの基本技・グラフィックス活用集

The R Tips―データ解析環境Rの基本技・グラフィックス活用集

新版が出ている: