R語言資料探勘中的,“迴歸分析”是如何操作的?
迴歸分析是對多個自變數(又稱為預測變數)建立一個函式來預測因變數(又稱為響應變數的值)。
例如,銀行根據房屋貸款申請人的年齡、收入、開支、職業、負擔人口,以及整體信用限額等因素,來評估申請人的房貸風險。
線性迴歸
線性迴歸是利用預測變數的一個線性組合函式,來預測響應變數的統計分析方法,該線性迴歸模型的形式如下:
y = c0 + c1x1 + c2x2 + …+ ckxk;
x1, x2,… xk為預測變數,y為對預測的響應變數。
下面將在澳大利亞消費者價格指數(CPI)的資料上使用函式lm做線性迴歸分析
該資料為2008年到2010年澳大利亞的季度消費者價格指數。
1、需要建立資料集並繪製散佈圖。在下面的程式碼中,使用函式axis手動新增一個橫座標,引數las=3設定文字為垂直方向。
year <- rep(2008:2010, each=4)
quarter <- rep(1:4, 3)
cpi <- c(162.2, 164.6, 166.5, 166.0,
166.2, 167.0, 168.6, 169.5,
171.0, 172.1, 173.3, 174.0)
plot(cpi, xaxt="n", ylab="CPI", xlab="")
# draw x-axis
axis(1, labels=paste(year,quarter,sep="Q"), at=1:12, las=3)
澳大利亞2008-2010季度消費者價格指數
2、檢視CPI與其他變數之間的相關係數,包括year(年份)和quarter(季度)這兩個變數
cor(year,cpi)
cor(quarter,cpi)
3、在前面的資料上使用函式lm建立一個線性迴歸模型,其中year和quarter為預測變數,CPI為響應變數。
fit <- lm(cpi ~ year + quarter)
fit
根據上面建立的線性模型,CPI的計算公式為:
cpi = c0 + c1 * year + c2 * quarter
其中,c0, c1, c2為擬合模型fit的係數。因此,2011年的CPI值可以計算如下。
(cpi2011 <- fit$coefficients[[1]] + fit$coefficients[[2]]*2011 + fit$coefficients[[3]]*(1:4))
該模型的更多細節可以通過下面的程式碼獲得。
attributes(fit)
fit$coefficients
觀測值與擬合結果的殘差使用函式residuals 來計算。
residuals(fit)
summary(fit)
線性迴歸模型的預測圖
下面的程式碼繪製擬合模型的影像,如圖所示
plot(fit)
擬合模型的3D影像
還可以繪製擬合模型的3D影像,下面程式碼中使用函式scatterplot3d建立一個3D
library(scatterplot3d)
s3d <- scatterplot3d(year, quarter, cpi, highlight.3d=T, type="h", lab=c(2,3))
s3d$plane3d(fit)
擬合模型
基於擬合模型,20l1年的CPI可以通過如下方式預測,在後圖中預測值用小三角表示。
data2011 <- data.frame(year=2011, quarter=1:4)
cpi2011 <- predict(fit, newdata=data2011)
style <- c(rep(1,12), rep(2,4))
plot(c(cpi, cpi2011), xaxt="n", ylab="CPI", xlab="", pch=style, col=style)
axis(1, at=1:16, las=3,
labels=c(paste(year,quarter,sep="Q"), "2011Q1", "2011Q2", "2011Q3", "2011Q4"))
基於線性迴歸模型得到的2011年CPI的預測值
例如,銀行根據房屋貸款申請人的年齡、收入、開支、職業、負擔人口,以及整體信用限額等因素,來評估申請人的房貸風險。
線性迴歸
線性迴歸是利用預測變數的一個線性組合函式,來預測響應變數的統計分析方法,該線性迴歸模型的形式如下:
y = c0 + c1x1 + c2x2 + …+ ckxk;
x1, x2,… xk為預測變數,y為對預測的響應變數。
下面將在澳大利亞消費者價格指數(CPI)的資料上使用函式lm做線性迴歸分析
該資料為2008年到2010年澳大利亞的季度消費者價格指數。
1、需要建立資料集並繪製散佈圖。在下面的程式碼中,使用函式axis手動新增一個橫座標,引數las=3設定文字為垂直方向。
year <- rep(2008:2010, each=4)
quarter <- rep(1:4, 3)
cpi <- c(162.2, 164.6, 166.5, 166.0,
166.2, 167.0, 168.6, 169.5,
171.0, 172.1, 173.3, 174.0)
plot(cpi, xaxt="n", ylab="CPI", xlab="")
# draw x-axis
axis(1, labels=paste(year,quarter,sep="Q"), at=1:12, las=3)
澳大利亞2008-2010季度消費者價格指數
2、檢視CPI與其他變數之間的相關係數,包括year(年份)和quarter(季度)這兩個變數
cor(year,cpi)
cor(quarter,cpi)
3、在前面的資料上使用函式lm建立一個線性迴歸模型,其中year和quarter為預測變數,CPI為響應變數。
fit <- lm(cpi ~ year + quarter)
fit
根據上面建立的線性模型,CPI的計算公式為:
cpi = c0 + c1 * year + c2 * quarter
其中,c0, c1, c2為擬合模型fit的係數。因此,2011年的CPI值可以計算如下。
(cpi2011 <- fit$coefficients[[1]] + fit$coefficients[[2]]*2011 + fit$coefficients[[3]]*(1:4))
該模型的更多細節可以通過下面的程式碼獲得。
attributes(fit)
fit$coefficients
觀測值與擬合結果的殘差使用函式residuals 來計算。
residuals(fit)
summary(fit)
線性迴歸模型的預測圖
下面的程式碼繪製擬合模型的影像,如圖所示
plot(fit)
擬合模型的3D影像
還可以繪製擬合模型的3D影像,下面程式碼中使用函式scatterplot3d建立一個3D
library(scatterplot3d)
s3d <- scatterplot3d(year, quarter, cpi, highlight.3d=T, type="h", lab=c(2,3))
s3d$plane3d(fit)
擬合模型
基於擬合模型,20l1年的CPI可以通過如下方式預測,在後圖中預測值用小三角表示。
data2011 <- data.frame(year=2011, quarter=1:4)
cpi2011 <- predict(fit, newdata=data2011)
style <- c(rep(1,12), rep(2,4))
plot(c(cpi, cpi2011), xaxt="n", ylab="CPI", xlab="", pch=style, col=style)
axis(1, at=1:16, las=3,
labels=c(paste(year,quarter,sep="Q"), "2011Q1", "2011Q2", "2011Q3", "2011Q4"))
基於線性迴歸模型得到的2011年CPI的預測值
相關文章
- Lasso迴歸及其R語言操作R語言
- 資料分析與挖掘 - R語言:多元線性迴歸R語言
- R語言學習-迴歸診斷R語言
- 迴歸分析中R方和調整R方的區別
- 資料分析與R語言01R語言
- R語言資料質量分析R語言
- 線性迴歸-如何對資料進行迴歸分析
- R語言批量提取excel當中的資料R語言Excel
- R語言入門與資料分析R語言
- 資料探勘—邏輯迴歸分類—信用卡欺詐分析邏輯迴歸
- 《資料探勘R語言實戰》圖書介紹,資料探勘相關人員看過來!R語言
- 資料探勘中的資料歸約技術總結
- 【python資料探勘課程】十八.線性迴歸及多項式迴歸分析四個案例分享Python
- 【python資料探勘課程】十六.邏輯迴歸LogisticRegression分析鳶尾花資料Python邏輯迴歸
- 教你如何用R進行資料探勘
- 《R語言入門與資料分析》——向量索引R語言索引
- 想要從事資料分析,選擇python還是R語言呢?PythonR語言
- 資料分析:線性迴歸
- 資料探勘從入門到放棄(一):線性迴歸和邏輯迴歸邏輯迴歸
- 迴歸資料分析,資料運營的三種角色!
- 資料探勘的資料分析方法
- 用Excel做資料分析――迴歸分析Excel
- 基於R語言的跨平臺大資料機器學習與資料分析系統R語言大資料機器學習
- 資料分析與挖掘 - R語言:KNN演算法R語言KNN演算法
- 資料探勘與資料分析的主要區別是什麼
- R語言歸一化處理R語言
- 【Python資料探勘課程】九.迴歸模型LinearRegression簡單分析氧化物資料Python模型
- R語言邏輯迴歸、ROC曲線和十折交叉驗證R語言邏輯迴歸
- R語言實戰(1) 資料集的建立R語言
- java語言操作Oracle資料庫中的CLOB資料型別 (轉)JavaOracle資料庫資料型別
- R語言資料分析視訊免費大放送R語言
- 什麼是r語言R語言
- 【R語言入門】R語言中的變數與基本資料型別R語言變數資料型別
- R語言批量建立資料框R語言
- R語言資料處理(一)R語言
- r語言資料處理(三)R語言
- 社交網路分析的 R 基礎:(一)初探 R 語言
- 【R資料科學讀書筆記】R語言中的管道操作資料科學筆記R語言