4.1一家保险公司想了解其总公司营业部加班时间与签发的新保单数目之间的关系。经过10周时间,收集了每周加班工作时间x(小时)和签发的新保单数目y的数据(张),见表4-5。
(1)绘制散点图,并以此判断x与y之间是否大致成呈性关系;
(2)计算x与y的相关系数;
(3)用最小二乘估计法求出回归方程:
(4)求随机误差e的方差的估计值:
(5)计算x与y 的决定系数:
(6)对回归方程做方差分析:
(7)对回归方程作残差图并做一些分析;
(8)计算y=1000(张)需要的加班时间是多少?
###4.1
y=c(825,215,1070,550,480,920,1350,325,670,1215)
x=c(3.5,1,4,2,1,3,4.5,1.5,3,5)
z=data.frame(x,y)
plot(x,y)
#大致呈线性关系
cor(x,y)#计算相关系数
lm4.1=lm(y~x)#最小二乘法求回归方程
lm4.1
#回归方程:y=46.15+251.17x
m=46.15+251.17*x
squre_sigma=t(m-y)%*%(m-y)/(10-1-1)#求随机误差的方差估计值
squre_sigma
SSR=t(m-mean(y))%*%(m-mean(y))
SST=t(y-mean(y))%*%(y-mean(y))
squre_R=SSR/SST;squre_R#计算x与y的决定系数
anova(lm4.1)#方差分析
#由于p小于0.001,于是在阿尔法=0.001水平处拒绝H0,接受H1,即本题回归系数具有统计意义,x与y间存在直线回归关系
res=residuals(lm4.1)#作残差图并分析
res
plot(x,res,main="残差散点图",xlab="每周签发的新保单数目",ylab="残差")
#残差分布在-130到190之间,落在一条水平带之间,说明回归模型是合理的,但带状区域较宽,说明拟合精度一般
lxy=function(x,y){n=length(x);sum(x*y)-sum(x)*sum(y)/n}
b=lxy(x,y)/lxy(x,x)#线性回归方程斜率
a=mean(y)-b*mean(x)#线性回归方程截距
y0=1000
x0=(y0-a)/b
x0
4.2某家房地产公司的总裁想了解为什么公司中的某些分公司比其他分公司表现出色,他认
为决定总年销售额(以百万元计)的关键因素是广告预算(以千元计)和销售代理的数目。为了
分析这种情况,他抽取了8家分公司作为样本,搜集了表4-6所示的数据。
(1)试做回归模型并解释各系数;
(2)在5%的显著水平下确定每一解释变量与依赖变量间是否呈线性关系;
(3)计算简单相关系数和复相关系数。
广告预算 | 代理数 | 年销售额 |
---|---|---|
249 | 15 | 32 |
183 | 14 | 18 |
310 | 21 | 49 |
246 | 18 | 52 |
288 | 13 | 36 |
248 | 21 | 43 |
256 | 20 | 24 |
241 | 19 | 41 |
###4.2
library(openxlsx)
d4.2=read.xlsx("E:/多元统计分析及R语言建模/mvexer5.xlsx",sheet="E4.2")
d4.2
#d4.2=read.csv("E:/多元统计分析及R语言建模/d4.2.csv",header = TRUE,sep = ",")
#d4.2=read.table("clipboard",header = T)
lm4.2=lm(y~x1+x2,data=d4.2)
coef.sd=function(lm4.2){#标准化偏回归系数
b=lm4.2$coef;b
si=apply(lm4.2$model,2,sd);si
bs=b[-1]*si[-1]/si[1];bs
}
coef.sd(lm4.2)
summary(lm4.2)
# p-value: 0.3206>0.05,所以接受原假设H0,说明x与y没有显著的线性关系
cor(d4.2)#多元数据相关系数矩阵
(R2=summary(lm4.2)$r.sq)#显示多元线性回归模型决定系数
(R=sqrt(R2))#显示多元数据复相关系数
4.3要了解学校毕业生起始工资的变化是否能用学生的平均成绩点数(GPA)和毕业时的年
龄来解释。表4-7 为某学校办公室提供的样本数据。
(1)试做回归模型并解释各系数;
(2)确定学生的GPA 和年龄是否能真正用来解释起始工资样本的变化;
(3)预测某GPA为3.00,年龄为24岁的毕业生的起始工资。
GPA | 年龄 | 起始工资 |
2.95 | 22 | 25500 |
3.4 | 23 | 28100 |
3.2 | 27 | 28200 |
3.1 | 25 | 25000 |
3.05 | 23 | 22700 |
2.75 | 28 | 22500 |
3.15 | 26 | 26000 |
2.75 | 26 | 23800 |
#4.3
library(openxlsx)
d4.3=read.xlsx("E:/多元统计分析及R语言建模/mvexer5.xlsx",sheet="E4.3")
d4.3
lm4.3=lm(起始工资~GPA+年龄,data=d4.3)
lm4.3
#起始工资=-5213.1+8508.8*GPA+181.6*年龄
#解释:在GPA不变的情况下,年龄每增加一个单位,起始工资就增加181.6个单位
#在年龄不变的情况下,GPA每增加一个单位,起始工资就增加8508.8个单位
summary(lm4.3)#检验回归系数
(R4.3=summary(lm4.3)$r.sq)#显示多元回归模型决定系数
sqrt(R4.3)#显示多元数据复相关系数
#R^2=Multiple R-squared=0.6677不接近1,说明回归方程的拟合度低,学生的GPA和年龄不能真正用来解释起始工资样本的变化
predict(lm4.3,newdata = data.frame(GPA=3,年龄=24))
4.4研究货运总量y(万吨)与工业总产值x(亿元)、农业总产值x2(亿元)、居民非商品支山
x2(亿元)的关系。有关数据见表4-8
(1)计算y,,,2,x,的相关系数矩阵并绘制矩阵散点图;
(2)求y关于x,x2,x,的多元线性回归方程;
(3)对所求得的方程做拟合优度检验;
(4)对回归方程做显著性检验,对每一个回归系数做显著性检验;
(5)如果有的回归系数没通过显著性检验,将其剔除,重新建立回归方程,再做回归方程的显著性检验和回归系数的显著性检验;
(6)使用逐步回归分析的逐步筛选方法获得一个最优的回归模型。
y | x1 | x2 | x3 |
160 | 70 | 35 | 1 |
260 | 75 | 40 | 2.4 |
210 | 65 | 40 | 2 |
265 | 74 | 42 | 3 |
240 | 72 | 38 | 1.2 |
220 | 68 | 45 | 1.5 |
275 | 78 | 42 | 4 |
160 | 66 | 36 | 2 |
275 | 70 | 44 | 3.2 |
250 | 65 | 42 | 3 |
###4.4
library(openxlsx)
d4.4=read.xlsx("E:/多元统计分析及R语言建模/mvexer5.xlsx",sheet="E4.4")
d4.4
cor(d4.4)
cor(d4.4[,-1])#去除y后的相关系数矩阵
plot(d4.4)#矩阵散点图
lm4.4=lm(y~x1+x2+x3,data=d4.4)
summary(lm4.4)
fm=step(lm4.4,direction = "both")#z逐步回归
fm
summary(fm)