【機(jī)器學(xué)習(xí)與R語言】6-線性回歸

1.理解回歸

  • 確定一個唯一的因變量(需預(yù)測的值)和一個或多個數(shù)值型的自變量(預(yù)測變量)之間的關(guān)系朝墩。
  • 回歸分析對數(shù)據(jù)間復(fù)雜關(guān)系建立模型墅诡,用來估計一種處理方法對結(jié)果影響和推斷未來送漠。也可用于假設(shè)檢驗(yàn)板熊。
  • 線性回歸:直線回歸模型
  • 簡單線性回歸:單一自變量
  • 多元回歸:多變量

也可對分類變量做回歸:

  • 邏輯回歸:對二元分類的結(jié)果建模
  • 泊松回歸:對整型的計數(shù)數(shù)據(jù)建模

線性回歸帘饶、邏輯回歸甜无、泊松回歸以及其他許多回歸都屬于廣義線性模型(GLM)柳譬。


image.png

1)簡單線性回歸

方程就是一條直線:

線性方程

做回歸分析時喳张,設(shè)計對α和β尋找參數(shù)估計(一般用a和b來表示)。

2)普通最小二乘估計

普通最小二乘法(OLS):確定α和β的最優(yōu)估計值美澳,即斜率和截距的選擇要使得誤差(y的預(yù)測值與y的真實(shí)值之間的垂直距離销部,即殘差)的平方和最小摸航。

示意圖

公式

通過演算,使得誤差平方最小的b值為:


image.png

即:
協(xié)方差除以方差

a的最優(yōu)值為:
均值

3)相關(guān)系數(shù)

Pearson相關(guān)系數(shù):

協(xié)方差除以標(biāo)準(zhǔn)差

經(jīng)驗(yàn)規(guī)則(大拇指規(guī)則)來解釋相關(guān)系數(shù):
0.1-0.3弱相關(guān)舅桩;0.3-0.5中相關(guān)酱虎;0.5以上強(qiáng)相關(guān),但必須根據(jù)上下文解釋擂涛。

4)多元線性回歸

image.png

多元回歸方程:


最后一項(xiàng)為誤差項(xiàng)

可表示為:


image.png

經(jīng)過推導(dǎo)(略)读串,可計算向量β最佳估計:
image.png

可編寫一個簡單回歸函數(shù)reg,輸入y和x撒妈,返回一個估計的β系數(shù)矩陣:

reg <- function(y,x){
  x <- as.matrix(x)
  x <- cbind(Intercept=1,x)
  #solve執(zhí)行矩陣逆運(yùn)算恢暖, %*%兩個矩陣相乘
  solve(t(x) %*% x) %*% t(x) %*% y 
}
簡單線性模型

多元回歸模型

2.線性回歸應(yīng)用示例

預(yù)測醫(yī)療費(fèi)用:利用病人的數(shù)據(jù)來預(yù)測他們的平均醫(yī)療費(fèi)用,進(jìn)而創(chuàng)建一個精算表來設(shè)定年度保費(fèi)的價格狰右。

1)收集數(shù)據(jù)

1338個案例胀茵,包括保險受益者,病人特點(diǎn)(年齡挟阻、性別、BMI峭弟、區(qū)域等)和歷年計劃計入的總醫(yī)療費(fèi)用的特征附鸽。

數(shù)據(jù)下載:

鏈接: https://pan.baidu.com/s/1Hgn5jad2O1HCgNSJrzT9MA 提取碼: vjr9

2)探索和準(zhǔn)備數(shù)據(jù)

## Example: Predicting Medical Expenses ----
## Step 2: Exploring and preparing the data ----
insurance <- read.csv("insurance.csv", stringsAsFactors = TRUE)
str(insurance)

# summarize the charges variable
summary(insurance$expenses)

# histogram of insurance charges
hist(insurance$expenses)

# table of region
table(insurance$region)

# exploring relationships among features: correlation matrix
cor(insurance[c("age", "bmi", "children", "expenses")])

# visualing relationships among features: scatterplot matrix
pairs(insurance[c("age", "bmi", "children", "expenses")])

# more informative scatterplot matrix
library(psych)
pairs.panels(insurance[c("age", "bmi", "children", "expenses")])
image.png

