在數理統計中,線性回歸是利用最小平方法將自變量和因變量數據之間的關係,以建立函數形式的分析方法。根據自變量的個數,一個自變量的關係稱為一元線性回歸,兩個以上的關係稱為多元線性回歸。在實務的相關工程應用也相當廣泛,如電烙鐵的輸入電功率與加熱溫度的關係,膠機的出膠量與膠管溫度和壓力泵的輸出壓力的關係等等。
利用R語言的模組,可協助建立線性回歸模型,並進一步診斷模型的正確性,一起來看看如何操作吧。
(1)建立線性回歸模型
a.首先,先生成數據,其中x為自變量,y為因變量。
rm(list = ls())
set.seed(1)
x<-seq(3,10,length.out = 150)
noise<-rnorm(n=150,mean = 0, sd=0.35 )
a<-0.8
b<-1.2
c<-0.1
y<-a+b*x+c*x^2+noise
set.seed(1)
x<-seq(3,10,length.out = 150)
noise<-rnorm(n=150,mean = 0, sd=0.35 )
a<-0.8
b<-1.2
c<-0.1
y<-a+b*x+c*x^2+noise
b.利用lm指令建立模型,並用summary指令查看模型參數,以R-squared 和P值來看,模型結果似乎還不錯。
model<-lm(y~x)
summary(model)
plot(y~x)
lines(x,predict(model),lwd=2,col="blue")
c.再試試其他兩種模型,model2和model3。
model2<-lm(y~I(x^2))
summary(model2)
plot(y~x)
lines(x,predict(model2),lwd=2,col="blue")
model3<-lm(y~x+I(x^2))
summary(model3)
plot(y~x)
lines(x,predict(model3),lwd=2,col="green")
(2)利用殘差圖進行回歸診斷
本範例係以自行生成的數據來進行建模,讀者自然很清楚model3是最合適的模型,但在實務上,模型往往是需要多次來回測試和檢視,才能診斷模型的適切性,其中殘差圖是一項判斷的依據。
由下圖可知,model的殘差分布隨著自變量(x)呈現微笑曲線,model2的殘差分布隨著自變量(x)呈現武藏曲線,均表示殘差值有異常趨勢。而相較於model和model2,model3的殘差分布較為均勻,因此判斷為合適模型。
沒有留言:
張貼留言