多元線(xiàn)性回歸
我們使用 mtcars 數(shù)據(jù)集來(lái)演示腐泻。
library(dplyr)
df <- mtcars %>% select(-c(am, vs, cyl, gear, carb))
View(df)
- 連續(xù)變量
例如我們相同其中幾個(gè)變量(disp 梗摇,hp 毁兆,dra,twt)來(lái)預(yù)測(cè) mpg茶行。
model <- mpg ~ disp + hp + drat + wt
fit <- lm(model, df)
fit
## Call:
## lm(formula = model, data = df)
##
## Coefficients:
## (Intercept) disp hp drat wt
## 29.148738 0.003815 -0.034784 1.768049 -3.479668
也可以通過(guò)下面方式查看更多細(xì)節(jié)
summary(fit)
anova(fit)
可視化
par(mfrow=c(2,2))
plot(fit)
- 因子型變量
model <- mpg~ disp + hp + drat + wt + cyl + vs+ am+ gear + carb
df <- mtcars %>%
mutate(cyl = factor(cyl),
vs = factor(vs),
am = factor(am),
gear = factor(gear),
carb = factor(carb))
summary(lm(model, df))
逐步回歸
目的是篩選出最佳變量躯概,更好擬合。下面是使用olsrr包自動(dòng)篩選所有變量畔师。
library(dplyr)
library(olsrr)
df <- mtcars %>%
mutate(cyl = factor(cyl),
vs = factor(vs),
am = factor(am),
gear = factor(gear),
carb = factor(carb))
model <- mpg~.
fit <- lm(model, df)
test <- ols_step_all_possible(fit)
plot(test)
test結(jié)果中會(huì)給出所有變量組合娶靡,并給出了擬合度 rsquare 值。
R-squared(值范圍0-1)描述的 輸入變量對(duì)輸出變量的解釋程度看锉。在單變量線(xiàn)性回歸中R-squared 越大姿锭,說(shuō)明擬合程度越好。然而只要曾加了更多的變量伯铣,無(wú)論增加的變量是否和輸出變量存在關(guān)系呻此,則R-squared 要么保持不變,要么增加腔寡。So, 需要adjusted R-squared ,它會(huì)對(duì)那些增加的且不會(huì)改善模型效果的變量增加一個(gè)懲罰向趾诗。結(jié)論,如果單變量線(xiàn)性回歸蹬蚁,則使用 R-squared評(píng)估恃泪,多變量,則使用adjusted R-squared犀斋。在單變量線(xiàn)性回歸中贝乎,R-squared和adjusted R-squared是一致的。另外叽粹,如果增加更多無(wú)意義的變量览效,則R-squared 和adjusted R-squared之間的差距會(huì)越來(lái)越大,Adjusted R-squared會(huì)下降虫几。但是如果加入的特征值是顯著的锤灿,則adjusted R-squared也會(huì)上升。
作者:王發(fā)北
來(lái)源:CSDN
原文:https://blog.csdn.net/wwangfabei1989/article/details/80656668
版權(quán)聲明:本文為博主原創(chuàng)文章辆脸,轉(zhuǎn)載請(qǐng)附上博文鏈接但校!
下面我去試驗(yàn)下
我有65個(gè)變量,用這種方法需要多久啡氢,畢竟計(jì)算所有組合是很大的状囱,我用服務(wù)器試一下术裸,emmm
如果不行可要換其他回歸策略了
試驗(yàn)結(jié)果
我宛如智障,一種排列組合C(65,33) = 3609714217008131600亭枷,更別說(shuō)其他情況一起累加了袭艺,結(jié)果太大直接無(wú)法寫(xiě)入了,看下報(bào)錯(cuò)
當(dāng)然有其他挑選變量的辦法叨粘,有向前回歸猾编,向后回歸和逐步回歸,也有許多R包可以實(shí)現(xiàn)升敲。我采用逐步回歸袍镀,試了 MASS 包中的 stepAIC(fit, direction = "both") 和 olsrr 包中的 ols_step_both_aic(fit),結(jié)果一致冻晤。