日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【数据分析】线性回归与逻辑回归

發(fā)布時(shí)間:2024/9/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数据分析】线性回归与逻辑回归 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章來(lái)源:公眾號(hào)-智能化IT系統(tǒng)。


回歸模型有多種,一般在數(shù)據(jù)分析中用的比較常用的有線性回歸和邏輯回歸。其描述的是一組因變量和自變量之間的關(guān)系,通過(guò)特定的方程來(lái)模擬。這么做的目的也是為了預(yù)測(cè),但有時(shí)也不是全部為了預(yù)測(cè),只是為了解釋一種現(xiàn)象,因果關(guān)系。


還是按照老風(fēng)格,不說(shuō)空泛的概念,以實(shí)際的案例出發(fā)。


還是先前的案例,購(gòu)房信息,我們這次精簡(jiǎn)以下,這8位購(gòu)房者我們只關(guān)注薪水和年齡這兩個(gè)因素,信息如下:


用戶ID年齡收入是否買房
12715W
24730W
33212W
42445W
54530W
65632W
73115W
82330W


我們用這個(gè)案例說(shuō)明我們提到的線性回歸模型和邏輯回歸模型。


線性回歸

首先我們看線性回歸模型。如果我們想試圖看下收入和年齡是否有什么直接的關(guān)系,這里,我們把收入看成自變量,年齡是因變量,那么線性模型的關(guān)系圖自然是直線,按照方程,我們可以得出:

y(收入)=a + bx(年齡)


這里,b是回歸系數(shù),a是回歸常數(shù)。但是俗話說(shuō),理想很豐滿,現(xiàn)實(shí)很骨干,偏差一定存在,所以實(shí)際上還有殘差e存在。所以這個(gè)方程更精確的應(yīng)該是:

y(收入)=a + bx(年齡) + e


現(xiàn)在我們來(lái)計(jì)算具體的回歸系數(shù)和回歸常數(shù)。具體計(jì)算公式如下:

b =?∑(y - Y)(x - X)/∑(x - X)(x - X)

a = Y - bX


這里,大寫的X和Y代表平均值,我們先計(jì)算除了回歸系數(shù),然后在通過(guò)平均值計(jì)算出回歸常數(shù)。


我們先算出Y值為26.125,X值為35.625。然后我們來(lái)計(jì)算回歸系數(shù),針對(duì)每一數(shù)據(jù),得到如下:

用戶IDx - Xy - Y(y - Y)(x - X)(x - X)(x - X)
1-8.625-11.12595.95312574.390625
211.3753.87544.078125129.390625
3-3.625-14.12551.20312513.140625
4-11.62518.875-219.421875135.140625
59.3753.87536.32812587.890625
620.3755.875119.703125415.140625
7-4.625-11.12551.45312521.390625
8-12.6253.87548.921875159.390625


然后我們來(lái)計(jì)算回歸系數(shù)和回歸常數(shù)

b?= 0.1259

a?= 21.6412


OK,現(xiàn)在方程已經(jīng)出現(xiàn)了,就是:

y = 21.6412 + 0.1259x


那么是否完工了呢,我們可以根據(jù)任何的年齡來(lái)預(yù)測(cè)其薪水?答案肯定是不,我們要對(duì)這個(gè)公式進(jìn)行評(píng)估,以決定是否可以用線性回歸模型來(lái)預(yù)測(cè)。其中有一個(gè)方式是通過(guò)判定系數(shù),做為一個(gè)標(biāo)準(zhǔn)來(lái)衡量方程的擬合程度。


判定系數(shù)涉及到三個(gè)概念:

理論值y1:按照公式來(lái)計(jì)算的值

觀測(cè)值y2:實(shí)際的值

平均值y3:就是剛才計(jì)算得到的26.125


于是我們又計(jì)算了一大堆,得出如下:

用戶IDy3y2y1
126.1251524.2249
226.1253028.6309
326.1251225.3264
426.1254523.564
526.1253028.1903
626.1253230.6136
726.1251525.1061
826.1253023.3437


判定系數(shù)就是:∑(y1 - y3)(y1 - y3)/∑(y2 - y3)(y2 - y3)

判定系數(shù)要接近于1,則說(shuō)明這個(gè)線性模型越準(zhǔn)確,在這個(gè)案例中,完全沒(méi)有達(dá)到,所以是不可行的。


線性模型R語(yǔ)言實(shí)現(xiàn)

如果我們自己寫代碼實(shí)現(xiàn),還是比較費(fèi)精力和時(shí)間,R語(yǔ)言中已經(jīng)為您實(shí)現(xiàn)了回歸模型的定制。


還是上述的案例,如下:


首先創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)框:

> year <- c(27,47,32,24,45,56,31,23)

> money <- c(15,30,12,45,30,32,15,30)

> buyhouse <- c(0,1,0,1,0,1,0,0)

> case <- data.frame(year,money,buyhouse)

> case

year money buyhouse

1 27 15 0

2 47 30 1

3 32 12 0

4 24 45 1

5 45 30 0

6 56 32 1

7 31 15 0

8 23 30 0

>


然后通過(guò)lm函數(shù)來(lái)評(píng)估:

> runs.mdl <- lm(

+ formula=money~year,data=case)

這里,formula是公式函數(shù),指定了因變量和自變量,data表示需要評(píng)估的數(shù)據(jù)集。


然后我們可以看得到的回歸系數(shù)和回歸常數(shù):

> coef(runs.mdl)

(Intercept) year

21.6412453 0.1258598

上面的Intercept是回歸常數(shù),0.1258598是回歸系數(shù)。


同時(shí)我們可以用summary得到詳細(xì)的分析:

> summary(runs.mdl)


Call:

lm(formula = money ~ year, data = case)


Residuals:

Min 1Q Median 3Q Max

-13.669 -10.165 2.569 3.849 20.338


Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 21.6412 13.9636 1.550 0.172

year 0.1259 0.3734 0.337 0.748


Residual standard error: 12.02 on 6 degrees of freedom

Multiple R-squared: 0.01859, Adjusted R-squared: -0.145

F-statistic: 0.1136 on 1 and 6 DF, p-value: 0.7475


上面的Multiple R-squared: 0.01859就是判定系數(shù),這里已經(jīng)有了非常詳細(xì)的評(píng)估。


邏輯回歸

如上所說(shuō)的是線性回歸,邏輯回歸可以理解為線性回歸的衍生,只是因變量的范圍固定在0和1之間。X和Y變量的曲線呈S型。當(dāng)X逐漸減少時(shí),Y也趨近于0。


同樣,邏輯回歸有一系列的計(jì)算法則,以及公式。和線性回歸一樣,其需要回歸系數(shù)和回歸參數(shù),來(lái)評(píng)估因變量的取向。而在這里,因變量Y不再是一個(gè)值估計(jì),而是概率,當(dāng)Y等于1的概率。


這個(gè)公式如下:

P(Y=1│X=x)=exp(x'β)/(1+exp(x'β))


具體的算法原理我們不做詳細(xì)討論,還是以案例來(lái)說(shuō),我們?cè)u(píng)估根據(jù)年齡和薪水這兩個(gè)變量,決定是否買房的概率,這是個(gè)二元邏輯回歸。


在R語(yǔ)言中,我們可以坐享其成,用glm來(lái)統(tǒng)計(jì)

> runss.mdl <- glm(formula=buyhouse~year+money,data=case,family="binomial")

這里我們要指定family是binomial,以表明是邏輯回歸。


然后我們查看具體的情況:

> summary(runss.mdl)


Call:

glm(formula = buyhouse ~ year + money, family = "binomial", data = case)


Deviance Residuals:

1 2 3 4 5 6

-2.100e-08 5.169e-05 -2.100e-08 8.346e-06 -5.019e-05 2.100e-08

7 8

-2.100e-08 -2.100e-08


Coefficients:

Estimate Std. Error z value Pr(>|z|)

(Intercept) -1889.94 1093171.03 -0.002 0.999

year 20.46 11911.42 0.002 0.999

money 31.62 18804.21 0.002 0.999


(Dispersion parameter for binomial family taken to be 1)


Null deviance: 1.0585e+01 on 7 degrees of freedom

Residual deviance: 5.2599e-09 on 5 degrees of freedom

AIC: 6


Number of Fisher Scoring iterations: 25


然后我們可以做出圖形,來(lái)評(píng)估最終的效果,R中的plot即可,或者通過(guò)anova來(lái)進(jìn)行統(tǒng)計(jì),此處省略。



公眾號(hào)-智能化IT系統(tǒng)。每周都有技術(shù)文章推送,包括原創(chuàng)技術(shù)干貨,以及技術(shù)工作的心得分享。掃描下方關(guān)注。


總結(jié)

以上是生活随笔為你收集整理的【数据分析】线性回归与逻辑回归的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。