+ All Categories
Home > Documents > simularea variabilei beta

simularea variabilei beta

Date post: 21-May-2017
Category:
Upload: elena-isabela
View: 269 times
Download: 5 times
Share this document with a friend
15
Simularea variabilei Beta(a, b) Nr.proiect 21 Mainerici Elena Isabela Grupa 331
Transcript
Page 1: simularea variabilei beta

Simularea variabilei

Beta(a, b)

Nr.proiect 21

Mainerici Elena Isabela

Grupa 331

Page 2: simularea variabilei beta

1.INTRODUCERE

Cuvantul “simulare” deriva de la latinescul “simulatio”, care inseamna

capacitatea de a reproduce, reprezenta sau imita ceva.

Simularea este o tehnica de realizare a experimentelor cu calculatorul, care implica utilizarea unor modele matematice si logice care descriu comportarea unui sistem real (sau a unor componente ale sale) de-alungul unor perioade mari de timp. Simularea se realizeaza pe baza unui model special, numit model de simulare. In procesul de modelare matematica, componentelor sistemului li se asociaza anumite variabile/parametri, unele cunoscute, numite variabile/parametri de intrare, altele necunoscute(necontrolabile), numite variabile/parametri de iesire. Legaturile si interactiunile dintre componentele sistemului sau legaturile sistemului cu exteriorul se transpun in modelul matematic prin relatii functionale(ecuatii si/sau identitati). Scopul modelului este de a exprima variabilele necontrolabile in functie de variabilele controlabile, astfel incat sa fie satisfacute criteriile de performanta. Uneori nu este posibil sa se exprime sub forma de ecuatii toate legaturile, conditionarile si interdependentele necesare, motiv pentru care unele dintre acestea se descriu prin conditii logice sau proceduri ce pot fi manipulate numai prin intermediul calculatorului. Modelul matematic completat cu astfel de proceduri este un model de simulare, care pornind de la valori ale variabilelor controlabile (generate cu algoritmi speciali), va produce valori ale variabilelor necontrolabile, oferind variante din care se poate alege cea mai buna. De aici rezulta ca modelul de simulare produce experimente asupra sistemului pe caresl simuleaza, ceea ce permite alegerea acelor valori ale variabilelor si parametrilor de intrare care conduc la performantele dorite.

Page 3: simularea variabilei beta

Lucrarea de fata isi propune sa ilustreze realizarea a doua modele de simulare a

variabilei Beta(a,b) in cazurile 0<a<1,b>1 si 0<a<1,0<b<1. Vom stabili obiectivele

prin definirea problemei, urmata de colectionarea notiunilor necesare, tratate din

punct de vedere matematic. Odata stabilite reperele teoretice,vom elabora

algoritmii de simulare in concordanta cu obiectivele initiale,verificarea

corectitudinii algoritmilor si vom prezenta o varianta de implementare intr-un

program.

Formularea problemei „Construiti doua metode de simularea variabilei Beta(a, b), din care una sa includa cazul 0 < a < 1, b > 1.”

Page 4: simularea variabilei beta

2.Definitii si notiuni necesare

2.1.Repartitia Uniforma

Una din repartitiile de probabilitate importante, dar care este naturala, este

repartitia uniforma pe un interval [a,b ] care are densitatea de repartitie de forma

iar functia de repartitie este

O variabila uniforma 0 – 1 notata cu U este o variabila uniforma pe [0,1].

Densitatea de repartitie si functia de repartitie a lui U sunt respectiv

2.2.Repartita Beta

Variabila X are repartitia Beta(a, b), a > 0, b > 0 daca densitatea sa de repartitie este

Page 5: simularea variabilei beta

unde

Functia Gamma fiind definita astfel :

Simularea variabilei Beta poate fi facuta prin :

Teorema : Daca X1 Gamma(0, 1, a); X2 Gamma(0, 1, b), X1 independent de X2 atunci variabila

este o variabila Beta(a,b).

Deoarece aceasta formula presupune generarea prealabila a doua variabile

gamma, are o complexitate mai mare. In cazuri particulare exista teoreme,care nu

