SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 3583|回复: 3
打印 上一主题 下一主题

R里矩阵运算太大怎么办?

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2012-2-1 16:26:30 | 只看该作者

R里矩阵运算太大怎么办?

运算时候经常出现数值是Inf,或者元素比较大,求逆的时候认为是奇异的。
请问如何处理这种情况?
谢谢!
[,1]          [,2]          [,3]          [,4]          [,5]
[1,]  5.532689e+38 -1.653593e+39  4.942214e+39 -1.477116e+40  4.414771e+40
[2,] -1.653593e+39  4.942214e+39 -1.477116e+40  4.414771e+40 -1.319477e+41
[3,]  4.942214e+39 -1.477116e+40  4.414771e+40 -1.319477e+41  3.943629e+41
[4,] -1.477116e+40  4.414771e+40 -1.319477e+41  3.943629e+41 -1.178665e+42
[5,]  4.414771e+40 -1.319477e+41  3.943629e+41 -1.178665e+42  3.522778e+42
[6,] -1.319477e+41  3.943629e+41 -1.178665e+42  3.522778e+42 -1.052884e+43
[7,]  3.943629e+41 -1.178665e+42  3.522778e+42 -1.052884e+43  3.146849e+43
              [,6]          [,7]
[1,] -1.319477e+41  3.943629e+41
[2,]  3.943629e+41 -1.178665e+42
[3,] -1.178665e+42  3.522778e+42
[4,]  3.522778e+42 -1.052884e+43
[5,] -1.052884e+43  3.146849e+43
[6,]  3.146849e+43 -9.405277e+43
[7,] -9.405277e+43  2.811044e+44

<!-- m --><a class="postlink" href="http://bbs.pinggu.org/thread-1092589-1-1.html">http://bbs.pinggu.org/thread-1092589-1-1.html</a><!-- m -->
人大经济论坛


就比如这个矩阵,R会提示:错误于solve.default(temp1) : 系统计算上是奇异的: 倒条件数=1.42261e-21

怎么办啊?谢谢
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2012-2-1 16:27:07 | 只看该作者

Re: R里矩阵运算太大怎么办?

<!-- m --><a class="postlink" href="http://bbs.pinggu.org/thread-1092589-1-1.html">http://bbs.pinggu.org/thread-1092589-1-1.html</a><!-- m -->
人大经济论坛pinggu.org
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2012-2-3 03:50:20 | 只看该作者

Re: R里矩阵运算太大怎么办?

what about scaling down by a scalar, i.e.

(kA)-1 =k-1*A-1

jingju
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2012-2-5 11:22:06 | 只看该作者

Re: R里矩阵运算太大怎么办?

趋于奇异的矩阵求逆用基于SVD的generalized inverse

[quote=&quot;pinky_0211&quot;:3apb47w3]运算时候经常出现数值是Inf,或者元素比较大,求逆的时候认为是奇异的。
请问如何处理这种情况?
谢谢!
[,1]          [,2]          [,3]          [,4]          [,5]
[1,]  5.532689e+38 -1.653593e+39  4.942214e+39 -1.477116e+40  4.414771e+40
[2,] -1.653593e+39  4.942214e+39 -1.477116e+40  4.414771e+40 -1.319477e+41
[3,]  4.942214e+39 -1.477116e+40  4.414771e+40 -1.319477e+41  3.943629e+41
[4,] -1.477116e+40  4.414771e+40 -1.319477e+41  3.943629e+41 -1.178665e+42
[5,]  4.414771e+40 -1.319477e+41  3.943629e+41 -1.178665e+42  3.522778e+42
[6,] -1.319477e+41  3.943629e+41 -1.178665e+42  3.522778e+42 -1.052884e+43
[7,]  3.943629e+41 -1.178665e+42  3.522778e+42 -1.052884e+43  3.146849e+43
              [,6]          [,7]
[1,] -1.319477e+41  3.943629e+41
[2,]  3.943629e+41 -1.178665e+42
[3,] -1.178665e+42  3.522778e+42
[4,]  3.522778e+42 -1.052884e+43
[5,] -1.052884e+43  3.146849e+43
[6,]  3.146849e+43 -9.405277e+43
[7,] -9.405277e+43  2.811044e+44

<!-- m --><a class="postlink" href="http://bbs.pinggu.org/thread-1092589-1-1.html">http://bbs.pinggu.org/thread-1092589-1-1.html</a><!-- m -->
人大经济论坛


就比如这个矩阵,R会提示:错误于solve.default(temp1) : 系统计算上是奇异的: 倒条件数=1.42261e-21

怎么办啊?谢谢[/quote:3apb47w3]
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-5-7 05:26 , Processed in 0.161169 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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