Matlab与1stOpt多元非线性回归


使用Matlab和1stOpt对 y = b1 * x1b2 * x2b3 * x3b4 进行拟合。


1 Matlab多元非线性回归

Matlab常使用nlinfit函数进行多元非线性回归,主要语法:beta = nlinfit(X, Y, modelfun, beta0),其中,X为预测变量,Y为响应值,modelfun为指定的模型,beta0为参数初始值。其中,beta0对参数beta的估计起到很重要的作用,直接影响beta的优劣。

Matlab中,首先构造modelfun = ‘beta(1) .* X(:,1) .^ beta(2) .* X(:,2) .^ beta(3) .* X(:,3) .^ beta(4)’,以及beta0,然后使用beta = nlinfit(X, Y, mymodel, beta0)语句求解,结果为:
[1.125319074808870e-11; 0.206682275666316; 9.346992572477125; -0.713319766492658],R值为0.849547658794089。


2 1stOpt多元非线性回归

为了避免初始值对beta估计的影响,可以使用1stOpt软件进行估计,需要试用版软件可以下载1stOpt试用版本安装包及操作手册或者在评论区留下联系方式,不过试用版本的参数不得超过4个。
多元非线性回归,使用1stOpt的编码很简单:

在这里插入图片描述

Parameter b1, b2, b3, b4;
Variable x1, x2, x3, y;
Function y=b1*x1^b2*x2^b3*x3^b4;
Data;
//x1	x2   	x3     	y
3673831.01000000	39.5763140000000	74.3562590000000	12700.0100000000
2897388.01000000	39.6674820000000	112.371992000000	5200.01000000000
2357076.01000000	40.3692350000000	95.2484480000000	9000.01000000000
769326.010000000	39.4360980000000	133.780490000000	13100.0100000000
//...共计693条数据

只需定义好参数名,变量名,方程模型以及数据,完场上述后运行,在结果栏进行查看。最重要的是,多元非线性回归中无需设置初始值。
在这里插入图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A-Chin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值