24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1185  |  回复: 11

spinach45

捐助贵宾 (初入文坛)

 \"初学新手求教。求用Matlab求解一个非线性回归,或请指点门路。\"
 \"初学新手求教。求用Matlab求解一个非线性回归,或请指点门路。-1\"
 \"初学新手求教。求用Matlab求解一个非线性回归,或请指点门路。-2\" \"初学新手求教。求用Matlab求解一个非线性回归,或请指点门路。-3\"

各位,实在抱歉,之前回的帖子图都挂了,式子也看不到。上图是原文的论述和式子。我根据原文提到的数据用1stopt进行了回归,得出的结果不大相同,而且也不知道怎么得到其他例如AIC之类的结果。请问能不能帮我看看应该如何处理,或者用更高版本的1stopt帮忙走走程序?
我写的1stopt程序(省略了data,参见附件)
CODE:
Parameters b1, b2[0,1], b3[1,2];
Variable a, x, y, z;
Constant R=1.073533812;
Function R*a=(1+exp(b1*(b2-b3)*z*(x-R*y)))^(-1)*b2*x+(1-(1+exp(b1*(b2-b3)*z*(x-R*y)))^(-1))*b3*x;
data;

另外,我在尝试用matlab的时候也出现了问题,说“输入参数的数目不足”,还有原因,“原因:    Failure in initial user-supplied objective function evaluation. LSQNONLIN cannot continue”,昨晚查了一晚也不知道怎么回事,能麻烦帮忙看看吗?(省略了data,参见附件)
CODE:
function fit_nonl
clear all;clc
format long

data=[
];
R=1.073533812;
Xt_1=data(:,2);
Xt_2=data(:,3);
Xt_3=data(:,4);
Xt=data(:,1);
X=[Xt_1, Xt_2, Xt_3];
Y=R*Xt;
b0=[-10; 0.5; 1.5];
lb=[-100; 0; 1]*1e9;
ub=[0; 1; 2]*1e9;


%-------------------------------------------------------------------------

% 使用函数lsqnonlin()进行参数估计
OPTIONS=optimset('MaxFunEvals',1000);
[b,resnorm,residual,jacobian] = ...
    lsqnonlin(@ObjFunc,b0,lb,ub,OPTIONS,X,Y);
ci = nlparci(b,residual,jacobian);
%residual;

%-------------------------------------------------------------------------

function f = ObjFunc(b,X,Y)
f=KineticsEqs(X,b)-Y;

%------------------------------------------------------------------------
function xt = KineticsEqs(b,X)
b1=b(2);
b2=b(3);
x1=X(:,1);
xt=(myfunc)^(-1)*b1*x1+(1-(myfunc)^(-1))*b2*x1;

function n=myfunc(b,X)
R=1.073533812;
B=b(1);
b1=b(2);
b2=b(3);
n=1+exp(B*(b1-b2)*X(:,3)*(X(:,2)-R*X(:,1)));

以防代码看不到,我把数据和代码都在附件里。

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : 1stopt.txt
  • 2015-03-10 12:49:33, 5.07 K
  • 附件 2 : matlab.txt
  • 2015-03-10 12:49:33, 5.95 K
  • 附件 3 : 发问.txt
  • 2015-03-10 12:49:34, 6.69 K
11楼2015-03-10 12:52:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

均方差(RMSE):4.03661504384643
残差平方和(SSE):2476.72767385551
相关系数(R): 0.958306963222902
相关系数之平方(R^2): 0.918352235761501
确定系数(DC): 0.9182799735469
卡方系数(Chi-Square): -358.063742355513
F统计(F-Statistic): 911.649239892948

参数        最佳估算
----------        -------------
b1        -0.474091690967976
b2        0.971586912686914
b3        1.01342007990183
初学新手求教。求用Matlab求解一个非线性回归,或请指点门路。-4
c1.jpg

12楼2015-03-10 16:07:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 spinach45 的主题更新
信息提示
请填处理意见