python 模拟一元线性回归模型

 

python代码:


import numpy as np
arrX=np.random.randint(0,100,30)
#print(arrX)
arrY=arrX*5+3
#print(arrY)
for i in range(30):
    rand=2*np.random.random()-1
    arrY[i]+=rand
sum=0
for i in arrX:
    sum+=i
exp_x=sum/30;#x的平均值
sum=0
for i in arrY:
    sum+=i
exp_y=sum/30#y的平均值
sum=0
for i in range(0,len(arrX)):
    sum+=arrX[i]*arrY[i]
exp_xy=sum/30;#xy的平均值
sum=0
for i in range(0,len(arrX)):
    sum+=arrX[i]*arrX[i]
exp_xx=sum/30;#xx的平均值
a=(exp_xy-exp_x*exp_y)/(exp_xx-exp_x*exp_x)
b=exp_y-a*exp_x
print(a,b)