Figura 1 Grafic regresie liniară 8 8 https:towardsdatascience.coma-beginners-guide-to-linear-regression-in-python-with-scikit-learn-83a8f7ae2b4f [614153]

UNIVERSITATEA POLITEHNICA BUCUREȘTI FACULTATEA DE AUTOMATICĂ ȘI CALCULATOARE DEPARTAMENTUL CALCULATOARE PROIECT DE DIPLOMĂ Retrics Machine learning în procesul de recrutare Ebru Resul Coordonator științific: Prof. dr. ing. Răzvan Rughiniș BUCUREȘTI 2020

UNIVERSITY POLITEHNICA OF BUCHAREST FACULTY OF AUTOMATIC CONTROL AND COMPUTERS COMPUTER SCIENCE DEPARTMENT DIPLOMA PROJECT Retrics Machine learning in the recruitment process Ebru Resul Thesis advisor: Prof. dr. ing. Răzvan Rughiniș BUCHAREST 2020

1 CUPRINS 1 Introducere ……………………………………………………………………………………………………….. 5 1.1 Context ……………………………………………………………………………………………………… 5 1.2 Problemă …………………………………………………………………………………………………… 5 1.3 Obiective și soluție ……………………………………………………………………………………… 5 1.4 Rezultate ……………………………………………………………………………………………………. 6 1.5 Structura lucrării …………………………………………………………………………………………. 6 2 Motivație ………………………………………………………………………………………………………….. 8 3 Studiu de piață ………………………………………………………………………………………………… 11 3.1 Metode existente ……………………………………………………………………………………… 11 3.2 Concepte teoretice ……………………………………………………………………………………. 12 3.2.1 Testul de personalitate “Big 5” …………………………………………………………….. 13 3.2.2 Jocuri psihometrice …………………………………………………………………………….. 14 3.2.3 Machine learning ……………………………………………………………………………….. 14 3.2.4 Machine learning supervizat ……………………………………………………………….. 14 3.2.5 Tehnici de regresie ……………………………………………………………………………… 15 3.2.6 Coeficientul de corelație ……………………………………………………………………… 17 3.2.7 Metode de evaluare a modelului de regresie …………………………………………. 18 4 Soluția Propusă ………………………………………………………………………………………………… 19 4.1 Arhitectura Retrics …………………………………………………………………………………….. 19 4.2 Obținerea datelor (O) ………………………………………………………………………………… 20 4.3 Curățarea datelor (S) …………………………………………………………………………………. 22 4.4 Explorarea datelor (E) ………………………………………………………………………………… 22 4.5 Modelarea datelor (M) ………………………………………………………………………………. 23 4.6 Interpretarea datelor (N) ……………………………………………………………………………. 24 5 Implementare ………………………………………………………………………………………………….. 25 5.1 Obținerea datelor ……………………………………………………………………………………… 25 5.2 Curățarea datelor ……………………………………………………………………………………… 27 5.3 Explorarea datelor …………………………………………………………………………………….. 28 5.4 Modelarea datelor …………………………………………………………………………………….. 29

2 6 Evaluarea rezultatelor ………………………………………………………………………………………. 32 6.1 Extraversie ……………………………………………………………………………………………….. 32 6.1.1 Alegerea metricilor pe baza coeficientului de corelație Pearson ………………. 32 6.1.2 Alegerea tipului de regresie …………………………………………………………………. 33 6.2 Deschiderea către experiență ……………………………………………………………………… 34 6.2.1 Alegerea metricilor pe baza coeficientului de corelație Pearson ………………. 34 6.2.2 Alegerea tipului de regresie …………………………………………………………………. 35 6.3 Nevrotism ………………………………………………………………………………………………… 36 6.3.1 Alegerea metricilor pe baza coeficientului de corelație Pearson ………………. 36 6.3.2 Alegerea tipului de regresie …………………………………………………………………. 36 6.4 Conștiinciozitate ……………………………………………………………………………………….. 38 6.4.1 Alegerea metricilor pe baza coeficientului de corelație Pearson ………………. 38 6.4.2 Alegerea tipului de regresie …………………………………………………………………. 38 6.5 Agreabilitate …………………………………………………………………………………………….. 39 6.5.1 Alegerea metricilor pe baza coeficientului de corelație Pearson ………………. 39 6.5.2 Alegerea tipului de regresie …………………………………………………………………. 40 7 Concluzia ………………………………………………………………………………………………………… 42

3 SINOPSIS Lucrul cel mai important din cadrul unei organizații îl reprezintă angajații. Dinamica angajațiilor și mediul de lucru determină succesul sau eșecul unei companii, având un efect asupra tuturor operațiilor acesteia. Drept urmare, abilitătile sociale au început să fie aproape la fel importante precum cele tehnice în timpul unui interviu de angajere. Intervievatorii încearcă să identifice personalitatea candidatului și potrivirea lui în companie prin tehnici manuale de evaluare, precum gesturile acestuia, mimica, răspunsurile date la diverse întrebări comportamentale. Rezultatele obținute sunt, adeseori, înșelătoare și nu foarte precise. Retrics aduce o soluția pentru această problemă oferind un proces automat de creare a unui profil de personalitate pe baza unor joculețe psihometrice. Acesta folosește informațiile obținute în urma jocurile, pentru a calcula abilitățile cognitive ale candidatului, pe care le corelează cu cele 5 trăsături de personalitate dominante(Extraversie, Deschidere către experiență, Nervozitate, Conștiinciozitate, Agreabilitate). În urma relațiilor obținute, se creează 5 modele de machine learning supervizat pentru a putea aproxima cât mai precis aceste trăsături. Setul de date folosit a trecut prin întregul proces de data science, pentru a putea obține rezultate valide și relevante. ABSTRACT Employees are the most important thing in an organization. The dynamics of employees and the work environment determine the success or failure of a company, having an effect on all its operations. As a result, social skills began to be almost as important as technical ones during a job interview. Interviewers try to identify the candidate's personality and their fit in the company through manual assessment techniques, such as gestures, facial expressions, answers to various behavioral questions. The results obtained are often misleading and not very accurate. Retrics brings a solution to this problem by offering an automatic process of creating a personality profile based on psychometric games. It uses the information obtained from the games to calculate the candidate's cognitive abilities, which then are correlated with the BIG5 personality traits (Extraversion, Openness to experience, Nervousness, Conscientiousness, Pleasantness). Following the relationships obtained, 5 models of supervised machine learning are created in order to be able to approximate these features as accurately as possible. The data set used went through the whole data science process, in order to obtain valid and relevant results.

4 MULȚUMIRI Le mulțumesc tuturor oamenilor ce m-au ajutat și m-au sfătuit, și in mod special mentorului meu, Răzvan Rughiniș, pentru îndrumarea oferită în cadrul acestei lucrări, precum și în cadrul parcursului meu în acești 4 ani de facultate.

5 1 INTRODUCERE Soluția pe care o propunem, Retrics, prezintă 3 componente – jocurile psihometrice, modulul de prelucrare și modelare a datelor, afișarea rezultatelor și interpretarea lor – care împreună creează arhitectura aplicației. Contribuția mea în acest proiect este reprezentată de partea de data science și machine learning. 1.1 Context Știința datelor sau „data science” a devenit în ultimii ani un subiect important și folosit în multe domenii. De ce? „Deoarece acum avem acces la seturi de date imense legate de foarte multe aspecte din viața noastră” [1]. Data science se concentrează pe extragerea de informații semnificative din aceste seturi de date. Un proces întreg presupune obținerea setului de date, ce apoi este curățat și explorat. După ce avem datele finale, se încearcă modelarea lui pentru a obține informațiile dorite, ce vor fi interpretate. Industria are nevoie de acest proces pentru a transforma un grup de date ce nu au nicio legătură la prima vedere, în informații relevante pentru a lua decizii. 1.2 Problemă Domeniul la care facem referire în această lucrare este recrutarea. Scopul Retrics este de a ajuta recrutorii în procesul de preselecție a candidațiilor, printr-o alegerea de angajare mai educată. Prin intermediul CV-ului se pot deduce abilitățile tehnice ale posibilului angajat, însă este recomandat să se poată crea și un profil cognitiv și social al acestuia pentru a afla dacă este într-adevăr potrivit pentru companie. Problema intervine în momentul când recrutorii aleg persoanele ce trec mai departe în acest proces, ținând cont doar de CV-ul acestora, în lipsa altor date. Astfel, candidații ce ar fi putut să aduca valoare companiei prin abilitățile lor sociale și ce s-ar fi potrivit mai bine comunității, pot fi eliminați încă din prima etapă, deoarece nu există o metodă de apreciere a acestor competențe la începutul procesului de recrutare. 1.3 Obiective și soluție De ce recrutorii invită o persoană la un interviu și nu pe cealaltă? Nu ar fi mai bine să ne uităm dacă persoana se potrivește valorilor companiei și apoi să fie luată o decizie? Ce talente se pot rata dacă candidații sunt selectați doar pe baza CV-ului? Pentru a putea răspunde la întrebări, această lucrare prezintă o modalitate de a introduce informații suplimentare despre

