繁体   English   中英

计算和可视化两个无序序列中的变量之间的相关性

[英]Calculating and visualizing correlation between 2 variables which are in an unordered series

作为我最后一年研究工作的一部分,我试图计算和可视化两个不在有序序列中的变量之间的相关性。 在如下数据集中,

DateAndTime           Demand    Temperature
2015-01-02 18:00:00    2081         41
2015-01-02 19:00:00    2370         42
2015-01-02 20:00:00    2048         42
2015-01-02 21:00:00    1806         42
2015-01-02 22:00:00    1818         41
2015-01-02 23:00:00    1918         40
2015-01-03 00:00:00    1685         40
2015-01-03 01:00:00    1263         38
2015-01-03 02:00:00     969         38
2015-01-03 03:00:00     763         37
2015-01-03 04:00:00     622         36

由于日期和需求之间是有序序列,因此计算和可视化日期和需求之间的相关性非常简单,并且可以使用散点图轻松地显示其相关性。 但是,如果我要计算温度和需求之间的相关性,则得到的散点图就没有多大意义,因为它没有任何数学顺序。 应该使用哪种方法以更有意义的方式可视化这两个变量之间的相关性。 我为此使用了基本的Python框架,例如Matplotlib,Statsmodels和Sklearn。

好的,这样的想法是绘制两个列,一个列在x轴上,另一个列在y轴上,并尝试绘制一条模拟其行为的线。 Numpy具有计算线的功能,因此

import numpy as np
import matplotlib.pyplot as plt

x = [4,2,1,5]
y = [2,4,6,3]

fit = np.polyfit(x,y,1)
fit_line = np.poly1d(fit)

plt.figure()
plt.plot(x,y,'rx')
plt.plot(x,fit_line(x),'--b')
plt.show()

在此处输入图片说明

如果我们将回归线设为y = a*x + b ,则可以获得系数a和b,从而

a = fit[0]
b = fit[1]

哪个返回

a = -0.8000000000000005
b = 6.150000000000002

只需使用您的x和y

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM