Sunteți pe pagina 1din 26

vectori_continui

April 19, 2023

0.1 Vectori aleatori continui


• Ce sunt vectorii aleatori continui?
• Ce putem calcula legat de un vector continuu?
• Densitatea de probabilitate a unui vector continuu
• Exemple
• Simulare a vectorilor continui
• Probleme
• Extra

0.2 Ce sunt vectorii aleatori continui


Un vector aleator continuu este o colectie de variabile aleatoare continue.
Exemplu: Consideram variabilele continue 𝑋1 , 𝑋2 , ..., 𝑋𝑛 . Atunci (𝑋1 , 𝑋2 , ..., 𝑋𝑛 ) formeaza un
vector aleator continuu.
Mai departe vom considera doar vectorii de 2 variabile, pentru a exemplifica proprietatile acestora.
Fie (𝑋, 𝑌 ) un astfel de vector.

0.3 Ce putem calcula legat de un vector continuu?


0.3.1 Conexiune cu variabile continue
Pentru variabilele continue puteam calcula probabilitatea ca valoarea acestora sa se afle intr-un
anumit interval. De exemplu, pentru cele 2 variabile 𝑋 si 𝑌 din care este format vectorul nostru
putem calcula urmatoarele probabilitati:

𝑃 (𝑋 ∈ [𝑎, 𝑏])

𝑃 (𝑌 ∈ [𝑐, 𝑑])

Consideram acum probabilitatea ca prima variabila sa ia valori in intervalul [𝑎, 𝑏] si a 2a in intervalul


[𝑐, 𝑑]:

𝑃 (𝑋 ∈ [𝑎, 𝑏] ∩ 𝑌 ∈ [𝑐, 𝑑])

1
0.3.2 Trecerea de la variabile la vectori
Aceasta probabilitate o putem scrie si astfel:

𝑃 ((𝑋, 𝑌 ) ∈ [𝑎, 𝑏] × [𝑐, 𝑑])

(𝑋, 𝑌 ) ∈ [𝑎, 𝑏] × [𝑐, 𝑑] ne spune ca 𝑋 apartine intervalului [𝑎, 𝑏], iar 𝑌 intervalului [𝑐, 𝑑]. Sa
vizualizam acest lucru, desenand cat mai multe puncte (𝑥, 𝑦) pentru care 𝑥 si 𝑦 apartin intervalului
[−0.5, 0.5]!
Nota: Am ales intervalul [−0.5, 0.5] pentru ca este simetric in jurul lui 0, si duce la vizualizari mai
‘frumoase’. Observatiile de mai jos sunt valide pentru orice alte intervale, chiar si diferite.
Nota 2: Codul de mai jos este scris in Python, folosind libraria matplotlib. Nu este necesar sa
il intelegeti pentru a intelege graficele. Graficele seamana cu cele din Matlab, deoarece la inceput
libraria incerca sa emuleze graficele din acest limbaj.
[ ]: import matplotlib.pyplot as plt
import numpy as np
from math import ceil
from scipy.stats import norm

[ ]: plt.gca().set_aspect('auto')

2
[ ]: def generate_uniform_vector(interval_x, interval_y, point_count):
x_min, x_max = interval_x
y_min, y_max = interval_y
x = np.random.rand(1, point_count)*(x_max - x_min) + x_min
y = np.random.rand(1, point_count)*(y_max - y_min) + y_min
return x, y

[ ]: def plot_uniform_vector(interval_x, interval_y, point_counts):


plot_count = len(point_counts)
fig, axs = plt.subplots(ceil(plot_count / 2), 2, figsize = (10, 10))

for i, point_count in enumerate(point_counts):


