R语言对数线性模型loglm函数_R 对数变换 《回归分析与线性统计模型》page103
BG:在box-cox變換中,當λ = 0時即為對數變換。
當所分析變量的標準差相對于均值而言比較大時,這種變換特別有用。對數據作對數變換常常起到降低數據波動性和減少不對稱性的作用。。這一變換也能有效消除異方差性
library(MASS)
library(openxlsx)
data= read.xlsx("data104.xlsx",sheet = 1) #導入數據
attach(data)
op
plot(size,effort) #圖4-4(a)
plot(log(size),log(effort)) #圖4-4(b)
#繪制頻率分布直方圖
hist(effort) #圖4-5(a)
hist(size) #圖4-5(b)
effor 和 size 這兩個變量的頻率分布圖表明,它們并不滿足正態分布。為了接近正態分布,必須變換這些變量(通過頻率分布圖判斷變量是否滿足正態分布)
1.先進行基本的線性回歸,利用得到的模型進行box-cox變換
lm1=lm(effort~size+t14) #擬合線性回歸模型
summary(lm1)
#繪制殘差圖進行殘差分析
plot(fitted(lm1),resid(lm1),cex=1.2,pch=21,col="red",bg="orange",xlab="Fitted value",ylab="Residuals")
boxcox(lm1,lambda=seq(0,1,by=0.1)) #進行box-cox變換
從殘差圖可以看到誤差項不滿足Gauss-Markov假設。
右圖的Box-Cox變換建議問哦們λ可以取在[0.05,0.6]范圍內,對投入工作量(effort) 取對數有一定的可信度(λ=0 幾乎落在置信域內)
進行對數變換
lm2=lm(log(effort)~size+t14)
summary(lm2)
#繪制殘差圖
plot(fitted(lm2),resid(lm2),cex=1.2,pch=21,col="red",bg="orange",xlab="Fitted value",ylab="Residuals")
書上的結果時殘差范圍大致在[-25,40]內,不滿足Gauss-Markov假設
與書上結果不符,上圖參擦汗圖表示這個模型是可行的。
2.試圖擬合 effort 與 log(size),t14 的回歸方程。
lm3=lm(effort~log(size)+t14)
summary(lm3)
#繪制殘差圖
plot(fitted(lm3),resid(lm3),cex=1.2,pch=21,col="red",bg="orange",xlab="Fitted value",ylab="Residuals")
#box-cox變換求λ
boxcox(lm3,lambda=seq(0,1,by=0.1))
根據右圖,Box-Cox變換建議我們取 λ=0
建立如下方程 ln(effort) = β0 + β1ln(size) + β2 t14 + e
lm4=lm(log(effort)~log(size)+t14) #進行線性回歸
summary(lm4)
#繪制殘差圖
plot(fitted(lm4),resid(lm4),cex=1.2,pch=21,col="red",bg="orange",xlab="Fitted value",ylab="Residuals")
#進行box-cox變換
boxcox(lm4,lambda=seq(0,1,by=0.1))
因為λ=1 包含在box-cox圖像所示的置信域內,說明不進行變換也是ok的
而且通過殘差分析,可以看出這個模型是合理的。
總結
以上是生活随笔為你收集整理的R语言对数线性模型loglm函数_R 对数变换 《回归分析与线性统计模型》page103的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: activiti动态办理人_安全生产许可
- 下一篇: apache ant 安装_Jmeter