如何在 python 中执行西格玛运算
how to execute sigma operation in python
我正在尝试创建一个计算此公式的函数:
.
公式非截图:
距离 = 西格玛 *((观察到的 - 预期的)**2 / 预期的)
这是我当前的代码:
def distance(observed, expected):
num = (observed - expected)**2
den = (expected)
dist = sigma * (num/den)
return dist
我不知道如何计算 sigma,所以我很感激任何 help/feedback!
谢谢!
观察到的应该是一个数字列表
def distance(observed, expected):
return sum((item - expected)**2*1.0/ expected for item in observed )
observed = [1,3,45,56,3,2,4,5,6,7]
expected = sum(observed)/len(observed)
print distance(observed,expected)
274.461538462
此处的 Sigma 表示多个观察值和预期值对的总和。
例如:
如果 observed 是一个数字列表 [1,1,3,3,...]
expected 是与观察值相对应的预期值列表,例如 [1.2,1.3,3.1,3.2...]
然后你需要求出他们各自距离的总和。
def distance(observed, expected):
res = 0
for o, e in zip(observed,expected):
res += (o-e)**2/e
return res
Sigma 是范围内的求和而不是乘法。
Observed 和 Expected 必须是相同长度的数字列表。
def distance(observed, expected):
sample_space_length = len(observed)
distance = 0
for x in range(sample_space_length):
distance += ((observed[x] - expected[x]) ** 2) / expected[x]
return distance
我正在尝试创建一个计算此公式的函数:
公式非截图:
距离 = 西格玛 *((观察到的 - 预期的)**2 / 预期的)
这是我当前的代码:
def distance(observed, expected):
num = (observed - expected)**2
den = (expected)
dist = sigma * (num/den)
return dist
我不知道如何计算 sigma,所以我很感激任何 help/feedback!
谢谢!
观察到的应该是一个数字列表
def distance(observed, expected):
return sum((item - expected)**2*1.0/ expected for item in observed )
observed = [1,3,45,56,3,2,4,5,6,7]
expected = sum(observed)/len(observed)
print distance(observed,expected)
274.461538462
此处的 Sigma 表示多个观察值和预期值对的总和。
例如:
如果 observed 是一个数字列表 [1,1,3,3,...] expected 是与观察值相对应的预期值列表,例如 [1.2,1.3,3.1,3.2...]
然后你需要求出他们各自距离的总和。
def distance(observed, expected):
res = 0
for o, e in zip(observed,expected):
res += (o-e)**2/e
return res
Sigma 是范围内的求和而不是乘法。 Observed 和 Expected 必须是相同长度的数字列表。
def distance(observed, expected):
sample_space_length = len(observed)
distance = 0
for x in range(sample_space_length):
distance += ((observed[x] - expected[x]) ** 2) / expected[x]
return distance