Simule la distribución normal bivariada y multivariada en R

En este artículo, aprenderemos cómo simular una distribución normal bivariada y multivariada en el lenguaje de programación R.

Para simular una distribución normal multivariada en el lenguaje R, usamos la función mvrnorm() de la biblioteca del paquete MASS. La función mvrnorm() se utiliza para generar una distribución normal multivariada de números aleatorios con un valor medio especificado en el lenguaje R. La función mvrnorm() toma un tamaño de muestra aleatorio, un vector con la media de cada variable en la distribución final y una array simétrica definida positiva que especifica la array de covarianza de las variables como argumento y devuelve una array multivariada con la distribución normal requerida.

Sintaxis: mvrnorm( n, mu, sigma )

dónde,

  • n: determina el número de muestras requeridas.
  • mu: determina un vector que contiene las medias de las variables a distribuir.
  • sigma: determina una array simétrica definida positiva especificando la array de covarianza de las variables.

Simular distribución normal bivariada

Para simular una distribución normal bivariada, restringiremos los argumentos de la función mvrnorm() a dos valores variables. Usaremos dos valores en el vector medio y una array 2X2 como argumento mu y sigma respectivamente. De esta forma, la función mvrnorm() creará una distribución normal bivariante en lugar de la distribución normal multivariante.

Ejemplo: aquí hay una simulación de distribución de datos bivariados.

R

# load library MASS
library(MASS)
  
# set seed and create data vectors
set.seed(98989)
sample_size <- 100                                       
sample_meanvector <- c(10, 5)                                   
sample_covariance_matrix <- matrix(c(10, 5, 2, 9),
                                   ncol = 2)
  
# create bivariate normal distribution
sample_distribution <- mvrnorm(n = sample_size,
                               mu = sample_meanvector, 
                               Sigma = sample_covariance_matrix)
  
# print top of distribution
head(sample_distribution)

Producción:

Simular distribución normal multivariante:

Para simular una distribución normal multivariante, usaremos la función mvrnorm() de la biblioteca del paquete MASS. Si necesitamos una distribución de n variables, usaremos el vector medio de n variables y la array nXn como argumento mu y sigma respectivamente para la función mvrnorm(). De esta forma, la función mvrnorm() creará una distribución normal variable requerida.

Ejemplo: Aquí, hay una simulación de distribución de datos de 5 variables.

R

# load library MASS
library(MASS)
  
# set seed and create data vectors
set.seed(98989)
sample_size <- 1000                                       
sample_meanvector <- c(10, 5, 7, 9, 20)                                   
sample_covariance_matrix <- matrix(c(5, 4, 3, 2, 1, 4, 5, 4, 3, 2,
                                    3, 4, 5, 4, 3, 2, 3, 4, 5, 4, 1, 
                                    2, 3, 4, 5), ncol = 5)
  
# create multivariate normal distribution
sample_distribution <- mvrnorm(n = sample_size,
                               mu = sample_meanvector, 
                               Sigma = sample_covariance_matrix)
  
# print top of distribution
head(sample_distribution)

Producción:

Publicación traducida automáticamente

Artículo escrito por mishrapriyank17 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *