Sunteți pe pagina 1din 46

2014

Emilia-Andreea Popa
Grupa 1028
Seria Cibernetică

[INTELIGENȚĂ COMPUTAȚIONALĂ
ÎN ECONOMIE]

PROIECT
Introducere

Pentru realizarea acestui proiect, am construit un set de date cu 360 de observații, ce corespund
celor 9 indicatori economici și demografici pe care i-am inclus în analiză. Datele au fost culese de pe
site-ul: http://ec.europa.eu/eurostat. Am ales 40 de țări din Europa, pentru care am identificat:
numărul de locuitori, Produsul Intern Brut/cap de locuitor (euro per locuitor), Produsul Intern
Brut/(calculat la prețurile curente, în milioane euro), Consumul Final (calculat în milioane euro),
exporturile (calculat în milioane euro), rata inflației, rata șomajului, numărul de divorțuri și
numărul de căsătorii. Perioada de analiză o reprezintă anul 2013, iar valorile calculate pentru rata
inflației și rata șomajului sunt valorile medii.

Indicatorii stabiliți, denumiți în continuare atribute, se prezintă în baza de date astfel:

 Population
 GDP/euro per habitant
 GDP in current prices
 Final Consumption
 Exports
 Inflation Rate (%)
 Unemployment Rate (%)
 Divorces
 Marriages

În continuare, voi rezolva cerințele proiectului și voi atașa printscreen-urile output-urilor din R,
precum și interpretarea rezultatelor obținute.

Cerințe

1. Calculați statisticile descriptive ale setului de date: medie, dispersie, varianțe, matrice de
covarianță și de corelație, histograme.
Am importat datele în R și le-am afișat, așa cum se poate observa și în printscreen, apoi am
identificat și dimensiunile bazei de date: câte 40 de observații pentru 10 atribute/variabile, dintre
care unul este cel al denumirii țării. Apelarea funcției str ne arată că variabilele noastre sunt
numerice/cantitative, iar din summary putem identifica valorile minime, maxime, cuartilele, media
și mediana pentru fiecare atribut.

Putem declara că cea mai mică populație pe care o are o țară este de 37129 locuitori, în timp ce cea
mai mare populație atinge 80780000 locuitori. PIB-ul maxim atins este în punctul 2737600
milioane euro, în timp ce minimul este 3149 milioane euro. Valoarea medie a consumului final este
81316 milioane euro, valoarea medie a ratei inflației este de 1,65%, iar valoarea maximă 13%. Rata
șomajului atinge cote maxime, de până de la 27,5%, numărul minim de divorțuri înregistrate într-o
țară este de 87, în timp ce numărul maxim de căsătorii este 603751.

Dintre cele 9 variabile, media și dispersia cea mai mică o înregistrează rata inflației, în timp ce
dispersia maximă este asociată numărului de locuitori=22968885.
Am calculat matricea de covarianță și matricea de corelație, aflând astfel că între numărul de
locuitori al unei țări și GDP-ul acesteia există o legătură puternică, directă, sugerată de coeficientul
0,859. De asemenea, se remarcă o legătură directă, pozitivă și puternică între numărul de locuitori
și numărul de divorțuri, respectiv căsătorii.
Din histogramele realizate putem trage următoarele concluzii: frecvența cea mai mare o au țările
care au un PIB/cap de locuitor între 0 și 20000 euro. Similar, când vine vorba de PIB total, frecvența
cea mai mare se înregistrează pentru intervalul 0-500000 milioane euro.

Referitor la exporturi, s-au înregistrat valori cu preponderență în intervalul 0-200000 milioane


euro, iar consumul final: 0-500000 milioane euro.
f

Rata inflației este extrem de frecventă în intervalul 0-5, cu câteva valori care depășesc 10%. Rata
șomajului are o distribuție mai echilibrată, cu două intervale puternice de frecvență: 5-10%,
respectiv 10-15%, nicio valoare înregistrată în intervalul 20-25%, însă câteva valori sesizate în
intervalul 25-30%.
2. Determinați posibile dependențe între variabile, ecuații de regresie, coeficienții dreptelor
de regresie estimați, trasarea dreptelor de regresie și interpretări.

Pentru a identifica legături între unele variabile, am construit mai multe funcții. O observație foarte
importantă este aceea că setul meu de date nu este o serie de timp, deci legăturile între variabile nu
sunt vizibile și nu pot fi afirmate.

 Funcția 1 este funcția analizată între numărul de locuitori al unei țări și PIB-ul total rezultat.
Ecuația de regresie rezultată este: Population=4.415e+06+3.139e+01*GDP

 Funcția 2 este funcția analizată între numărul de locuitori al unei țări și consumul final.
Ecuația de regresie rezultată este: Population=4.501e+06+3.927e+01*FC

 Funcția 3 este funcția analizată între rata inflației și rata șomajului


Ecuația de regresie rezultată este: Inflation=2.7409-0.06*Unemployment

Se remarcă existența unei legături inverse, astfel încât atunci când rata inflației se modifică
cu un punct procentual, rata șomajului scade cu 0.06 puncte procentuale, însă foarte slabă,
conform coeficientului de determinație=0.0206.

 Funcția 4 este funcția analizată între numărul de divorțuri și rata șomajului


Ecuația de regresie rezultată este: Divorces=3110.5-221.1*Unemployment

Legătura este una inversă, astfel încât atunci când numărul divorțurilor se modifică cu o
unitate, rata șomajului scade cu 2,2%. Totuși, modelul de regresie nu este valid, după cum
indică și valoarea lui Multiple R-Squared.

 Funcția 5 este funcția analizată între PIB și rata inflației


Ecuația de regresie rezultată este: GDP=412472-22116*Inflation

Legătura ce pare să existe între cele două variabile este inversă, astfel încât atunci când
PIBul se modifică cu o unitate, rata inflației scade cu 0,2%, însă modelul liniar nu este valid,
întrucât Multiple R-Squared=0.006.

Așa am cum am precizat și anterior, analiza efectuală nu este relevantă, întrucât setul de
date nu este unul potrivit pentru identificarea unor potențiale legături între variabile și
construirea modelelor de regresie liniară.
3. ACP: vectori proprii, valori proprii, criterii de determinare a componentelor principale,
scree plot, matricea scorurilor, biplot: grafice și interpretări.

Pentru Analiza Componentelor Principale am asociat matricei de corelație un indicator r și matricei


de covarianță un indicator s. În urmă rulării instrucțiunii eigen (s) se obține:

Valorile proprii sunt:

 ƛ1=5.281076e+14
 ƛ2=1.898461e+11
 ƛ3= 8.345611e+09
 ƛ4=1.571781e+09
 ƛ5=5.069792e+08
 ƛ6=3.000409e+08
 ƛ7=9.865681e+07
 ƛ8=2.313406e+01
 ƛ9=2.104875e+00

𝜔1 ,𝜔2 ,𝜔3 ,𝜔4 ,𝜔5, 𝜔6, 𝜔7, 𝜔8, 𝜔9,= 9 componente principale
 𝜔1 = 9.994904e-01*Population+(-6.950611e-05)*GDP/habitant+2.352773e-02*GDP+1.924123e-
02*FC+8.214007e-03*Exports+3.108333e-08*Inflation+(-2.756254e-
09)*Unemployment+1.783799e-05*Divorces+4.955490e-03*Marriages

ș.a.m.d., până scriem cele 9 componente principale.

Din cele 9 componente prinicipale, trebuie să reținem numai p componente, p≤9, conform unui
criteriu prestabilit.

Vom aplica mai multe criterii:

1. Criteriul procentului de acoperire:

Varianța totală= ƛ1+ ƛ2+ƛ3+ƛ4+ƛ5+ƛ6+ƛ7+ƛ8+ƛ9

ƛ1
θ1=𝑉𝑎𝑟𝑖𝑎𝑛𝑡𝑎 𝑡𝑜𝑡𝑎𝑙𝑎, iar dacă rezultatul este mai mare de 70-75%, alegem o singură componentă
principală

2. Criterul lui Kaiser

Conform acestui criteriu, se rețin numai valorile proprii mai mari sau egali cu 1.

3. Criteriul mediei

Conform criteriului, se rețin numai acele varianțe mai mari sau egale cu varianța medie.

4. Scree Plot
Fiecare componentă explică câte 11% din varianța totală, iar varianța cumulativă trebuie să
depășească 80%, ceea ce înseamnă că vom alege 8 componente principale.

Mai sus am atașat o parte din matricea scorurilor. Acestea sunt mai potrivite pentru a fi folosite în
analiză, fiind mai puțin afectate de erori, în comparație cu datele inițiale.

Biplot

Într-un biplot, lungimea liniilor aproximează varianța variabilității. Cu cât e mai lungă linia, cu atât e
mai mare varianța. Unghiul dintre linii aproximează corelația dintre variabilele pe care le
reprezintă. Cu cât unghiul e mai aproape de 900 și 2700, cu atât corelația e mai mică. Un unghi de 00,
respectiv 1800, reflectă o corelație de 1, respectiv -1. Distanța dintre două puncte aproximeaxă
distanța euclidiană dintre două observații.

Punctele apropiate în biplot corespund unor țări cu caracteristici asemănătoare. Vectorii orientați
în aceeași direcție corespund variabilelor cu profiluri similare. Un grup de vectori în aceeași direcție
corespunde unui grup de caracteristici comune unei țări, iar punctele extreme din figură sunt
outliers.

În cazul nostru, 29, 37, 28 au caracteristici similare, în timp ce 38, 39, 15 sunt outliers.

4. SVM: construirea setului de antrenare și de testare, diverse forme ale funcției kernel:
liniară, polinomială, sigmoid, radială, număr de vectori suport în fiecare situație, predicții,
matricea de confuzie, rata de exactitate a modelului pentru fiecare situație, coeficientul
Cohen.

Vom împărți setul de date în set de antrenare și set de testare și se obține un vector de lungime 40,
adică numărul de linii ale setului de date și un vector cu componente aleatoare de lungime egală cu
lungimea vectorului index, împărțită la 9 și trunchiată.
SVM-Radial

