Learn R Programming

fMultivar (version 4031.84)

mvdist-msnFit: Multivariate Skew Normal Parameter Estimation

Description

Fitting the parameters for the multivariate skew Normal distribution.

Usage

msnFit(x, trace = FALSE, title = NULL, description = NULL)

Arguments

x

a matrix with "d" columns, giving the coordinates of the point(s) where the density must be evaluated.

trace

a logical value, should the estimation be traced? By default FALSE.

title

an optional project title.

description

an option project desctiption.

Details

This is an easy to use wrapper function using default function settings for fitting the distributional parameters in the framework of the contributed package "sn" written by Adelchi Azzalini.

Starting values for the estimation have not to be provided, they are automatically created.

Examples

Run this code
if (FALSE) {
## Load Library:
   require(sn)
   
## msnFit - 
   # 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 <- rmsn(n=N, xi, Omega, alpha)
   ans <- msnFit(X)
   print(ans)

   # 2-D Density Plot:
   plot(hexBinning(X[,1], X[, 2], bins = 30), main="Skew Normal")
   # 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$estimate
   Z <- matrix(dmsn(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)
}

Run the code above in your browser using DataLab