理学療法士がまとめたノート

統計学備忘録 since2016

Rを使って統計学を勉強するブログです

トービット回帰直線

トービット回帰直線

投稿日2017.8.4

打ち切りデータの場合、つまり天井効果や床効果が生じているデータの場合には、トービット回帰直線で分析します.

参考書はもちろん
豊田秀樹 (著, 編集);回帰分析入門 (Rで学ぶ最新データ解析) ,東京図書 ,2012

 

Rのサンプルanscombeを使います.( n=11の4セット )

x1<-anscombe$x1

x4<-anscombe$x4
y1<-anscombe$y1
y4<-anscombe$y4

par(mfrow = c(1,2))
plot(x1,y1,xlab = "図A",ylab = "")
plot(x4,y4,xlab = "図B",ylab = "")

f:id:yoshida931:20170804195919p:plain



dev.off()

図A 通常の散布図
lm1<-lm(y1~ x1,data= anscombe)
plot(x1,y1)
abline(lm1$coefficients[1],lm1$coefficients[2])

f:id:yoshida931:20170804195838p:plain

視覚的にも何となくこの直線でフィットしているように見えます
x軸を予測値にして、残差を標準化して更に見やすくしてみます
ei<- y1-( lm1$coefficients[1]+ lm1$coefficients[2]* x1)
eis<-ei/sqrt( (sum(ei^2) )/(11 - 2) )  #標準化残差
plot(lm1$coefficients[1]+ lm1$coefficients[2]* x1, eis,xlab="図A(x軸:予測値)",ylab=" ", xaxt="n")
abline(h=0, lty=2, col=2)

f:id:yoshida931:20170804200055p:plain
図B 打ち切りデータがある場合
トービット回帰直線( 関数vglmを使用 )
通常の回帰直線(実践)
y4x4 <- lm(y4 ~ x4); summary(y4x4)
plot(x4,y4)
abline(summary(y4x4)$coefficients1,summary(y4x4)$coefficients2)
関数vglmを使用してトービット回帰直線を破線で加えます
y4x4t <- vglm(y4 ~ x4, tobit(Lower=8, Upper=19), trace=TRUE); summary(y4x4t)
abline(summary(y4x4t)@coefficients1,summary(y4x4t)@coefficients3,lty=2)

f:id:yoshida931:20170804200433p:plain

床効果で下に引っ張られていた回帰直線をやや上方修正できました.