x_min, x_max = interval_x
y_min, y_max = interval_y
plot_min, plot_max = min(x_min, y_min) - 1, max(x_max, y_max) + 1
x, y= generate_uniform_vector(interval_x, interval_y, point_count)
plot = axs[i//2][i%2]
plot.scatter(x, y)
plot.axis((plot_min, plot_max, plot_min, plot_max))
plot.set_xlabel("x")
plot.set_ylabel("y")
plot.set_title(f'{point_count} puncte')

plt.tight_layout()
plt.show()

[ ]: plot_uniform_vector((-0.5, 0.5), (-0.5, 0.5), [10, 100, 500, 2500])

3
Cu cat crestem numarul de puncte, cu atat figura ce apare seamana mai mult cu un patrat!
Observam ca domeniul [−0.5, 0.5]×[−0.5, 0.5] este un patrat. Deci atunci cand spunem ca vectorul
continuu (𝑋, 𝑌 ) ia valori in acest domeniu, ne gandim ca punctele (𝑥, 𝑦) pica intr-un patrat.
Observatie: Daca cele 2 intervale ar fi avut dimensiuni diferite, am fi obtinut dreptunghiuri in loc
de patrate. De exemplu, domeniul [0, 1] × [3, 8] arata astfel:

[ ]: plot_uniform_vector((0, 1), (3, 8), [10, 100, 500, 2500, 10000])

4
0.3.3 Concluzie
Deci, in cazul variabilelor continue, in principal ne intereseaza calculul probabilitatii ca variabila
sa ia valori intr-un anumit interval, iar in cazul vectorilor continui, in loc de interval(valori pentru
o singura variabila), suntem interesati de domenii(valori pentru mai multe variabile)!

0.4 Alte tipuri de domenii


0.4.1 Domeniu circular
Un cerc este multimea punctelor care se afla la o anumita distanta de un punct numit centru.
Distanta poarta numele de raza.
Sa alegem drept centru un punct oarecare (𝑎, 𝑏), si sa notam raza cu 𝑟. Dorim sa gasim toate
punctele care se afla pe cerc, adica care se afla la distanta 𝑟 de punctul (𝑎, 𝑏).

5
Fie un punct oarecare (𝑥, 𝑦). Distanta de la acest punct la centru este:

√(𝑥 − 𝑎)2 + (𝑦 − 𝑏)2

Dorim ca aceasta distanta sa fie egala cu 𝑟, deci:

√(𝑥 − 𝑎)2 + (𝑦 − 𝑏)2 = 𝑟

Ridicand la patrat:
(𝑥 − 𝑎)2 + (𝑦 − 𝑏)2 = 𝑟2

Aceasta este ecuatia cercului de centru (𝑎, 𝑏) si raza 𝑟. Ea are drept solutii punctele ce se afla pe
cerc.
In cazul vectorilor continui suntem in general interesati de domenii circulare care contin si interiorul
cercului. Interiorul cercului este format de acele puncte care se afla la distanta cel mult 𝑟 de centru,
deci care respecta urmatoarea inegalitate:

(𝑥 − 𝑎)2 + (𝑦 − 𝑏)2 ≤ 𝑟2

Sa vizualizam acest domeniu circular! Mai intai vom vizualiza marginea acestuia, adica graficul
ecuatiei (𝑥 − 𝑎)2 + (𝑦 − 𝑏)2 = 𝑟2 .
Pentru simplitate, vom alege drept centru punctul (0, 0) si 1 drept raza, deci ecuatia devine 𝑥2 +𝑦2 =
1. Primul pas este sa scoatem pe 𝑦 din aceasta ecuatie:

𝑦 2 = 1 − 𝑥2

𝑦 = ± 1 − 𝑥2

Observatie: Aceasta ecuatie nu reprezinta o functie, deoarece pentru√un anumit 𝑥, exista√ doar
valori distincte ale lui 𝑦. Ea reprezinta de fapt 2 functii, anume 𝑦 = 1 − 𝑥 , si 𝑦 = − 1 − 𝑥2 .
2

Prima ecuatie reprezinta partea superioara a cercului(partea rosie), si a 2a reprezinta partea sa


inferioara(partea albastra).

[ ]: x = np.linspace(-1, 1, 1000)
y1 = np.sqrt(1 - x*x)
y2 = -np.sqrt(1 - x*x)
plt.plot(x, y1, color = "red")
plt.plot(x, y2, color = "blue")
plt.show()

6
Acum vom vizualiza intreg cercul, adica marginea sa(partile rosii si albastre de mai sus), plus
interiorul sau.
[ ]: x = np.linspace(-1, 1, 1000)
y1 = np.sqrt(1 - x*x)
y2 = -np.sqrt(1 - x*x)
plt.fill_between(x, y1, alpha = 0.5)
plt.fill_between(x, y2, alpha = 0.5)
plt.show()

7
0.4.2 Domeniu triunghiular
Dorim sa gasim o ecuatie pentru un domeniu triunghiular. Sa zicem ca una dintre laturile tri-
unghiului se afla fix pe axa 𝑂𝑥, pornind din centru(punctul (0, 0)) pana la punctul (1, 0), deci are
lungimea 1. Sa consideram ca triunghiul trece si prin punctul de coordonate (0.5, 1). De ce (1, 0.5)?
De ce nu! :)
Incepem prin a reprezenta grafic aceste puncte:
[ ]: points_x = [0, 1, 0.5]
points_y = [0, 0, 1]
plt.scatter(points_x, points_y)
plt.show()

