matlab 对数回归,matlab的对数回归

本文通过一个实例介绍了如何在MATLAB中进行对数回归,并详细解析了optimset函数的使用,包括参数设置和优化过程。在解决对数回归问题时,注意到数据需满足对数函数的要求,即大于0。通过调整数据和优化参数,成功避免了复数结果的出现。
摘要由CSDN通过智能技术生成

一个例子:

clear all;

x1=[0.4292 0.4269 0.381 0.4015 0.4117 0.3017]';

x2=[0.00014 0.00059 0.0126 0.0061 0.00425 0.0443]';

x=[x1 x2];

y=[0.517 0.509 0.44 0.466 0.479 0.309]';

f=@(p,x)

2.350176*p(1)*(1-1/p(2))*(1-(1-x(:,1).^(1/p(2))).^p(2)).^2.*(x(:,1).^(-1/p(2))-1).^(-p(2)).*x(:,1).^(-1/p(2)-0.5).*x(:,2);

p0=[8 0.5]';

opt=optimset('TolFun',1e-3,'TolX',1e-3);

[p R]=nlinfit(x,y,f,p0,opt);

一开始我以为X只能为一维数据,因为我的程序做出来的Y预测值及系数预测均为复数的形式。后来看了这个例子发现不是X维数的原因,其原因是对数函数ln(x)的x值要大于0,我的数据算出来均为负数,所以才出现了这样的情况。所以我将x改为绝对值的形式,就避免了这种情况。并且关于optimset函数,是一个优化函数,也有了很好的启示作用。以下介绍一下optimset的使用方法:

创建或编辑一个最优化参数选项

句法规则

options = optimset('param1',value1,'param2',value2,...)

%设置所有参数及其值,未设置的为默认值options =

optimset %全部设置为默认 options =

optimset(optimfun) %设置与最优化函数有关的参数为默认

options =

optimset(oldopts,'param1',value1,...) %复制一个已存在的选项,修改特定项

options =

optimset(oldopts,newopts) %用另一个新选项合并目前选项

因素

Parameter

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值