兩個變量相關(guān)性由橢圓形狀表示:越拉伸相關(guān)性越強(qiáng)。每個變量的局部回歸平滑曲線表示x軸和y軸變量之間的一般關(guān)系瞒瘸。倒U形(如age和bmi)

3)訓(xùn)練數(shù)據(jù)

## Step 3: Training a model on the data ----
ins_model <- lm(expenses ~ age + children + bmi + sex + smoker + region,
                data = insurance)
ins_model <- lm(expenses ~ ., data = insurance) # this is equivalent to above

# see the estimated beta coefficients
ins_model
image.png

截距很難解釋坷备,沒有內(nèi)在意義,在實(shí)際中常常被忽略情臭。
指定6個變量省撑,但輸出了10個系數(shù):因?yàn)閘m函數(shù)將虛擬編碼自動應(yīng)用于因子類型的變量中。
估計的系數(shù)是相對于參照類別解釋的俯在。

4)評估模型

## Step 4: Evaluating model performance ----
# see more detail about the estimated beta coefficients
summary(ins_model)
image.png

5)提高模型性能

①添加非線性關(guān)系
如添加一個高階項(xiàng)到回歸模型中竟秫,把模型當(dāng)成多項(xiàng)式處理。比如年齡對醫(yī)療費(fèi)用的影響可能不是恒定的跷乐,越老的人肥败,治療費(fèi)越高,考慮將age創(chuàng)建一個新的非線性變量age^2
②將一個數(shù)值型變量轉(zhuǎn)換為二進(jìn)制指標(biāo)
當(dāng)一個特征的影響不是累積的愕提,而是當(dāng)特征的取值達(dá)到一個給定的閾值后才產(chǎn)生影響馒稍。比如BMI只有大于30時才有影響。
③加入相互作用的影響
當(dāng)兩個特征存在共同影響時浅侨,可考慮相互作用纽谒,如肥胖指標(biāo)bmi30和吸煙指標(biāo)smoker可能存在相互作用。
④綜合以上三點(diǎn)一起改進(jìn)

## Step 5: Improving model performance ----

# add a higher-order "age" term
insurance$age2 <- insurance$age^2

# add an indicator for BMI >= 30
insurance$bmi30 <- ifelse(insurance$bmi >= 30, 1, 0)

# create final model
ins_model2 <- lm(expenses ~ age + age2 + children + bmi + sex +
                   bmi30*smoker + region, data = insurance)

summary(ins_model2)
image.png

R方從0.75提高到了0.87如输,即模型現(xiàn)在能解釋醫(yī)療費(fèi)用變化的87%鼓黔。

https://www.sohu.com/a/228212348_349736

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末央勒,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子请祖,更是在濱河造成了極大的恐慌订歪,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肆捕,死亡現(xiàn)場離奇詭異刷晋,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)慎陵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門眼虱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人席纽,你說我怎么就攤上這事捏悬。” “怎么了润梯?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵过牙,是天一觀的道長。 經(jīng)常有香客問我纺铭,道長寇钉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任舶赔,我火速辦了婚禮扫倡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘竟纳。我一直安慰自己撵溃,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布锥累。 她就那樣靜靜地躺著缘挑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪桶略。 梳的紋絲不亂的頭發(fā)上卖哎,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天,我揣著相機(jī)與錄音删性,去河邊找鬼亏娜。 笑死,一個胖子當(dāng)著我的面吹牛蹬挺,可吹牛的內(nèi)容都是我干的维贺。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼巴帮,長吁一口氣:“原來是場噩夢啊……” “哼溯泣!你這毒婦竟也來了虐秋?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤垃沦,失蹤者是張志新(化名)和其女友劉穎客给,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肢簿,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡靶剑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了池充。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片桩引。...
    茶點(diǎn)故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖收夸,靈堂內(nèi)的尸體忽然破棺而出坑匠,到底是詐尸還是另有隱情,我是刑警寧澤卧惜,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布厘灼,位于F島的核電站,受9級特大地震影響咽瓷,放射性物質(zhì)發(fā)生泄漏设凹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一忱详、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧跺涤,春花似錦匈睁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至院刁,卻和暖如春糯钙,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背退腥。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工任岸, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人狡刘。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓享潜,卻偏偏與公主長得像,于是被迫代替她去往敵國和親嗅蔬。 傳聞我的和親對象是個殘疾皇子剑按,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評論 2 360