Computer 4 dummy

Informatica facile a portata di tutti

SciPy – Distribuzione normale multivariata

In statistica la Distribuzione normale multivariata o distribuzione gaussiana multivariata o vettore gaussiano è una teoria relativa alla distribuzione normale a più dimensioni

Qui sotto alcuni link per approfondire l’argomento:

  1. Wikipedia: https://it.wikipedia.org/wiki/Distribuzione_normale_multivariata
  2. Materiale didattico: https://studylibit.com/doc/6577821/la-distribuzione-normale-multivariata.

Installazione

Per la guida all’installazione vi rimando all’indice della guida con tutti i dettagli sia per sistemi Linux che Windows:
https://computer4dummy.altervista.org/programmazione-guide-alla-programmazione/python-data-analisi/scipy-per-python/

Esempi pratici

Per capire meglio come utilizzare Scipy per Python per calcolare la distribuzione normale multivariata facciamo subito qualche esempio pratico.

Matrice di covarianza

Per prima cosa definiamo la matrice di covarianza definendo 1 come varianza nella prima dimensione e la varianza di 3 nella seconda con 0.8 di covarianza tra le due dimensioni.

import numpy as np
import matplotlib.pyplot as plt

cov = np.array([[1, 0.8], [0.8, 3]])
from scipy.stats import multivariate_normal as mvn

mu = np.array([0,2])
r = mvn.rvs(mean=mu, cov=cov, size=1000)

plt.scatter(r[:,0], r[:,1])
plt.axis('equal')
plt.show()

Il risultato è questo:

Distribuzione normale multivariata
Grafico scatter esempio #1

Stesso risultato lo possiamo ottenere utilizzando la funzione random.multivariate_normal come nell’esempio sotto, alla fine il risultato è lo stesso.

import numpy as np 
import matplotlib.pyplot as plt 

cov = np.array([[1, 0.8], [0.8, 3]]) 

mu = np.array([0,2]) 
r= np.random.multivariate_normal(mean=mu, cov=cov, size=1000)

plt.scatter(r[:,0], r[:,1])
plt.axis('equal')
plt.show()

Distribuzione Normale Multivariata
Grafico scatter esempio #2

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.