1、簡單線性迴歸模型舉例python
汽車賣家作電視廣告數量與賣出去的汽車數量:spa
1.1 列出適合簡單線性迴歸模型的最佳迴歸線?3d
使sum of squares最小blog
1.2 計算utf-8
1.3 預測it
假設有一週的廣告數爲6.預測的汽車銷售量爲多少?class
代碼:import
# -*- coding:utf-8 -*-
#簡單線性迴歸:只有一個自變量 y=k*x+b 預測使得(y-y*)^2最小
import numpy as np
def fitSLR(x, y):
n = len(x)
dinominator = 0 #分母
numerator = 0 #分子
for i in range(0,n):
numerator += (x[i] - np.mean(x))*(y[i] - np.mean(y))
dinominator += (x[i] - np.mean(x))**2
print("numerator:" + str(numerator))
print("dinominator:" + str(dinominator))
b1 = numerator/float(dinominator)
b0 = np.mean(y)-(b1*(np.mean(x)))
return b0,b1
# y = b0 + x*b1
def prefict(x, b0, b1):
return b0 + x*b1
x=[1,3,2,1,3]
y=[14,24,18,17,27]
b0,b1=fitSLR(x,y)
print("b0:",b0,"b1:",b1)
y_predict = prefict(6, b0, b1)
print("y_predict:" + str(y_predict))
結果:變量
numerator:20.0
dinominator:4.0
b0: 10.0 b1: 5.0
y_predict:40.0