1. 介紹
回歸(regression) Y變量為連續(xù)數值型(continuous numerical variable),如:房價,人數,降雨量
分類(Classification): Y變量為類別型(categorical variable),如:顏色類別,電腦品牌,有無信譽
2. 簡單線性回歸(Simple Linear Regression)
- 很多做決定過過程通常是根據兩個或者多個變量之間的關系
- 回歸分析(regression analysis)用來建立方程模擬兩個或者多個變量之間如何關聯
- 被預測的變量叫做:因變量(dependent variable), y, 輸出(output)
- 被用來進行預測的變量叫做: 自變量(independent variable), x, 輸入(input)
3. 簡單線性回歸介紹
簡單線性回歸包含一個自變量(x)和一個因變量(y)
以上兩個變量的關系用一條直線來模擬
如果包含兩個以上的自變量,則稱作多元回歸分析(multiple regression)
4. 簡單線性回歸模型
被用來描述因變量(y)和自變量(X)以及偏差(error)之間關系的方程叫做回歸模型
簡單線性回歸的模型是:

5. 簡單線性回歸方程
E(y) = β0+β1x
這個方程對應的圖像是一條直線,稱作回歸線
其中,β0是回歸線的截距,β1是回歸線的斜率 ,E(y)是在一個給定x值下y的期望值(均值)
6. 正向線性關系:

7. 負向線性關系:

8. 無關系

9. 估計的簡單線性回歸方程
y?=b0+b1x
這個方程叫做估計線性方程(estimated regression line)
其中,b0是估計線性方程的縱截距
b1是估計線性方程的斜率
y?是在自變量x等于一個給定值的時候,y的估計值
10. 線性回歸分析流程:

11. 關于偏差ε的假定
- 是一個隨機的變量,均值為0
- ε的方差(variance)對于所有的自變量x是一樣的
- ε的值是獨立的
- ε滿足正態(tài)分布
12 . 簡單線性回歸模型舉例:
汽車賣家做電視廣告數量與賣出的汽車數量:

12 .1 如何練處適合簡單線性回歸模型的最佳回歸線?


最小
12 .2 計算

計算b1

分子 = (1-2)(14-20)+(3-2)(24-20)+(2-2)(18-20)+(1-2)(17-20)+(3-2)(27-20)
= 6 + 4 + 0 + 3 + 7
= 20
分母 = (1-2)^2 + (3-2)^2 + (2-2)^2 + (1-2)^2 + (3-2)^2
= 1 + 1 + 0 + 1 + 1
= 4
b1 = 20/4 =5
計算b0

b0 = 20 - 5*2 = 20 - 10 = 10
12. 3預測:
假設有一周廣告數量為6,預測的汽車銷售量是多少?

代碼實現:
# 簡單現行回歸:只有一個自變量 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) / float(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)
y_predict = prefict(6, b0, b1)
print("y_predict:" + str(y_predict))
運行結果:
numerator:20.0
dinominator:4.0
y_predict:40.0
????????????【注】:本文為麥子學院機器學習課程的學習筆記