0
点赞
收藏
分享

微信扫一扫

python求两列数据的线性回归参数

简单的函数来实现取两个列表的线性回归参数。

首先是我们的数据列。这里只支持输入两个列表,即一个x列和一个y列。

l_1 = [238,220,255,268,275,263,240,235,230,212]
l_2 = [29,27,30,31,32,33,30,30,28,27]

然后是函数。

def line(l_1,l_2):  #求两列数据的线性回归参数
  import numpy as np
  from numpy.linalg import solve
  sumx = np.sum(l_1)  #x列的和
  sumy = np.sum(l_2)  #y列的和
  n = len(l_1)  #数据的个数
  sumxy = np.sum(np.array(l_1)*np.array(l_2))  #xy两列的乘积的和
  sumx2 = np.sum(np.array(l_1)**2)  #x的平方的和
  a = np.mat([[sumx,n],[sumx2,sumx]])  #用np.mat传入第一个矩阵
  b = np.mat([sumy,sumxy]).T  #用np.mat.T传入第二个矩阵
  x = solve(a,b) #求出ab
  return x #输出

把两列数据传入即可。

line(l_2,l_1)
举报

相关推荐

0 条评论