声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2590|回复: 9

[综合讨论] 请教没有函数模型的非线性回归曲线拟合问题

[复制链接]
发表于 2007-8-13 15:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
各位高手,小妹由于数学建模,急需寻求一个非线性回归曲线拟合的方法,因为只有数据,没有函数模型,所以请各位大侠出手相助.感激不尽.
x1=2001:2005;
y1=[500.6,442.4,428.8,370.1,343.1];
预测2006-2010时y1的值

[ 本帖最后由 eight 于 2007-8-15 20:39 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-8-13 17:19 | 显示全部楼层
这个数据预测就麻烦了,可以用svm也可以用灰色理论,但是我用svm做的效果不好,也在为这事想办法
 楼主| 发表于 2007-8-13 17:23 | 显示全部楼层
谢谢,不能用灰色理论,要比较简单的算法.
真是太着急了,太需要帮忙了!

[ 本帖最后由 eight 于 2007-8-15 20:38 编辑 ]
发表于 2007-8-13 18:38 | 显示全部楼层

回复 #1 cathyqueen 的帖子

Matlab中有一个专门的曲线拟和工具箱,你试一下:@)
我得出的最好结果是用多项式拟和:
Linear model Poly4:
       fittedmodel1(x) = p1*x^4 + p2*x^3 + p3*x^2 + p4*x + p5
     Coefficients:
       p1 =        6.95
       p2 = -5.568e+004
       p3 =  1.673e+008
       p4 = -2.234e+011
       p5 =  1.119e+014
毕竟你的数据太少:@L
 楼主| 发表于 2007-8-13 19:49 | 显示全部楼层
谢谢大侠,我试过这个多项式,可是好象太不符合实际了.
其实一共有四组数据,要画四条曲线,但都是相互独立的.但它们的趋势都是一样的.我观察了好久,觉得象是卡方分布.
x1=2001:2005;
x2=1997:2005;
y1=[500.6,442.4,428.8,370.1,343.1];
y2=[354.7,318.0,280.7,246.6,229.0];
y3=[197.4,297.7,412.8,547.0,579.8,547.5,527.0,492.3,437.0];
y4=[72.3,218.2,297.1,416.1,508.7];
x1与y1拟合,x1与y2拟合,x2与y3拟合,x4与y4拟合,仔细观察数据,发现其每条曲线的大致图形都是一样的,要预测每条曲线2006-2010的值.
拜托了,:loveliness: :loveliness:
发表于 2007-8-13 21:48 | 显示全部楼层
这是我用灰色理论给你预测的一个结果

500.6000  450.0055  413.1882  377.9107  345.6452  316.1344  289.1433  264.4566  241.8777  221.2265  202.3384
 楼主| 发表于 2007-8-13 23:21 | 显示全部楼层
太感谢你了,能不能给我讲讲过程啊!

请问一下灰色预测中B,Y是什么啊,怎样求取啊?
拜托了:@)

[ 本帖最后由 ChaChing 于 2010-3-16 08:41 编辑 ]
发表于 2007-8-14 11:05 | 显示全部楼层
B是 关于x的1次累加值,y是x的部分值,具体的求解,你可以参考相关书籍。

针对你这组值得出的结果:

for t=1:10
    w(t)=-5291.2353*exp(-0.089245*t)+5790.0821;
   end
for t=10:-1:0
   if t>1
        q(t+1) = w(t)-w(t-1);
    else
        if t>0
            q(t+1) = w(t)-x(1);
        else
            q(t+1) =x(1);
        end
    end
end


x(1)就是你的 500.6

[ 本帖最后由 ChaChing 于 2010-3-16 08:46 编辑 ]
发表于 2007-8-14 16:16 | 显示全部楼层
预测值要求高吗?我不知道我的做法对不:

x1 = 2001:1:2005;
y1=[500.6,442.4,428.8,370.1,343.1];
x=2001:1:2010;
y = interp1(x1,y1,x,'spline','extrap');
plot(x1,y1,'o',x,y);
 楼主| 发表于 2007-8-14 20:15 | 显示全部楼层
非常感谢各位高手的指点,但楼上那位兄台,需要的拟合值非常高,插值法误差特别大哎.

谢谢cherryong,我对灰色预测还不是特别清楚,请问一下除了GM(1,1)模型外,GM(2,2)模型是否也是用同样的函数模型,因为用GM(1,1)算出来误差还是特别大,基本不符合.我就想用继续累加的方法,用X(2)(i)继续推,你看行吗?

[ 本帖最后由 ChaChing 于 2010-3-16 08:42 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-12 07:54 , Processed in 0.084330 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表