8
Cele 3 puncte vor fi conectate prin linii. Sa gasim ecuatiile acestor linii. Ecuatia generala a unei
linii are urmatoarea forma:
𝑦 = 𝑎𝑥 + 𝑏

Sa consideram mai intai linia de la punctul (0, 0) pana la punctul (0.5, 1). Linia trebuie sa treaca
prin aceste 2 puncte, deci aceste 2 puncte trebuie sa satisfaca ecuatia liniei. Substituind primul
punct in ecuatie, adica substituind 𝑥 = 0 si 𝑦 = 0, obtinem:

0=𝑎⋅0+𝑏

0=0+𝑏
𝑏=0

Substitutind si al 2lea punct, adica substituind 𝑥 = 0.5 si 𝑦 = 1, obtinem:

1 = 0.5𝑎 + 𝑏

Inlocuim 𝑏 = 0:
1 = 0.5𝑎
𝑎=2

Deci ecuatia acestei linii este 𝑦 = 2𝑥 + 0 = 2𝑥. Analog vom obtine ecuatiile celorlalte 2 linii, care
sunt 𝑦 = −2𝑥 + 2, respectiv 𝑦 = 0.

9
Incepem prin a reprezenta grafic aceste linii:
[ ]: x = np.linspace(0, 1, 10000)
y1 = 2*x
y2 = -2*x + 2
y3 = 0*x
plt.plot(x, y1)
plt.plot(x, y2)
plt.plot(x, y3)
plt.show()

Observam ca, daca adaugam cerinta ca 𝑦 ≤ 1, obtinem un domeniu triunghiular. Sa adaugam


aceasta cerinta:
[ ]: x = np.linspace(0, 1, 10000)
y1 = 2*x
y2 = -2*x + 2
y3 = 0*x
plt.plot(x[y1 <= 1], y1[y1 <= 1])
plt.plot(x[y2 <= 1], y2[y2 <= 1])
plt.plot(x[y3 <= 1], y3[y3 <= 1])
plt.show()

10
Pentru a obtine domeniul triunghiular, trebuie sa consideram si punctele din interior:
[ ]: x = np.linspace(0, 1, 10000)
y1 = 2*x
y2 = -2*x + 2
y3 = 0*x
plt.plot(x[y1 <= 1], y1[y1 <= 1])
plt.plot(x[y2 <= 1], y2[y2 <= 1])
plt.plot(x[y3 <= 1], y3[y3 <= 1])
plt.fill_between(x[y1 <= 1], y1[y1 <= 1], alpha = 0.5)
plt.fill_between(x[y2 <= 1], y2[y2 <= 1], alpha = 0.5)
plt.fill_between(x[y3 >= 0], y3[y3 >= 0], alpha = 0.5)
plt.show()

11
Deci un domeniu triunghiular poate fi dat de urmatoarele ecuatii:

