我正在尝试计算自由度,我使用了以下公式:
不幸的是,它给了我错误的答案。
我的代码:
def stdev(X):
m = mean(X)
return math.sqrt(sum((x-m)**2 for x in X) / len(X))
def degreesOfFreedom(X, Y):
s1 = (stdev(X)**2)
s2 = (stdev(Y)**2)
df = (s1 / len(X) + s2 / len(Y))**2 / ((s1 / len(X))**2 / (len(X) - 1) + (s2 / len(Y))**2 / len(Y) - 1)
return(df)
print('Degrees of freedom for Student-t distribution: ' + str(degreesOfFreedom(A, B)))
其中A和B是包含数值的独立数组。 我没有获得有价值的数据,而是在表格中看到了结果:
学生分发的自由度:-0.00004981053615260864
答案 0 :(得分:1)
len(Y))**2 / len(Y) - 1)
由于缺少括号
len(y) - 1
根据BODMAS,分裂首先发生,因此错误