预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第18卷第5期牡丹江大学学报Vol.18No.5 2009年5月JournalofMudanjiangUniversityMay.2009 文章编号:1008-8717(2009)05-0101-03 基于MATLAB和SPSS的非线性回归分析 陈永胜 (吉林师范大学数学学院,吉林四平136000) 摘要:非线性回归分析是把工程和科学实验数据拟合为非线性函数,以反映变量间的相互关系.本文以Logistic 曲线为例,用MATLAB和SPSS编制相关程序,实现其非线性回归分析. 关键词:非线性回归;Logistic曲线;MATLAB;SPSS 中图分类号:O241.5;TP392文献标识码:A 在科学与工程计算中,为了把握某些规律,经常需要研究和探寻一些变量之间的关系.而变量之间的关系有时 是确定的,有时又是非确定的.研究这些确定性与非确定性之间关系的一个重要工具就是回归分析方法.回归分析[1] 是数理统计学中重要的一部分,而非线性回归[2]在科学实验、数学模型的建立、决策预测及自动控制中都有着广泛的 应用. 下表给出了某地区1971—2000年的人口数据(表1).我们分别用MATLAB[3]和SPSS[4]软件,对该地区的人口变 化进行曲线拟合. 表1某地区人口变化数据 y(人口)y(人口)y(人口) T(年份)T(年份)T(年份) (单位:人)(单位:人)(单位:人 197133815197233981197334004 197434165197534212197634327 197734344197834458197934498 198034476198134483198234488 198334513198434497198534511 198634520198734507198834509 198934521199034513199134515 199234517199334519199434519 199534521199634521199734523 199834525199934525200034527 根据上表中的数据,作出散点图,见图1. T=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]'; scatter(T,y) 图1某地区人口随时间变化的散点图 从图1可以看出,人口随时间的变化呈非线性过程,而且存在一个与横坐标轴平行的渐近线,可以用Logistic曲 收稿日期:2008-08-27 基金项目:吉林省高等教育教学研究重点课题(2007-2009),课题名称《数学实验在数学教学中的理论研 究与实践》。 作者简介:陈永胜(1973—),男,吉林省长春市人,吉林师范大学数学学院讲师,硕士,研究方向:动力 系统与数学软件。 101 1 线模型进行拟合,Logistic曲线模型的基本形式为:y= a+be−t 一、调用MATLAB工具箱函数拟合非线性回归模型 1.回归 确定回归系数的命令:[beta,r,J]=nlinfit(x,y,'model',beta0),其中beta代表估计出的回归系数,r代表残差,J代 表Jacobian矩阵,x、y代表输入数据,x、y分别为n×m矩阵和n维列向量.model是事先用m-文件定义的非线性 函数,beta0回归系数的初值. 2.预测和预测误差估计 [Y,DELTA]=nlpredci('model',x,beta,r,J),求nlinfit所得的回归函数在x处的预测值Y及预测值的显著性为1-alpha 的置信区间Y±DELTA. 1 对将要拟合的Logistic模型y=,建立Logistic.m文件如下: a+be−t functiony=Logistic(beta,t) y=1./(beta(1)+beta(2)*exp(-t)); 输入数据: t=1:30;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;34 527];beta0=[82]'; 求回归系数:[beta,r,J]=nlinfit(t',y,'Lo