简单线性回归(Simple Linear Regression)和多元线性回归(Multiple Regression)学习笔记
簡(jiǎn)單線性回歸(Simple Linear Regression)
0.前提介紹:
為什么需要統(tǒng)計(jì)量?
統(tǒng)計(jì)量:描述數(shù)據(jù)特征
0.1集中趨勢(shì)衡量
0.1.1均值(平均數(shù),平均值) (mean):(求和除以個(gè)數(shù),Ex也可以表示x求均值)
0.1.2中位數(shù)(median) : 將數(shù)據(jù)中的各個(gè)數(shù)值按照大小順序排列,居于中間位置的變量
0.1.2.1.給數(shù)據(jù)排序: 1,2,2,6,9
0.1.2.2.找出位置處于中間的變量: 2
當(dāng)n為奇數(shù)的時(shí)候:直接取位置處于中間的變量
當(dāng)n為偶數(shù)的時(shí)候,取中間兩個(gè)量的平均值
0.1.2眾數(shù)(mode) : 數(shù)據(jù)中出現(xiàn)次數(shù)最多的數(shù)
0.2.1.離散程度衡量
0.2.1.1方差(variance):
例如:{6, 2,9,1, 2}
(1)(6- 4)^2 + (2- 4)^2 + (9- 4)^2 +(1- 4)^2 + (2- 4)^2
=4+4+25+9+4= 46
(2) n-1=5-1=4
(3) 46/ 4 = 11.5
0.2.1.2標(biāo)準(zhǔn)差(standard deviation):方差開(kāi)平方
S= sqrt(11.5) = 3.39
1.回歸問(wèn)題與分類問(wèn)題區(qū)別:
回歸(regression) :Y變量為連續(xù)數(shù)值型( continuous numerical variable)
如:房?jī)r(jià),人數(shù),降雨量
分類( Classification): Y變量為類別型(categorical variable)
如:顏色類別,電腦品牌,有無(wú)信譽(yù)
2.簡(jiǎn)單線性回歸( Simple Linear Regression)
2.1很多做決定過(guò)過(guò)程通常是根據(jù)兩個(gè)或者多個(gè)變量之間的關(guān)系
2.3回歸分析(regression analysis)用來(lái)建立方程模擬兩個(gè)或者多個(gè)變量之間如何關(guān)聯(lián)
2.4被預(yù)測(cè)的變量叫做:因變量(dependent variable), y,即輸出(output)
2.5被用來(lái)進(jìn)行預(yù)測(cè)的變量叫做:自變量(independent variable), x,即輸入(input)
3.簡(jiǎn)單線性回歸介紹
3.1簡(jiǎn)單線性回歸包含一個(gè)自變量(x)和一 個(gè)因變量(y)
3.2以上兩個(gè)變量的關(guān)系用一條直線來(lái)模擬
3.3如果包含兩個(gè)以上的自變量,則稱作多元回歸分析( multiple regression)
4.簡(jiǎn)單線性回歸模型
4.1被用來(lái)描述因變量(y)和自變量(X)以及偏差(error)之間關(guān)系的方程叫做回歸模型
4.2簡(jiǎn)單線性回歸的模型是:
β為參數(shù),X為自變量,ε為偏差
5.單線性回歸方程:(ε滿足正態(tài)分布,切均值為0)
E(y)=β0+β1x
這個(gè)方程對(duì)應(yīng)的圖像是一條直線, 稱作回歸線
其中,β0是回歸線的截距
β1是回歸線的斜率
E(y)是在一個(gè)給定x值下y的期望值(均值)
6.正向線性關(guān)系:
7.負(fù)向線性關(guān)系:
8.無(wú)關(guān)系:(斜率等于0)
?
9.估計(jì)的簡(jiǎn)單線性回歸方程
b0為截距β0的估計(jì)值,b1是斜率β1的估計(jì)值
這個(gè)方程叫做估計(jì)線性方程( estimated regression line)
其中,bo是估計(jì)線性方程的縱截距
b是估計(jì)線性方程的斜率
y是在自變量x等于一個(gè)給定值的時(shí)候,y的估計(jì)值
10.線性回歸分析流程:(ε的期望值(均值)為0,所以E(y)無(wú)ε)
11.關(guān)于偏差ε的假定
11.1是一個(gè)隨機(jī)的變量,均值(或期望值)為0
11.2 ε的方差(variance)對(duì)于所有的自變量x是一樣的
11.3 ε的值是獨(dú)立的
11.4 ε滿足正態(tài)分布
簡(jiǎn)單線性回歸(Simple Linear Regression)下
簡(jiǎn)單線性回歸模型舉例:
汽車賣家做電視廣告數(shù)量與賣出的汽車數(shù)里:
1.1如何練處適合簡(jiǎn)單線性回歸模型的最佳回歸線?
最佳回歸線標(biāo)準(zhǔn):(實(shí)際值y為紅點(diǎn),估計(jì)值y(hat)為線上的值)
使sum of squares(平方和)最小:
1.1.2最佳回歸線計(jì)算
b0為截距β0的估計(jì)值,b1是斜率β1的估計(jì)值,(y ? 和x ? 都經(jīng)過(guò)這條線,帶入b1可求出b0)
分子= (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=20-5*2=20- 10= 10
實(shí)例code:
其中x_ given= 6(實(shí)例)
==Y_ hat=5*6+ 10 = 40 ==
運(yùn)行結(jié)果如下:
numeritor: 20.0
denominator: 4.0
intercept: 10.0
slope: 5.0
y_test: 40.0
多元線性回歸(Multiple Regression)上
多元回歸分析( multipleregression)
1.與簡(jiǎn)單線性回歸區(qū)別( simple linear regression):
MR有多個(gè)自變量(x)
2.多元回歸模型
y=β0+β1 X1+β2X2+ … +βpXp+ε (多元的平面)
其中:β0(截面), β1, β2…βp是參數(shù)
ε是誤差值
3.多元回歸方程(等式左右同時(shí)取期望值,等式右邊取期望值等于所有個(gè)體的期望值之和)
E(y)=β0+β1x1+B2X2+ … +βpXp
4.估計(jì)多元回歸方程:
y_hat=b0+b1 x+b2x2+ … +bpXp
一個(gè)樣本被用來(lái)計(jì)算β0, β1, β2… βp的點(diǎn)估計(jì)值分別為b0, b1, b2…,bp
5.估計(jì)流程(即預(yù)測(cè)過(guò)程,與簡(jiǎn)單線性回歸類似一樣)
Regression Model:y=β0+β1x+β2x+….βpx+ε,以下同理變化
Sample Data:現(xiàn)實(shí)中很多數(shù)據(jù)是難以統(tǒng)計(jì)完全的,所以用抽取的樣本來(lái)計(jì)算.
6.估計(jì)方法
使sum of squares(平方和)最小:(多元曲面上估算值到實(shí)際值的差之和最小)
運(yùn)算與簡(jiǎn)單線性回歸類似,涉及到線性代數(shù)和矩陣的運(yùn)算
7.例子(使用python計(jì)算)
一家快遞公司送貨 , X1 :運(yùn)輸里程(mile);X2 :運(yùn)輸次數(shù);Y :總運(yùn)輸時(shí)間(h).
Time = b0+ b1Miles + b2Deliveries
計(jì)算結(jié)果:(下節(jié)課做詳細(xì)運(yùn)算)
Time = -0.869 + 0.0611 Miles + 0.923 Deliveries
8.描述參數(shù)含義
b0: 常數(shù)項(xiàng)
b1: 平均每多運(yùn)送一英里,運(yùn)輸時(shí)間延長(zhǎng)0.0611小時(shí)
b2:平均每多一次運(yùn)輸, 運(yùn)輸時(shí)間延長(zhǎng)0.923小時(shí)
9.預(yù)測(cè)
如果一個(gè)運(yùn)輸任務(wù)是跑102英里,運(yùn)輸6次,預(yù)計(jì)多少小時(shí)?
Time = -0.869 +0.0611102+ 0.923 6=10.9 (小時(shí))
10.如果自變量(x)中有分類型變量( categorical data) ,如何處理?
(regression與classfication的區(qū)別在于y是否連續(xù))
答:x既可以使用連續(xù)性變量也可以使用分類型變量
0,1,2只是作為標(biāo)簽,與其本身大小無(wú)關(guān)
11.關(guān)于誤差的分布
誤差ε是一個(gè)隨機(jī)變量,均值為0
ε的方差對(duì)于所有的自變量來(lái)說(shuō)相等
所有ε的值是獨(dú)立的
ε滿足正態(tài)分布,并且通過(guò)β0+ β1 x1+β2x2+ … +βpxp反映y的期望值
多元線性回歸(Multiple Regression)下
一家快遞公司送貨 , X1 :運(yùn)輸里程(mile);X2 :運(yùn)輸次數(shù);Y :總運(yùn)輸時(shí)間(h).
目的,求出b0, b1,…bp:
Y_ hat=b0+b1X1+b2X2+ … +bpXp.
多元線性回歸code實(shí)例:
from numpy import genfromtxt #將csv文件的數(shù)據(jù)轉(zhuǎn)換成np的array形式 import numpy as np from sklearn import datasets,linear_model#1.導(dǎo)入數(shù)據(jù) dataPath = r'C:\Users\Administrator.Bili-2019LEMOKD\Desktop\新建文件夾\Delivery.csv' DeliveryData = genfromtxt(dataPath,delimiter=',') #genfromtxt將數(shù)據(jù)轉(zhuǎn)換成矩陣形式;csv文件每個(gè)cell以逗號(hào)為分隔符,所以分隔符為"," print(DeliveryData) #會(huì)自動(dòng)將文件中的數(shù)據(jù)讀取并轉(zhuǎn)換為矩陣形式,并放到文件的第一行第一列開(kāi)始 X = DeliveryData[:, :-1]#取所有維度第一(0)列和第二(1)列的數(shù)作為x(取左不取右,所以不含倒數(shù)第一列) # print(X) Y = DeliveryData[:,-1] # print(Y)#2.建模 regr = linear_model.LinearRegression() regr.fit(X,Y) print('coefficient:',regr.coef_) #x的系數(shù)(b1~bp) print('intercept',regr.intercept_) #截距(面)#3.預(yù)測(cè) xSample = np.array([[102,6]]) #array!! yPred = regr.predict(xSample) print('predicted y:',yPred)運(yùn)行結(jié)果如下:
[[100. 4. 9.3]
[ 50. 3. 4.8]
[100. 4. 8.9]
[100. 2. 6.5]
[ 50. 2. 4.2]
[ 80. 2. 6.2]
[ 75. 3. 7.4]
[ 65. 4. 6. ]
[ 90. 3. 7.6]
[ 90. 2. 6.1]]
coefficient: [0.0611346 0.92342537]
intercept -0.868701466781709
predicted y: [10.90757981]
如果自變量中有分類型變量(categorical data) :
將車型Dummy Varible轉(zhuǎn)換成0和1:
同樣可以用上面的代碼執(zhí)行:
from numpy import genfromtxt #將csv文件的數(shù)據(jù)轉(zhuǎn)換成np的array形式 import numpy as np from sklearn import datasets,linear_model#1.導(dǎo)入數(shù)據(jù) dataPath = r'C:\Users\Administrator.Bili-2019LEMOKD\Desktop\新建文件夾\DeliveryDummy.csv' eliveryData = genfromtxt(dataPath,delimiter=',') print(DeliveryData) '''打印出結(jié)果如果莫名多出幾行(-1或nan),可能是復(fù)制數(shù)據(jù)到csv文件時(shí)有空數(shù)據(jù),進(jìn)入csv刪除那幾行即可''' X = DeliveryData[:, :-1] print('X:',X) Y = DeliveryData[:,-1] print('Y:',Y)#2.建模 regr = linear_model.LinearRegression() regr.fit(X,Y) print('coefficient:',regr.coef_) #x的系數(shù)(5個(gè)x,b1~b5) print('intercept',regr.intercept_) #截距(面)#3.預(yù)測(cè) xSample = np.array([[102,6,0,1,0]]) #array!! yPred = regr.predict(xSample) print('predicted y:',yPred)運(yùn)行結(jié)果如下:
[100. 4. 0. 1. 0. 9.3]
[ 50. 3. 1. 0. 0. 4.8]
[100. 4. 0. 1. 0. 8.9]
[100. 2. 0. 0. 1. 6.5]
[ 50. 2. 0. 0. 1. 4.2]
[ 80. 2. 0. 1. 0. 6.2]
[ 75. 3. 0. 1. 0. 7.4]
[ 65. 4. 1. 0. 0. 6. ]
[ 90. 3. 1. 0. 0. 7.6]]
X: [[100. 4. 0. 1. 0.]
[ 50. 3. 1. 0. 0.]
[100. 4. 0. 1. 0.]
[100. 2. 0. 0. 1.]
[ 50. 2. 0. 0. 1.]
[ 80. 2. 0. 1. 0.]
[ 75. 3. 0. 1. 0.]
[ 65. 4. 1. 0. 0.]
[ 90. 3. 1. 0. 0.]]
Y: [9.3 4.8 8.9 6.5 4.2 6.2 7.4 6. 7.6]
coefficient: [ 0.05553544 0.69257631 -0.17013278 0.57040007 -0.40026729]
intercept 0.1999568891188126
predicted y: [10.59042938]
總結(jié)
以上是生活随笔為你收集整理的简单线性回归(Simple Linear Regression)和多元线性回归(Multiple Regression)学习笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【Pytorch神经网络实战案例】21
- 下一篇: 插入模板_WordPress在文章列表和