楼主: Will2011
5358 15

[问答] R里能否像Splus一样计算empirical copula? [推广有奖]

11
Will2011 发表于 2011-8-5 10:54:04 |只看作者 |坛友微信交流群
情迷仲夏夜 发表于 2011-8-5 05:04
R是可以写自己的function(),难道SPlus不允许写自己的function()?
应该是可以的,但是我写进去了以后程序好像没什么反应啊,所以我现在就在想怎么用splus里算empirical.copula的方法进行计算,但是在算gpd上又遇到问题。。。您有时间也帮我看看吧~谢谢您啦~

使用道具

使用道具

13
Will2011 发表于 2011-8-6 02:06:11 |只看作者 |坛友微信交流群
情迷仲夏夜 发表于 2011-8-5 22:48
http://lstat.kuleuven.be/Wiley/
http://faculty.washington.edu/ezivot/book/QuanCopula.pdf
http://sm ...
真的十分感激您一直给予的帮助。我的大概情况是这样的,我把一组数据拆分成他的绝对值和正负号,然后分别进行研究,所以我有一共两组数据,一组数据全是正的(原数据绝对值),另一组数据是原数据的正负号,我不清楚是否把这组数据设定为一组指示函数是正确的,原数据是正的就是1,负的为0, 我现在就想怎么样能把这两组数据做成empirical copula然后和所选的一些copula进行比较。希望您能帮帮我,真的十分感谢!
(我不是很确定是否应该把符号设定为指示函数,还是应该用别的代替。splus我相对熟悉一些)

使用道具

14
情迷仲夏夜 发表于 2011-8-14 05:54:50 |只看作者 |坛友微信交流群
我觉得你现在所涉及的问题已不仅仅是用Splus或R的程序来计算empirical copula或cdfs的问题,而是想要确定是否可以将你原来连续的原始数据转换成分类数据资料的统计学合理性的的问题了。
1。我认为没有什么不可以,因为网上有很多这样的文章可以参考:
http://www.york.ac.uk/res/herc/documents/wp/07_24.pdf
http://www.ncbi.nlm.nih.gov/pmc/ ... 06/pdf/10053023.pdf
或是可以请教你的导师或懂统计的专门教授或人士来解答。
2。从你最后13楼的提问来看,我不知道:当你对你的原始数据重新编组后,你可否用R或Splus进行运算了?如果可以用R或Splus运算了,那运算后有无达到你的预想结果?对你的所得结果你能否进行合理的解释了?
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Will2011 + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

15
Will2011 发表于 2011-8-14 08:24:59 |只看作者 |坛友微信交流群
情迷仲夏夜 发表于 2011-8-14 05:54
我觉得你现在所涉及的问题已不仅仅是用Splus或R的程序来计算empirical copula或cdfs的问题,而是想要确定是 ...
您好,很感激您给予的帮助,千言万语也表达不了我的感激之情!
我现在遇到的问题就是两组数据,一组是类似【0.02 0.05 0.01.......】,另一组数据是【1 0 0 1......】,现在我应用splus中计算empirical copula的方法(gpd.tail)把第一组数据的cdf给做出来了(起码程序没有报错),但是第二组数据算不出来(程序报错),而splus中非要gpd.tail才能算出empirical.copula。此外,由于我想做fitted copula,我用一组类似第一组数据的数据来代替第二组指示数据(主要是想看看程序是否有问题),可是不知道是不是由于两组数据都是正的,导致程序一直提醒没有找到negative dependence。因此我真的很迷茫,试了很多回了。不知道能否在您百忙之中帮我用两组类似以上的数据试一下,真的不胜感激!

使用道具

16
shierfeishilixu 发表于 2012-6-22 00:18:54 |只看作者 |坛友微信交流群
看了楼主的帖子很受启发。感觉楼主对SPLUS熟悉一些,小弟想借用一下帖子,占个地方,向你咨询一个SPLUS的问题。语言和结果如下:希望楼主假若知道,能给予小弟一定的帮助,拜谢。
> zero.idx = (y==0 $ x== 0)
> sum(zero.idx)/length(y)
[1] 0
> nz.idx = (y !=0 & x !=0)
> gpd.y.fit2 = gpd.tail(y[nz.idx], upper = 0.06,
+ lower = -0.06)
Problem in U.f: Missing value where logical needed: if(sum(xsc < 0) > 0 | a < 0) {
ll <- NA
} else {
ll <-  - tempN * log(a) + (1/k - 1) * sum(log(xsc))
}, while calling subroutine sumsno_c
Use traceback() to see the call stack

做到这一步就没办法继续了。想知道到底是什么地方出了问题,恳请指点迷津。

使用道具

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

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

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

GMT+8, 2024-5-10 08:51