6 profilul cognitiv și social al candidatului în procesul de preselecție al angajaților. Obiectivul este de a oferi o unealtă suplimentară recrutorilor, pentru a putea face alegeri inteligente. În plus, determinăm profilul organizației și folosim aceste date pentru a antrena modelul de machine learning pentru a putea prezice competențele candidatului. Drept urmare, recrutorii pot analiza rezultatul posibilului angajat cu rezultatele departamentului la care acesta aplică. Soluția noastră presupune crearea unei scheme ce conține procentajul celor 5 trăsături de personalitate, importante în procesul de recrutare [2]. Pentru o infrastructură menită să proceseze sute de candidați, este important să obținem datele corect din jocurile psihometrice. Drept urmare, rezultatele jocurilor vor fi procesate pentru a calcula abilitățile cognitive ale jucătorilor. Pe baza acestora, vom face o ipoteză empirica potrivit căreia atributele obținute sunt corelate cu trăsăturile de personalitate. Următorul pas este cel de predicție, unde modelul este antrenat cu datele companiei, astfel încât este de ajuns ca potențialul angajat să termine jocurile Retrics, pentru ca recrutorul să obțină trăsăturile acestuia de personalitate și compatibilitate cu departamentul. 1.4 Rezultate Proiectul a reușit să calculeze competențele cognitive de pe urma jocurilor, precum și să stabilească o relație, pe baza coeficientului de corelație Pearson, între acestea și cele 5 trăsături de personalitate. Mai departe, am creat cu succes un model de învățare supervizată pentru fiecare din cele 5 abilități sociale. Majoritatea soluțiilor curente de apreciere a personalității unui candidat se realizează manual, prin teste psihologice lungi și întrebări comportamentele evaluate de către intervievatori. Retrics are abilitatea de a oferi automat aceste rezultate, în urma unor joculețe scurte și interactive. Noutatea soluției este reprezentată de găsirea unei relații între abilitățile cognitive și abilitățile sociale, pentru a putea crea un model de prezicere a competențelor sociale. 1.5 Structura lucrării Următoarele capitole vor elabora stagiile de dezvoltare a modulului de prelucrare și modelare a datelor din cadrul Retrics: • Capitolul 2 prezintă motivația și ideea din spatele acestui proiect • Capitolul 3 descrie ce alte metode asemănătoare există pe piață, precum și conceptele teoretice folosite în cadrul dezvoltării soluției • Capitolul 4 și Capitolul 5 discută despre arhitectura proiectului și modul de implementare a unui proiect de data science

7 • Capitolul 6 este cel mai complex, deoarece aici interpretăm rezultatele obținute și argumentăm deciziile luate în alegere modelului de machine learning • Capitolul 7 oferă o privire de ansamblu asupra rezultatelor obținuite

8 2 MOTIVAȚIE Dinamica angajațiilor și mediul de lucru determină succesul sau eșecul unei organizații, având un efect asupra tuturor operațiilor acesteia. Putem afirma că o companie este la fel de bună sau rea, precum angajații ei. Drept urmare, procesul de recrutare și selecție are un rol crucial în a crea o forță de muncă eficientă pentru companie. O politică benefică de recrutare și selecție a unui posibil angajat, nu se bazează doar pe competențele tehnice ale acestuia potrivite pentru locul de muncă, dar și pe competențele sociale. Un recrutor ar trebui să se asigure că abilitățile sociale ale candidatului se potrivesc cu valorile și etica companiei. Atunci când vorbim despre competențele sociale ale unui individ importante pentru o organizație, ne referim la abilități precum lucrul în echipa, modul de gândire, creativitatea în a rezolva probleme, flexibilitatea. În urma unei analize a tendințelor globale în angajare, efectuată de Linkedin [1], pe 5000 de firme din 35 de țări, s-au observat următoarele: • 92% consideră că „soft skills”1 sunt mai importante decât „hard skills”2 • 89% consideră că angajații nepotriviți de obicei nu prezintă competențele sociale necesare Deși multe organizații sunt de acord că abilitățile sociale trebuie luate în considerare la angajare, foarte puține reușesc să le evalueze corect. Conform raportului celor de la Linkedin, cele mai comune metode de a măsura aceste competențe sunt: întrebările de personalitate, limbajul corporal și întrebările despre cum ar reacționa în anumite situații. Problema ce apare este că această modalitate de evaluare se bazează în întregime pe spusele candidatului, fără a avea o modalitate obiectivă de a aprecia caracterul. În plus, întrebările despre comportament apar de abia în a doua etapă, în timpul interviului. Astfel, nu există niciun mod de a evalua „soft skills” în prima etapă de recrutare. În urma interviurilor avute cu 4 departamente de resurse umane din diferite firme din România (Carrefour, Fitbit, Amazon, Adobe), am aflat că selectarea candidaților pentru interviu se efectuează manual în companii, CV-ul (Curriculum Vitae) fiind singurul mod de diferențiere. Drept urmare, candidați ce se potrivesc cu dinamica organizației, ce pot aduce o mai bună valoare, pot fi eliminați din prima etapă, în lipsa unui indice de măsurare a competențelor sociale și a compatibilității. 1 https://www.thebalancecareers.com/what-are-soft-skills-2060852 2 https://www.thebalancecareers.com/what-are-hard-skills-2060829

9 Soluția noastră, Retrics, oferă angajatorului informații despre abilitățile cognitive, precum viteza de decizie, capacitatea de reținere, precizia, precum și informații despre personalitatea acestuia, încă din prima etapă a procesului de angajare. Prin intermediul unor mini-jocuri de memorie, control și atenție ce sunt jucate de candidat în momentul aplicării la locul de muncă, recrutorul primește informații despre competențele sociale ale acestuia. În plus, aceste mini-jocuri vor fi jucate și de cei din companie, pentru a se crea un profil al organizației. Astfel, în momentul alegerii candidaților pentru interviu, recrutorul folosește pe lângă CV și datele despre personalitatea acestuia și compatibilitatea cu departamentul la care aplică. Retrics ajută organizațiile prin oferirea posibilității de a face alegeri educate în prima parte a procesului de recrutare, înainte de a elimina un candidat. Retrics este o soluție alcătuită din 3 părți bine definite: • Jocurile Psihometrice: Aceste au fost dezvoltate pentru a putea măsura anumite metrici, ce le vom elabora și analiza în următoarele capitole. Jocurile se împart în jocuri de memorie, de control și de atenție. Ele sunt jucate de către candidat, ca cerință de aplicare la locul de muncă dorit. • Prelucrarea rezultatelor jocului și modulul de machine learning: Datele oferite de către jocuri sunt prelucrate în metrici semnificative. Pe lângă informațiile oferite de aceste metrici despre abilitățile cognitive ale candidatului, putem să prezicem personalitatea jucătorului doar de pe urma metricilor. • Dashboard-ul: Pe un site web, recrutorul o să primească toate informațiile descoperite de pe urma jocului despre candidat. Această parte poate fi integrată cu un HCM (Human Capital Management)3 , în funcție de companie. În momentul actual, există puține soluții pe piață (PyMetrics4 sau Koru5) ce încearcă să rezolve această problemă. Ele folosesc ori mini-joculete, ori chestionare ce determină informații despre candidat. Principalul diferențiator între ce există deja și Retrics este faptul că noi creăm un profil al firmei mai întâi și apoi oferim date despre compatibilitatea candidatului cu dinamica organizației, pe baza scorului obținut. Scopul acestei lucrări este de a prezenta modul de prelucrare a datelor oferite de jocurile interactive și modulul de machine learning. Proiectul este structurat în 2 părți majore: • prelucrarea metricilor pentru a extrage abilitățile cognitive 3 https://www.gartner.com/en/information-technology/glossary/hcm-human-capital-management 4 https://www.pymetrics.ai/ 5 https://www.cappfinity.com/koru/

10 • prezicerea personalității jucătorului, prin antrenarea unui model de machine learning ce folosește drept date de intrare metricile aflate la pasul anterior Această lucrare discută despre toate componentele necesare pentru a putea dezvolta proiectul, punând accent pe partea de procesare a datelor și machine learning.

11 3 STUDIU DE PIAȚĂ Evaluarea cât mai precisă a abilităților sociale, în timpul procesului de recrutare, este un subiect larg dezbătut în literatura de specialitate [2]. În ultimii ani, rapoartele de analiză efectuate în departamentele de resurse umane din diverse companii, au demonstrat că un număr considerabil dintre acestea nu au un proces bine pus la punct de apreciere a competențelor sociale, deși consideră acest lucru important. Privind în urmă, deciziile de selectare a candidațiilor pentru un loc de muncă implică un anumita bias și se raportează în prima etapă la un singur document – CV. Odată cu continua schimbare a forței de muncă, precum și odată cu accesul la noi tehnologii, este momentul de reinventare a departamentelor de resurse umane. Studiile [3] propun încorporarea strategiilor de evaluare cognitivă prin gamification6 în procesul de angajare. Obiectivile sunt de a atrage mai mulți candidați tineri și de a îmbunătății indicii de selecție. Astfel, prin această metodă, se asigură ca încă din prima etapă a procesului de recrutare vor fi selectați candidații ce se potrivesc cu mediul și valorile organizației. 3.1 Metode existente Nucleul principal al aplicației Retrics este reprezentat de către modulul de machine learning. Acest modul dezvoltă 5 modele predictive ce descriu personalitatea candidatului, pe baza datelor obținute din jocuri: • procentul de extraversiune • procentul de agreabilitate • procentul de conștiinciozitate • procentul de stabilitate emoțională • procentul de deschidere către experiență. În plus, prin prelucrarea informațiilor obținute din prima parte a proiectului, obținem competențele cognitive ale jucătorului: precizia, capacitatea de reținere, ușor/greu de distrat, memoria pe termen scurt, rapiditatea, viteza de decizie, flexibilitatea, viteza de adaptare, concentrarea. În urma interviurilor efectuate pe piața locală din România, nu se folosește nicio soluție automatizată de evaluare a „soft skills”. În prezent, procesul este făcut manual, în etapa de interviu a candidaților, astfel: 6 https://www.bunchball.com/gamification

12 • prin intrebări comportamentale și situaționale, ce permit discuția despre experiențele individuale • prin observarea capacităților de comunicare • prin observarea limbajului corporal și a mimicii • prin proiectele la care a participat • prin recomandări Atunci când facem referire la piața externă, anumite organizații au încercat implementare unor soft-uri de calculare a competențelor ce nu tin de partea tehnică. Cea mai folosită aplicație este Pymetrics. Pymetrics este o aplicație ce are la bază 12 jocuri de neuroștiință ce măsoare în mod obiectiv abilitățile cognitive: • capacitatea de concentrare • viteza de reacție • memoria • judecata • capacitatea de a rezolva problema • toleranța la risc După terminarea jocurilor, candidatul și angajatorul o să primească un raport detaliat cu talentele și punctele sale forte. Diferențiatorul principal între soluția noastra și soluțiile existente, îl reprezintă faptul că modelul nostru de machine learning este antrenat pe baza informațiilor despre angajații din compania respectivă. In acest mod, ne asigurăm ca cel ce aplică este un candidat bun pentru postul dorit. Celelalte soluții creează un profil general al jucătorului, fără a lua în considerare profilul companiei și cum s-ar potrivi acesta pentru poziția la care aplică. De asemenea, noi oferim cele mai multe informații despre candidat, deoarece nu calculam doar capacitățile cognitive, cât și trăsăturile de personalitate prin intermediul modelului de machine learning. 3.2 Concepte teoretice Pentru a crea modelul de machine learning și a obține trăsăturile de personalitate, precum și pentru a înțelege datele necesare antrenării modelului, este necesară o înțelegere a teoriei din spatele proiectului și cum au fost folosite aceste concepte în dezvoltarea produsului.

13 3.2.1 Testul de personalitate “Big 5” A avea oamenii cu calitățile potrivite reprezintă cheia succesului pentru orice companie. Dar fiecare om este definit de anumite trăsături de caracter, cum putem să ne dăm seama de ce avem nevoie? În urma mai multor cercetări, în 1993 au fost definite sub forma finală [4] cele 5 domenii largi ce definesc personalitatea umană. Departamentele de resurse umane utilizează astfel de teste pentru a putea clasifica angajații. Adeseori, aceste teste sunt lungi, iar angajații nu se concentrează, acest lucru conducând la informații eronate. Soluția noastră va elimina testul psihologic, insă va determina aceleași rezultate cu ajutorul unor jocuri interactive. Cele 5 domenii ce alcătuiesc personalitatea umană sunt: • Extraversie: Un punctaj mare în această categorie reprezintă un caracter extrovertit, ce își obține energia interacționând cu alții. Un punctaj mic inseamnă un caracter introvertit, ce îsi obține energia din interior. Alte trăsaturi importante in această categorie sunt: energia, asertivitatea. Măsoara sociabilitatea. • Agreabilitate: Un punctaj mare reprezintă o personalitate prietenoasă, cooperantă și compătimitoare. Un punctaj mic denotă o personalitate rece, distantă. Măsoarea sensibilitatea, onestitatea. • Conștiinciozitate: Un punctaj mare reprezintă un caracter prompt și pe care te poți baza. Un punctaj mic denotă o personalitate dezorganizată. Măsoarea disciplina de sine și repectarea îndatoririlor. • Nevrotism: Se mai numește și stabilitate emoțională. Un punctaj mare reprezintă un caracter instabil emoțional, încordat. Un punctaj mic înseamnă o personalitate comfortabilă, calmă. Măsoarea timiditatea, vulnerabilitatea • Deschiderea către experiență: Un punctaj mare reprezintă un caracter original, creativ, pasionat. Un punctaj mic înseamnă o personalitate rezervata, tăcută. Măsoarea insensibilitatea, pasivitatea. Scorul obținut format din câte un procent pentru cele 5 caracteristici oferă informații despre posibilele reacții în anumite situații. Conform acestui studiu [5] s-a constantat că trăsăturile de mai sus sunt de referință pentru performanța la locul de muncă. Acest test a fost folosit in etapa de colectare a datelor. Rezultatele la acest test vor fi corelate cu metricile obținute în urma jocului și vor fi utilizate pentru a antrena modelul. Scopul este de a putea prezice cele 5 procente de personalitate fără a realiza testul și a obține compatibilitatea cu locul de muncă.

14 3.2.2 Jocuri psihometrice Jocurile psihometrice sunt mini-jocuri ce încorporeaza testele psihometrice7 într-o variantă interactivă, oferind o experiență mai atrăgătoare și realistă pentru candidați. Rezultatele oferă un număr mare de date comportamentale ce pot fi utilizate pentru o selecție educată a potențialilor angajați. Prin intermediul acestor jocuri, recrutorul poate analiza cum se descurcă candidatul în fața unei situații noi. 3.2.3 Machine learning Machine learning este o metodă de învățare și îmbunătățire automată, concentrându-se pe dezvoltarea unor modele de prezicere. Procesul debutează cu o serie de date, observații sau instrucțiuni, unde sunt analizate anumite influențe, ce ajută programul să ia decizii mai bune in viitor, pe baza exemplelor oferite. Scopul principal este să ofere calculatoarelor posibilitatea de a învăța automat, fără nicio intervenție umană. Algoritmii de machine learning se împart în două abordări: • Machine learning supervizat: Această abordare aplică modelul datelor învățate, pe noul set de date, pentru a putea prezice evenimentele viitoare. • Machine learning nesupervizat: Această abordare este folosită dacă informațiile utilizate pentru a antrena modelul nu sunt etichetate sau clasificate. Trecând în revistă tipul de date pe care le folosim pentru a antrena modului de machine learning, și anume competențele cognitive prelucrate în urma jocului psihometric, observăm că avem nevoie de o abordare supervizată în desfășurarea proiectului. Decizia este clară, datorită faptului că informațiile sunt etichetate și au un rezultat predefinit. 3.2.4 Machine learning supervizat Prin definiție, machine learning supervizat înseamna obținerea unei funcții (1) ce oferă o corespondență între variabila de intrare (x) și cea de ieșire (y). Datele de intrare sunt informațiile ce le deținem deja, iar datele de ieșire sunt rezultatele ce dorim să le aflăm. 𝑦=𝑓(𝑥) (1) Scopul este de a aproxima ecuația cât mai precis, pentru a obține un rezultat cât mai aproape de adevăr. Pentru testarea funcției, se folosește un set de date cărora le cunoaștem ieșirea 7 https://www.psychometricinstitute.com.au/psychometric-guide/introduction_to_psychometric_tests.html

15 corectă. Astfel, în urma acestei comparații, obținem eroarea algoritmului, informație ce o vom folosi pentru îmbunătățirea acestuia. Abordarea supervizată se împarte în probleme: • De clasificare: rezultatul funcției este o categorie • De regresie: rezultatul funcției este o variabilă numerică continuă Scopul nostru este de a obține un procent pentru fiecare dintre cele 5 trăsături de personalitate. Procentul fiind o variabilă între 0 și 100, am decis că în această parte a proiectului folosim o problemă de regresie. 3.2.5 Tehnici de regresie Pentru a întelege modul în care o modificare intr-o variabilă independentă poate avea efect asupra variabilei dependente, folosim o tehnică de regresie. Practic, prin regresie se stabilește o ecuație pentru a explica relația semnificantă și impactul dintre variabilele dependente și cele independente. Pentru proiectul nostru am folosit 2 tipuri de regresie, pe care le-am comparat pentru a vedea care dintre ele ne oferă o relație mai puternică. • Regresie Liniară: Regresia Liniară este cea mai utilizată tehnică de modelare. Acesta abordare stabilește o relațe între variabila dependentă (Y) și variabila/variabilele independente (X), folosind o linie de regresie dreaptă Figura 1.
Figura 1 Grafic regresie liniară 8 8 https://towardsdatascience.com/a-beginners-guide-to-linear-regression-in-python-with-scikit-learn-83a8f7ae2b4f

16 Regresia liniară este reprezentată de către ecuația (2): 𝑌=𝑎+𝑏∗𝑋 (2) – Y: este rezultatul pe care îl aproximă – a: interceptul (locul unde linia de regresie întâlnește axa OY) – b: panta de regresie (cu cât se modifică Y atunci când se modifică o unitate X) – X: este variabila cunoscută Ecuația (2) este folosită când avem o regresie simplă lineară. În cazul mai multor variabile, este nevoie de o formulă pentru o regresie multiplă liniară (3): 𝑌=𝑎+𝑏"∗𝑋"+⋯+𝑏#∗𝑋# (3) • Regresie polinomială Regresia polinomială este definită de o ecuație polinomială, conform ecuației (4): 𝑌=𝑎+𝑏"∗𝑋"$+⋯+ 𝑏#∗𝑋#$ (4) În graficul acestei tehnici, linia ce se potrivește datelor nu este o linie dreaptă, ci mai degrabă o linie curbă Figura 2.
Figura 2 Grafic regresie polinomială9 9 https://www.w3schools.com/python/python_ml_polynomial_regression.asp

