Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment simuler & Tracer une distribution normale bivariée dans R



En statistique, deux variables suivent une distribution normale bivariée si elles ont une distribution normale lorsqu’elles sont additionnées.

Ce didacticiel explique comment effectuer les tâches suivantes dans R :

  • Simuler une distribution normale bivariée
  • Tracer une distribution normale bivariée à l’aide d’un tracé de contour (tracé 2D)
  • Tracer une distribution normale bivariée à l’aide d’un tracé de surface (tracé 3D)

Allons-y !

Exemple 1 : Simuler une distribution normale bivariée dans R

Le moyen le plus simple de simuler une distribution normale bivariée dans R consiste à utiliser la fonction mvrnorm() du package MASS .

Le code suivant montre comment utiliser cette fonction pour simuler une distribution normale bivariée en pratique :

library(MASS)

#make this example reproducible
set.seed(0)

#simulate bivariate normal distribution
bivariate_data <- as.data.frame(mvrnorm(n=100,
                                        mu=c(0, 0),
                                        Sigma=matrix(c(5, 3, 4, 4), ncol=2)))

#view first six rows of bivariate dataset
head(bivariate_data)

           V1         V2
1 -2.03600343 -2.9623059
2  0.07719131  1.2948982
3 -3.26729701 -1.7928069
4 -2.62985132 -2.3015471
5 -1.75126215  0.3056698
6  3.67698436  2.2020238

Voici ce que fait chaque argument de la fonction mvrnorm() :

  • n : Définit la taille de l’échantillon
  • mu : Définit la moyenne de chaque variable
  • Sigma : Définit la matrice de covariance des deux variables

Le résultat final est un bloc de données avec deux variables qui suivent une distribution normale une fois additionnées.

Exemple 2 : tracer une distribution normale bivariée

Le moyen le plus simple de tracer une distribution normale bivariée dans R consiste à utiliser les fonctions du package mnormt() .

Par exemple, nous pouvons utiliser la fonction contour() de ce package pour créer un tracé de contour, qui offre une visualisation 2D de la distribution normale bivariée :

library(mnormt)

#make this example reproducible
set.seed(0)

#create bivariate normal distribution
x     <- seq(-3, 3, 0.1) 
y     <- seq(-3, 3, 0.1)
mu    <- c(0, 0)
sigma <- matrix(c(2, -1, -1, 2), nrow=2)
f     <- function(x, y) dmnorm(cbind(x, y), mu, sigma)
z     <- outer(x, y, f)

#create contour plot
contour(x, y, z)

tracé de contour normal bivarié dans R

Nous pouvons également utiliser la fonction persp() de pour créer un tracé de surface, qui offre une visualisation 3D de la distribution normale bivariée :

library(mnormt)

#make this example reproducible
set.seed(0)

#create bivariate normal distribution
x     <- seq(-3, 3, 0.1) 
y     <- seq(-3, 3, 0.1)
mu    <- c(0, 0)
sigma <- matrix(c(2, -1, -1, 2), nrow=2)
f     <- function(x, y) dmnorm(cbind(x, y), mu, sigma)
z     <- outer(x, y, f)

#create surface plot
persp(x, y, z, theta=-30, phi=25, expand=0.6, ticktype='detailed')

tracé de surface de distribution normale bivariée dans R

Voici ce que fait chaque argument de la fonction persp() :

  • theta, phi : Définit les angles de la direction de visualisation.
  • expand : Contrôle la taille de l’axe z.
  • ticktype : Contrôle l’apparence des ticks sur les axes.

Le résultat final est un tracé de surface 3D de la distribution normale bivariée.

Ressources additionnelles

Les didacticiels suivants expliquent comment utiliser d’autres distributions de probabilité dans R :

Comment utiliser la distribution normale dans R
Comment utiliser la distribution binomiale dans R
Comment utiliser la distribution de Poisson dans R
Comment utiliser la distribution multinomiale dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *