首页  

简单线性回归 斜率 截距 计算     所属分类 quant 浏览量 442
linear regression 



y = ax + b 
x 自变量
y 因变量
a 斜率
b 截距

a = sum( (x - x_ ) * (y - y_ ) ) /  sum( ( x - x_ )^2 )

b = y_ - a * x_

x_  x的均值
y_  y的均值 

误差评估
MSE 均方差 
MSE = sum((y - y_)^2) / n 



import numpy as np # 注意 后面的 : def simpleLrFit(array_x,array_y): x = np.array(array_x) x_ = x.mean() y = np.array(array_y) y_ = y.mean() v1 = (x - x_)*(y-y_) # v2 = (x - x_) * (x-x_) v2 = (x - x_) ** 2 a = v1.sum() / v2.sum() b = y_ - a*x_ return a,b list1 = [1,2,3] list2 = [1,2,5] x = np.array(list1) y = np.array(list2) a,b = np.polyfit(x, y, deg=1) # 2.0 -1.3333333333333315 print(a,b) # 2.0 -1.3333333333333335 a1,b1 = simpleLrFit(list1,list2) print(a1,b1) import scipy.stats as stats result = stats.linregress(x, y) print(result) LinregressResult(slope=2.0, intercept=-1.3333333333333335, rvalue=0.9607689228305228, pvalue=0.1789123750220667, stderr=0.5773502691896255, intercept_stderr=1.2472191289246466)

上一篇     下一篇
沪深300 线性回归画趋势线

线性回归中常见的一些统计学术语(RSE RSS TSS ESS MSE RMSE R2 Pearson's r)

线性回归的R方

统计分析关键术语

python计算四分位

肥尾效应