实验11 - 统计回归模型(4学时)讲解(5)

2019-09-01 12:35

(2) 线性化模型

Michaelis-Menten模型

y?f(x,?)?通过代换

?1x ?2?xz?或

?111,?1?,?2?2,u? y?1?1x?111y?,?1?,?2?2,x?

z?1?1u可化为线性模型

z??1??2u

试编写一个程序,对经过处理的实验数据,求出:

(a) 参数的估计;

(b) 1/y与1/x的散点图和回归直线; (c) 用线性化得到的原始数据拟合图。 程序运行的结果如下:

p340表2

21

图3 1/y与1/x的散点图和回归直线0.025250图4 用线性化得到的原始数据拟合图0.022000.0151500.011000.0055000102030405060000.20.40.60.81

p339图3、p340图4

★(2) 给出程序和运行结果(比较[339],[340]):

程序: 数据结果(比较p340表2): 图形(比较p339图3、p340图4): 3.2(验证)非线性模型及求解p340~341

Michaelis-Menten模型

y?f(x,?)??1x ?2?x[提示:求解非线性模型用到的操作] (a) 非线性最小二乘拟合命令 [beta, R, J]=nlinfit(x, y, 'model', beta0) 输入: x为自变量数据矩阵,每列一个变量; y为因变量数据列向量; model为模型的m函数文件,形式为function y=f(beta,x),beta为待估计参数; beta0为给定的参数初值; 输出: beta为参数的估计值; R为残差; J为用于估计预测误差的Jacobi矩阵。 22

(b) 参数的置信区间命令 betaci=nlparci(beta,R,J) (c) 非线性模型的GUI工具预测命令 nlintool(x,y, 'model',beta) 功能: 给出一个交互式画面,拖动画面中的十字线可改变自变量x的取值,直接得到因变量y的预测值和预测区间,同时在左下方的Export中,可向MATLAB工作区传送统计数据。 (1) 运行以下程序( p340 ): clc; clear; format compact; %命令m文件 x=[0.02 0.02 0.06 0.06 0.11 0.11 0.22 0.22 0.56 0.56 1.10 1.10]'; y=[76 47 97 107 123 139 159 152 191 201 207 200]'; beta0=[195.802 0.0484]; %用线性化模型得到的β作为非线性模型参数估计的初始迭代值。 [beta,R,J]=nlinfit(x,y,'fun',beta0); ?ta是行向量 betaci=nlparci(beta,R,J); ?taci是2行2列矩阵 fprintf('%2s%6ss\\n','参数','估计值','置信区间');%1个汉字算1个字符 for i=1:length(beta) fprintf('β.5f [%9.5f, %9.5f]\\n',i,beta(i),betaci(i,:)); end yy=beta(1)*x./(beta(2)+x); plot(x,y,'o',x,yy,'+'); nlintool(x,y,'fun',beta) function yhat=fun(beta,x) %必须作为单独一个函数式m文件 yhat=beta(1)*x./(beta(2)+x); ☆(1) 给出运行结果(数据和图形)(比较[341]):

数据结果(比较p341表3): (Figure 1,比较p341图5): 拟合图(比较p341图6): (2) 对上面程序运行中nlintool给出的交互式画面进行操作。

单击画面左下方的导出按钮”Export…”,出现下面画面,其中只选中Parameters,Parameter CI和RMSE复选框,单击OK,则变量beta1,betaci1和rmse被送到工作空间中,在命令窗口键入这三个变量名显示其值。

注:beta1为参数估计值,betaci1为参数的置信区间,rmse为剩余标准差。

23

★(2) 给出结果(beta1,betaci1和rmse的值): 3.3(验证)混合反应模型p342~345

模型

y?f(x,?)?(?1??1x2)x1

(?2??2x2)?x1其中:

x1为底物浓度;

x2为一示性变量(0-1变量),用来表示是否嘌呤霉素处理,令x2=1表示经过处理,x2=0表示未经处理;

β1是未经处理的最终反应速度;

γ1是经处理后最终反应速度的增长值; β2是未经处理的反应的半速度;

γ2是经处理后反应的半速度点的增长值;

(1) 运行以下程序: clc; clear; x=[0.02 0.02 0.06 0.06 0.11 0.11 0.22 0.22 0.56 0.56 1.10 1.10]'; y1=[76 47 97 107 123 139 159 152 191 201 207 200]';%已处理 y2=[ 67 51 84 86 98 115 131 124 144 158 160]'; %未处理 xx=[[x;x(1:11)],[ones(12,1);zeros(11,1)]];%第2列为示性变量值(取0, 1) yy=[y1;y2]; beta0=[170 0.05 60 0.01]; %参数初值 [beta,R,J]=nlinfit(xx,yy,'fun',beta0); betaci=nlparci(beta,R,J); fprintf('%2s%5ss\\n','参数','估计值','置信区间');%1个汉字算1个字符 for i=1:length(beta) if i<=2 fprintf('β.4f [%8.4f, %8.4f]\\n',i,beta(i),betaci(i,:)); 24

else fprintf('γ.4f [%8.4f, %8.4f]\\n',i-2,beta(i),betaci(i,:)); end end subplot(1,2,1); y=fun(beta,xx); plot(xx(:,1),yy,'o',xx(:,1),y,'+'); xlabel('图7 预测图 o表示原始数据,+表示拟合结果'); subplot(1,2,2); plot(xx(1:12,1),R(1:12),'+',xx(13:23,1),R(13:23),'o',[0,1.4],[0,0],'r-'); xlabel('图8 残差图 +表示经过处理,o表示未经处理'); nlintool(xx,yy,'fun',beta) function y=fun(beta,x) y=(beta(1)+beta(3)*x(:,2)).*x(:,1)./((beta(2)+beta(4)*x(:,2))+x(:,1)); ☆(1) 给出运行结果(数据和图形)(比较[342],[343]):

数据结果(比较p342表4): 图形(比较p343图7、图8): 拟合图(见p343图9): (2) 对上面程序运行中nlintool给出的交互式画面进行操作。

单击画面左下方的导出按钮”Export…”,出现下面画面,其中只选中Parameters,Parameter CI和RMSE复选框,单击OK,则变量beta1,betaci1和rmse被送到工作空间中,在命令窗口键入这三个变量名显示其值。

注:beta1为参数估计值,betaci1为参数的置信区间,rmse为剩余标准差。

★(2) 给出结果(beta1,betaci1和rmse的值): 25


实验11 - 统计回归模型(4学时)讲解(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:答中国为什么需要无产阶级专政

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: