if (FALSE) {
## Load Library:
require(sn)
## mscFit -
# Fit Example:
N <- 1000
xi <- c(0, 0)
Omega <- diag(2); Omega[2,1] <- Omega[1,2] <- 0.5
alpha <- c(2, -6)
set.seed(4711)
X <- rmsc(n=N, xi, Omega, alpha)
ans <- mscFit(X)
# Show fitted Parameters:
print(ans)
# 2-D Density Plot:
plot(hexBinning(X[,1], X[, 2], bins = 30), main="Skew Cauchy")
# Add Contours:
N <- 101
x <- seq(min(X[, 1]), max(X[, 1]), l=N)
y <- seq(min(X[, 2]), max(X[, 2]), l=N)
u <- grid2d(x, y)$x
v <- grid2d(x, y)$y
XY <- cbind(u, v)
param <- ans@fit$dp
Z <- matrix(dmsc(XY, param[[1]][1,], param[[2]], param[[3]]), ncol=N)
contour(x, y, Z, add=TRUE, col="green", lwd=2)
grid(col="brown", lty=3)
## Cut the Tails:
CUT <- 25
X <- X[abs(X[, 1]) <= CUT, ]
X <- X[abs(X[, 2]) <= CUT, ]
plot(hexBinning(X[,1], X[, 2], bins = 30), main="Skew Cauchy")
x <- y <- seq(-CUT, CUT, l=N)
u <- grid2d(x, y)$x
v <- grid2d(x, y)$y
XY <- cbind(u, v)
param <- ans@fit$dp
Z <- matrix(dmsc(XY, param[[1]][1,], param[[2]], param[[3]]), ncol=N)
contour(x, y, Z, add=TRUE, col="green", lwd=2)
grid(col="brown", lty=3)
# Try larger cuts ...
}
Run the code above in your browser using DataLab