⎧𝑦 ≤ 2𝑥
{
⎨𝑦 ≤ −2𝑥 + 2
{𝑦 ≥ 0

Mai departe vom reprezenta ecuatia 𝑦 = 𝑥:


[ ]: x = np.linspace(0, 1, 1000)
y = x
plt.plot(x, y)
plt.show()

12
Aceasta linie poarta si numele de prima bisectoare. Aceasta linie continua la infinit in ambele
directii, dar aici reprezentam doar o mica parte a sa.
Realizam ca, daca am reprezenta domeniul ce se afla sub aceasta linie, am obtine un triunghi:
[ ]: x = np.linspace(0, 1, 1000)
y = np.linspace(0, 1, 1000)
xx, yy = np.meshgrid(x, y)
xx, yy = xx.ravel(), yy.ravel()
triangle = yy < xx
xx = xx[triangle]
yy = yy[triangle]
plt.plot(xx, yy)
plt.show()

13
Acest triunghi este dat de urmatorul sistem de ecuatii:

⎧0 ≤ 𝑥 ≤ 1
{
⎨0 ≤ 𝑦 ≤ 1
{𝑦 ≤ 𝑥

1 Densitatea de probabilitate a unui vector continuu


Pentru orice variabila aleatoare continua sau vector aleator continuu, suntem interesati de prob-
abilitatea ca acestea sa ia valori intr-un anumit interval sau un anumit domeniu. “Marimea” de
baza, care ne este necesara in calculul acestor probabilitati, este functia densitate de probabilitate.
Aceasta functie “defineste” un vector sau o variabila continua.
Pentru cazul unui vector (𝑋, 𝑌 ) de 2 variabile continue, notam aceasta cu 𝑓𝑋,𝑌 (𝑥, 𝑦).
Cunoscand aceasta functie, calculam probabilitatea ca vectorul sa ia valori in domeniul [𝑎, 𝑏] × [𝑐, 𝑑]
astfel:

𝑑 𝑏
𝑃 ((𝑋, 𝑌 ) ∈ [𝑎, 𝑏] × [𝑐, 𝑑]) = ∫ ∫ 𝑓𝑋,𝑌 (𝑥, 𝑦)𝑑𝑥𝑑𝑦
𝑐 𝑎

Pentru a intelege mai bine, ne reamintim formula pentru probabilitatea ca variabila 𝑋 sa ia valori
in intervalul [𝑎, 𝑏]. Daca 𝑓𝑋 este densitatea de probabilitate a variabilei 𝑋, atunci:

14
𝑏
𝑃 (𝑋 ∈ [𝑎, 𝑏]) = ∫ 𝑓𝑋 (𝑥)𝑑𝑥
𝑎

Observam ca formula pentru vectori continui contine 2 integrale. Integrala interioara, adica
𝑏
∫𝑎 𝑓𝑋,𝑌 (𝑥, 𝑦)𝑑𝑥, este asemanatoare cu cea din formula pentru variabile continue. Aceasta in-
tegreaza densitatea de probabilitate doar in functie de 𝑥, pe intervalul [𝑎, 𝑏]. Asemanator, cea
𝑑
exterioara, ∫𝑐 𝑑𝑦 integreaza in functie de 𝑦, pe intervalul care ne intereseaza.

1.1 Proprietati ale densitatii de probabilitate


Consideram formula pentru a afla probabilitatea ca vectorul continuu sa ia valori in domeniul
[𝑎, 𝑏] × [𝑐, 𝑑]. Daca lasam 𝑎 si 𝑐 sa tinda la −∞ si 𝑏, 𝑑 la ∞, obtinem probabilitatea ca vectorului
continuu sa ia valori in domeniul (−∞, ∞) × (−∞, ∞).
Acesta este singurul domeniu in care vectorul poate lua valori, deci suntem siguri ca va lua valori
in acesta. Rezulta ca probabilitatea obtinuta este egala cu 1:

∞ ∞
∫ ∫ 𝑓𝑋,𝑌 (𝑥, 𝑦)𝑑𝑥𝑑𝑦 = 1
−∞ −∞

Pe de alta parte, aceasta integrala dubla este o probabilitate, deci nu are sens sa ia valori negative.
Ne putem asigura ca nu va lua niciodata valori negative cerand ca functia 𝑓𝑋,𝑌 sa fie mereu ≥ 0,
deoarece integrala unei functii pozitive va fi mereu pozitiva:

𝑓𝑋,𝑌 ≥ 0

O proprietate in plus pe care trebuie sa o aiba functia densitate de probabilitate este integrabilitatea
pe ℝ2 . Aceasta proprietate inseamna ca doar functiile ale caror integrale “le putem calcula” pot fi
densitati de probabilitate.
Avem deci urmatoarele 3 cerinte pentru ca o functie 𝑓𝑋,𝑌 ∶ ℝ2 → 𝑅 sa fie densitate de probabilitate:
∞ ∞
- 𝑓𝑋,𝑌 ≥ 0 - functia 𝑓𝑋,𝑌 sa fie integrabila pe ℝ2 - ∫−∞ ∫−∞ 𝑓𝑋,𝑌 𝑑𝑥𝑑𝑦 = 1

2 Functia de repartitie a unui vector aleator


Este definita analog functiei de repartitie a unei variabile aleatoare:
𝑥 𝑦
𝐹𝑋,𝑌 (𝑥, 𝑦) = 𝑃 (𝑋 ≤ 𝑥, 𝑌 ≤ 𝑦) = ∫ ∫ 𝑓𝑋,𝑌 (𝑡, 𝑠)𝑑𝑠𝑑𝑡
−∞ −∞

Am inlocuit 𝑥 si 𝑦 in 𝑓𝑋,𝑌 (𝑥, 𝑦) cu 𝑡 si 𝑠 pentru a nu le confunda cu 𝑥 si 𝑦 din limitele de integrare.


Observatie: In discutia despre densitatea de probabilitate am vazut formula pentru probabilitatea
ca vectorul sa ia valori in domeniul de forma [𝑎, 𝑏] × [𝑐, 𝑑]. Observam ca formula de mai sus ne da
probabilitatea ca vectorul sa ia valori in domeniul (−∞, 𝑥) × (−∞, 𝑦).
Analog cazului variabilelor continue, are loc urmatoarea relatie:
𝜕 𝜕
𝑓𝑋,𝑌 (𝑥, 𝑦) = 𝐹 (𝑥, 𝑦)
𝜕𝑦 𝜕𝑥 𝑋,𝑌

15
Altfel spus, daca derivam functia de repartitie in functie de 𝑥, apoi in functie de 𝑦, obtinem functia
de densitate.

3 Densitatea de probabilitate a variabilelor ce alcatuiesc un vector


Cunoastem densitatea de probabilitate a unui vector de 2 variabile continue, 𝑓𝑋,𝑌 si dorim sa aflam
densitatile variabilelor 𝑋 si 𝑌 . Ar fi suficient sa stim functia de repartitie, pentru ca functia de
densitate este derivata functiei de repartitie.
Pentru variabila 𝑋 am dori atunci sa gasim o formula pentru:

𝑃 (𝑋 ≤ 𝑥)

Aceasta probabilitate cere ca variabila 𝑋 sa ia o valoare mai mica sau egala cu 𝑥. Nu sunt deci
puse restrictii asupra valorilor lui 𝑌 . Atunci putem considera ca 𝑌 ia orice valoare posibila, deci
𝑌 ∈ (−∞, ∞). Probabilitatea de mai sus devine:

𝑃 (𝑋 ≤ 𝑥, −∞ < 𝑌 < ∞) = 𝑃 (−∞ < 𝑋 ≤ 𝑥, −∞ < 𝑌 < ∞)

Amintindu-ne formula pentru probabilitatea ca un vector aleator sa ia valori intr-un domeniu de


tipul [𝑎, 𝑏] × [𝑐, 𝑑], observam ca:

𝑥 ∞
𝑃 (−∞ < 𝑋 ≤ 𝑥, −∞ < 𝑌 < ∞) = ∫ ∫ 𝑓𝑋,𝑌 (𝑡, 𝑠)𝑑𝑠𝑑𝑡
−∞ −∞

In partea stanga avem chiar functia de repartitie a lui 𝑋, deci:


𝑥 ∞
𝐹𝑋 (𝑥) = ∫ ∫ 𝑓𝑋,𝑌 (𝑡, 𝑠)𝑑𝑠𝑑𝑡
−∞ −∞

Considerand doar integrala din exterior, observam ca limita sa superioara este 𝑥. Teorema fun-
damentala a algebrei ne spune ca daca aplicam derivata in functie de 𝑥 peste aceasta integrala,
integrala dispare:

𝑥 ∞
𝑑 𝑑
𝐹 (𝑥) = ∫ ∫ 𝑓 (𝑡, 𝑠)𝑑𝑠𝑑𝑡
𝑑𝑥 𝑋 𝑑𝑥 −∞ −∞ 𝑋,𝑌


𝑑
𝐹 (𝑥) = ∫ 𝑓𝑋,𝑌 (𝑡, 𝑠)𝑑𝑠
𝑑𝑥 𝑋 −∞

In partea stanga a ecuatiei, avem derivata functiei de repartitie. Prin definite, aceasta este chiar
functia de densitate, deci:

𝑓𝑋 (𝑥) = ∫ 𝑓𝑋,𝑌 (𝑡, 𝑠)𝑑𝑠
−∞

16
Am obtinut deci functia de densitate a variabilei 𝑋. Observam ca in partea dreapta integram pe
𝑓𝑋,𝑌 (𝑡, 𝑠) in functie de 𝑠. 𝑠 tine locul variabilei 𝑦, deci practic am integrat variabila 𝑦 si am ramas
doar cu o functie de 𝑥, ceea ce are sens pentru densitatea variabilei 𝑋!
Exercitiu: Obtineti densitatea variabilei 𝑌 .

3.1 Exemplu: distributia normala bivariata


Ne reamintim distributia normala. Acesta este caracterizata de o medie si o dispersie. Stim ca
probabilitatea ca variabila sa ia o valoare egala cu media este foarte mare, si ca aceasta probabilitate
scade foarte rapid cand ne departam de medie.
Nota: Daca dispersia o notam cu 𝑉 2 , atunci suntem aproape siguri ca valoarea variabilei nu se va
indeparte cu mai mult de 3𝑉 de media acesteia. 𝑉 este cunoscut ca abaterea standard.
Ne putem intreba daca exista un analog al distributiei standard si pentru vectori de 2 variabile
aleatoare
Cautam deci o distributie de 2 variabile 𝑋 si 𝑌 , care ne da o probabilitate maxima ca 𝑋 sa ia o
valoare apropiata de o anumita medie 𝑚𝑋 si 𝑌 sa ia o valoare apropiata de o anumita medie 𝑚𝑌 ,
si ca aceasta probilitate scade rapid atunci cand ne departam de aceste medii.
Sa vizualizam mai intai densitatea de probabilitate pentru o singura variabila distribuita normal,
de medie 0 si disperise 1. Ne reamintim ca distributia normala are urmatoarea functie de densitate:

1 1 2
𝑓𝑋 (𝑥) = √ 𝑒− 2 𝑥
2𝜋

Constanta √12𝜋 este necesara pentru ca integrala de la −∞ la ∞ sa fie egala cu 1. Mai jos vom
folosi direct formula functiei de densitate:
[ ]: x = np.linspace(-5, 5, 1000)
y = 1/np.sqrt(2*np.pi)*np.exp(-1/2*x**2)
plt.plot(x, y)
plt.show()

17
In libraria Python scipy, exista functia scipy.stats.norm.pdf care este fix functia de densitate a
distributiei normale. Putem folosi si aceasta functie pentru a realiza graficul functiei de densitate:
[ ]: y = norm.pdf(x, 0, 1)
plt.plot(x, y)
plt.show()

18
Stim ca probabilitatea ca variabila distribuita normal sa ia valori sub 𝑥 este egala cu aria de sub
graful functiei de densitate de la −∞ pana la 𝑥.
[ ]: plt.plot(x, y)
x1 = np.linspace(-5, 0, 1000)
y1 = norm.pdf(x1, 0, 1)
plt.fill_between(x1, y1, step = "pre", alpha = 0.5)
plt.show()

19
In figura de mai sus, partea colorata cu albastru deschis are aria egala cu 𝑃 (𝑋 ≤ 0). Putem observa
ca aceasta figura este fix jumatate din intreaga figura, adica jumatatea din dreapta lui 0 este egala,
ca arie, cu cea din stanga sa.

Stim ca aria totala este 1(din definitia densitatii de probabilitate, stim ca ∫−∞ 𝑓𝑋 (𝑥)𝑑𝑥 = 1, adica
aria totala de sub grafic este egala cu 1). Atunci rezulta ca aria colorata mai sus este egala cu 0.5,
deci 𝑃 (𝑋 ≤ 0) = 0.5.
Deci o valoare a variabilei 𝑋 este la fel de probabil sa fie in stanga mediei, sau in dreapta mediei.
Se observa de asemenea ca, in partea stanga a lui −2, aria este mica:
[ ]: plt.plot(x, y)
x1 = np.linspace(-5, -2, 1000)
y1 = norm.pdf(x1, 0, 1)
plt.fill_between(x1, y1, step = "pre", alpha = 0.5)
plt.show()

20
Pe de alta parte, aria dintre −2 si −1 este mult mai mare:
[ ]: plt.plot(x, y)
x1 = np.linspace(-2, -1, 1000)
y1 = norm.pdf(x1, 0, 1)
plt.fill_between(x1, y1, step = "pre", alpha = 0.5)
plt.show()

21
Iar aria dintre −1 si 0 este mult mai mare decat cea dintre −2 si −1. Altfel spus, observam ca,
atunci cand ne apropiem de medie, 0, aria de sub grafic creste foarte rapid, si deci si probabilitatea
va creste foarte rapid.
Putem sa reprezentam grafic si aceasta probabilitate, adica 𝑃 (𝑋 ≤ 𝑥). Prin definitie, aceasta
probabilitate este egala cu:
𝑥 𝑥
1 1 2
∫ 𝑓𝑋 (𝑠)𝑑𝑠 = ∫ √ 𝑒− 2 𝑠 𝑑𝑠
−∞ −∞ 2𝜋

Integrala din partea dreapta nu are o forma elementara, adica nu o putem exprima cu functiile
obisnuite(functii trigonometrice, ridicare la putere, etc). Deci nu vom putea gasi o formula de tipul
𝑔(𝑥) care sa contina doar functiile elementare, si care sa ne dea valoarea lui 𝑃 (𝑋 ≤ 𝑥).
Putem insa aproxima valoarea acestei integrala pentru o valoare fixa a lui 𝑥, de exemplu putem
calcula aproximari ale lui 𝑃 (𝑋 ≤ 0.5).
Functia scipy.stats.norm.cdf implementeaza o asemenea aproximare.
[ ]: y = norm.cdf(x, 0, 1)
plt.plot(x, y)
plt.show()

22
Observam ca pana la aproximativ 𝑥 = −2, probabilitatea ramane mica, deci 𝑃 (𝑋 ≤ −2) este mica.
Dupa 𝑥 = −2, functia creste rapid, de la aproximativ 0 la 𝑥 = −2 pana la 0.5 la 𝑥 = 0. Atunci
cand trecem de 𝑥 = 2, probabilitatea nu mai creste atat de rapid.
Pentru a vedea mai bine ce se intampla in zona lui 𝑥 = 2, vom reprezenta grafic functia 𝑓(𝑥) =
𝑃 (𝑥 − 0.1 ≤ 𝑋 ≤ 𝑥 + 0.1), adica probabilitatea ca variabila sa ia o valoare in jurul lui 𝑥, la o
diferenta de cel mult 0.1:
[ ]: y = norm.cdf(x + 0.1, 0, 1) - norm.cdf(x - 0.1, 0, 1)
plt.plot(x, y)
plt.show()

23
Observam clar ca probabilitatea este maxima pentru 𝑥 = 0, si scade cand ne indepartam de acest
punct.

3.2 Exemple de vectori aleatori, si unde sunt folositi practic


Vectorii aleatori, variabilele aleatoare si in general, statistica si probabilitatile apar peste tot in
Machine Learning/Inteligenta Artificiala, adica in stiinta care se afla in spatele unor proiecte ca
ChatGPT.
Machine Learniung se ocupa in general cu gasirea de relatii intre date. Altfel spus, modelam ceva
ce nu stim in functie de ceva ce stim.
Un exemplu ar fi, daca stim inaltimea unei persoane si varsta sa, si ne dorim sa aflam greutatea
acelei persoane, putem cauta un model de genul greutate = 𝑓(inaltime, varsta), adica modelam
greutatea in functie de inaltime si de varsta.
Cand facem aceasta modelare, presupunem implicit ca ea “are sens”, adica in medie, greutatea unei
persoane poate fi intr-adevar exprimata in functie de inaltime si de varsta.
Daca in loc de inaltime si de varsta am fi ales culoarea parului si culoarea ochilor, presupunerea
noastra cel mai probabil nu ar fi avut sens, deoarece probabil ca greutatea unei persoane nu depinde
de culoarea parului si a ochilor sai.
Deci, in Machine Learning, avem niste date cunoscute(inaltimea si varsta de mai sus), si dorim sa
aflam o alta valoare(greutatea). Alegem un anumit model(o functie care ne duce de la inaltime

24
si varsta, la greutate), si presupunem implicit ca acest model este bun, adica in medie predictiile
modelului nostru sunt egale cu realitatea.
Predictiile noastre nu sunt insa exact corecte, adica exista o oarecare diferenta intre realitate si
ceea ce am prezis noi. Acest fapt il modelam prin dispersie(in engleza, variance).
Astfel, presupunerea este ca, in medie, ceea ce modelul nostru de Inteligenta Artificiala ne spune,
este in medie de acord cu realitatea, dar exista si o oarecare diferenta intre realitate si ce am prezis
noi.
Notam cu 𝑦 valoarea reala, si cu 𝑦 ̂ valoarea prezisa de modelul nostru. Aici, 𝑦 si 𝑦 ̂ sunt greutati.
Atunci vom considera ca in medie valoarea prezisa este egala cu cea reala, si ca exista o anumita
diferenta(speram noi ca mica) intre cele 2 marimi, pe care o notam ca 𝑉 2 .
Nota: In romana, aceasta “diferenta” este numita dispersie, iar in engleza este cunoscuta drept
variance. In ambele cazuri poate fi notata ca 𝜎2 , dar in engleza este notata si ca 𝑉 2 .
Atunci cand cunoastem media si dispersia unei variabile, sau a unui vector, cel mai natural este sa
presupunem ca variabila este distribuita normal.
Nota: Se poate demonstra ca, dintr-un anumit punct de vedere, daca stim media si dispersia unui
set de date, atunci distributia normala face cele mai putine presupuneri asupra acestui set de date.
Presupunem deci ca 𝑦 ̂ ≈ 𝑁 (𝑦, 𝑉 2 ). Din aceasta presupunere vom putea obtine modele de Inteligenta
Artificiala foarte puternice, asa cum veti vedea in anul 3 la materia BIA.
𝑦 ̂ de mai sus este o singura variabila. Vom vedea mai jos o posibile aplicatia a vectorilor con-
tinui(adica a unui set de mai multe variabile continuie).
Revenind la exemplu anterior, unde aveam drept date cunoscute inaltimea si varsta. Sa presupunem
ca stim si lungimea mainilor persoanelor. Pentru a putea aplica algoritmi de Machine Learning pe
astfel de date, este foarte foarte important sa avem foarte foarte foarte multe date, adica sa avem
foarte multe persoane ale caror inaltime, varsta, si lungime a mainilor le cunoastem.
Ce se intampla insa daca pentru o anumita persoana cunoastem doar varsta, iar greutatea si
lungimea mainilor nu le cunoastem(sau le cunoastem, dar realizam ca ceea ce stim nu este corect,
de exemplu avem o greutate de 999 de KG, ceea ce inseamna ca, intr-un mod sau altul, am ajuns
sa avem date incorecte)?
Modelele de Machine Learnig nu pot, in general, sa lucreze cu date incomplete, deci avem 2 variante:
- ignoram persoana pentru care stim doar varsta - asignam acestei persoane o greutate si o lungime
a mainilor care sa fie cat mai plauzibile
Deoarece in Machine Learning avem nevoie de cat mai multe date, preferam a 2-a varianta, desi
intuitiv ceea ce vom obtine nu va fi la fel de bun ca datele reale.
Pentru a gasi marimile necunoscute, adica greutatea si lungimea mainilor, consideram un vector
continuu de tipul (𝑋, 𝑌 , 𝑍), unde 𝑋 este varsta, 𝑌 este greutatea si 𝑍 este lungimea mainilor.
Cunoastem doar varsta, deci stim valoarea pe care o ia variabila 𝑋, si suntem interesati de valorile
pe care le iau variabilele 𝑌 si 𝑍, adica am dori sa cunoastem urmatoarea probabilitate:
𝑃 (𝑌 ∈ 𝐼, 𝑍 ∈ 𝐽 |𝑋 = 𝑥)
Ne intereseaza deci probabilitatea ca 𝑌 si 𝑍 sa ia valori in anumite intervale, stiind deja valoarea
pe care a luat-o 𝑋.

25
4 Extra
Intuitie:
De ce suntem nevoiti sa calculam probabilitatea ca o variabila continua sa ia valori intr-un anumit
interval, si nu calculam probabilitatea ca acea variabila sa ia o anumita valoare fixa?
Sa consideram o variabila 𝑋 care ia valori in intervalul [0, 1], si sa luam 0.5 drept valoarea fixa.
Ne amintim formula pentru probabilitati din liceu:
Numarul de cazuri favorabile
𝑃 (𝑋 = 0.5) = Numarul de cazuri posibile

Avem un singur caz favorabil, pentru ca avem o singura valoare fixa:


Numarul de cazuri favorabile = 0
Variabila ia insa valori in intreg intervalul [0, 1]. In acest interval se afla o infinitate de valori, deci
numarul de cazuri posibile este infinit: $Numarul de cazuri posibile = ∞$
Atunci, bazandu-ne(intr-un mod neriguros, dar destul de intuitiv) pe formula din liceu:
1
𝑃 (𝑋 = 0.5) = ∞ =0
Pentru orice valoare fixa, aceasta probabilitate este 0, deci nu are sens sa o calculam. De aceea
calculam probabilitatea ca variabila sa se afle intr-un interval.
Un short-video despre numarul de elemente din [0, 1]: https://www.youtube.com/shorts/Xs0mbQUy9qg

26

S-ar putea să vă placă și