necesita simularea variabilelor gamma deci cu o complexitate mai mica. In acest

proiect vom prezenta doua din aceste cazuri particulare pentru simularea

variabilei Beta(a,b).

Page 6: simularea variabilei beta

3.Tratarea matematica a problemei

Lucrarea curenta isi propune prezentarea a doua cazuri de simulare a variabilei

Beta(a,b).

Primul caz de simulare a variabilei Beta(a,b) este atunci cand 0< a <1 si b>1.

Urmatoarea teorma pune in evidenta acest lucru.

3.1.Teorema: Daca 0< a < 1, b>1 si U1,U2 sunt variabile aleatoare uniforme 0 – 1

si independente si daca V = U11/a , T = U2

1/b-1, atunci repartitia variabilei V

conditionata de V + T <1 este Beta(a,b).

Demonstratie:

Mai intai observam

de unde rezulta ca densitatea de repartitie a lui V este

si densitatea de repatitie de repartitie a lui T este

Rezulta ca densitatea comuna de repartitie a variabilelor V,T – independente este

iar

Deci densitatea comuna a variabilelor (V,T) , conditionata de V + T < 1 este

Page 7: simularea variabilei beta

De aici rezulta ca densitatea lui V conditionata de V + T < 1 este

si teorema este demonstrata. Al doilea caz de simulare a variabilei Beta(a,b) este atunci cand 0<a<1 si 0<b<1.

Urmatoarea teorema pune in evidenta acest lucru.

3.2.Teorema: Daca 0<a<1, 0<b<1 si U1,U2 sunt variabile aleatoare uniforme 0 – 1

si independente si daca V = U11/a , T = U2

1/b , atunci repartitia variabilei X= 𝑉

𝑉+𝑇

conditionata de V + T < 1 este Beta(a,b) . Demonstratie: Mai intai observam ca

de unde rezulta ca densitatea de repartitie a lui V este

si densitatea de repatitie de repartitie a lui T este

h(y) = byb-1 , y ∈ [0,1].

Rezulta ca densitatea de repartitie a variabilei X = 𝑉

𝑉 + 𝑇 este

g(x,y) = axa-1 /(axa-1 + byb-1) iar

P(V + T < 1) = 𝑎𝑏

𝑎+𝑏B(a,b).

Deci densitatea variabilei X conditionata de V + T < 1 este q(x,y) = (a+b)(xa-1)/b(axa-1+byb-1)B(a,b). Si teorema este demonstrata.

Page 8: simularea variabilei beta

4.Descrierea algoritmilor

4.1.Algoritmul pentru simularea variabilei Beta(a,b) unde 0<a<1 si b>1 este

Repeat

Genereaza U1 ,U2 uniforme 0 – 1 si independente;

V := U11/a;

T := U21/b-1;

Until V + T < 1 ;

Datele de intrare corespunzatoare : a si b

Datele de iesire corespunzatoare : Variabila Beta(a,b) V

Probabilitatea de acceptare a accestui algoritm este

Pa= a B(a,b);

4.2.Algoritmul de simulare a variabilei Beta(a,b) cand 0< a <1 si 0< b <1 este

Repeat

Genereaza U1 ,U2 uniforme 0 – 1 si independente;

V := U11/a;

T := U21/b;

Until V + T < 1 ;

Calculeaza X = 𝑉

𝑉+ 𝑇

Datele de intrare corespunzatoare : a si b

Datele de iesire corespunzatoare : Variabila Beta(a,b) X

Probabilitatea de acceptare a accestui algoritm este

Pa = 𝑎𝑏

𝑎+𝑏 B(a,b);

Page 9: simularea variabilei beta

5.Validarea algoritmilor

Pentru validare, vom folosi doua metode specifice de validare a algoritmilor

desimulare asupra multimilor generate, si anume: verificarea aproximarii mediei

sidispersiei pentru seturile generate si aproximarea graficului densitatii de

probabilitatefolosind histograme construite clasic

5.1. Aproximarea densitatii de repartitie

