✏️ Esercizi#

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import arviz as az
from fractions import Fraction
%config InlineBackend.figure_format = 'retina'
RANDOM_SEED = 42
rng = np.random.default_rng(RANDOM_SEED)
az.style.use("arviz-darkgrid")

Esercizio 1#

Poniamoci il problema di calcolare la covarianza e la correlazione di due variabili aleatorie discrete utilizzando l’informazione fornita dalla distribuzione di probabilità congiunta.

Consideriamo l’esperimento casuale che corrisponde al lancio di due dadi bilanciati. Creiamo lo spazio campionario di questo esperimento casuale e definiamo su di esso le seguenti variabili aleatorie:

U: somma dei punti dei due dadi, V: 1 se i punti del lancio del primo dado sono minori di 4, 0 altrimenti.

Soluzione.

Per affrontare questo problema, cominciamo definendo lo spazio campionario e le variabili aleatorie \(U\) e \(V\), e poi procediamo al calcolo della covarianza e della correlazione tra \(U\) e \(V\).

Spazio Campionario#

Lo spazio campionario \(S\) di lanciare due dadi bilanciati è l’insieme di tutte le coppie ordinate possibili che rappresentano i risultati dei due dadi, dove il primo elemento della coppia corrisponde al risultato del primo dado e il secondo elemento al risultato del secondo dado. Ogni dado ha 6 facce, quindi:

\[ S = \{(i, j) : i, j \in \{1, 2, 3, 4, 5, 6\}\} \]

Ci sono \(6 \times 6 = 36\) elementi nello spazio campionario.

Variabili Aleatorie#

  • \(U\) è la somma dei punti dei due dadi. \(U\) può assumere valori da \(2\) a \(12\).

  • \(V\) è una variabile indicatrice definita come \(V = 1\) se i punti del lancio del primo dado sono minori di 4, e \(V = 0\) altrimenti.

Calcolo della Covarianza e Correlazione#

La covarianza tra due variabili aleatorie \(X\) e \(Y\) si calcola come:

\[ \text{Cov}(X, Y) = E[(X - E[X])(Y - E[Y])] \]

dove \(E[X]\) e \(E[Y]\) sono i valori attesi di \(X\) e \(Y\), rispettivamente.

La correlazione, invece, è data da:

\[ \rho_{X,Y} = \frac{\text{Cov}(X, Y)}{\sigma_X \sigma_Y} \]

dove \(\sigma_X\) e \(\sigma_Y\) sono le deviazioni standard di \(X\) e \(Y\), rispettivamente.

Per calcolare questi valori, dobbiamo prima determinare \(E[U]\), \(E[V]\), \(\text{Var}(U)\), \(\text{Var}(V)\), e \(E[UV]\). Possiamo quindi utilizzare queste informazioni per calcolare la covarianza e la correlazione.

Inizieremo calcolando \(E[U]\), \(E[V]\), e \(E[UV]\), e poi procederemo con la covarianza e la correlazione.

Calcolo di E[U].

E_U = sum([i + j for i in range(1, 7) for j in range(1, 7)]) / 36
print(E_U)
7.0

Calcolo di E[V] V = 1 per i valori del primo dado 1, 2, 3; altrimenti V = 0

E_V = sum([1 for i in range(1, 4) for j in range(1, 7)]) / 36
print(E_V)
0.5

Calcolo di E[U^2] per la varianza di U.

E_U_squared = sum([(i + j) ** 2 for i in range(1, 7) for j in range(1, 7)]) / 36

Varianza di U.

Var_U = E_U_squared - E_U**2

Calcolo di E[V^2] (necessario per Var[V] dato che V è 0 o 1, E[V^2] = E[V]).

E_V_squared = E_V

Varianza di V.

Var_V = E_V_squared - E_V**2

Calcolo di E[UV]. U = somma dei dadi, V = 1 se il primo dado è < 4, altrimenti 0.

E_UV = sum([(i + j) * 1 for i in range(1, 4) for j in range(1, 7)]) / 36

Covarianza.

Cov_UV = E_UV - E_U * E_V
print(Cov_UV)
-0.75

Calcolo delle deviazioni standard.

std_U = Var_U**0.5
std_V = Var_V**0.5

Calcolo della correlazione.

Correlation_UV = Cov_UV / (std_U * std_V)
E_U, E_V, Var_U, Var_V, Cov_UV, Correlation_UV
(7.0, 0.5, 5.833333333333336, 0.25, -0.75, -0.6210590034081187)

Dopo aver effettuato i calcoli, otteniamo i seguenti risultati:

  • \(E[U] = 7\): il valore atteso della somma dei punti dei due dadi è 7.

  • \(E[V] = 0.5\): la probabilità che il primo dado mostri un numero inferiore a 4 è \(\frac{1}{2}\), quindi il valore atteso di \(V\) è 0.5.

  • \(\text{Var}(U) = 5.833\): la varianza della somma dei punti dei due dadi.

  • \(\text{Var}(V) = 0.25\): la varianza di \(V\), dato che \(V\) è una variabile indicatrice che assume valore 1 con probabilità 0.5 e valore 0 con la stessa probabilità.

  • \(\text{Cov}(U, V) = -0.75\): la covarianza tra \(U\) e \(V\) indica una relazione inversa; quando il valore di \(V\) è 1 (cioè, quando il primo dado è minore di 4), tendenzialmente \(U\) tende ad assumere valori inferiori rispetto al suo valore atteso, dato che una parte dei possibili risultati per il primo dado è esclusa.

  • \(\rho_{U,V} = -0.621\): la correlazione tra \(U\) e \(V\) è negativa, indicando che esiste una relazione inversa tra queste due variabili. Una correlazione di circa -0.62 suggerisce che, pur essendoci una relazione significativa, essa non è perfettamente inversa.

Questi risultati mostrano come la somma dei punti dei due dadi e il fatto che il primo dado mostri un numero inferiore a 4 siano inversamente correlati, il che ha senso considerando la natura delle definizioni di \(U\) e \(V\).

Watermark#

%load_ext watermark
%watermark -n -u -v -iv -w -m
Last updated: Sun Jun 16 2024

Python implementation: CPython
Python version       : 3.12.3
IPython version      : 8.25.0

Compiler    : Clang 16.0.6 
OS          : Darwin
Release     : 23.4.0
Machine     : arm64
Processor   : arm
CPU cores   : 8
Architecture: 64bit

numpy     : 1.26.4
arviz     : 0.18.0
matplotlib: 3.8.4
pandas    : 2.2.2

Watermark: 2.4.3