楼主: dedongzhuang
6749 33

[问答] Splus 中的integrate 怎么用 急需 赏金10元 [推广有奖]

  • 1关注
  • 3粉丝

VIP

已卖:1040份资源

博士生

56%

还不是VIP/贵宾

-

威望
0
论坛币
731 个
通用积分
6.7613
学术水平
3 点
热心指数
2 点
信用等级
2 点
经验
2310 点
帖子
116
精华
0
在线时间
464 小时
注册时间
2006-11-20
最后登录
2024-4-10

楼主
dedongzhuang 发表于 2012-3-12 01:03:12 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
有程序如下:
> f <- function(x)
{
        out <- 0 * x
        for(i in 1:length(x))
                out <- integrate(dx.y, lower = -90, upper = x)$integral -0.05
        out
}
> CoVaR = uniroot(f, c(-72, 0))$root
结果:
Problem in qf15(f, lower, upper, aux = optargs(list..: f is not vectorized - length(f(x))!=length(x) Use traceback() to see the call stack请问是哪里出错了呢?急

二维码

扫码加我 拉你入群

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

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

关键词:integrate Rate PLUS Inte int aux function 程序

沙发
qoiqpwqr 发表于 2012-3-12 01:08:17
dx.y是什么?

藤椅
dedongzhuang 发表于 2012-3-12 01:09:35
#dx.y表示f(x|y)是x关于y=us.VaR的密度函数
dx.y<-function(x)
dcopula(cop.bb7.fit,gpd.2p(x,foreign.gpd),gpd.2p(us.VaR,us.gpd))*dx(x)

板凳
dedongzhuang 发表于 2012-3-12 01:13:10
qoiqpwqr 发表于 2012-3-12 01:08
dx.y是什么?
#参数设定
xi<-foreign.gpd$lower.par.ests[1]
beta<-foreign.gpd$lower.par.ests[2]
u<-foreign.gpd$lower.thresh
#x代表foreign,dx表示x的密度函数
dx<-function(x) (k/n)*(1/beta)*(1-xi*(x-u)/beta)^(-1-1/xi)
#dx.y表示f(x|y)是x关于y=us.VaR的密度函数
dx.y<-function(x)
dcopula(cop.bb7.fit,gpd.2p(x,foreign.gpd),gpd.2p(us.VaR,us.gpd))*dx(x)
#求解显著水平5%下的foreign的CoVaR
f<-function(x){
out <- 0*x
for(i in 1:length(x))
out<-integrate(dx.y,lower=-101,upper=x)$integral-0.05
out
}
CoVaR=uniroot(f,c(-100,0))$root
#显著水平从0.1-0.01变化时,%CoVaR值
pCoVaR=0
fq<-function(x,q){
out <- 0*x
for(i in 1:length(x))
out<-integrate(dx.y,lower=-101,upper=x)$integral-q
out
}
for(i in 1:10){
j=i/100
uVaR=gpd.2q(j,us.gpd)
fVaR=gpd.2q(j,foreign.gpd)
xi<-foreign.gpd$lower.par.ests[1]
beta<-foreign.gpd$lower.par.ests[2]
u<-foreign.gpd$lower.thresh
#x代表foreign,dx表示x的密度函数
dx<-function(x) (k/n)*(1/beta)*(1-xi*(x-u)/beta)^(-1-1/xi)
#dx.y表示f(x|y)是x关于y=us.VaR的密度函数
dx.y<-function(x)
dcopula(cop.bb7.fit,gpd.2p(x,foreign.gpd),gpd.2p(uVaR,us.gpd))*dx(x)
CoVaR=uniroot(fq,c(-100,0),q=j)$root
pCoVaR=(CoVaR-fVaR)/fVaR
}

报纸
dedongzhuang 发表于 2012-3-12 01:14:03
能加你qq联系嘛?

地板
dedongzhuang 发表于 2012-3-12 01:16:15
我的邮箱是zhuangdedong0925@163.com

7
korver9 发表于 2012-3-12 03:08:35

qoiqpwqr 发表于 2012-3-12 01:08
dx.y是什么?
#参数设定
xi<-foreign.gpd$lower.par.ests[1]
beta<-foreign.gpd$lower.par.ests[2]
u<-foreign.gpd$lower.thresh
#x代表foreign,dx表示x的密度函数
dx<-function(x) (k/n)*(1/beta)*(1-xi*(x-u)/beta)^(-1-1/xi)
#dx.y表示f(x|y)是x关于y=us.VaR的密度函数
dx.y<-function(x)
dcopula(cop.bb7.fit,gpd.2p(x,foreign.gpd),gpd.2p(us.VaR,us.gpd))*dx(x)
#求解显著水平5%下的foreign的CoVaR
f<-function(x){
out <- 0*x
for(i in 1:length(x))
out<-integrate(dx.y,lower=-101,upper=x)$integral-0.05
out
}
CoVaR=uniroot(f,c(-100,0))$root
#显著水平从0.1-0.01变化时,%CoVaR值
pCoVaR=0
fq<-function(x,q){
out <- 0*x
for(i in 1:length(x))
out<-integrate(dx.y,lower=-101,upper=x)$integral-q
out
}
for(i in 1:10){
j=i/100
uVaR=gpd.2q(j,us.gpd)
fVaR=gpd.2q(j,foreign.gpd)
xi<-foreign.gpd$lower.par.ests[1]
beta<-foreign.gpd$lower.par.ests[2]
u<-foreign.gpd$lower.thresh
#x代表foreign,dx表示x的密度函数
dx<-function(x) (k/n)*(1/beta)*(1-xi*(x-u)/beta)^(-1-1/xi)
#dx.y表示f(x|y)是x关于y=us.VaR的密度函数
dx.y<-function(x)
dcopula(cop.bb7.fit,gpd.2p(x,foreign.gpd),gpd.2p(uVaR,us.gpd))*dx(x)
CoVaR=uniroot(fq,c(-100,0),q=j)$root
pCoVaR=(CoVaR-fVaR)/fVaR
}

8
qoiqpwqr 发表于 2012-3-12 08:15:28
把f函数里面的$integral改成$value试试看

在R里面是这样的。

9
dedongzhuang 发表于 2012-3-12 10:15:49
qoiqpwqr 发表于 2012-3-12 08:15
把f函数里面的$integral改成$value试试看

在R里面是这样的。
还是不行,在splus中应该写成$integral

10
dedongzhuang 发表于 2012-3-12 10:18:32
qoiqpwqr 发表于 2012-3-12 08:15
把f函数里面的$integral改成$value试试看

在R里面是这样的。
结果提示是:

> f(y1)
Error: Expressions nested beyond limit (256)
        only 29 of 88 frames dumped

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

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