工程数学建模试验6.docx
- 文档编号:10269097
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:37
- 大小:1.05MB
工程数学建模试验6.docx
《工程数学建模试验6.docx》由会员分享,可在线阅读,更多相关《工程数学建模试验6.docx(37页珍藏版)》请在冰点文库上搜索。
工程数学建模试验6
数学建模实验6作业
题目1:
回归分析
现测得20-60岁成年女性的血压(见表6.1)。
表6.1血压数据
(1)建立血压与年龄一元线性回归模型,求解,并验证系数、方程或相关系数是否通过检验;
(2)如果一名女子的年龄为40岁,她血压的预测值是多少?
她的血压在什么范围内属于正常的。
(3)将数据散点、回归预测值、回归的预测区间和置信区间均画在一张画上,分析线性回归的拟合情况。
解答:
解:
依题意可设:
也就是说血压和年龄为一元线性关系。
编写以下的R程序:
程序运行结果如下所示:
即:
Y=56.15693+0.58003x。
残差分析:
借助influence.measures()函数,并在R软件中编写如下程序:
influence.measures(lm.sol)
op<-par(mfrow=c(2,2),mar=0.4+c(2,2,1,1),
oma=c(2,2,0,0))
plot(lm.sol,1:
4)
par(op)
influencemeasuresof
lm(formula=y~1+x):
程序的运行结果如下所示:
Influencemeasuresof
lm(formula=y~1+x):
dfb.1_dfb.xdffitcov.rcook.dhatinf
10.027214-0.022430.030321.0834.68e-040.0409
2-0.0762950.06742-0.079171.1113.19e-030.0674
3-0.1841510.16135-0.192501.0851.87e-020.0623
40.136895-0.117560.145841.0811.08e-020.0529
50.008942-0.007590.009641.0934.74e-050.0486
60.014728-0.012780.015531.1031.23e-040.0574
7-0.0946970.08434-0.097671.1164.85e-030.0728*
80.076977-0.068560.079391.1183.21e-030.0728*
90.120973-0.095950.141311.0531.01e-020.0344
100.053294-0.045770.056781.0951.64e-030.0529
11-0.0695000.05898-0.074961.0882.86e-030.0486
12-0.1164980.09434-0.132611.0618.89e-030.0375
130.192393-0.161070.210591.0492.22e-020.0446
140.090694-0.030470.223390.9592.42e-020.0189
150.019922-0.014440.026151.0673.48e-040.0266
16-0.0891900.06179-0.123961.0417.74e-030.0246
17-0.1397600.10502-0.175041.0291.53e-020.0289
18-0.0363950.02379-0.054281.0591.50e-030.0229
190.003183-0.001450.006611.0602.22e-050.0195
200.061536-0.020670.151571.0121.14e-020.0189
210.009884-0.006850.013741.0669.62e-050.0246
220.028475-0.017210.046341.0581.09e-030.0215
23-0.0103120.00798-0.012431.0737.88e-050.0315
240.100191-0.075280.125481.0497.95e-030.0289
25-0.0812630.03705-0.168671.0031.41e-020.0195
26-0.0207940.00320-0.063911.0502.07e-030.0186
27-0.0275710.059060.120541.0427.32e-030.0244
28-0.1504540.241100.379020.9076.73e-020.0311
29-0.038643-0.00595-0.159941.0051.27e-020.0185
30-0.010710-0.03082-0.148511.0151.10e-020.0194
310.000191-0.00556-0.019361.0601.91e-040.0202
32-0.0007190.001540.003141.0665.04e-060.0244
330.001067-0.03103-0.108091.0385.89e-030.0202
340.017322-0.07109-0.196920.9921.91e-020.0213
350.012644-0.02708-0.055281.0601.55e-030.0244
36-0.0758650.142240.261150.9693.31e-020.0263
37-0.0298360.079390.185171.0051.70e-020.0227
380.040347-0.06466-0.101641.0605.23e-030.0311
390.105757-0.18107-0.305210.9494.47e-020.0286
400.0441160.006800.182600.9901.64e-020.0185
410.0055910.016090.077531.0483.05e-030.0194
420.219347-0.29053-0.361641.0026.37e-020.0522
430.279442-0.37726-0.481380.9191.08e-010.0480
44-0.2077170.266790.319081.0435.04e-020.0615
450.004210-0.00597-0.008111.0833.35e-050.0404
460.117387-0.16206-0.212861.0472.27e-020.0441
47-0.0651210.084850.103381.0945.43e-030.0567
480.017430-0.02471-0.033581.0825.75e-040.0404
490.149684-0.22807-0.338480.9515.49e-020.0339
500.009147-0.01147-0.013311.1209.03e-050.0720*
51-0.0601800.091690.136081.0549.34e-030.0339
52-0.1861490.263920.358650.9646.19e-020.0404
530.224064-0.28417-0.334441.0485.53e-020.0666
54-0.4413520.566860.677980.8562.06e-010.0615*
分析程序运行结果可知,7、8、50、54为强影响点,并且从结果图可以发现,残差分布不满足齐性要求但是满足正太性要求。
在R软件中,编写如下程序进行Box-Cox变换:
####输入数据,作回归方程:
X<-scan()
272122242523202029242528263832333134373833353031373946494042434643444647454948404255545752535652505950525857
Y<-scan()
736663757170657079726867799176696673788776797380687589101707280837571809692807090857671998679928571909110080109
lm.sol<-lm(Y~X);summary(lm.sol)
####载入MASS程序包
library(MASS)
####作图,共4张图
op<-par(mfrow=c(2,2),mar=.1+c(4,4,1,1),oma=c(0,0,2,0))
####第1张,残差与预测散点图
plot(fitted(lm.sol),resid(lm.sol),
cex=1.2,pch=21,col="red",bg="orange",
xlab="FittedValue",ylab="Residuals")
####第2张,确定参数lambda
boxcox(lm.sol,lambda=seq(0,1,by=0.1))
####Box-Cox变换后,作回归分析
lambda<-0.55;Ylam<-(Y^lambda-1)/lambda
lm.lam<-lm(Ylam~X);summary(lm.lam)
####第3张,变换后残差与预测散点图
plot(fitted(lm.lam),resid(lm.lam),
cex=1.2,pch=21,col="red",bg="orange",
xlab="FittedValue",ylab="Residuals")
####第4张,回归曲线和相应的散点
beta0<-lm.lam$coefficients[1]
beta1<-lm.lam$coefficients[2]
curve((1+lambda*(beta0+beta1*x))^(1/lambda),
from=min(X),to=max(X),col="blue",lwd=2,
xlab="X",ylab="Y")
points(X,Y,pch=21,cex=1.2,col="red",bg="orange")
mtext("Box-CoxTransformations",outer=TRUE,cex=1.5)
par(op)
程序运行结果如下图所示:
分析程序运行结果图可知,左上角的图1是由原始数据所得的残差图为喇叭口形状,属异常方差,需进行Box-Cox变换。
右上角的图2为变换前确定参数
图,图中所示当
时,对数似然函数达到最大值。
则选择
时,进行Box-Cox变换,之后再进行回归分析并绘制左下角图3的残差散点图,图的喇叭口形状与图1相比具有较大的改善。
右下角图4,为曲线
与其相应的散点图。
题目2:
回归分析和逐步回归
为了了解和预测人体吸入氧气的效率,收集了31名中年男性的健康状况调查资料。
共调查了7项指标:
吸氧效率(y)、年龄(x1,岁)、体重(x2,kg)、跑1.5km所需时间(x3,min)、休息时的心率(x4,次/分)、跑步时的心率(x5,次/分)、最高心率(x6,次/分),数据如表6.2所示。
在该资料中吸氧效率为因变量,其余6个为自变量。
表6.231名中年男性的健康状况调查资料
表6.2(续):
31名中年男性的健康状况调查资料
(1)求出Y关于X的多元线性回归方程;
(2)对方程做显著性检验;
(3)对变量作逐步回归分析。
解答:
(1)依题意可建立多元线性回归方程:
利用lm()函数和summary()函数,在R软件中编写如下程序:
程序运行结果如下:
Call:
lm(formula=Y~X1+X2+X3+X4+X5+X6,data=yang)
Residuals:
Min1QMedian3QMax
-5.3906-0.98560.07491.02155.4075
Coefficients:
EstimateStd.ErrortvaluePr(>|t|)
(Intercept)104.8649312.127258.6477.75e-09***
X1-0.240740.09459-2.5450.01778*
X2-0.074560.05328-1.3990.17448
X3-2.624420.37249-7.0462.77e-07***
X4-0.025320.06467-0.3910.69891
X5-0.359920.11757-3.0610.00536**
X60.287660.134372.1410.04266*
---
Signif.codes:
0‘***’0.001‘**’0.01‘*’0.05‘.’0.1‘’1
Residualstandarderror:
2.267on24degreesoffreedom
MultipleR-squared:
0.8552,AdjustedR-squared:
0.819
F-statistic:
23.62on6and24DF,p-value:
5.818e-09
>lm.step<-step(lm.sol)
Start:
AIC=56.8
Y~X1+X2+X3+X4+X5+X6
DfSumofSqRSSAIC
-X410.787124.0954.999
-X2110.062133.3757.233
-X6123.546146.8560.219
-X1133.277156.5862.208
-X5148.153171.4665.021
-X31255.042378.3589.557
Step:
AIC=55
Y~X1+X2+X3+X5+X6
DfSumofSqRSSAIC
-X219.59133.6955.307
-X6123.97148.0758.474
-X1132.69156.7860.247
-X5149.94174.0363.483
-X31327.46451.5693.040
>summary(lm.step)
Call:
lm(formula=Y~X1+X2+X3+X5+X6,data=yang)
Residuals:
Min1QMedian3QMax
-5.4716-0.9252-0.01280.95895.4057
Coefficients:
EstimateStd.ErrortvaluePr(>|t|)
(Intercept)103.9969611.719198.8743.37e-09***
X1-0.232250.09050-2.5660.01666*
X2-0.072410.05209-1.3900.17676
X3-2.686910.33081-8.1221.78e-08***
X5-0.364610.11495-3.1720.00398**
X60.289970.131952.1980.03746*
---
Signif.codes:
0‘***’0.001‘**’0.01‘*’0.05‘.’0.1‘’1
Residualstandarderror:
2.228on25degreesoffreedom
MultipleR-squared:
0.8542,AdjustedR-squared:
0.8251
F-statistic:
29.3on5and25DF,p-value:
1.083e-09
分析程序结果可以知道,回归方程为:
Y=104.86493-0.24074X1-0.07456X2-2.62442X3-0.02532X4-0.35992X5+0.28766X6
(2)因为在回归方程中只有
的P=2.77e-07<0.05,其他都未通过显著性检验。
(3)利用step()函数来对变量做逐步分析,在R中编写程序如下:
程序运行结果如下:
分析程序运行结果可知,将全部的变量做回归,AIC=56.8,如果拿掉变量X4,则AIC=55,达到其最小值,此时R软件自动去掉X4并进行下一轮的计算,而在下一轮的计算中,不管拿掉X1-X6中的哪一个变量,均会使得AIC的值升高,则R软件停止计算,获得最优的回归方程。
利用summary()函数分析计算结果,在R中编写如下程序:
分析程序结果可知,虽然回归系数得到了提高,但是X2的系数检验显著性的较差。
因此考虑用函数drop1()来分析计算,在R中编写如下程序:
分析程序运行结果可知,若去掉变量X2,则AIC的值从55变为55.307,是增加最少的,同时残差的平方和上升9.59,也是最少的,因此,应将X2去掉,则程序如下:
所以,最终的“最优”回归方程为:
Y=100.07910-0.21266X1-2.76824X3-0.33957X5+0.25535X6
题目3:
题目4:
题目5:
判别分析
解答:
第1小题:
一、距离判断分析:
R程序判别分析:
discriminiant.distance<-function
(TrnX1,TrnX2,TstX=NULL,var.equal=FALSE){
if(is.null(TstX)==TRUE)TstX<-rbind(TrnX1,TrnX2)
if(is.vector(TstX)==TRUE)TstX<-t(as.matrix(TstX))
elseif(is.matrix(TstX)!
=TRUE)
TstX<-as.matrix(TstX)
if(is.matrix(TrnX1)!
=TRUE)TrnX1<-as.matrix(TrnX1)
if(is.matrix(TrnX2)!
=TRUE)TrnX2<-as.matrix(TrnX2)
nx<-nrow(TstX)
blong<-matrix(rep(0,nx),nrow=1,byrow=TRUE,
dimnames=list("blong",1:
nx))
mu1<-colMeans(TrnX1);mu2<-colMeans(TrnX2)
if(var.equal==TRUE||var.equal==T){
S<-var(rbind(TrnX1,TrnX2))
w<-mahalanobis(TstX,mu2,S)-mahalanobis(TstX,mu1,S)
}
else{
S1<-var(TrnX1);S2<-var(TrnX2)
w<-mahalanobis(TstX,mu2,S2)-mahalanobis(TstX,mu1,S1)
}
for(iin1:
nx){
if(w[i]>0)
blong[i]<-1
else
blong[i]<-2
}
blong
}
输入三个标本(1.24,1.80)(1.28,1.84)(1.40,2.04)
首先是标本①(1.24,1.80)
classX1<-matrix(
c(1.24,1.36,1.38,1.38,1.38,1.40,1.48,1.54,1.56,1.27,1.74,1.64,1.82,1.90,1.70,1.82,1.82,2.08),
nrow=9,byrow=F)
classX2<-matrix(
c(1.14,1.18,1.20,1.26,1.28,1.30,1.78,1.96,1.86,2.00,2.00,1.96),
nrow=6,byrow=F)
test<-matrix(c(1.24,1.80),nrow=1,byrow=T)
discriminiant.distance(classX1,classX2,test,var.equal=TRUE)
discriminiant.distance(classX1,classX2,test)
结果得:
>discriminiant.distance(classX1,classX2,test,var.equal=TRUE)
1
blong1
>discriminiant.distance(classX1,classX2,test)
1
blong2
若方差相同那么标本1属于Af蠓虫,反之则属于Apf蠓虫。
标本②(1.28,1.84)
classX1<-matrix(
c(1.24,1.36,1.38,1.38,1.38,1.40,1.48,1.54,1.56,1.27,1.74,1.64,1.82,1.90,1.70,1.82,1.82,2.08),
nrow=9,byrow=F)
classX2<-matrix(
c(1.14,1.18,1.20,1.26,1.28,1.30,1.78,1.96,1.86,2.00,2.00,1.96),
nrow=6,byrow=F)
test<-matrix(c(1.28,1.84),nrow=1,byrow=T)
discriminiant.distance(classX1,classX2,test,var.equal=TRUE)
discriminiant.distance(classX1,classX2,test)
结果得出;
>discriminiant.distance(classX1,classX2,test,var.equal=TRUE)
1
blong2
>discriminian
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工程 数学 建模 试验
![提示](https://static.bingdoc.com/images/bang_tan.gif)