如何使用Kendall';s头在R

如何使用Kendall';s头在R,r,parameters,static-methods,correlation,R,Parameters,Static Methods,Correlation,通过考虑转换后的二元Gumbel copula族并使用矩量法,我计算了Kendall's tau,作为两个参数a和b之间的依赖度量 考虑到kendall's tau的值已知K=0.1006,我从两个参数中的一个固定了值a=0.1,然后我使用kendall's的反函数,找到另一个参数的值b。为此,我创建了以下Rcode 出现以下错误消息: c(1,3)中的错误:参数inutilisé(3) 我不知道它到底在哪里 我还需要知道如何计算偏差和rmse,以评估CM估计器的性能 C=functio

通过考虑转换后的二元Gumbel copula族并使用矩量法,我计算了Kendall's tau,作为两个参数
a
b
之间的依赖度量

考虑到kendall's tau的值已知
K=0.1006
,我从两个参数中的一个固定了值
a=0.1
,然后我使用kendall's的反函数,找到另一个参数的值b。为此,我创建了以下
R
code

出现以下错误消息:

c(1,3)中的错误:参数inutilisé(3)

我不知道它到底在哪里

我还需要知道如何计算
偏差
rmse
,以评估CM估计器的性能

    C=function(u,v,a,b){(((((u^(-a))-1)^b+((v^(-a))-1)^b)^(1/b))+1)^(-1/a)}   #Gumbel function
cden(u,v,a,b)=function(u,v,a,b){(((((u^(-a)) - 1)^b + ((v^(-a)) - 1)^b)^(1/b)) + 1)^(((-1/a) - 
    1) - 1) * (((-1/a) - 1) * ((((u^(-a)) - 1)^b + ((v^(-a)) - 
    1)^b)^((1/b) - 1) * ((1/b) * (((v^(-a)) - 1)^(b - 1) * (b * 
    (v^((-a) - 1) * (-a))))))) * ((-1/a) * ((((u^(-a)) - 1)^b + 
    ((v^(-a)) - 1)^b)^((1/b) - 1) * ((1/b) * (((u^(-a)) - 1)^(b - 
    1) * (b * (u^((-a) - 1) * (-a))))))) + (((((u^(-a)) - 1)^b + 
    ((v^(-a)) - 1)^b)^(1/b)) + 1)^((-1/a) - 1) * ((-1/a) * ((((u^(-a)) - 
    1)^b + ((v^(-a)) - 1)^b)^(((1/b) - 1) - 1) * (((1/b) - 1) * 
    (((v^(-a)) - 1)^(b - 1) * (b * (v^((-a) - 1) * (-a))))) * 
    ((1/b) * (((u^(-a)) - 1)^(b - 1) * (b * (u^((-a) - 1) * (-a)))))))} #it is the density of gumbels 
myfun=function(u,v,a,b){(C(u,v,a,b)*cden(u,v,a,b))}
Kendall=function(a,b){tt=function(a,b){integrate(function(y) { 
   sapply(y, function(y) {
     integrate(function(x) myfun(x,y,a,b), 0,1)$value
   }) }, 0, 1)$v}4*tt(a,b)-1}
a=0.1          #the value of one parameters
K=0.1006     #the value of kendall's tau
Kinv1 <- function(z) optimize(function(y) (z-(Kendall(a,y)))^2,c(1,3), tol=0.0001)$minimum      #the inverse function of kendall's
Kinv1(K)

Error in c(1, 3) : argument inutilisé (3)
C=function(u,v,a,b){((((u^(-a))-1)^b+((v^(-a))-1)^b^(1/b))+1^(-1/a)}
cden(u,v,a,b)=函数(u,v,a,b){(((u^(-a))-1)^b+((v^(-a))-1)^b^(1/b))+1^((-1/a)-
1) -1)*((-1/a)-1)*(((u^(-a))-1)^b+((v^(-a))-
1) (一)(一)(一)(一)(一))(一))(一)(一)(
(一)(一)(一)(一))(一))(一))(一)(一))一
(一)(一)(一)(二)(一))(一)(二)(一))(二)
1) *(b*(u^(-a)-1)*(-a()((())((((u^(-a)))))+(((u^(-a))-1)^b+
(一)(一)(一)(二)(一))(一))(一)(一
1) ^b+((v^(-a))-1)^b^((1/b)-1)-1)*((1/b)-1)*
(((v^(-a))-1^(b-1)*(b*(v^(-a)-1)*(-aщ)()))*
((1/b)*((u^(-a))-1^(b-1)*(b*(u^(-a)-1)*(-a-)))}这是牙龈的密度
myfun=函数(u,v,a,b){(C(u,v,a,b)*cden(u,v,a,b))}
肯德尔=函数(a,b){tt=函数(a,b){积分(函数(y){
sappy(y,函数(y){
集成(函数(x)myfun(x,y,a,b),0,1)$value
})},0,1)$v}4*tt(a,b)-1}
a=0.1#一个参数的值
K=0.1006#肯德尔τ的值

Kinv1您的原始代码没有运行,但我在上面的格式化代码中遇到了错误。您为什么要手动计算Gumel和Kendall tau(使用您自己的代码)。您可以使用VineCopula包找到它们。您的原始代码没有运行,但我在上面的格式化代码中发现了错误。您手动计算Gumel和Kendall tau(使用您自己的代码)有什么原因吗。您可以使用VineCopula包找到它们。
C <- function(u, v, a, b) {
  # Gumbel function
  (((((u ^ (-a)) - 1) ^ b + ((v ^ (-a)) - 1) ^ b) ^ (1 / b)) + 1) ^ (-1 / a)
}

myfun <- function(u, v, a, b) {
  (C(u, v, a, b) * cden(u, v, a, b))
}

Kendall <- function(a, b) {
  tt <- function(a, b) {
    integrate(function(y) {
      sapply(y, function(y) {
        integrate(function(x)
          myfun(x, y, a, b), 0, 1)$value
      })
    }, 0, 1)$v
  }
  4 * tt(a, b) - 1
}

a <- 0.1    # the value of one parameters
K <- 0.1006 # the value of kendall's tau

Kinv1 <- function(z) {
  # the inverse function of kendall's
  optimize(function(y) (z - (Kendall(a, y))) ^ 2, c(1, 3), tol = 0.0001)$minimum
}

Kinv1(K)