1. 程式人生 > 實用技巧 >使用R語言進行簡單的線性迴歸

使用R語言進行簡單的線性迴歸

線性迴歸

前置知識

1. lm 函式

lm函式是用於建立線性模型的函式,此函式可以床架預測變數和相應變數之間的關係模型

lm(formula , data)
以下是所使用的引數的說明:
公式是表示 x 和 y 之間的關係的符號
資料是應用公式的向量

線性迴歸的簡單的小例子

x <- c(2 , 4 , 6 , 8)
y <- c(1 , 2 , 3 , 4)

relation <- lm(y~x)

relation

執行結果:
Call:
lm(formula = y ~ x)

Coefficients:
(Intercept)            x  
        0.0          0.5 

上面的 Intercept 我初步斷定其為那個 (w , b) 中的 b 引數 , 而 x 下面的那個是係數 w 。

我們使用summary() 函式檢視一下相關摘要

summary(relation)

執行結果:

Call:
lm(formula = y ~ x)

Residuals:
1 2 3 4 
0 0 0 0 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)      0.0        0.0      NA       NA    
x                0.5        0.0     Inf   <2e-16 ***
---
Signif. codes:  
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0 on 2 degrees of freedom
Multiple R-squared:      1,	Adjusted R-squared:      1 
F-statistic:   Inf on 1 and 2 DF,  p-value: < 2.2e-16

使用求出來的線性模型進行預測

testdata <- c(5 , 12 , 30)
test <- data.frame(x = testdata)

res <- predict(relation , test)
res


執行結果:

   1    2    3 
 2.5  6.0 15.0 

我們發現結果和預想的一致

通過畫圖展示測試資料的線性關係

plot(y,x,col = "blue",main = "Height & Weight Regression",
     abline(lm(x~y)),cex = 1.3,pch = 16,xlab = "Weight in Kg",ylab = "Height in cm")