您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“R語言怎么實現(xiàn)一元線性回歸”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“R語言怎么實現(xiàn)一元線性回歸”吧!
⑴簡單線性回歸
現(xiàn)實生活中身高是更容易觀測的一個量,現(xiàn)在我們基于這些數(shù)據(jù)建模,通過身高來預(yù)測體重,如下所示:
fit=lm(weight~height, data=women)summary(fit)
在上面summary的結(jié)果中,Residuals為響應(yīng)變量的殘差情況;Coefficients為系數(shù)也即模型參數(shù)及其檢驗結(jié)果,其中Intercept為截距;最后一部分為復(fù)相關(guān)系數(shù)的平方也即R2的值及其檢驗結(jié)果。
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))
回歸模型構(gòu)建后,必須要做模型診斷,來對其中的基礎(chǔ)假設(shè)(正態(tài)性、獨立性、線性、同方差性)進(jìn)行檢驗,從而增強對其預(yù)測未知數(shù)據(jù)的信心?;貧w診斷最簡單的一個方法就是將模型各種情況進(jìn)行可視化,如下所示:
par(mfrow=c(2,2))plot(fit)
⑵多項式回歸
雖然各種檢驗結(jié)果均是顯著的,但是上面的結(jié)果并不是很完美,因為我們從數(shù)據(jù)點的分布很明顯看出weight關(guān)于height不完全是線性關(guān)系,這時候我們可以添加一個二次項來進(jìn)行多項式回歸:
fit2=lm(weight~height+I(height^2), data=women)summary(fit2)
這時的回歸方程為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))
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)一元線性回歸”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。