楼主: cmq816
5159 9

R程序求救! [推广有奖]

  • 0关注
  • 1粉丝

本科生

43%

还不是VIP/贵宾

-

威望
0
论坛币
23 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
836 点
帖子
59
精华
0
在线时间
13 小时
注册时间
2006-5-2
最后登录
2012-2-8

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

请问用nlm()函数求最优解时出现如下语句是什么错误啊?该往哪方面改呢?麻烦解答!谢谢了!

“错误于solve.default(cov, ...) : Lapack例行程序dgesv: 系统正好是奇异的”

二维码

扫码加我 拉你入群

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

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

关键词:R程序 Default Lapack dgesv fault 程序 求救

本帖被以下文库推荐

沙发
alphastatist 发表于 2008-8-30 21:13:00 |只看作者 |坛友微信交流群

迭代过程中矩阵出现不可逆的情形(行列式为零)。

如果目标函数简单的话,建议自己编写优化程序,呵呵。

已有 1 人评分论坛币 学术水平 热心指数 收起 理由
crystal8832 + 10 + 1 + 1 热心帮助其他会员

总评分: 论坛币 + 10  学术水平 + 1  热心指数 + 1   查看全部评分

http://www.pinggu.org/bbs/images/logo2.gif[/IMG][/URL]

使用道具

藤椅
cmq816 发表于 2008-9-3 16:23:00 |只看作者 |坛友微信交流群

谢谢楼上的回答

谢谢楼上的回答!

可是我的目标函数不简单,自己编程恐怕很难,难道没有现成的R函数或方法可用了吗?拜托再帮帮忙吧!谢谢了!

使用道具

板凳
alphastatist 发表于 2008-9-3 17:01:00 |只看作者 |坛友微信交流群

可以在R的贡献包里找其他的非线性优化包试试,

本人的体会是,都不大好用。

或者多选一些初始点试试,good luck!

http://www.pinggu.org/bbs/images/logo2.gif[/IMG][/URL]

使用道具

报纸
ruiqwy 发表于 2008-9-4 15:51:00 |只看作者 |坛友微信交流群
做非线性问题跟迭代方法和初始值的选取有很大的关系的,需要不断尝试才行!
R is the second language for me!Using R is standing on the shoulders of giants!   Let\'s use R together!

使用道具

地板
cmq816 发表于 2008-9-6 18:00:00 |只看作者 |坛友微信交流群

那可不可以推荐一些比较好的介绍非线性问题的书呢?

另外,请问如果最优解与迭代方法和初始值的选取密切相关,那岂不是可能会有很多解?那怎么求得完呢?怎么确定哪个最优呢?

谢谢!

使用道具

7
ruiqwy 发表于 2008-9-6 19:20:00 |只看作者 |坛友微信交流群
现在非线性的书很多,对于非线性,迭代方法一般很难找到所有的最优解.一般尝试多种方法,多个初始值,从中选取相对最优.
R is the second language for me!Using R is standing on the shoulders of giants!   Let\'s use R together!

使用道具

8
cmq816 发表于 2008-9-8 23:54:00 |只看作者 |坛友微信交流群
请问在R语言里如果不能用牛顿法求解非线性最优化问题,还有其他什么方法吗?谢谢!

使用道具

9
sqlai 发表于 2008-9-9 14:57:00 |只看作者 |坛友微信交流群
R基本安装里就有的优化函数:
optim()
constrOptim()

建议你 自己写出一阶条件和二阶条件,可以Taylor展开到一阶,稍微简化一下,看看效果如何。如果结果可以,再展到2阶。如果是似然函数,一般连续可微都是满足的。
具体可以用R的D()函数进行符号求解,简单用法见下(或者matlab的符号计算,直接把结果贴到R script里)。

初始值可以用格点遍历的方法,跑遍可能的初值组合,记得考虑正负域的不同!

> f=expression(x^2+x^5 +x*log(x))
> D(f,'x')
2 * x + 5 * x^4 + (log(x) + x * (1/x))
>

change is easy, improvement is difficult

使用道具

10
cmq816 发表于 2008-9-9 23:17:00 |只看作者 |坛友微信交流群
可是要是目标函数很复杂,很难求一阶或二阶条件,用optim()这类函数又解不出来(老是出现“系统正好是奇异”的错误),到底要怎么最优化呢?

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 14:28