R語言進行資料探勘 回歸分析

2021-09-25 00:25:20 字數 3017 閱讀 6012

1、線性回歸

線性回歸就是使用下面的**函式**未來觀測量:

其中,x1,x2,...,xk都是**變數(影響**的因素),y是需要**的目標變數(被**變數)。

線性回歸模型的資料**於澳大利亞的cpi資料,選取的是2023年到2023年的季度資料。

year

quarter

cpi

cor(year,cpi)

cor(quarter,cpi)

輸出如下:

cor(quarter,cpi)

[1] 0.3738028

cor(year,cpi)

[1] 0.9096316

cor(quarter,cpi)

[1] 0.3738028

由上圖可知,cpi與年度之間的關係是正相關,並且非常緊密,相關係數接近1;而它與季度之間的相關係數大約為0.37,只是有著微弱的正相關,關係並不明顯。

然後使用lm()函式建立乙個線性回歸模型,其中年份和季度為**因素,cpi為**目標。

fit

fit輸出結果如下:

call:

lm(formula = cpi ~ year + quarter)

coefficients:

(intercept) year quarter

-7644.488 3.888 1.167

由上面的輸出結果可以建立以下模型公式計算cpi:

其中,c0、c1和c2都是模型fit的引數分別是-7644.488、3.888和1.167。因此2023年的cpi可以通過以下方式計算:

(cpi2011

模型的具體引數可以通過以下**檢視:

attributes(fit)

$names

[1] "coefficients" "residuals" "effects" "rank" "fitted.values"

[6] "assign" "qr" "df.residual" "xlevels" "call"

[11] "terms" "model"

$class

[1] "lm"

fit$coefficients

residuals(fit)

1 2 3 4 5 6 7

-0.57916667 0.65416667 1.38750000 -0.27916667 -0.46666667 -0.83333333 -0.40000000

8 9 10 11 12

-0.66666667 0.44583333 0.37916667 0.41250000 -0.05416667

除了將資料代入建立的**模型公式中,還可以通過使用predict()**未來的值。

data2011

cpi2011

style

plot(c(cpi, cpi2011), xaxt="n", ylab="cpi", xlab="", pch=style, col=style)

axis(1, at=1:16, las=3,

上圖中紅色的三角形就是**值。

2、logistic回歸

logistic回歸是通過將資料擬合到一條線上並根據簡歷的曲線模型**事件發生的概率。可以通過以下等式來建立乙個logistic回歸模型:

其中,x1,x2,...,xk是**因素,y是**目標。令

,上面的等式被轉換成:

使用函式glm()並設定響應變數(被解釋變數)服從二項分布(family='binomial,'link='logit')建立logistic回歸模型,更多關於logistic回歸模型的內容可以通過以下鏈結查閱:

· r data analysis examples - logit regression

· 《logisticregression (with r)》

3、廣義線性模型

廣義線性模型(generalizedlinear model, glm)是簡單最小二乘回歸(ols)的擴充套件,響應變數(即模型的因變數)可以是正整數或分類資料,其分布為某指數分布族。其次響應變數期望值的函式(連線函式)與**變數之間的關係為線性關係。因此在進行glm建模時,需要指定分布型別和連線函式。這個建立模型的分布引數包括binomaial(兩項分布)、gaussian(正態分佈)、gamma(伽馬分布)、poisson(泊松分布)等。

廣義線性模型可以通過glm()函式建立,使用的資料是包『th.data』自帶的bodyfat資料集。

data("bodyfat", package="th.data")

myformula

bodyfat.glm

pred

plot(bodyfat$dexfat, pred, xlab="observed values", ylab="predicted values")

abline(a=0, b=1)

**結果檢驗如下圖所示:

由上圖可知,模型雖然也有離群點,但是大部分的資料都是落在直線上或者附近的,也就說明模型建立的比較好,能較好的擬合資料。

4、非線性回歸

如果說線性模型是擬合擬合一條最靠近資料點的直線,那麼非線性模型就是通過資料擬合一條曲線。在r中可以使用函式nls()建立乙個非線性回歸模型,具體的使用方法可以通過輸入'?nls()'檢視該函式的文件。

用R語言進行資料分析

用美國 台網公布的全球2013年5月20日22點到24點發生的所有 的震級資料實驗。mag mag 1 1.6 0.9 2.1 2.2 2.3 1.7 1.3 1.6 4.7 1.2 0.9 4.7 0.6 5.3 1.1 4.8 4.0 4.2 4.6 1.3 2.1 1.5 3.0 factor...

資料分析與挖掘 R語言 多元線性回歸

乙個簡單的例子!環境 centos6.5 hadoop集群 hive r rhive,具體安裝及除錯方法見部落格內文件。線性回歸主要用來做 模型。1 準備資料集 x y 0.10 42.0 0.11 43.5 0.12 45.0 0.13 45.5 0.14 45.0 0.15 47.5 0.16 ...

r語言 面板資料回歸 R語言 地理加權回歸分析

理論知識 地理加權回歸 geographically weighted regression,gwr 是一種空間分析技術,廣泛應用於地理學及涉及空間模式分析的相關學科。gwr通過建立空間範圍內每個點處的區域性回歸方程,來探索研究物件在某一尺度下的空間變化及相關驅動因素,並可用於對未來結果的 由於它考...