楼主: w1994wl202
15374 8

[问答] R语言非线性回归问题nls问题 [推广有奖]

  • 0关注
  • 1粉丝

已卖:1份资源

初中生

52%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
381 点
帖子
10
精华
0
在线时间
16 小时
注册时间
2015-10-15
最后登录
2016-10-11

楼主
w1994wl202 发表于 2016-2-28 14:21:24 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
本人刚接触非线性回归,关于nls做预测一点都不懂,现在有一串数据13.80603,56.85849,107.61872,235.41724,462.01270分别对应2010,2011,2012,2013,2014.想预测2015,2016,2017,2018,2019对应的数据,画图觉得象是非线性的,网上查到用nls来预测,R上 写了
x<-c(13.80603,56.85849,107.61872,235.41724,462.01270)
y<-c(2010:2014)
nls(x~y)
结果得不出来,反应  错误于cll[[1L]] : 类别为'symbol'的对象不可以取子集


请问各位大神,哪里写错了?是不是不能这么做呢?能做的话应该怎么改?不能做的话有什么其他方法推荐呢。


问题十分紧急,跪求,急求!!!






二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:非线性回归 线性回归 R语言 nls 非线性 2011 2014 网上

沙发
w1994wl202 发表于 2016-2-28 20:14:54
急求!

藤椅
zhao_ 发表于 2016-2-28 21:20:05
nls()要设置初始值的啊,你初始值都没设置他怎么算

板凳
w1994wl202 发表于 2016-2-28 21:23:06
zhao_ 发表于 2016-2-28 21:20
nls()要设置初始值的啊,你初始值都没设置他怎么算
嗯嗯。对的,我现在已经知道了,但是还是做不出来。求大神再帮助一下
ag[,,6]<-c(8.48180,44.18290,98.08942,258.56742,526.64099)
a<-data.frame(x=c(ag[,,6]),y1=c(2010:2014))
nls(x~I(B^(y1-C)),data=a,start=list(B=1,C=2010))
错误于nlsModel(formula, mf, start, wts) :
  参数初始估计值里有奇异梯度矩阵

报纸
zhao_ 发表于 2016-3-1 11:44:10
w1994wl202 发表于 2016-2-28 21:23
嗯嗯。对的,我现在已经知道了,但是还是做不出来。求大神再帮助一下
ag[,,6]
这一般都是初值不对,你多换几组初始值再试试

地板
w1994wl202 发表于 2016-3-1 13:36:43
zhao_ 发表于 2016-3-1 11:44
这一般都是初值不对,你多换几组初始值再试试
谢谢大神,之前的数据怎么都调不出来,我查到一个SSlogis函数,不需要初始值,但是还是有奇异值。想问一下这样是不是就是我做不出来了

7
zhao_ 发表于 2016-3-2 12:39:20
w1994wl202 发表于 2016-3-1 13:36
谢谢大神,之前的数据怎么都调不出来,我查到一个SSlogis函数,不需要初始值,但是还是有奇异值。想问一下 ...
奇异矩阵是挺头疼的,这是数学上的问题我也不懂了

8
zhao_ 发表于 2016-3-2 12:53:29
w1994wl202 发表于 2016-3-1 13:36
谢谢大神,之前的数据怎么都调不出来,我查到一个SSlogis函数,不需要初始值,但是还是有奇异值。想问一下 ...
我帮你做了一下,其实你仔细想想,自变量不必非要用2010:2019,用1:5分别代表2010 2011 2012 2013 2014做回归模型和你表达的意思是一模一样的,我觉得用1:5就可以避免奇异矩阵的问题
代码如下
  1. nls.sol<-nls(y~a*x^b,data=rd,start=list(a=1,b=2))
  2. summary(nls.sol)
复制代码
结果如下
Formula: y ~ a * x^b

Parameters:
  Estimate Std. Error t value Pr(>|t|)   
a   5.2422     1.5704   3.338 0.044449 *  
b   2.7764     0.1943  14.291 0.000742 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 14.81 on 3 degrees of freedom

Number of iterations to convergence: 8
Achieved convergence tolerance: 9.285e-07

9
w1994wl202 发表于 2016-7-10 11:19:31
zhao_ 发表于 2016-3-2 12:53
我帮你做了一下,其实你仔细想想,自变量不必非要用2010:2019,用1:5分别代表2010 2011 2012 2013 2014 ...
谢谢!学到了!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-5 14:27