Probability Integral Transformation for R-Vine Copula Models
This function applies the probability integral transformation (PIT) for R-vine copula models to given copula data.
RVinePIT(data, RVM)
data |
An N x d data matrix (with uniform margins). |
RVM |
|
The multivariate probability integral transformation (PIT) of Rosenblatt
(1952) transforms the copula data u = (u_1,…,u_d) with a given
multivariate copula C into independent data in [0,1]^d, where d is the
dimension of the data set.
Let u = (u_1,…,u_d) denote copula data of dimension d. Further let C be the joint cdf of u = (u_1,…,u_d). Then Rosenblatt's transformation of u, denoted as y = (y_1,…,y_d), is defined as
y_1 := u_1,\ \ y_2 := C(u_2|u_1), …\ y_d := C(u_d|u_1,…,u_{d-1}),
where C(u_k|u_1,…,u_{k-1}) is the conditional copula of U_k given U_1 = u_1,…, U_{k-1} = u_{k-1}, k = 2,…,d. The data vector y = (y_1,…,y_d) is now i.i.d. with y_i \sim U[0, 1]. The algorithm for the R-vine PIT is given in the appendix of Schepsmeier (2015).
An N
x d matrix of PIT data from the given R-vine copula
model.
Ulf Schepsmeier
Rosenblatt, M. (1952). Remarks on a Multivariate Transformation. The Annals of Mathematical Statistics 23 (3), 470-472.
Schepsmeier, U. (2015) Efficient information based goodness-of-fit tests for vine copula models with fixed margins. Journal of Multivariate Analysis 138, 34-52.
# load data set data(daxreturns) # select the R-vine structure, families and parameters RVM <- RVineStructureSelect(daxreturns[,1:3], c(1:6)) # PIT data pit <- RVinePIT(daxreturns[,1:3], RVM) par(mfrow = c(1,2)) plot(daxreturns[,1], daxreturns[,2]) # correlated data plot(pit[,1], pit[,2]) # i.i.d. data cor(pit, method = "kendall")
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.