fitCBB {fgac} | R Documentation |
Fitting an specific generalized archimedean copula
fitCBB(x, y, theta0, delta0, copulamodel = c("pCBB1", "pCBB2", "pCBB3", "pCBB4", "pCBB5", "pCBB6", "pCBB7", "pCMax", "pCMin"), m, step, deltamin, thetamin, test = c("wilcox.test", "t.test"), empcumulative = TRUE, cumulative1, cumulative2, parameters1, parameters2)
x |
real vector |
y |
real vector |
theta0 |
parameter in the model pCBBi (in variable copulamodel). For default, theta0 is obtained from fitlambdas |
delta0 |
parameter in the model pCBBi (in variable copulamodel). For default, delta0 is obtained from fitlambdas |
copulamodel |
specific model that we need to fit, it need to be one option like {pCBB1 (default), pCBB2, pCBB3, pCBB4, pCBB5, pCBB6, pCBB7, pCMax, pCMin} |
m |
integer positive number (default=15) |
step |
real positive number (default=0.01) |
deltamin |
minimum value admited for delta's domain (default=epsilon-see details) |
thetamin |
minimum value admited for theta's domain (default=epsilon-see details) |
test |
test used for fitting selection, it need to be wilcox.test(default) or t.test |
empcumulative |
logical value, can be TRUE (default) or FALSE (see details) |
cumulative1 |
marginal cumulative associated with x. Can be used pnorm, pbeta, pempirical,...(only used when empcumulative=FALSE) |
cumulative2 |
marginal cumulative associated with y. Can be used pnorm, pbeta, pempirical,...(only used when empcumulative=FALSE) |
parameters1 |
specifics parameters for cumulative1's definition |
parameters2 |
specifics parameters for cumulative2's definition |
The function constructs a neighbourhood around (theta0,delta0) for family specified in ‘copulamodel’ , and using the test specified in ‘test’ the function search the best (theta*,delta*) in the neighbourhood such that copulamodel(theta*,delta*,u,v) is close to the bivariate empirical copula from (x,y). Where (u,v)=(cumulative1(x),cumulative2(y)). m and step control the neighbourhood' definition. deltamin and thetamin depend on the model worked. For default, we have, pCBB1: deltamin=1, thetamin=0.05; pCBB2: deltamin=0.05, thetamin = 0.05; pCBB3: deltamin=1, thetamin=0.05; pCBB4: deltamin=0.05, thetamin=0.05; pCBB5: deltamin=0.05, thetamin=1; pCBB6: deltamin=1, thetamin=1; pCBB7: deltamin = 0.05, thetamin = 1. If empcumulative=TRUE like default, the algorithm uses for uniformization, empirical cumulative from x for x and empirical cumulative from y for y. If empcumulative=FALSE, we need to put an specific cumulative1 and an specific cumulative2. If necessary, parameters1 contains the special parameter(s) for cumulative1 and parameters2 contains the special parameter(s) for cumulative2.
Empirical |
empirical copula from (x,y) |
Copula |
best copulamodel evaluated in (u,v)=(cumulative1(x),cumulative2(y)) |
fit |
performance from the best copulamodel in the neighbourhood. Result: p.value in fit[1], delta in fit[2], theta in fit[3] |
thetai |
theta's vector constructed in the neighbourhood |
deltaj |
delta's vector constructed in the neighbourhood |
pthetaideltaj |
p value matrix from each combination. The position (i,j) represents the p value from ‘test’ in thetai(i),deltaj(j) for copulamodel. |
Veronica Andrea Gonzalez-Lopez
Veronica A. Gonzalez-Lopez and Nelson I. Tanaka. ‘Bi-variate Data Modeling Through Generalized Archimedean Copula’ RT-MAE 2003-03. Harry Joe. ‘Multivariate Models and Dependence Concepts’ Monogra. Stat. & Appl. Probab. 73. Chapman and Hall (1997)
fitlambdas
, OptimCBB
~~~
#x<-rnorm(100) #y<-x/10+rnorm(100) #M<-fitCBB(x,y) # default fitting #default: thetas0 and delta0 from fitlambdas function, m=15, step=0.01, #copulamodel="pCBB1", test="wilcox.test", empcumulative=TRUE. # #M<-fitCBB(x,y,theta0=1.1,delta0=0.8,copulamodel="pCBB5",m=20,step=0.5,deltamin=0.1,thetamin=1.1, #test="w",empcumulative=FALSE,cumulative1=pnorm,cumulative2=pnorm) # #x<-rnorm(100) #y<-x/100+rnorm(100,5,2) #M<-fitCBB(x,y,theta0=1.1,delta0=0.8,copulamodel="pCBB7",m=20,step=0.5,deltamin=0.1,thetamin=1.1, #test="t",empcumulative=FALSE,cumulative1=pnorm,cumulative2=pnorm,parameters2=c(5,2))