5利用matlab编程计算非线性回归模型.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5利用matlab编程计算非线性回归模型

§5. 利用Matlab编程计算非线性回归模型 ——以Logistic曲线为例 1.原始数据 下表给出了某地区1971—2000年的人口数据(表1)。试分别用Matlab和SPSS软件,对该地区的人口变化进行曲线拟合。 表1 某地区人口变化数据 年份 时间变量t=年份-1970 人口y/人 1971 1 33 815 1972 2 33 981 1973 3 34 004 1974 4 34 165 1975 5 34 212 1976 6 34 327 1977 7 34 344 1978 8 34 458 1979 9 34 498 1980 10 34 476 1981 11 34 483 1982 12 34 488 1983 13 34 513 1984 14 34 497 1985 15 34 511 1986 16 34 520 1987 17 34 507 1988 18 34 509 1989 19 34 521 1990 20 34 513 1991 21 34 515 1992 22 34 517 1993 23 34 519 1994 24 34 519 1995 25 34 521 1996 26 34 521 1997 27 34 523 1998 28 34 525 1999 29 34 525 2000 30 34 527 根据上表中的数据,做出散点图,见图1。 图1 某地区人口随时间变化的散点图 从图1可以看出,人口随时间的变化呈非线性过程,而且存在一个与横坐标轴平行的渐近线,故可以用Logistic曲线模型进行拟合。 因为Logistic曲线模型的基本形式为: 所以,只要令:,就可以将其转化为直线模型: 下面,我们分别用Matlab和SPSS软件进行回归分析拟合计算。 2.用Matlab编程进行回归分析拟合计算 源程序(Nonlinear-Regression-Model.m),如下: clear clc % 读入人口数据(1971-2000年) y = [33815 33981 34004 34165 34212 34327 34344 34458 34498 34476 34483 34488 34513 34497 34511 34520 34507 34509 34521 34513 34515 34517 34519 34519 34521 34521 34523 34525 34525 34527]; % 读入时间变量数据(t=年份-1970) t=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30]; % 线性化处理 for t = 1:30, x(t)=exp(-t); y(t)=1/y(t,1); end % 计算,并输出回归系数B c=zeros(30,1)+1; X=[c,x]; B=inv(X*X)*X*y for i=1:30, % 计算回归拟合值 z(i)=B(1,1)+B(2,1)*x(i); % 计算离差 s(i)=y(i)-sum(y)/30; % 计算误差 w(i)=z(i)-y(i); end % 计算离差平方和S S=s*s; % 回归误差平方和Q Q=w*w; % 计算回归平方和U U=S-Q; % 计算,并输出F检验值 F=28*U/Q % 计算非线性回归模型的拟合值 for j=1:30, Y(j)=1/(B(1,1)+B(2,1)*exp(-j)); end % 输出非线性回归模型的拟合曲线(Logisic曲线) plot(T,Y) 上述程序运行后,输出 (1)输出回归系数B及F检验值如下: B = 1.0e-004 * 0.2902 0.0182 F = 47.8774 (2)输出Logistic模型拟合曲线 《计量地理学》(徐建华,高等教育出版社,2005)配套实习指导 27

文档评论(0)

zhuwo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档