В рамках упражнения мне нужно было проверить, является ли истинное среднее значение для данного сэмпла 1,75 или нет, сгенерировав tvalue с использованием numpy, и сравнить с выводом scipy.
Код:
import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt
np.random.seed(seed=42) # make example reproducible
n = 100
x = np.random.normal(loc=1.78, scale=.1, size=n) # the sample is here
tval, pval = stats.ttest_1samp(x, 1.75)
var_x = x.var(ddof=1)
std_x = np.sqrt(var_x)
tval1 = (x.mean() - 1.75)/(std_x*np.sqrt(n))
print("Scipy: ",tval,"\nNumpy: ",tval1)
Выход Scipy - 2,1598800019529265,
в то время как вывод от NumPy составляет 0,021598800019529265
Я предполагаю, что логика, которую я использовал, неверна. Пожалуйста, предложите.