实验五.回归分析

实验内容

  1. 考察温度x对产量y的影响,测得下列10组数据:

温度(℃)

20

25

30

35

40

45

50

55

60

65

产量(kg)

13.2

15.1

16.4

17.1

17.9

18.7

19.6

21.2

22.5

24.3

求y关于x的线性回归方程,检验回归效果是否显著,并预测x=42℃时产量的估值及预测区间(置信度95%).

2. 某零件上有一段曲线,为了在程序控制机床上加工这一零件,需要求这段曲线的解析表达式,在曲线横坐标xi处测得纵坐标yi共11对数据如下:

xi

0

2

4

6

8

10

12

14

16

18

20

yi

0.6

2.0

4.4

7.5

11.8

17.1

23.3

31.2

39.6

49.7

61.7

求这段曲线的纵坐标y关于横坐标x的二次多项式回归方程.

序号

反应速度y

氢x1

n戊烷x2

异构戊烷x3

1

8.55

470

300

10

2

3.79

285

80

10

3

4.82

470

300

120

4

0.02

470

80

120

5

2.75

470

80

10

6

14.39

100

190

10

7

2.54

100

80

65

8

4.35

470

190

65

9

13.00

100

300

54

10

8.50

100

300

120

11

0.05

100

80

120

12

11.32

285

300

10

13

3.13

285

190

120

4. 混凝土的抗压强度随养护时间的延长而增加,现将一批混凝土作成12个试块,记录了养护日期x(日)及抗压强度y(kg/cm2)的数据:

养护时间x

2

3

4

5

7

9

12

14

17

21

28

56

抗压强度y

35

42

47

53

59

65

68

73

76

82

86

99

试求  型回归方程.

实 验 步 骤、过 程

1、

>> x=20:5:65;
>> X = [ones(10,1) x'];
>> Y = [13.2 15.1 16.4 17.1 17.9 18.7 19.6 21.2 22.5 24.3]';
>> [b,bint,r,rint,stats]=regress(Y,X)
>> c=x';
>> [p,S]=polyfit(c,Y,1);
>> [A,DELTA]=polyconf(p,42,S,0.05)

故当x=42℃时它的产量估值为18.4885

预测区间(置信度95%)为:[17.3204,19.6566]

2、

>> x=0:2:20;
>> y=[0.6 2.0 4.4 7.5 11.8 17.1 23.3 31.2 39.6 49.7 61.7];
>> [p,S]=polyfit(x,y,2)

得到y关于x的二次回归方程为y=0.1403x²+0.1971x+1.0105

3、

M函数文件model.m:

function y=model(beta,x)
y=(beta(1)*x(:,2)-x(:,3)./beta(5))./(1+beta(2)*x(:,1)+beta(3)*x(:,2)+beta(4)*x(:,3));

在程序中调用此函数:

clear
clc
>> close all
>> y=[8.55 3.79 4.82 0.02 2.75 14.39 2.54 4.35 13.00 8.50 0.05 11.32 3.13]';
>> x1=[470 285 470 470 470 100 100 470 100 100 100 285 285]';
>> x2=[300 80 300 80 80 190 80 190 300 300 80 300 190]';
>> x3=[10 10 120 120 10 10 65 65 54 120 120 10 120]';
>> x=[x1 x2 x3];
>> beta0=[1,0.05,0.02,0.1,2]';
>> [beta,R,J]=nlinfit(x,y,@model,beta0);
>> beta
>> betaci=nlparci(beta,R,J)
>> [ypre,delta]=nlpredci(@model,x,beta,R,J);
>> plot(x(:,1),y,'o',x1,ypre,'*')

95%的置信区间为ypre±beta

4、

方法一:

M函数文件model.m:

function yhat=volum(beta,x)
yhat=beta(1)+beta(2)*log(x);

在程序中调用此函数:

>> x=[2 3 4 5 7 9 12 14 17 21 28 56];
>> y=[35 42 47 53 59 65 68 73 76 82 86 99];
>> beta0=[5 1]';
>> [beta,r,J]=nlinfit(x',y','volum',beta0);
>> beta

结果:

beta =

   21.0058

   19.5285

所以得到回归方程为

方法二:

令lnx=u,则x=e^u,原回归方程为

在程序中调用此函数:

>> x=[2 3 4 5 7 9 12 14 17 21 28 56]';
>> u=log(x);
>> u=[ones(12,1) u];
>> y=[35 42 47 53 59 65 68 73 76 82 86 99]';
>> [b,bint,r,rint,stats]=regress(y,u);
>> b,bint,stats       %出结果
>> z=b(1)+b(2)*log(x);
>> plot(x,y,'k+',x,z,'r')

答案供参考,如有错误请自行改正,本人只是随意分享之前的作业,代码均来源于网络+个人稍微修改,认为有用可参考哈~

  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值