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