O metoda de a verifica acuratetea rezultatelor obtinute in urma unui algoritm degenerare a unui set de date este de a analiza in ce masura histograma asociatasetului de date obtinut aproximeaza densitatea de repartitie a variabilelor generate.Imaginea de mai jos reprezinta histograma si densitatea de repartitie in urmagenerarii unui set de date de dimensiune 100 pentru o variabila Beta(0.5,0.5)

Page 10: simularea variabilei beta

Graficul repartitiei Beta(a,b) unde a= 0.5 b= 0.5

Page 11: simularea variabilei beta

Din acestea se observa faptul ca algoritmul prezentat produce rezultate ce

aproximeaza corect densitatea de probabilitate a tipului de variabilei Beta.

5.2.Verificarea mediei si a dispersiei

Observam ca dimensiunea multimii de selectie influenteaza rezultatele mediei sidispersiei aferente setului de date, in sensul ca le apropie foarte mult de valorileteoretice corespunzatoare tipului de date din multimea de selectie (o consecinta a legii numerelor mari). Astfel, in tabelul urmator vom exprima rezultatele obtinute pentru diferite dimensiuni ale multimii de selectie in comparatie cu valorile teoretice corespunzatoare.

Nr.Crt

Volum de selectie

Media obtinuta

Media teoretia

Eroare Dispersia obtinuta

Dispersia teoretica

Eroare

1 10 0.5938157 0.5 0.09381 0.086594 0.125 0.1

2 50 0.5135461 0.5 0.01354 0.121538 0.125 0.04 3 200 0.5132767 0.5 0.01327 0.124688 0.125 0.001

4 300 0.5051822 0.5 0.005 0.124956 0.125 0.001

Rezultatul acestor experimente confirma faptul ca media si disperia se apropie de

media si dispersia teoretica pe masura ce volumul de selectie creste.

Page 12: simularea variabilei beta

6.Codul sursa

#include<iostream>

#include<math.h>

#include<time.h>

using namespace std;

// generare variabile aleatoare 0-1

double uniform()

{

return (double) ( rand() % 1001 ) / 1000 ;

}

// simularea variabilei Beta(a , b) cand 0 < a , b < 1;

double beta1 (double a , double b)

{

double U1, U2, V, T;

do

{

U1 = uniform();

U2 = uniform();

V = pow( U1 , 1 / a);

T = pow( U2 , 1 / b);

}

while (V + T >= 1); // conditionata de V + T < 1;

return V / (V + T); // variabila Beta(a , b);

Page 13: simularea variabilei beta

}

// simulare variabilei Beta(a , b) cand 0 < a < 1 si b > 1;

double beta2 (double a , double b)

{

double U1, U2, V, T;

do

{

U1 = uniform();

U2 = uniform();

V = pow( U1 , 1 / a);

T = pow( U2 , 1 / (b - 1));

}

while (V + T >= 1); // conditionata de V + T < 1;

return V; // varabila Beta(a , b)

}

int main()

{

srand(time(0));

int i;

double a,b,B1[100],B2[100],s=0;

// citire a si b;

cin>>a>>b;

//cazul in care 0 < a , b < 1;

if( (a > 0) && (a < 1) && (b > 0) && (b < 1))

for(i = 1; i <=100; i ++)

{

B1[i] = beta1(a , b);

Page 14: simularea variabilei beta

cout<< B1[i]<<" ";

s+= pow((B1[i]-0.5),2); // calcul pt dispersie;

}

cout<< s/100; //afisarea dispersiei

//cazul in care 0 < a < 1 si b > 1;

if((a > 0) && (a < 1) && (b > 1))

for(i = 1; i <=100; i ++)

{

B2[i] = beta2(a , b);

cout<< B2[i] <<" ";

}

system("pause");

return 0;

}

Page 15: simularea variabilei beta

8.Bibliografie

[1] Ion Vaduva, „Modele de simulare cu calculatorul”, Editura Tehnica, Bucursti,

1977 [2] Ion Vaduva, „ Modele de simulare ”, Bucuresti, 2004

[3] Enciclopedia Wikipedia, Beta distribution

http://en.wikipedia.org/wiki/Beta_distribution


Recommended