17 3.2.6 Coeficientul de corelație Coeficientul de corelație măsoară relația dintre 2 variabile (nominale sau ordinale) și ne indică existența unei legături între cele 2. Acesta este cuprins între 1 și -1: semnul coeficientului semnalează direcția relației. Drept urmare, o legătura pozitivă înseamnă că o creștere a unui parametru declanșează o creștere a celuilalt parametru, iar una negativă reprezintă că o creștere este asociată cu o scădere a celuilat. Atunci când dorim să interpretăm rezultatul coeficientului de corelație, este important să definim tipul variabilelor măsurate. Nu există o regulă bine stabilită ce să încadreze mărimea corelației în una dintre cele 3 categorii: corelație slabă, corelație moderată sau corelație puternică. Astfel, domeniul de studiu este relevant pentru explicarea coeficientului. Făcând referință la proiectul nostru, variabilele pe care încercăm să le examinăm sunt dificil de gradat, deoarece măsoară concepte abstracte, cum ar fi personalitatea umană. Conform acestei cărți [6], este normal să anticipăm coeficienți de corelație mai mici, dar în același timp semnificanți. În studii precum această lucrare, rezultatele corelațiilor se împart în felul următor: • Rezultatul e cuprins în intervalul [+0.4, +1] și [-0.4, -1] => corelație puternică • Rezultatul e cuprins în intervalul [+0.2, +0.4] și [-0.4, -0.2] => corelație moderată • Rezultatul e cuprins în intervalul [+0.1, +0.2] și [-0.2, -0.1] => corelație slabă Mai departe vom folosi coeficientul Pearson de corelație pentru a analiza legătura între variabilele din setul nostru de date. • Coeficientul Pearson de corelație Coeficientul Pearson este cea mai folosită abordare pentru a măsura relația dintre o variabilă independentă și una dependentă, ambele continue și normal distribuite. Acesta se calculează conform formulei (5): 𝑟&'= 1𝑛∑(𝑥− 𝑥)(𝑦− 𝑦)𝑠&𝑠' (5) – n: numărul de elemente din setul de date – x: valorile lui x – y: valorile lui y – 𝑥: media aritmetică pentru parametrii x – 𝑦: media aritmetică pentru parametrii y – 𝑠!: deviația standard a parametrilor x – 𝑠": deviația standard a parametrilor y

