教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

matlab多元非线性回归(2)

来源:网络收集 时间:2026-09-25
导读: 方法二----化为多元线性回归: ??a?bt?ct2st=1/30:1/30:14/30; s=[11.86 15.67 20.60 26.69 33.71 41.93 51.13 61.49 72.90 85.44 99.08 113.77 129.54 146.48]; >> T=[ones(14,1), t', (t.^2)'] %???是否可行?

方法二----化为多元线性回归:

??a?bt?ct2st=1/30:1/30:14/30;

s=[11.86 15.67 20.60 26.69 33.71 41.93 51.13 61.49 72.90 85.44 99.08 113.77 129.54 146.48];

>> T=[ones(14,1), t', (t.^2)'] %???是否可行???等验证...----因为有三个待定系数,所以有三列,始于常数项 >> [b,bint,r,rint,stats]=regress(s',T); >> b,stats b = 9.1329 65.8896 489.2946 stats =1.0e+007 *

0.0000 1.0378 0 0.0000 得回归模型为 :

??9.1329?65.8896st?489.2946t2 %结果与方法1相同 >> T=[ones(14,1),t, (t.^2)'] %???是否可行???等验证... polyfit------一元多次

regress----多元一次---其实通过技巧也可以多元多次

regress最通用的,万能的,表面上是多元一次,其实可以变为多元多次且任意函数,如x有n列(不含全1列),则表达式中就有n+1列(第一个为常数项,其他每项与x的列序相对应)??????此处的说法需进一步验证证……………………………

例3

设某商品的需求量与消费者的平均收入、商品价格的统计数据如下,建立回归模型,预测平均收入为1000、价格为6时的商品需求量. 需求量 100 收入

1000

75 600

80 1200

70 500

50 300

65 400

90 1300

100 1100

110 1300

60 300

价格

5 7 6 6 8 7 5 4 3 9

选择纯二次模型,即

22y??0??1x1??2x2??11x1??22x2----用户可以任意设计函数

>> x1=[1000 600 1200 500 300 400 1300 1100 1300 300]; >> x2=[5 7 6 6 8 7 5 4 3 9];

>> y=[100 75 80 70 50 65 90 100 110 60]';

X=[ones(10,1) x1' x2' (x1.^2)' (x2.^2)']; %注意技巧性?????? [b,bint,r,rint,stats]=regress(y,X); %这是万能方法??????需进一步验证 >> b,stats b = 110.5313 0.1464 -26.5709 -0.0001 1.8475

stats = 0.9702 40.6656 0.0005 20.5771

22故回归模型为:y?110.5313?0.1464x1?26.5709x2?0.0001 x1?1.8475x2剩余标准差为4.5362, 说明此回归模型的显著性较好.

--------(此题还可以用 rstool(X,Y)命令求解,详见回归问题详解)

>> X=[ones(10,1) x1' x2' (x1.^2)' (x2.^2)',sin(x1.*x2)',(x1.*exp(x2))']; >> [b,bint,r,rint,stats]=regress(y,X); >> b,stats

(个人2011年认为,regress只能用于函数中的每一项只能有一个待定系数的情况,不

能用于aebx等的情况)

regress(y,x)

----re是y/x逆置的 ---y是列向量

---须确定目标函数的形式

---x须构造(通过构造来反映目标函数)

---x中的每一列与目标函数的一项对应(剔除待定系数) ----首项为常数项(x的第一列为全1) ----有函数有n 项(待定系数),则x就有n列

----regress只能解决每项只有一个待定系数的情况且必须有常数项的情况(且每项只有一个待定系数,即项数与待定系数数目相同)

***其重(难、关键)点:列向量、构造矩阵(X):目标函数中的每项与X中的一列对应。(由X来确定目标函数的类型/形式)

三、非线性回归(拟合)

使用格式:beta = nlinfit(x,y, ‘ 程序名’,beta0) [beta,r,J] = nlinfit(X,y,fun,beta0) X给定的自变量数据,Y给定的因变量数据,fun要拟合的函数模型(句柄函数或者内联函数形式),beta0函数模型中待定系数估计初值(即程序的初始实参)beta返回拟合后的待定系数其中beta为估计出的回归系数;r为残差;J为Jacobian矩阵

输入数据x、y分别为n*m矩阵和n维列向量,对一元非线性回归,x为n维列向量。 ’model’为是事先用m-文件定义的非线性函数;beta0为回归系数的初值

可以拟合成任意函数。最通用的,万能的命令 x,y顺序,x不需要任何加工,直接用原始数据。(也不需要全1列)---所编的程序一定是两个形参(待定系数/向量,自变量/矩阵:每一列为一个自变量)

结果要看残差的大小和是否有警告信息,如有警告则换一个b0初始向量再重新计算。 本程序中也可能要用.* ./ .^如结果中有警告信息,则必须多次换初值来试算难点是编程序与初值

nlinfit

多元任意函数,(自己任意设计函数,再求待定系数)顺序

([b,r,j]=nlinfit(x,y,’…’, b0)y为列向量;x为矩阵,无需加全1列,x,y就是原始的数据点,(x/y正顺序,所以x不要加全1列)需预先编程(两个参数,系数向量,各变量的矩阵/

每列为一个变量)

存在的问题:不同的beta0,则会产生不同的结果,如何给待定系数的初值以及如何分析结果的好坏,如出现警告信息,则换一个待定系数试一试。因为拟合本来就是近似的,可能有多个结果。 …… 此处隐藏:636字,全部文档内容请下载后查看。喜欢就下载吧 ……

matlab多元非线性回归(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/604141.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)