Python 计算并可视化无序序列中两个变量之间的相关性
作为我最后一年研究实施的一部分,我试图计算并可视化两个不在有序序列中的变量之间的相关性。在如下数据集中Python 计算并可视化无序序列中两个变量之间的相关性,python,statistics,correlation,statsmodels,Python,Statistics,Correlation,Statsmodels,作为我最后一年研究实施的一部分,我试图计算并可视化两个不在有序序列中的变量之间的相关性。在如下数据集中 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 4
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为什么不画点,然后画一条回归线呢?你好@AlbertAlonso,谢谢你的回答。我在这个领域大部分是自学的,所以我不太明白你所说的画回归线的意思。请您再详细说明一下。您是否试过绘制一个需求和温度的散点图?我相信它会很好地显示出相关性。