\(X\) is a bivariate random variable that follows a normal distribution defined as: \[X \thicksim N_2(\mu, \Sigma)\] \(X=(X1, X2)\)
\(\mu\): a vector of means
\(\Sigma\): a variance-covariance matrix of the variable X

Example 1: cov(x1, x2)= 0; X1 and X2 are independent

\[\mu= \begin{bmatrix} 0 \\ 0 \end{bmatrix} \] \[ \Sigma = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} \]

library(mvtnorm)
library(MASS)
library(plotly)

mu = c(0, 0)
Sigma = matrix (c(1, 0, 0, 1), 2, 2) # var-covariance matrix
# Generate a sample from N(mu, Sigma)
X <- mvrnorm(10000, mu, Sigma)

density <- dmvnorm(X, mean = mu, sigma = Sigma)

plot_ly(x=~X[,1], y=~X[,2], z=~density, 
                type = "scatter3d", color=density)

Example 2: cov(x1, x2)= 0.25

\[\mu= \begin{bmatrix} 0 \\ 0 \end{bmatrix} \] \[ \Sigma = \begin{bmatrix} 1 & 0.25 \\ 0.25 & 1 \end{bmatrix} \]

Sigma = matrix (c(1, 0.25, 0.25, 1), 2, 2) # var-covariance matrix
# Generate a sample from N(mu, Sigma)
X <- mvrnorm(10000, mu, Sigma)

density <- dmvnorm(X, mean = mu, sigma = Sigma)

plot_ly(x=~X[,1], y=~X[,2], z=~density, 
                type = "scatter3d", color=density)

Example 3: cov(x1, x2)= 1

\[\mu= \begin{bmatrix} 0 \\ 0 \end{bmatrix} \] \[ \Sigma = \begin{bmatrix} 1 & 1 \\ 1 & 1 \end{bmatrix} \]

Sigma = matrix (c(1, 1, 1, 1), 2, 2) # var-covariance matrix
# Generate a sample from N(mu, Sigma)
X <- mvrnorm(10000, mu, Sigma)

density <- dmvnorm(X, mean = mu, sigma = Sigma)

plot_ly(x=~X[,1], y=~X[,2], z=~density, 
                type = "scatter3d", color=density)