R語言怎么實現(xiàn)一元線性回歸

本篇內(nèi)容主要講解“R語言怎么實現(xiàn)一元線性回歸”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“R語言怎么實現(xiàn)一元線性回歸”吧!

創(chuàng)新互聯(lián)建站是專業(yè)的黎平網(wǎng)站建設(shè)公司,黎平接單;提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行黎平網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!

⑴簡單線性回歸

首先可以考慮最簡單的情況,也即只有一個自變量和一個因變量。我們使用  R  自帶的數(shù)據(jù)集  women  為例進(jìn)行分析,  women  數(shù)據(jù)集中包含了  15  個年齡  30~39  歲的女性身高和體重信息,如下所示:

R語言怎么實現(xiàn)一元線性回歸

現(xiàn)實生活中身高是更容易觀測的一個量,現(xiàn)在我們基于這些數(shù)據(jù)建模,通過身高來預(yù)測體重,如下所示:

fit=lm(weight~height, data=women)summary(fit)

R語言怎么實現(xiàn)一元線性回歸

在上面summary的結(jié)果中,Residuals為響應(yīng)變量的殘差情況;Coefficients為系數(shù)也即模型參數(shù)及其檢驗結(jié)果,其中Intercept為截距;最后一部分為復(fù)相關(guān)系數(shù)的平方也即R2的值及其檢驗結(jié)果。

接下來我們可以分別列出因變量觀察值、擬合值、殘差:

R語言怎么實現(xiàn)一元線性回歸

對于回歸模型我們可以進(jìn)行作圖展示:
library(ggplot2)ggplot(women, mapping=aes(x=height, y=weight)) +  geom_point(size=2) +  geom_smooth(method=lm, se=TRUE, fullrange=TRUE, level=0.95) +  theme(axis.title=element_text(size=15, color="black", face="bold", vjust=0.5, hjust=0.5))
作圖結(jié)果如下所示:

R語言怎么實現(xiàn)一元線性回歸

回歸模型構(gòu)建后,必須要做模型診斷,來對其中的基礎(chǔ)假設(shè)(正態(tài)性、獨(dú)立性、線性、同方差性)進(jìn)行檢驗,從而增強(qiáng)對其預(yù)測未知數(shù)據(jù)的信心。回歸診斷最簡單的一個方法就是將模型各種情況進(jìn)行可視化,如下所示:

par(mfrow=c(2,2))plot(fit)
如下圖所示:第一幅圖是殘差隨擬合值的變化情況,可以檢驗線性假設(shè),理論上來說如果線性模型十分吻合,殘差應(yīng)該是均勻分布的(也即殘差與擬合值是無關(guān)的,紅線近似水平),而圖中的情況暗示很可能存在更高次項的相關(guān)。第二幅圖是檢驗殘差正態(tài)性假設(shè)的  Q-Q  圖,根據(jù)正態(tài)性假設(shè),當(dāng)預(yù)測變量值固定時,因變量圍繞擬合值(預(yù)測值)呈正態(tài)分布,那么殘差應(yīng)該服從均值為  0  的正態(tài)分布(即圖中的點(diǎn)盡可能落在虛線上)。第三幅圖是標(biāo)準(zhǔn)化殘差絕對值的平方根隨擬合值的變化情況,用來檢驗同方差性假設(shè),如果滿足假設(shè),也即不同自變量水平下因變量方差是一樣的,那么圖中數(shù)據(jù)點(diǎn)應(yīng)該是均勻分布的(紅線近似水平)。第四幅圖用來篩選離群點(diǎn)(包括因變量和自變量),一個點(diǎn)代表一個樣品(對象),縱軸為標(biāo)準(zhǔn)化的殘差,絕對值越大說明其因變量值與擬合值差別越大,橫軸為杠桿值,杠桿值越大說明在自變量中是一個離群點(diǎn)。

R語言怎么實現(xiàn)一元線性回歸

⑵多項式回歸

雖然各種檢驗結(jié)果均是顯著的,但是上面的結(jié)果并不是很完美,因為我們從數(shù)據(jù)點(diǎn)的分布很明顯看出weight關(guān)于height不完全是線性關(guān)系,這時候我們可以添加一個二次項來進(jìn)行多項式回歸

fit2=lm(weight~height+I(height^2), data=women)summary(fit2)

R語言怎么實現(xiàn)一元線性回歸

這時的回歸方程為weight=0.083*height2-7.35*height+261.88。同樣我們可以作圖展示:

ggplot(women, aes(x=height, y=weight)) +  geom_point(size=2) +  geom_smooth(method=lm, se=TRUE, formula=y~x+I(x^2)) +  theme(axis.title=element_text(size=15, color="black", face="bold", vjust=0.5, hjust=0.5))

R語言怎么實現(xiàn)一元線性回歸

可以看出,在  ggplot2  里面通過  geom_smooth()  函數(shù)可以很方便的添加數(shù)據(jù)的回歸線。在構(gòu)造的多項式里,  x  與  x^2  并不一定是獨(dú)立的,這有可能會產(chǎn)生附加問題,另一種方法是使用  poly()  函數(shù)產(chǎn)生正交多項式,如下所示:
library(ggplot2)N=300x=1:N+rnorm(N, 10, 60)y=1:N+rnorm(N, 10, 60)colour=sample(c('red','blue'), N, replace=TRUE)df=data.frame(x=x, y=y, colour=colour)ggplot(df, aes(x=x,y=y, colour=colour)) +   geom_smooth( method='lm', formula=y~poly(x,3), level=0.95) +   geom_point(alpha=0.9)ggplot(df, aes(x=x,y=y, colour=colour)) +   geom_smooth( method='lm', formula=y~x+I(x^2)+I(x^3), level=0.95) +   geom_point(alpha=0.9)

一般情況下,上面兩種作圖方法是等價的,最終作圖結(jié)果如下所示:

R語言怎么實現(xiàn)一元線性回歸

到此,相信大家對“R語言怎么實現(xiàn)一元線性回歸”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

新聞名稱:R語言怎么實現(xiàn)一元線性回歸
鏈接分享:http://muchs.cn/article40/gdsjho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計、微信公眾號面包屑導(dǎo)航、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計