18 3.2.7 Metode de evaluare a modelului de regresie Pentru a putea face comparații între ce tip de regresie se potrivește setului nostru de data, o să folosim 3 metode de evaluare. Acestea se folosesc în etapa de testare a modelului, asupra datelor estimate contra datelor reale. Diferența dintre valoarea reală și ces estimată se numește reziduu. • Media absolută a erorilor – MAE: Se calculează media tuturor reziduurilor în valoare absolută, conform ecuației (6): 1𝑛5|𝑦(− 𝑦7|#()" (6) Un rezultat mic semnifică un model bun de prezicere a variabilelor, iar un rezultat mare indică un model problematic, nu foarte precis. • Media pătratelor erorilor – MSE: Se calculează asemănător cu MAE, dar folosește patratul reziduurilor în locul valoarei absolute, conform ecuației (7): 1𝑛5(𝑦(− 𝑦7)$#()" (7) Rezultatul o să fie considerabil mai mare decât MAE, atunci când apar diferențe mari între valorile estimate și valorile așteptate. Erorile au o greutate semnificativă asupra rezultatului. • Rădăcina mediei patratelor erorilor – RMSE: Rezultatul este rădăcina pătrată a MSE, conform ecuației (8). 81𝑛5(𝑦(− 𝑦7)$#()" (8) RMSE este folosit deoarece poate fi interpretat în unități "y".

19 4 SOLUȚIA PROPUSĂ Subiectul acestei lucrări face parte dintr-un proiect complex, Retrics, împărțit în 3 module. Mai întâi vom arunca o privire asupra arhitecturii aplicației ca întreg, iar apoi vom discuta de arhitectura modulului de data science pe care se bazează această teză de licentă. 4.1 Arhitectura Retrics
Figura 3 Arhitectura Retrics Retrics are la bază o arhitectură de microservicii. Acest lucru înseamnă că aplicația este alcătuită din 3 module, ce un un rol propriu bine-definit și comunică între ele prin protocolul HTTP (Hypertext Transfer Protocol)10. Datele ce sunt transmise între module sunt sub formă de JSON (JavaScript Object Notation)11. Principiul microserviciilor este că fiecare modul poate fi implementat independent, oferind astfel scalabilitate și fiabilitate. Cele 3 componente Retrics sunt: • Jocurile psihometrice: Aceste jocuri au fost concepute pentru a colecta informații relevante ce vor fi prelucrate în următorul modul. Cele 6 jocuri se împart în 3 tipuri: de memorie (mem_arrow, mem_red, mem_red_yellow, mem_secv), de control (control) și de atenție (attention). • Prelucrarea rezultatelor jocului și machine learning: Această componentă reprezintă subiectul lucrării actuale. Aici are loc întregul proces de “Data Science” [7], ce îl vom explica în următoarele subcapitole. Modulul primește datele colectate în urma jocurilor și trimite mai departe un json ce conține trăsăturile de personalitate estimate de algoritmul de machine learning, precum si abilitățile cognitive calculate. 10 https://www.w3schools.com/whatis/whatis_http.asp 11 https://www.json.org/json-en.html

20 • Dashboard: O interfață web unde recrutorul poate vizualiza rezultatele candidatului. Atenția noastra este acum concentrată asupra procesului de prelucrare și modelare a datelor. Arhitectura acestui modul urmărește pașii din Figura 4. În continuare, vom explica modul în care am realizat fiecare etapă.
Figura 4 Arhitectura Data Science12 4.2 Obținerea datelor (O) Scopul nostru este de a antrena modelul, astfel încât să putem prezice rezultatele testului psihologic pe baza rezultatelor de la jocurile psihometrice. Astfel, în această etapa vom discuta despre modul de colectare a datelor (Figura 5).
Figura 5 Workflow obținerea datelor 12 https://towardsdatascience.com/5-steps-of-a-data-science-project-lifecycle-26c50372b492

21 Datele necesare pentru întregul proces se împart în 2 categorii: • Datele provenite în urma testului psihologic –> trăsăturile de personalitate Avem nevoie de acestea doar pentru partea de instruire și testare a modelului de machine learning. Ele sunt obținute în urma unui chestionar, ce conține un test Big5 [8] open-source de 50 de întrebări. Răspunsurile sunt stocate într-un document Excel pe care îl vom prelucra pentru a calcula procentul corespunzător fiecărei trăsături de personalitate: extraversie, agreabilitate, conștiinciozitate, nevrotism, deschiderea către experiențe. Fiecare întrebare are un punctaj între 1 (dezacord total) și 5 (acord total) și aparține uneia dintre cele 5 trăsături. Astfel, pentru fiecare caracteristică se adună punctajul oferit la fiecare întrebare ce îî corespunde plus o valoare prestabilită. • Datele provenite în urma jocurilor psihometrice –> abilitățile cognitive Avem nevoie de acestea atât pentru partea de instruire și testare a modelului de machine learning, cât și pentru a prezice trăsăturile de personalitate după crearea modelului. Ele sunt obținute în urma completării jocurilor psihometrice. Detaliile despre desfășurarea jocului sunt salvate sub formă de JSON , pe o pagină web, conform figurii 6. Observăm că fiecare joc este împărțit. Jocurile de memorie (M) sunt: mem_arrow, mem_red_yellow și mem_red_secv. Cel de atenție (A) este reprezentat de: attention, iar cel de control (C) de: control. Jocurile oferă informații despre timpul petrecut pe fiecare rundă, dacă au rezolvat corect proba și detalii despre soluția corectă. Figura 6 Exemplu JSON JSON-ul obținut a fost prelucrat pentru a obține următoarele metrici, ce sunt folosite pentru a obține corelații între acestea și trăsăturile de personalitate. Metricile au fost alese pentru a ne ajuta să stabilim o legătură între variabile, inspirația provenind din acest articol [9]. Tipul de joc căruia îi aparține metrica, este scris între parantezele pătrate. à Metricile ce aparțin jocurilor de memorie: [M]precizie; [M]eroare distanță; [M]capacitate reținere; [M]imperturbabil; [M]memorie termen scurt à Metricile ce aparțin jocurilor de control: [C]rapiditate(ms); [C]viteză decizie(ms); [C]performanță repetitivă

22 à Metricile ce aparțin jocurilor de atenție: [A]flexibilitate; [A]viteza adaptare; [A]concentrare Pentru realizarea proiectului am obținut un set de date alcătuit din 80 de intrări distincte – 80 de persoane au participat la acest studiu. Aceștia au completat atât testul psihologic, cât și jocurile Retrics. 4.3 Curățarea datelor (S) În această etapă, ne-am asigurat că datele sunt relevante și filtrate pentru a fi analizate. Primul pas a fost să convertim datele obținute la pasul anterior, din JSON și Excel, într-un dicționar. Fiecare jucător a avut asignat un id unic, astfel încât să fie posibilă asocierea rezultatelor chestionarului cu cele ale jocurilor. Datele au fost stocate în dicționar conform figurii 7. Figura 7 Exemplu intrare în dicționar Al doiles pas a fost să eliminăm intrările incomplete din dicționar. Considerăm că o intrare este incompletă dacă: – Nu au fost completate ambele cerințe: candidatul a completat doar chestionarul sau doar jocul – Candidatul nu a dus la sfârșit jocul sau chestionarul. Al treilea pas l-a reprezentat detecția valorilor extreme și eliminarea lor. Efectuăm această etapă prin metoda 1.5xIQR – Regula intervalului intermediar. Valorile extreme sunt valori ce se află în afara formei setului de date. Prim metoda menționată, aceste valori sunt cele ce nu se află în întervalul delimitat de Q1 (un sfert din datele prezente) și Q3 (trei sferturi din datele prezente). 4.4 Explorarea datelor (E)

23 În momentul actual, avem un set de date conform figurii 7. Întrebarea pe care ne-o punem în această etapă este ce reprezintă aceste date și ce facem cu ele? Primul pas a fost să inspectăm datele, pentru a descoperi proprietățile acestora. Observăm că datele noastre sunt de tipul numeric. Al doilea pas l-a reprezentat încercarea de a găsi o legătura între variabile. Deoarece datele noastre sunt împărțite în (vezi capitolul 3.2): trăsături de personalitate și abilități cognitive, căutăm o relație între variabilele dintre cele 2 categorii. Această relație am aflat-o prin calcularea coeficientului de corelație Pearson între variabile conform figurii 8.
Figura 8 Relații între variabile 4.5 Modelarea datelor (M) În acest stadiu, am construit modelul de machine learning pentru a putea prezice valorile trăsăturilor de personalitate ale candidatului, după ce acesta termină jocul psihometric. Primul pas a fost să împărțim datele finale obținute mai sus în 75% date de instruire și în 25% date de testare. Setul de testare a fost folosit pentru a valida modelul obținut și pentru a putea evalua care model este mai bun. Deoarece scopul nostru este de a prezice cât mai precis cele 5 trăsături de personalitate, am construit câte un model de machine learning pentru fiecare: extraversie, agreabilitate,

24 constiinciozitate, nevrotism, deschidere către experiență. Pentru fiecare trăsătură am folosit mai multe metrici, în funcție de valoarea coeficientului de corelație dintre variabila dependentă – trăsătura de personalitate – și variabilele independente – metricile abilităților cognitive. Apoi, am aplicat o regresie liniară multiplă și o regresie polinomială multiplă asupra variabilelor pentru a evalua ce linie se potrivește mai bine datelor noastre. Pentru a evalua cele 2 modele, am folosit setul de testare pentru a prezice trăsăturile, pe care l-am comparat cu rezultatele calculate în urma testului psihologic.
Figura 9 Workflow modelare date13 4.6 Interpretarea datelor (N) Această ultimă etapă presupune evaluarea rezultatelor și tragerea concluziilor. Aici am discutat despre relațiile pe care le-am observat între variabile și tipul de regresie potrivit pentru fiecare trăsătură. Dacă în acest capitol am discutat etapele pe care le-am urmat în realizarea structurii soluției, în următoarele 2 capitole o să discutăm despre implementarea fiecărei etape și dificultățile întâmpinate, precum și despre rezultatele obținute și interpretarea lor. 13 https://towardsdatascience.com/5-steps-of-a-data-science-project-lifecycle-26c50372b492

25 5 IMPLEMENTARE În acest capitol vom prezenta implementarea soluției, în ordinea etapelor descrise în capitolul anterior. Întreaga aplicație a fost scrisă în limbajul Python. Motivul pentru care am ales acest limbaj este faptul că oferă biblioteci puternice pentru a prelucra și reprezenta datele: Scikit learn, Panda, NumPy, Matplotlib. 5.1 Obținerea datelor • Datele provenite în urma testului psihologic –> trăsăturile de personalitate Aceste date au fost stocate într-un excel, în urma completării chestionarului. Pentru a putea să citim și să prelucrăm câmpurile din formular, am folosit biblioteca xlrd 14, utilă pentru a citi și a formata date din fișierele cu extensia “.xls” sau “.xlsx”. Figura 10 Citire Excel În figura 10 avem codul folosit pentru a obține datele: pe linia 94 setăm locația fișierului pe care dorim să îl prelucrăm; pe linia 95 deschidem fișierul aflat la locația respectivă; pe linia 96 salvăm conținutul acestuia într-o variabilă pe care o vom folosi pentru a accesa elementele.
Figura 11 Calculare procent extraversie Figura 11 descrie modul în care am calculat procentul pentru fiecare trăsătură de personalitate, conform întrebărilor (coloanelor) specifice. Variabilia “i” reprezintă candidatul de pe linia “i”. Astfel, pe linia 6 am calculat răspunsurile date de către candidatul cu numărul de ordine “i” pentru întrebările corespunzătoare trăsăturii de personalitate extravertit. 14 https://xlrd.readthedocs.io/en/latest/

26 Funcția returnează rezultatul obținut pentru a fi stocat într-un dicționar ce are drept cheie un id unic al candidatului – email-ul. • Datele provenite în urma jocurilor psihometrice –> abilitățile cognitive Aceste date sunt stocate sub formă de JSON. Astfel, am folosit biblioteca json15 pentru a decoda și citi informațiile provenite de la sesiunea web. Pentru a putea face o cerere HTTP, am avut nevoie de biblioteca requests16 Figura 12 Citire JSON În figura 12 este prezent codul utilizat pentru a extrage datele necesare. Pe linia 302 setăm adresa URL a locației de unde dorim să luam informațiile, linia 303 realizează o solicitare HTTP ce întoarce un json, iar linia 304 decodează json-ul sub forma unui dicționar salvat în variabila data. Mai departe, am folosit datele venite de la server pentru a calcula metriciile ce descriu abilitățile cognitive ale participantului, astfel: • [M]precision: reprezintă procentul de cazuri în care jucătorul a selectat corect săgeata ce s-a modificat – se calculeaza pentru jocul mem_arrow • [M]errorDistance: reprezintă media distanței dintre săgeata aleasă și săgeata ce ar fi trebuit aleasă; în cazul în care săgeata a fost aleasă corect, această distanță e 0 – se calculeaza pentru jocul mem_arrow • [M]retentionCapacity: reprezintă procentul de puncte memorate (alese corect) relativ la numărul total de puncte roșii din toate rundele – se calculează pentru jocurile mem_red, mem_red_yellow, mem_secv • [M]imperturbablel: reprezintă procentul de puncte memorate (alese corect) atunci când apar și puncte galbene în joc – se calculează doar pentru jocul mem_yellow • [M]shortTermMemory: reprezintă procentul total de puncte memorate (alese corect) în primele 10 secunde din fiecare rundă – se calculează pentru jocurile mem_red, mem_red_yellow, mem_secv • [C]rapidity(ms): reprezintă media timpului de reacție atunci când am rezolvat corect runda; rezultatul este în milisecunde – se calculează pentru jocul control 15 https://docs.python.org/3/library/json.html 16 https://requests.readthedocs.io/en/master/

27 • [C]decisionSpeed (ms): reprezintă media timpului de reacție de când a început runda, până a ales un răspuns, indiferent dacă acesta e corect sau nu; rezultatul este în milisecunde – se calculează pentru jocul control • [C]repetitivePerformance: reprezintă procentul de runde câștigate – se calculează pentru jocul control • [A]flexibility: reprezintă procentul de runde câștigate când se schimbă direcția săgeții – se calculează pentru jocul attention • [A]adjustmentSpeed(ms): reprezintă viteza de reacție atunci când se schimbă direcția săgeții și jucătorul a ales corect – se calculează pentru jocul attention • [A]focus: reprezintă procentul de runde câștigate în mai putin de 0.8s – se calculează pentru jocul attention Următorul pas după ce am obținut atât abilitățile cognitive, cât și abilitățile sociale, a fost să creăm un fișier CSV. Ambele seturi de date au fost asociate prin intermediul cheii unice (em-mail), însă au fost salvate în CSV fără acest detaliu, pentru a păstra anonimitatea datelor de instruire și test. Am ales folosirea tipului de fișier CSV, deoarece este ușor de lucrat cu el. Pentru implementarea acestei funcții, am folosit biblioteca csv17 din Python. În figura 13, avem o parte din cum arată fișierul generat. Figura 13 Fișier CSV 5.2 Curățarea datelor Scopul acestei etape este să ne asigurăm ca datele ce au fost scrise în CSV sunt complete, pentru a nu avea probleme la procesarea lor în cadrul funcțiilor următoare. Ne-am asigurat că nu avem data incomplete, verificând că fiecare joc a fost terminat de către jucător, conform figurii 14 – pe linia 88 avem un for pentru a trece prin fiecare intrare din dicționar, adică să verificăm fiecare candidat, iar pe linia 89 dacă avem variabila gameFinished pe True, însemnănd că jocul a fost dus până la final. 17 https://docs.python.org/3/library/csv.html

28 Figura 14 Verificare Joc Următorul pas a fost eliminarea valorilor extreme. Pentru a face acest lucru, am folosit metoda 1.5xIQR. Figura 15 Eliminare valori extreme Observăm în figura 15 pașii efectuați pentru a găsi liniile din fișierul generat ce conțin valori extreme. Pe linia 8 am deschis fișierul în care dorim să căutăm, pe linia 9 și 10 am calculat Q1 și Q3 în funcție de datele pe care le avem. S-a calculat Q1 și Q3 pentru fiecare coloană, precum și diferența dintre acestea stocată în IQR (Figura 16), iar pe linia 12 am obținut un vector cu numărul de ordine al liniilor ce nu se încadrează în intervalul [Q1 – 1.5xIQR, Q3 + 1.5xIQR]. Acest vector l-am folosit pentru a știi ce linii eliminăm din fișierul inițial, generând astfel un nou fișier, pe care îl vom folosi în următoarele etape.
Figura 16 IQR 5.3 Explorarea datelor După ce am terminat cei 2 pași de curățare a datelor, și am generat noul fișier ce îl vom folosi în etapele următoare – “cleanData.csv”, avem toate informațiile necesare pentru a le explora.

29 Pentru a calcula coeficientul de corelație Pearson între variabile conform figurii 8, am folosit biblioteca scipy18 din Python, conform figurii 17.
Figura 17 Calculare coeficient Pearson Variabilele au fost împărțite în 2 categorii: trăsături de personalitate (personalityTrait) și atributele cognitive (attributesList). Lista cu atributele este descrisă pe liniile 10, 11 și 12, iar trăsătura de personalitate pentru care dorim să calculăm coeficientul de corelație este trimis ca parametru. Pe liniile 14 – 19 are loc calculul efectiv al coeficientului Pearson între fiecare metrică și trăsătura cu care apelăm funcția. Pe baza rezultatelor obținute, am evaluat legăturile între variabile și am decis pe care să le utilizăm în crearea modelului de machine learning. Vom discuta detaliat acestă etapă de evaluare în capitolul următor, deoarece nu necesită o parte de cod, ci doar o analiză a valorilor coeficienților. 5.4 Modelarea datelor După ce am decis relațiile semnificative (Tabel 1) dintre fiecare variabilă dependentă – extraversie, agreabilitate, conștiinciozitate, nevrotism, deschiderea către experiențe – și variabilele independente reprezentate de către metriciile descrise în capitolul 4.1, este momentul să creăm modelul ce se potrivește cel mai bine datelor noastre. De aceea, am folosit două regresii: regresia multiplă liniară și regresia multiplă polinomiala, pentru a le putea compara. Biblioteca folosită pentru regresii în python se numește scikit-learn19. Variabila dependentă(Y) Variabilele independente (X) Extraversie [M]precision, [C]rapidity, [A]flexibility, [A]focus Agreabilitate [M]errorDistance, [M]shortTermMemory, [A]flexibility, [A]focus Conștiinciozitate [M]shortTermMemory, [A]adjustmentSpeed 18 https://www.scipy.org/docs.html 19 https://scikit-learn.org/stable/

30 Nevrotism [M]precision, [M]retentionCapacity, [M]imperturbable, [M]shortTermMemory, [C]repetitivePerformance, [A]flexibility, [A]focus Deschidere către experiențe [C]decisionSpeed, [C]repetitivePerformance, [A]adjustmentSpeed, [A]focus Tabel 1 Relațiile între variabile • Instruirea modelelor de regresie:
Figura 18 Regresie liniara Figura 19 Regresie polinomiala Atât în figura 18, cât și în figura 19, codul începe cu alegerea variabilelor independente în funcție de variabila dependentă trimisă ca parametru prin parametrul type. Următorul pas este de a genera modelul de regresie, pe care funcția îl returnează. Acesta va fi folosit mai departe pentru a valida și a prezice date. În plus, la regresia polinomială, pe rândul 32 și 33 am transformat datele în polinomi pentru a putea crea modelul. • Validare Model După ce am obținut cele 2 tipuri de regresie pentru fiecare trăsătură de personalitate, am calculat media absolută a erorilor, media pătratelor erorilor și rădăcina mediei pătratelor erorilor. Calculul s-a efectuat cu ajutorul variabilelor Y prezise de către modelul polinomial/liniar și cu variabilele actuale Y din setul de testare. Aceste evaluări ne-au ajutat în a ne decide asupra unui model pentru fiecare trăsătură. Astfel, rezultatul final este (Tabelul 2): Trăsătură de personalitate Tip regresie Extraversie Regresie liniară multiplă Agreabilitate Regresie polinomială multiplă Conștiinciozitate Regresie liniară multiplă Nevrotism Regresie liniară multiplă Deschidere către experiențe Regresie liniară multiplă Tabel 2 Tipurile de regresie

31 • Prezicerea trăsăturilor de personalitate Acest punct reprezintă pasul final din întregul proces de prelucrare și modelare a datelor. Pentru a reuși să prezicem doar pe baza informațiilor provenite de la jocurile Retrics, am creat la pasul anterior un model pe baza setului de date inițial. Atunci când un candidat joacă jocurile Retrics, informațiile sunt imediat prelucrate pentru a-i afla abilitățile cognitive (Figura 20). Parametrul data conține datele sub formă de JSON returnate de către cele 6 jocuri pentru jucătorul curent.
Figura 20 Obținere metrici Scopul final este de a aproxima toate cele 5 trăsături, astfel că ne folosim de metricile obținute, le împărțim în funcție de atributul dorit și apoi folosim modelul de regresie specific pentru a obține rezultatul dorit (Figura 21). Acesta va fi prelucrat într-un grafic de tip păianjen, pentru a avea o vizualizare mai bună. Pentru a face grafice, am folosit biblioteca plotly20, deoarece procesul este foarte simplu și rapid, fiind necesar doar să introduc datele și să specific tipul de grafic pe care am vrut să îl folosim.
Figura 21 Grafic trăsături 20 https://plotly.com/python/plotly-express/

32 6 EVALUAREA REZULTATELOR În cadrul acestei lucrări, rezultatul urmărit este aproximarea cât mai apropiată a trăsăturilor de personalitate ale candidatului, având ca set de intrare abilitățile sale cognitive. În continuare, o să interpretăm pe rând, pentru fiecare trăsătură, coeficienții de corelație, precum și modelul de regresie potrivit. Conform studiului [6], se subliniază ideea că atunci când analizăm variabile abstracte, precum sentimente sau abilități, coeficientul de corelație va avea valori mai mici: • [+0.4, +1] și [-0.4, -1] => corelație puternică • [+0.2, +0.4] și [-0.4, -0.2] => corelație moderată • [+0.1, +0.2] și [-0.2, -0.1] => corelație slabă O corelație pozitivă înseamnă că atunci când una dintre variabile crește, va crește și cealaltă, iar una negativă înseamnă că atunci când una dintre variabile crește, cealaltă o să scadă. 6.1 Extraversie 6.1.1 Alegerea metricilor pe baza coeficientului de corelație Pearson Coeficientul de corelație Pearson între: Extraversie [M]precizie 0.22 [M]eroare distanță -0.13 [M]capacitate de reținere 0.14 [M]imperturbabil 0.05 [M]memorie termen scurt -0.03 [C]rapiditate 0.15 [C]viteză decizie 0.14 [C]performanta repetitivă 0.07 [A]flexibilitate -0.24 [A]viteză ajustare -0.13 [A]concentrare 0.20 Tabel 3 Valoare corelații Observăm în tabelul 3 că: • Avem o corelație moderată pozitivă între extraversie și [M]precizie, [A]concentrare. • Avem o corelație moderată negativă între extraversie și [A]flexibilitate. • Avem o corelație slabă pozitivă între extraversie și [M]capacitate de reținere, [C]rapiditate, [C]viteză decizie. • Avem o corelație slabă negativă între extraversie și [A]viteză ajustare, [M]eroare distanță

33 • Nu există nicio relație între extroversie și [C]performanta repetitivă, [M]imperturbabil, [M]memorie termen scurt • Pentru a crea un model relevant, am decis să continui explorarea relației dintre extraversie și [M]precizie, [A]concentrare, [A]flexibilitate, [C]rapiditate. • Decizia a fost luată pe baza coeficientului de corelație dintre acestea, considerând drept limită inferioară valoarea 0.15. 6.1.2 Alegerea tipului de regresie Regresie liniară Regresie polinomială Valoarea reală Valoare prezisă Valoarea reală Valoare prezisă 50 53 50 60 50 48 50 48 55 53 55 49 51 46 51 49 52 53 52 53 49 52 49 44 57 54 57 44 47 47 47 22 55 56 55 62 52 54 52 69 Media absolută a erorilor (MAE) 2.2 Media absolută a erorilor (MAE) 8.8 Media pătratică a erorilor (MSE) 6.6 Media pătratică a erorilor (MSE) 130.2 Rădăcina mediei pătratice a erorilor (RMSE) 2.56 Rădăcina mediei pătratice a erorilor (RMSE) 11.41 Tabel 4 Validare model Observăm în tabelul 4 următoarele: • La regresia liniară avem în medie o diferența de 2.2 între valoarea reală și cea prezisă. La regresia polinomială avem în medie o diferența de 8.8 între valoarea reală și cea prezisă. Astfel, putem afirma că reziduurile regresiei liniare sunt mai mici decât ale regresiei polinomiale. • MAE, MSE și RMSE la regresia liniară au valori mai mici decât la regresia polinomială. Acest lucru conclude că modelul regresiei liniare se potrivește mai bine pentru datele noastre, deoarece valorile aproximate sunt mai aproape de adevăr. Modelul matematic al regresiei liniare pentru extroversie (Ecuația 9): Extroversie = 44 + 0.12 [M]precizie + 0.2 ∗ [M]rapiditate – 0.13 ∗ [A]flexibilitate + 0.7 ∗ [C] concentrare (9)

34 – Când [M]precizie crește cu o unitate, variabilia dependentă extroversie crește cu 0.12 – Când [M]rapiditate crește cu o unitate, variabilia dependentă extroversie crește cu 0.2 – Când [A]flexibilitate crește cu o unitate, variabilia dependentă extroversie scade cu 0.13 – Când [C]concentrare crește cu o unitatate, variabilia dependentă extroversie crește cu 0.7. 6.2 Deschiderea către experiență 6.2.1 Alegerea metricilor pe baza coeficientului de corelație Pearson Coeficientul de corelație Pearson între: Deschidere către experiență [M]precizie 0.09 [M]eroare distanță 0.06 [M]capacitate de reținere 0.13 [M]imperturbabil 0.10 [M]memorie termen scurt 0.07 [C]rapiditate -0.14 [C]viteză decizie -0.18 [C]performanta repetitivă 0.20 [A]flexibilitate 0.17 [A]viteză ajustare -0.22 [A]concentrare -0.32 Tabel 5 Valoare corelații Observăm în tabelul 5 că: • Avem o corelație moderată pozitivă între deschidere către experiență și [C]performanta repetitivă. • Avem o corelație moderată negativă între deschidere către experiență și [A]viteză ajustare, [A]concentrare. • Avem o corelație slabă pozitivă între deschidere către experiență și [M]capacitate de reținere, [M]imperturbabil, [A]flexibilitate. • Avem o corelație slabă negativă între deschidere către experiență și [C]rapiditate, [C]viteză decizie. • Nu există nicio relație între deschidere către experiență și [M]eroare distanță, [M]precizie, [M]memorie termen scurt • Pentru a crea un model relevant, am decis să continui explorarea relației dintre deschidere către experiență și [A]viteză ajustare, [A]concentrare, [C]performanta repetitivă, [C]viteză decizie. • Decizia a fost luată pe baza coeficientului de corelație dintre acestea, considerând drept limită inferioară valoarea 0.18.

35 6.2.2 Alegerea tipului de regresie Regresie liniară Regresie polinomială Valoarea reală Valoare prezisă Valoarea reală Valoare prezisă 53 51 53 47 57 55 57 56 49 47 49 45 63 62 63 57 60 58 60 54 67 64 67 71 62 58 62 61 52 55 52 54 57 57 57 58 67 67 67 70 Media absolută a erorilor (MAE) 1.9 Media absolută a erorilor (MAE) 3.4 Media pătratică a erorilor (MSE) 5.1 Media pătratică a erorilor (MSE) 15.6 Rădăcina mediei pătratice a erorilor (RMSE) 2.25 Rădăcina mediei pătratice a erorilor (RMSE) 3.94 Tabel 6 Validare model Observăm în tabelul 6 următoarele: • La regresia liniară avem în medie o diferența de 1.9 între valoarea reală și cea prezisă. La regresia polinomială avem în medie o diferența de 3.4 între valoarea reală și cea prezisă. Astfel, putem afirma că reziduurile regresiei liniare sunt mai mici decât ale regresiei polinomiale. • MAE, MSE și RMSE la regresia liniară au valori mai mici decât la regresia polinomială. Acest lucru conclude că modelul regresiei liniare se potrivește mai bine pentru datele noastre, deoarece valorile aproximate sunt mai aproape de adevăr. Modelul matematic al regresiei liniare pentru deschiderea către experiență (Ecuația 10): Deschiderea către experiență= 71− 0.2∗[C]viteză decizie + 0.6 ∗ [C]performanta repetitivă– 0.4 ∗ [A]concentrare+ 0.25 ∗[A]viteză ajustare (10) – Când [C]viteză decizie crește cu o unitate, variabilia dependentă deschiderea către experiență scade cu 0.2. – Când [C]performanta repetitivă crește cu o unitate, variabilia dependentă deschiderea către experiență crește cu 0.6. – Când [A]concentrare crește cu o unitate, variabilia dependentă deschiderea către experiență scade cu 0.4.

36 – Când [A]viteză ajustare crește cu o unitatate, variabilia dependentă deschiderea către experiență crește cu 0.25. 6.3 Nevrotism 6.3.1 Alegerea metricilor pe baza coeficientului de corelație Pearson Coeficientul de corelație Pearson între: Nevrotism [M]precizie 0.22 [M]eroare distanță -0.15 [M]capacitate de reținere 0.17 [M]imperturbabil 0.38 [M]memorie termen scurt 0.48 [C]rapiditate -0.02 [C]viteză decizie -0.06 [C]performanta repetitivă 0.44 [A]flexibilitate 0.12 [A]viteză ajustare -0.24 [A]concentrare 0.47 Tabel 7 Valoare corelații Observăm în tabelul 7 că: • Avem o corelație puternică pozitivă între nevrotism și [A]concentrare, [C]performanta repetitivă, [M]memorie termen scurt. • Avem o corelație moderată pozitivă între nevrotism și [M]imperturbabil, [M]precizie. • Avem o corelație moderată negativă între nevrotism și [A]viteză ajustare. • Avem o corelație slabă pozitivă între nevrotism și [M]capacitate de reținere, [A]flexibilitate. • Avem o corelație slabă negativă între nevrotism și [M]eroare distanță. • Nu există nicio relație între nevrotism și [C]rapiditate, [C]viteză decizie. • Pentru a crea un model relevant, am decis să continui explorarea relației dintre nevrotism și [M]precizie, [M]capacitate reținere, [M]imperturbabil, [M]memorie termen scurt, [C]performanță repetitivă, [A]viteză ajustare, [A]concentrare. • Decizia a fost luată pe baza coeficientului de corelație dintre acestea, considerând drept limită inferioară valoarea 0.17. 6.3.2 Alegerea tipului de regresie Regresie liniară Regresie polinomială Valoarea reală Valoare prezisă Valoarea reală Valoare prezisă 32 34 32 -95 42 40 42 -57 50 48 50 326

37 50 46 50 252 50 53 50 351 47 49 47 62 50 45 50 19 45 45 45 5 30 32 30 587 45 42 45 -42 Media absolută a erorilor (MAE) 2.5 Media absolută a erorilor (MAE) 173.5 Media pătratică a erorilor (MSE) 7.9 Media pătratică a erorilor (MSE) 55411.5 Rădăcina mediei pătratice a erorilor (RMSE) 2.81 Rădăcina mediei pătratice a erorilor (RMSE) 235.39 Tabel 8 Validare model Observăm în tabelul 8 următoarele: • La regresia liniară avem în medie o diferența de 2.5 între valoarea reală și cea prezisă. La regresia polinomială avem în medie o diferența de 173.5 între valoarea reală și cea prezisă. Astfel, putem afirma că reziduurile regresiei liniare sunt mult mai mici decât ale regresiei polinomiale. • MAE, MSE și RMSE la regresia liniară au valori mult mai mici decât la regresia polinomială. Acest lucru conclude că modelul regresiei liniare se potrivește mai bine pentru datele noastre, deoarece valorile aproximate sunt mai aproape de adevăr. Modelul polinomial nu se potrivește deloc cu setul nostru. Modelul matematic al regresiei liniare pentru nevrotism (Ecuația 11): Nevrotism= 23+ 0.1∗[M]precizie−0.3 ∗ [M]capacitate reținere+ 0.29∗ [M]imperturbabil+ 0.26 ∗[M]memorie termen scurt+0.5∗[C]performanță repetitivă+0.8∗ [A]viteză ajustare+0.1∗ [A]concentrare (11) – Când [M]precizie decizie crește cu o unitate, variabilia dependentă nevrotism crește cu 0.1. – Când [M]capacitate reținere crește cu o unitate, variabilia dependentă nevrotism scade cu 0.3. – Când [M]imperturbabil crește cu o unitate, variabilia dependentă nevrotism crește cu 0.29. – Când [M]memorie termen scurt ajustare crește cu o unitatate, variabilia dependentă nevrotism crește cu 0.26. – Când [C]performanta repetitivă crește cu o unitate, variabilia dependentă nevrotism crește cu 0.5. – Când [A]viteză ajustare crește cu o unitate, variabilia dependentă nevrotism crește cu 0.8.

38 – Când [A]concentrare crește cu o unitatate, variabilia dependentă nevrotism crește cu 0.1. 6.4 Conștiinciozitate 6.4.1 Alegerea metricilor pe baza coeficientului de corelație Pearson Coeficientul de corelație Pearson între: Conștiinciozitate [M]precizie 0.13 [M]eroare distanță -0.14 [M]capacitate de reținere 0.10 [M]imperturbabil 0.09 [M]memorie termen scurt 0.24 [C]rapiditate 0.01 [C]viteză decizie -0.03 [C]performanta repetitivă 0.12 [A]flexibilitate 0.01 [A]viteză ajustare -0.35 [A]concentrare 0.08 Tabel 9 Valoare corelații Observăm în tabelul 9 că: • Avem o corelație moderată pozitivă între conștiinciozitate și [M]memorie termen scurt. • Avem o corelație moderată negativă între conștiinciozitate și [A]viteză ajustare. • Avem o corelație slabă pozitivă între conștiinciozitate și [M]precizie, [M]capacitate de reținere, [C] performanța repetitivă. • Avem o corelație slabă negativă între conștiinciozitate și [M]eroare distanță. • Nu există nicio relație între conștiinciozitate și [C]rapiditate, [C]viteză decizie, [M]imperturbabil, [A]flexibilitate, [A]concentrare. • Pentru a crea un model relevant, am decis să continui explorarea relației dintre conștiinciozitate și [M]memorie termen scurt, [A]viteză ajustare. • Decizia a fost luată pe baza coeficientului de corelație dintre acestea, considerând drept limită inferioară valoarea 0.24. 6.4.2 Alegerea tipului de regresie Regresie liniară Regresie polinomială Valoarea reală Valoare prezisă Valoarea reală Valoare prezisă 57 56 57 55 57 57 57 56 55 57 55 56 65 66 56 70

39 60 61 60 61 52 55 52 54 60 61 60 60 59 58 59 58 58 58 58 57 56 56 56 57 Media absolută a erorilor (MAE) 1.0 Media absolută a erorilor (MAE) 1.5 Media pătratică a erorilor (MSE) 1.8 Media pătratică a erorilor (MSE) 3.9 Rădăcina mediei pătratice a erorilor (RMSE) 1.34 Rădăcina mediei pătratice a erorilor (RMSE) 1.97 Tabel 10 Validare model Observăm în tabelul 10 următoarele: • La regresia liniară avem în medie o diferența de 1.0 între valoarea reală și cea prezisă. La regresia polinomială avem în medie o diferența de 1.5 între valoarea reală și cea prezisă. Astfel, putem afirma că reziduurile regresiei liniare sunt mai mici decât ale regresiei polinomiale. • MAE, MSE și RMSE la regresia liniară au valori mai mici decât la regresia polinomială. Acest lucru conclude că modelul regresiei liniare se potrivește mai bine pentru datele noastre, deoarece valorile aproximate sunt mai aproape de adevăr. Modelul matematic al regresiei liniare pentru nevrotism (Ecuația 12): Conștiinciozitate= 56+ 0.14 ∗[M]memorie termen scurt−0.5∗ [A]viteză ajustare (12) – Când [M]memorie termen scurt crește cu o unitate, variabilia dependentă conștiinciozitate crește cu 0.14. – Când [M]viteză ajustare crește cu o unitate, variabilia dependentă conștiinciozitate scade cu 0.5. 6.5 Agreabilitate 6.5.1 Alegerea metricilor pe baza coeficientului de corelație Pearson Coeficientul de corelație Pearson între: Agreabilitate [M]precizie -0.19 [M]eroare distanță 0.23 [M]capacitate de reținere -0.08 [M]imperturbabil -0.17 [M]memorie termen scurt -0.53 [C]rapiditate -0.14

40 [C]viteză decizie -0.13 [C]performanta repetitivă 0.06 [A]flexibilitate -0.08 [A]viteză ajustare 0.10 [A]concentrare -0.05 Tabel 11 Valoare corelații Observăm în tabelul 11 că: • Avem o corelație puternică negativă între agreabilitate și [M]memorie termen scurt. • Avem o corelație moderată pozitivă între agreabilitate și [M]eroare distanță. • Avem o corelație slabă pozitivă între agreabilitate și [A]viteză ajustare. • Avem o corelație slabă negativă între agreabilitate și [M]precizie, [M]imperturbabil, [C]rapiditate, [C]viteză decizie. • Nu există nicio relație între agreabilitate și [C]capacitate de reținere, [M]performanță repetitivă, [A]flexibilitate, [A]concentrare. • Pentru a crea un model relevant, am decis să continui explorarea relației dintre agreabilitate și [M]eroare distanță, [M]memorie termen scurt. • Decizia a fost luată pe baza coeficientului de corelație dintre acestea, considerând drept limită inferioară valoarea 0.23. 6.5.2 Alegerea tipului de regresie Regresie liniară Regresie polinomială Valoarea reală Valoare prezisă Valoarea reală Valoare prezisă 57 59 57 57 62 63 62 63 65 60 65 61 55 57 55 54 62 65 62 63 60 63 60 60 61 59 61 64 64 65 64 66 70 68 70 68 62 65 62 61 Media absolută a erorilor (MAE) 2.4 Media absolută a erorilor (MAE) 1.5 Media pătratică a erorilor (MSE) 7.0 Media pătratică a erorilor (MSE) 3.7 Rădăcina mediei pătratice a erorilor (RMSE) 2.64 Rădăcina mediei pătratice a erorilor (RMSE) 1.92 Tabel 12 Validare model Observăm în tabelul 12 următoarele: • La regresia liniară avem în medie o diferența de 2.4 între valoarea reală și cea prezisă. La regresia polinomială avem în medie o diferența de 1.5 între valoarea reală și cea

41 prezisă. Astfel, putem afirma că reziduurile regresiei polinomiale sunt mai mici decât ale regresiei liniare. • MAE, MSE și RMSE la regresia polinomială au valori mai mici decât la regresia liniară. Acest lucru conclude că modelul regresiei polinomiale se potrivește mai bine pentru datele noastre, deoarece valorile aproximate sunt mai aproape de adevăr. Modelul matematic al regresiei polinomiale pentru agreabilitate (Ecuația 13): Agreabilitate = 82 + 0.19∗[M]eroare distanță$− 0.58 ∗ [M]memorie termen scurt$ (13) După ce am analizat fiecare trăsătură de personalitate separat, precum și informațiile ce ne-au ajutat în a decide tipul de regresie necesar și relațiile dintre variabile, am ajuns la finalul procesului de prelucrare și modelare a datelor. În următorul capitol, vom concluziona rezultatele lucrării.

42 7 CONCLUZIA Acestă lucrare se concentrează pe o soluție software ce are ca scop obținerea unui profil de personalitate pe baza informațiilor provenite de la jocurile psihometrice Retrics. Soluția presupune găsirea unor relații semnificative între cele 2 tipuri de variabile și crearea unui model cât mai precis de prezicere a trăsăturilor de personalitate. Setul de date conține 80 de intrări inițial, iar după etapa de curățarea a fost redus la 40 de intrări. Datele sunt reale și provin din partea unor candidați cu pregătire în IT. Pentru a ajunge la rezultatul dorit, datele colectate au trecut printr-un proces secvențial de dezvoltare, ce a presupus curățarea datelor, explorarea datelor pentru a afla informații despre tipul de date ce îl manipulam, precum și un set de metode analitice. Primul obiectiv al lucrării îl reprezintă obținerea unor legături între profilul de personalitate și profilul cognitiv. Cele mai bune rezultate au fost obținute cu ajutorul coeficientul de corelație Pearson. Astfel, am găsit următoarele relații semnificative, ce au un grad de corelație moderat spre puternic: • Extraversie à [M]precizie, [A]concentrare, [A]flexibilitate, [C]rapiditate • Deschidere către experiență à [A]viteză ajustare, [A]concentrare, [C]performanta repetitivă, [C]viteză decizie • Nervozitate à [M]precizie, [M]capacitate reținere, [M]imperturbabil, [M]memorie termen scurt, [C]performanță repetitivă, [A]viteză ajustare, [A]concentrare • Conștiinciozitate à [M]memorie termen scurt, [A]viteză ajustare • Agreabilitate à [M]eroare distanță, [M]memorie termen scurt Al doilea obiectiv presupune crearea unui model de machine learning supervizat pentru fiecare trăsătură. Drept urmare, am considerat drept variabilă dependentă trăsătura de personalitate, iar ca variabile independente abilitățile cognitive ce se află într-o relație relevantă, descoperite mai sus. Toate modele create au o diferență reziduală medie (MAE) mai mică decât 2.5, ceea ce înseamnă că oferă o acuratețe mare. Tipul de regresie ce a dat cele mai bune rezultate pentru fiecare trăsătură în parte este: • Regresie multiplă liniară: Extraversie (MAE: 2.2), Deschidere către experiență (MAE: 1.9), Nervozitate (MAE: 2.5), Conștiinciozitate (MAE: 1.0) • Regresie multiplă polinomială: Agreabilitate (MAE: 1.5) Îmbinând cele 2 obiective, obținem rezultatul final dorit, și anume posibilitatea de a aproxima trăsăturile de personalitate doar în urma unor jocuri psihometrice. În plus, alături de profilul de personalitate, oferim și informații despre abilitățile cognitive ale jucătorului, ce au fost calculate în cadrul acestui modul. Retrics este o soluție complexă, ce folosește algoritmi de Machine Learning și Data Science pentru a automatiza și a îmbunătății procesul de recrutare, rezolvând o problemă reală.

43 BIBLIOGRAFIE [1] C. O'Neil and R. Schutt, Doing Data Science, 2009 – ultima accesare: 10.05.2020. [2] D. A and J. S, "Recruitment efforts to reduce adverse impact: Targeted recruiting for personality, cognitive ability, and diversity.," 2009 – ultima accesare; 20.06.2020. [3] LinkedIn, "2019 Global Talent Trends Report," 2019 – ultima accesare: 24.05.2020 [4] E. Keep and S. James, Recruitment and Selection – the Great Neglected Topic, February 2010 – ultima accesare: 15.06.2020. [5] O. Korn, F. Brenner, J. Borsig, F. Lalli , M. Mattmuller and A. Muller, Defining Recrutainment: A Model and a Survey on the Gamification of Recruiting and Human Resources, June 2017, pp. 38-50 – ultima accesare: 17.06.2020. [6] L. Goldberg, "The structure of phenotypic personality traits", American Psychologist, 1993, pp. 26-34 – ultima accesare: 12.06.2020. [7] T. Judge and C. Zapata, "The Person–Situation Debate Revisited: Effect of Situation Strength and Trait Activation on the Validity of the Big Five Personality Traits in Predicting Job Performance," Academy of Management Journal, vol. 68, no. 4, 2014 – ultima accesare: 16.06.2020. [8] T. Shortell, An introduction to Data Analysis & Presentation, http://www.brooklynsoc.org/courses/20/book.html – ultima accesare: 11.06.2020. [9] "Introduction to Data Science," [Online]. Available: https://www.udacity.com/course/intro-to-data-science–ud359 – ultima accesare: 15.06.2020. [10] "The Big Five Personality Test," [Online]. Available: https://ipip.ori.org/new_ipip-50-item-scale.htm – ultima accesare: 20.06.2020. [11] A. Sutin, Y. Stephan, M. Luchetti and A. Terraciano, "Five-factor model personality traits and cognitive function in five domains in older adulthood," 2019 – ultima accesare: 15.05.2020.

Similar Posts