在Python中如何确定相关系数?
我正在处理的方程如下- 描述中说x-bar和y-bar是数组1和数组2的平均值。最小系数为0.3在Python中如何确定相关系数?,python,statistics,Python,Statistics,我正在处理的方程如下- 描述中说x-bar和y-bar是数组1和数组2的平均值。最小系数为0.3 我问这个问题的原因是因为我不太熟悉阅读统计方程,更不用说用Python实现它们了。使用for循环的简单实现是: import math def correlation(x, y): x_bar = sum(x) / len(x) y_bar = sum(y) / len(y) var_x = sum((x_i - x_bar)**2 for x_i in x)
我问这个问题的原因是因为我不太熟悉阅读统计方程,更不用说用Python实现它们了。使用
for
循环的简单实现是:
import math
def correlation(x, y):
x_bar = sum(x) / len(x)
y_bar = sum(y) / len(y)
var_x = sum((x_i - x_bar)**2 for x_i in x)
var_y = sum((y_i - y_bar)**2 for y_i in y)
assert len(x) == len(y)
numerator = sum((x_i - x_bar) * (y_i - y_bar) for x_i, y_i in zip(x, y))
denominator = math.sqrt(var_x * var_y)
return numerator / denominator
if __name__ == "__main__":
x = [...]
y = [...]
print(correlation(x, y))
在进行大量数值计算时,通常使用numpy
模块,其中该函数为:
使用
for
循环的简单实现是:
import math
def correlation(x, y):
x_bar = sum(x) / len(x)
y_bar = sum(y) / len(y)
var_x = sum((x_i - x_bar)**2 for x_i in x)
var_y = sum((y_i - y_bar)**2 for y_i in y)
assert len(x) == len(y)
numerator = sum((x_i - x_bar) * (y_i - y_bar) for x_i, y_i in zip(x, y))
denominator = math.sqrt(var_x * var_y)
return numerator / denominator
if __name__ == "__main__":
x = [...]
y = [...]
print(correlation(x, y))
在进行大量数值计算时,通常使用numpy
模块,其中该函数为:
最简单的方法是使用scipy.stats(请参阅) 这将为您提供两个值,相关性和p值 您可以像这样自己实现它:
x = np.random.random(20)
y = np.random.random(20)
x_bar = np.mean(x)
y_bar = np.mean(y)
top = np.sum((x - x_bar) * (y - y_bar))
bot = np.sqrt(np.sum(np.power(x - x_bar, 2)) * np.sum(np.power(y - y_bar, 2)))
print(top/bot)
两者的结果相同,祝你好运 最简单的方法是使用scipy.stats(请参阅) 这将为您提供两个值,相关性和p值 您可以像这样自己实现它:
x = np.random.random(20)
y = np.random.random(20)
x_bar = np.mean(x)
y_bar = np.mean(y)
top = np.sum((x - x_bar) * (y - y_bar))
bot = np.sqrt(np.sum(np.power(x - x_bar, 2)) * np.sum(np.power(y - y_bar, 2)))
print(top/bot)
两者的结果相同,祝你好运 看看这里:或者你想自己实现它?这和皮尔逊相关性是同一个等式吗?如果是,那么就没有必要亲自实施。如果您提供一些代码作为答案,我将对其进行测试,并将您的回答标记为答案。看看这里:或者您想自己实现它吗?这与pearson相关性是相同的等式吗?如果是,那么就没有必要亲自实施。如果您提供一些代码作为答案,我将对其进行测试,并将您的回答标记为答案。