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語言入門與資料分析R語言
- R語言批量提取excel當中的資料R語言Excel
- 資料探勘—邏輯迴歸分類—信用卡欺詐分析邏輯迴歸
- 想要從事資料分析,選擇python還是R語言呢?PythonR語言
- 《R語言入門與資料分析》——向量索引R語言索引
- 資料探勘從入門到放棄(一):線性迴歸和邏輯迴歸邏輯迴歸
- 資料分析:線性迴歸
- 迴歸資料分析,資料運營的三種角色!
- 資料探勘與資料分析的主要區別是什麼
- R語言實戰(1) 資料集的建立R語言
- 【R語言入門】R語言中的變數與基本資料型別R語言變數資料型別
- 社交網路分析的 R 基礎:(一)初探 R 語言
- 【R資料科學讀書筆記】R語言中的管道操作資料科學筆記R語言
- R語言批量建立資料框R語言
- 什麼是r語言R語言
- R語言-Survival analysis(生存分析)R語言
- R語言連線資料庫(MySQL)R語言資料庫MySql
- C語言資料結構:雙向迴圈連結串列的增刪操作C語言資料結構
- C語言資料結構:單向迴圈連結串列的增刪操作C語言資料結構
- 線性迴歸 go 語言實現Go
- R語言邏輯迴歸、GAM、LDA、KNN、PCA主成分分類分析預測房價及交叉驗證R語言邏輯迴歸GAMLDAKNNPCA
- 資料庫操作語言DDL資料庫
- python和R語言哪個好?哪個適合資料分析?PythonR語言
- 印度經濟是如何迴歸現實的?
- R資料分析:變數間的非線性關係,多項式,樣條迴歸和可加模型變數模型
- 什麼是自然語言分析NLA,它是如何工作的?
- 使用R語言分析微信好友R語言
- R語言經典統計分析R語言
- 淺談大資料、資料分析、資料探勘的區別!大資料
- R語言學習-高階資料管理R語言
- 大資料時代,如何做資料探勘與分析!大資料
- R中將迴圈產生的資料框合併
- [Rpackage]R語言plyr包使用方法——可進行類似資料透視表的操作PackageR語言
- SQL資料庫操作語言DCLSQL資料庫