Au fost obținuți 36 vectori-suport. Funcția nucleu implicită este de tip radial, cu parametrii impliciți
cost=1 și un parametru gamma=0.111111, de care depinde funcția nucleu-radială.
Predicția pentru primele 6 observații:
Observație: argumentele nu au aceeași lungime în baza mea de date, motiv pentru care R a generat
eroare la rularea comenzilor de predicție. Prin urmare, rezultatele arată că rata de exactitate a
modelului este 0, iar coeficientul Cohen=-0.066667.

SVM-linear

Au fost obținuți 36 vectori-suport. Funcția nucleu implicită este de tip liniar, cu parametrii impliciți
cost=1 și un parametru gamma=0.111111, de care depinde funcția nucleu-radială.
SVM-polinomial

Au fost obținuți 36 vectori-suport. Funcția nucleu implicită este de tip polinomial, cu parametrii
impliciți cost=1 și un parametru gamma=0.111111, de care depinde funcția nucleu-radială.

SVM-sigmoid
Au fost obținuți 36 vectori-suport. Funcția nucleu implicită este de tip sigmoid, cu parametrii
impliciți cost=1 și un parametru gamma=0.111111, de care depinde funcția nucleu-radială.

5. Analiza cluster: kmeans, kmedois, fuzzy clustering, ierarhică, dendograme, grafice,


interpretări, diverse valori pentru numărul de clustere, comentarii asupra siluetei
clusterelor, matrice de confuzie, rata de exactitate a modelului pentru fiecare situație

Kmeans

Se afișează cele 4 clustere, cu numărul de componente, mediile și atributele lor.


km$cluster afișează clusterul corespunzător fiecăreia dintre cele 40 de observații. Sunt afișate țările și
apartenența lor la cele 4 clustere:

În figura de mai jos sunt reprezentante observațiile grupate în cele 4 clustere, în raport cu cele 9 atribute
numerice.
Interpretare: Conform clusterizării k-means, Clusterul 1 cuprinde țări precum: Azerbaijan, Belgia,
România, Grecia, Polonia, care ar avea cel mai mic grad de risc. Umătorul grad de risc asociat
Clusterului 2 se asociază țărilor precum: Cipru, Estonia, Islanda ș.a.md. Țările din Clusterul 4 au
gradul de risc cel mai mare: Bulgaria, Croația, Austria etc.

K-medoids

Vrem să lucrăm cu un set mai scurt de date, prin urmare am eliminat coloana 1:

Număr de clustere create este 2:


Acest grafic arată împărțirea țărilor în clusterele 1 și 2.

Dacă vrem să impunem noi gruparea în 3 clustere, executăm funcțiile:

pam.result<-pamk(proiect[,-1],3)

table(pam.result$pamobject$clustering, proiect$Country)
Ploturile Silhouette:

Interpretare: sileuta medie globală pentru cele trei clustere este 0.62, silueta medie a primului
cluster este de 0.69 și conține 20 de instanțe, al doilea cluster are o siluetă medie de 0.50 și 13
instanțe, iar clusterul 3 are silueta medie de 0.66 și 7 instanțe.

Algoritmul fuzzy –cmeans

Dorim să realizăm o clusterizare c-means cu 3 clustere:


Am afișat gradul de apartenență al fiecărei țări la unul dintre cele 3 clustere.
Am afișat centroizii celor 3 clustere corespunzătoare celui mai apropiat model hard clustering.

Afișăm repartiția observațiilor în cele 3 clustere:

Clusterizare ierarhică

Calculăm distanța euclidiană, după ce am eliminat coloana Country:


Afișăm dendograma:
Am calculat distanța dintre clustere conform metode Ward și acuma afișăm dendograma:

Împărțim dendograma în 4 clustere:


Delimităm cele 4 clustere printr- o linie roși și afișăm din nou dendograma:

Vizualizare triunghiulară a dendogramei:


Vizualizăm partea superioară a dendogramei deasupra înălțimii 1000 și a doua ramură, sub înălțimea
1000:

6. Arbori de decizie

Se extrag două eșantioane din numărul liniilor setului de date, 70% sunt în primul eșantion și 30%
în al doilea eșantion. Extragerea este cu revenire. În imaginea de mai jos este afișată apartenența la
cele două eșantioane:
Mai sus am afișat setul de date de antrenare. Construim arborele de decizie:

7. SOM: construirea hărților

Eliminăm prima coloana, cea a denumirii țării (Country). Aleg un eșantion de 12 observații pentru
setul de antrenament.
Construim setul de antrenament, apoi setul de date:

Construim harta Kohonen:

Predicție cu SOM:
Interpretare: prin metoda lui SOM, rata de acuratețe a modelului este de 7,1%, iar coeficientul lui
Cohen este de 0.03, ceea ce înseamnă că datele nu sunt de încredere.
Mapping plot

8. Clasificatorul Naiv Bayesian

9. Rețele neuronale

Din cauza absenței variabilei calitative, nu am știut să fac acest subiect.

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