全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2902 4
2017-05-13
library(copula)
clayton<-function(theta,U)dcopula(claytonCopula(theta,dim=2),U)
gumbel<-function(theta,U)dcopula(gumbelCopula(theta,dim=2),U)
frank<-function(theta,U)dcopula(frankCopula(theta,dim=2),U)
k<-1;ep<-1e-9;a1<-1/3;a2<-1/3;a3<-1/3;theta1<-0.9063;theta2<-1.2993;theta1<-3.1547;
repeat{
k<-k+1
lamda<-c()
f<-function(lamda)
{
lamda1<-lamda[1]
lamda2<-lamda[2]
lamda3<-lamda[3]
s1<-a1[k-1]*clayton(theta1[k-1],U)/(a1[k-1]*clayton(theta1[k-1],U)+a2[k-1]*gumbel(theta2[k-1],U)+a3[k-1]*frank(theta3[k-1],U))
s2<-a2[k-1]*gumbel(theta2[k-1],U)/(a1[k-1]*clayton(theta1[k-1],U)+a2[k-1]*gumbel(theta2[k-1],U)+a3[k-1]*frank(theta3[k-1],U))
s1<-a3[k-1]*frank(theta3[k-1],U)/(a1[k-1]*clayton(theta1[k-1],U)+a2[k-1]*gumbel(theta2[k-1],U)+a3[k-1]*frank(theta3[k-1],U))
fn<-sum(log(clayton(lamda1[k-1],U))*s1+log(gumbel(lamda2[k-1],U))*s2+log(frank(lamda3[k-1],U))*s3)
}
a1[k]<-mean(a1[k-1]*clayton(theta1[k-1],U)/(a1[k-1]*clayton(theta1[k-1],U)+a2[k-1]*gumbel(theta2[k-1],U)+a3[k-1]*frank(theta3[k-1],U))
a2[k]<-mean(a2[k-1]*gumbel(theta2[k-1],U)/(a1[k-1]*clayton(theta1[k-1],U)+a2[k-1]*gumbel(theta2[k-1],U)+a3[k-1]*frank(theta3[k-1],U))
a3[k]<-mean(a3[k-1]*frank(theta3[k-1],U)/(a1[k-1]*clauyon(theta1[k-1],U)+a2[k-1]*gumbel(theta2[k-1],U+a3[k-1]*frank(theta3[k-1],U))
lamda<-optim(c(theta1[k-1],theta2[k-1],theta3[k-1]),f,method="L-BFGS-B",lower=c(0,1,-Inf),lower=c(0,1,-Inf),upper=c(Inf,Inf,Inf),control=list(fnscale=-1)$par
theta1[k]<-lamda[1]
theta2[k]<-lamda[2]
theta3[k]<-lamda[3]
if((a1[k]-a1[k-1])^2+(a2[k]-a2[k+1])^2+(a3[k]-a3[k-1])^2+(theta1[k]-theta[k-1])^2+(theta2[k]-theta2[k-1])^2+(theta3[k]-theta3[k-1])^2<ep)break}
有没有大神帮看看,为什么我运行到红字那一行,然后显示红色字体上一行有unexpected symbol in:,这是怎么回事啊

二维码

扫码加我 拉你入群

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

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

全部回复
2017-8-1 18:47:47
请问,楼主这个问题现在解决了吗,最近也在研究混合COPULA的问题,可否加你的QQ?
二维码

扫码加我 拉你入群

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

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

2019-4-15 20:42:09
想问下有没有会的= =
二维码

扫码加我 拉你入群

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

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

2019-4-16 06:33:51
狐孑虫 发表于 2019-4-15 20:42
想问下有没有会的= =
可以加我qq535844430
二维码

扫码加我 拉你入群

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

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

2019-12-23 23:00:33
原因是右括号不够,添加后如下:
a1[k]<-mean(a1[k-1]*clayton(theta1[k-1],U)/(a1[k-1]*clayton(theta1[k-1],U)+a2[k-1]*gumbel(theta2[k-1],U)+a3[k-1]*frank(theta3[k-1],U)))
a2[k]<-mean(a2[k-1]*gumbel(theta2[k-1],U)/(a1[k-1]*clayton(theta1[k-1],U)+a2[k-1]*gumbel(theta2[k-1],U)+a3[k-1]*frank(theta3[k-1],U)))
a3[k]<-mean(a3[k-1]*frank(theta3[k-1],U)/(a1[k-1]*clauyon(theta1[k-1],U)+a2[k-1]*gumbel(theta2[k-1],U)+a3[k-1]*frank(theta3[k-1],U)))
lamda<-optim(c(theta1[k-1],theta2[k-1],theta3[k-1]),f,method="L-BFGS-B",lower=c(0,1,-Inf),lower=c(0,1, Inf),upper=c(Inf,Inf,Inf),control=list(fnscale=-1)$par)
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群