數(shù)據(jù)代碼分享|R語言回歸分析:體脂數(shù)據(jù)、公交綠色出行與全球變暖2案例|附代碼數(shù)據(jù)
全文鏈接:http://tecdat.cn/?p=32520
原文出處:拓端數(shù)據(jù)部落公眾號
通常在現(xiàn)實應(yīng)用中,我們需要去理解一個變量是如何被一些其他變量所決定的。
最近我們被客戶要求撰寫關(guān)于回歸分析的研究報告,包括一些圖形和統(tǒng)計輸出。
回答這樣的問題,需要我們?nèi)ソ⒁粋€模型。一個模型就是一個公式之中,一個因變量(dependent variable)(需要預(yù)測的值)會隨著一個或多個數(shù)值型的自變量(independent variable)(預(yù)測變量)而改變的。我們能夠構(gòu)建的最簡單的模型之一就是線性模型,我們可以假設(shè)因變量和自變量間是線性的關(guān)系?;貧w分方法可用于預(yù)測數(shù)值型數(shù)據(jù)以及量化預(yù)測結(jié)果與其預(yù)測變量之間關(guān)系的大小及強度。本文將介紹如何將回歸方法應(yīng)用到你自己的數(shù)據(jù)中,主要介紹學(xué)習(xí)內(nèi)容:
用線性回歸方法來擬合數(shù)據(jù)方程的基本統(tǒng)計原則和它們?nèi)绾蚊枋鰯?shù)據(jù)元素之間的關(guān)系。
如何使用R準(zhǔn)備數(shù)據(jù)進行回歸分析,定義一個線性方程并估計回歸模型。
案例1:體脂數(shù)據(jù)回歸分析
data=read.table("bodyfat.txt",header=F)
給變量名賦值
{r}
colnames(data)=c("Density determined from underwater weighing","Percent body fat from Siri's (1956) equation","Age","Weight","
數(shù)據(jù)相關(guān)圖
回歸分析
由于P<0.05,于是在α=0.05水平下,本例的回歸系數(shù)有統(tǒng)計學(xué)意義,體重和體脂存在回歸關(guān)系。
數(shù)據(jù)擬合圖
置信區(qū)間
殘差分析
par(mfrow=c(2,2)) ?plot(lmmod)
逐步回歸
stepmod=step(lmmod,direction="both",trace=T);
由于P<0.05,于是在α=0.05水平下,本例的回歸系數(shù)有統(tǒng)計學(xué)意義,體重、年齡、胸圍和體脂存在回歸關(guān)系。
案例2:公交綠色出行與全球變暖回歸分析
查看數(shù)據(jù)
head(data)
查看數(shù)據(jù)結(jié)構(gòu)
查看數(shù)據(jù)概況
刪除缺失數(shù)據(jù)
data[ data== "<NA>"]=NA ?datanew=na.omit(data)
相關(guān)分析
corrgram(datanew[,c("支持程度.1-7","污染嚴(yán)重"? ,"區(qū)域主因" ,"公交出行" , "
使用cor函數(shù)來查看不同變量之間的相關(guān)系數(shù)
##查看支持程度和不同變量之間的相關(guān)系數(shù) ?cormat[1,]## 支持程度.1-7???? 污染嚴(yán)重???? 區(qū)域主因???? 公交出行???? 全球變暖 ?##? 1.000000000? 0.057896120? 0.007793092? 0.195963899? 0.118643706 ?##???? 工業(yè)變暖???? 尾氣變暖???? 公交了解???? 公交滿意???? 個人影響 ?##? 0.038408531? 0.265162650 -0.028947130? 0.061299236? 0.561345590 ?##???? 有效治堵???? 有效減排???? 通勤方式???? 收費區(qū)域???? 收費時段 ?##? 0.647623352? 0.582528538 -0.067935998 -0.025646569 -0.086475704 ?##???? 收入用途 ?##? 0.064924787cor.test(datanew$`支持程度.1-7`,datanew$公交出行)## ?##? Pearson's product-moment correlation ?## ?## data:? datanew$`支持程度.1-7` and datanew$公交出行 ?## t = 5.5525, df = 772, p-value = 3.875e-08 ?## alternative hypothesis: true correlation is not equal to 0 ?## 95 percent confidence interval: ?##? 0.1272518 0.2628041 ?## sample estimates: ?##?????? cor ?## 0.1959639cor.test(datanew$`支持程度.1-7`,datanew$全球變暖)## ?##? Pearson's product-moment correlation ?## ?## data:? datanew$`支持程度.1-7` and datanew$全球變暖 ?## t = 3.32, df = 772, p-value = 0.0009426 ?## alternative hypothesis: true correlation is not equal to 0 ?## 95 percent confidence interval: ?##? 0.04858049 0.18754507 ?## sample estimates: ?##?????? cor ?## 0.1186437
建立多元線性=======================因變量為支持程度.1-7
##獲得訓(xùn)練集 ?? ? ?train <- sample(1:nrow(datanew), nrow(datanew)*0.8) ?datanew.train <- datanew[train, ]
進行多元線性模型并進行分析 -----P值<0.1的和F-K列
由于P<0.05,于是在α=0.05水平下,本例的回歸系數(shù)有統(tǒng)計學(xué)意義,污染嚴(yán)重、有效減排、收費時段、個人影響和有效治堵和支持程度存在回歸關(guān)系。
回歸結(jié)果
置信區(qū)間與預(yù)測區(qū)間:
置信區(qū)間是給定自變量值后,由回歸方程得到的的預(yù)測值(實際上是的平均值)的置信區(qū)間;預(yù)測區(qū)間是實際值的置信區(qū)間,在這里稱為預(yù)測區(qū)間。
殘差分析:
殘差分析可以對回歸模型的假設(shè)條件即隨機誤差項是否獨立同分布進行檢驗,同時還可以找出離群點。命令語句為plot(lm.1),顯示結(jié)果如下
plot(lmmod)
最受歡迎的見解
1.R語言多元Logistic邏輯回歸 應(yīng)用案例
2.面板平滑轉(zhuǎn)移回歸(PSTR)分析案例實現(xiàn)
3.matlab中的偏最小二乘回歸(PLSR)和主成分回歸(PCR)
4.R語言泊松Poisson回歸模型分析案例
5.R語言回歸中的Hosmer-Lemeshow擬合優(yōu)度檢驗
6.r語言中對LASSO回歸,Ridge嶺回歸和Elastic Net模型實現(xiàn)
7.在R語言中實現(xiàn)Logistic邏輯回歸
8.python用線性回歸預(yù)測股票價格
9.R語言如何在生存分析與Cox回歸中計算IDI,NRI指標(biāo)