The clover plot is able to detect whether one of the distributions (or both) has heavy tails by inspecting quadrants II, III and IV. A few data points lying far away from the center of the distribution will force the rest of the data points to be plotted close to the vertical or horizontal axis. Below we provide examples of the clover plot when one of the underlying distributions has heavy tails and when both distributions have heavy tails, respectively. We also illustrate how the visualisation can be made more clear using the edf transform option.

Example 1:

In this example we generate observations from the bivariate t-distribution with 3 degrees of freedom (heavy tails) and the bivariate t-distribution with 20 degrees of freedom (light tails).

library(mvtnorm)

n1 <- 200
n2 <- 150

rho <- 0.5

set.seed(127)

x <- rmvt(n1, sigma=matrix(c(1,rho,rho,1),ncol=2), df=3)
y <- rmvt(n2, delta=c(1,1), sigma=matrix(c(1,rho,rho,1),ncol=2), df=20)

res <- clover_calc(x, y, boundaryI=FALSE)
clover_plot_data(res)
clover_plot(res)
## Misclassification rate of the QDA classifier:   0.3029
## Non-classification rate of the QDA classifier:  0
## 
## Misclassification rate of the DD1 classifier:   0.2886
## Non-classification rate of the DD1 classifier:  0.02

Example 2:

In this example we generate observations in both samples from the bivariate t-distribution with 3 degrees of freedom (heavy tails).

n1 <- 200
n2 <- 150

rho <- 0.5

set.seed(124)

x <- rmvt(n1,sigma=matrix(c(1,rho,rho,1),ncol=2),df=3)
y <- rmvt(n2,delta=c(1,1),sigma=matrix(c(1,rho,rho,1),ncol=2),df=3)

res <- clover_calc(x, y, boundaryI=FALSE)
clover_plot_data(res)
clover_plot(res)
## Misclassification rate of the QDA classifier:   0.36
## Non-classification rate of the QDA classifier:  0
## 
## Misclassification rate of the DD1 classifier:   0.3514
## Non-classification rate of the DD1 classifier:  0.0143

Example 3:

In this example we generate observations in both samples from the bivariate t-distribution with 1 degree of freedom (bivariate Cauchy distribution) and illustrate the use of the edf transform.

n1 <- 200
n2 <- 150

rho <- 0.5

set.seed(124)

x <- rmvt(n1, sigma=matrix(c(1,rho,rho,1),ncol=2), df=1)
y <- rmvt(n2, delta=c(1,1), sigma=matrix(c(1,rho,rho,1),ncol=2), df=1)

res <- clover_calc(x, y, boundaryI=FALSE)
clover_plot_data(res)
clover_plot(res)
## Misclassification rate of the QDA classifier:   0.4171
## Non-classification rate of the QDA classifier:  0
## 
## Misclassification rate of the DD1 classifier:   0.3314
## Non-classification rate of the DD1 classifier:  0.0171
clover_plot(res, edf.trans=TRUE)
## Misclassification rate of the QDA classifier:   0.4171
## Non-classification rate of the QDA classifier:  0
## 
## Misclassification rate of the DD1 classifier:   0.3314
## Non-classification rate of the DD1 classifier:  0.0171

Back to the main page.