y=c(160,260,210,265,240,220,275,160,275,250)
x1=c(70,75,65,74,72,68,78,66,70,65)
x2=c(35,40,40,42,38,45,42,36,44,42)
x3=c(1,2.4,2,3,1.2,1.5,4,2,3.2,3)
shuju<-data.frame(y,x1,x2,x3)
shuju
shuju.reg=lm(y~.,data=shuju)#(2)求三元线性回归方程(3)拟合优度检验
summary(shuju.reg)
#异常值与强影响点
#残差
shuju.stdres<-rstudent(shuju.reg);shuju.stdres
#中心化杠杆值
ch<-hatvalues(shuju.reg)-1/10;ch
#Cook距离
shuju.cooks<-cooks.distance(shuju.reg);shuju.cooks
#找异常值
isoutlier<-abs(shuju.stdres)>3;isoutlier #残差选择正负3倍标准差以外的
isch<-ch>2*1/10;isch #杠杆值大于两倍的hba
iscooks<-shuju.cooks>1;iscooks #库克距离大于1的
x1=c(70,75,65,74,72,68,78,66,70,65)
x2=c(35,40,40,42,38,45,42,36,44,42)
x3=c(1,2.4,2,3,1.2,1.5,4,2,3.2,3)
shuju<-data.frame(y,x1,x2,x3)
shuju
shuju.reg=lm(y~.,data=shuju)#(2)求三元线性回归方程(3)拟合优度检验
summary(shuju.reg)
#异常值与强影响点
#残差
shuju.stdres<-rstudent(shuju.reg);shuju.stdres
#中心化杠杆值
ch<-hatvalues(shuju.reg)-1/10;ch
#Cook距离
shuju.cooks<-cooks.distance(shuju.reg);shuju.cooks
#找异常值
isoutlier<-abs(shuju.stdres)>3;isoutlier #残差选择正负3倍标准差以外的
isch<-ch>2*1/10;isch #杠杆值大于两倍的hba
iscooks<-shuju.cooks>1;iscooks #库克距离大于1的
isch*iscooks #杠杆值和库克距离结合起来判断
下表为r语言计算得出的删除学生化残差、杠杆值、库克距离的数据: