Documente Academic
Documente Profesional
Documente Cultură
Construiti echipe de cate 2 sau cate 3 pentru a lucra exercitiile propuse. Rezultatele la fiecare cerinta le scrieti pe o
foaie (sau mai multe) de hartie (fie cu pixul, dar sa fie lizibil, fie in word), pe care treceti numele membrilor echipei si
o depuneti la unul din seminarele de pe 14 sau 17 ianuarie 2019 (ultima saptamana de curs). Nu este obligatoriu sa
fiti toti prezenti la seminar cand se depun rezolvarile. Puteti veni oricand in intervalul orar 8-14.
https://cloud.r-project.org/
Selectati sistemul folosit de voi (cel mai probabil Windows). Apoi intrati pe pagina ‘base’.
In cele din urma descarcati R (Download R for Windows), iar dupa ce se descarca, instalati urmand pasii normali.
https://www.rstudio.com/products/rstudio/download/#download
Apoi, descarcati RStudio potrivit pentru sistemul vostru si instalati cand se termina descarcarea:
Asta ar trebui sa fie tot pentru descarcarea si instalarea RStudio. Daca aveti probleme, va rog sa comentati la
postarea de pe Facebook pentru a putea sa va raspund atat voua cat si colegilor care intampina dificultati
asemanatoare. Intrebarile le gasiti in fisierul R atasat, dar si in pagina urmatoare de word. Succes!
#Proiect pentru Seminarul Analiza de date
#Predati proiectul la unul din seminarele din 14 sau 17 Ianuarie (orele 8-14),
#in format fizic - fie scris de mana, fie in Word - semnat de membrii echipei (2 sau 3).
sp=read.csv('StudentsPerformance.csv')
str(sp)
#Set-ul de date se refera la notele obtinute de 1000 de studenti americani la examenele finale de liceu
#Acestia au avut 3 probe: Matematica, Scris si Citit. Notele obtinute (max 100) la aceste examene sunt date de
variabilele:
#Au promovat doar cei care au luat peste 60 la fiecare materie in parte. Pentru a contoriza cine a promovat si cine
nu,
sp$prom=rep(1,1000)
{for(i in 1:1000)
if ((sp$math.score[i]>=60)&(sp$reading.score[i]>=60)&(sp$writing.score[i]>=60))
{ sp$prom[i]<-1 }
else
{ sp$prom[i]<-0 }
}}
sp$prom=as.factor(sp$prom)
# prom - variabila ce are '0' pentru cei care au picat si '1' pentru cei care au promovat
# lunch - variabila ce contorizeaza ce tip de pranz aveau studentii la cantina - standard sau free/reduced
# test.preparation.course - variabila care ne spune daca studentul respectiv a urmat cursuri pregatitoare pt examene
sau nu
summary(sp)
#e) Aflati care studenti (dupa numarul randului pe care se afla) au luat nota 100 la matematica (folositi functia
'which')
#2. Vom studia mai multe regresii liniare folosind nota la examenul de scris ca variabila dependenta.
#a) Intai de toate, pentru a indeplini o cerinta a regresiei liniare, vrem sa verificam daca scorul la scris este distribuit
normal.
# Construiti histograma acestui scor. Spuneti daca histograma descrie o distributie normala si specificati media si
abaterea standard (mean, sd).
#b) Prima regresie pe care o incercam este cea unifactoriala - adica o singura variabila independenta. Construiti o
regresie liniara
#Este o relatie semnificativa intre scris si citit? Scrieti coeficientul estimat si nivelul de semnificativitate.
#c) Acum, vrem sa vedem daca exista o relatie semnificativa intre scris si matematica. Inlocuiti reading.score cu
math.score si faceti o regresie noua.
#Aflati corelatiile dintre cele variabile, folosind functia 'cor'. Avem multicoliniaritate intre variabile? De ce?
#f) Pe baza regresiei obtinute la punctul e), specificati cu cate puncte (in medie), iau mai putin baietii decat fetele.
#De asemenea, cu cate puncte mai putin iau cei care nu au participat la cursuri pregatitoare de examen decat cei
care au participat.
#g) Creati aceeasi regresie ca la f), dar cu math.score ca variabila dependenta, in loc de writing.score.
# Care e diferenta intre baieti si fete la examenul de matematica? Comparati cu ce s-a obtinut inainte la scris.
#3. Exercitiul acesta se refera la regresia logistica. Vom folosi 'prom' ca variabila dependenta, intrucat vrem sa aflam
care
#b) Construiti regresia logistica simpla cu prom ca variabila dependenta si test.preparation.course variabila
independenta
#(nu uitati de family='binomial', iar data=sp la acest subpunct). Scrieti regresia logistica obtinuta cu coeficientii si
variabilele aferente.
#c) Scrieti formula functiei logit. Pe baza coeficientilor obtinuti la b) si inversa functiei logit, scrieti formula
probabilitatii extrase din regresie.
#d) Instalati pachetul "caTools" si dati run la restul de instructiuni de mai jos pentru a imparti datele noastre in
submultimile 'train' si 'test'.
install.packages("caTools")
library(caTools)
#(Nu uitati pentru ce foloseam submultimea 'train'). Dupa ce il construiti, folositi functia 'step' pe el.
#f) Construiti modelul sugerat de functia 'step'. Uitandu-va la summary-ul lui, care sunt cele mai semnificative (cu cel
mai mic p value) doua caracteristici
#pentru predictia promovarii examenelor? Faceti o mica analiza a contributiei pozitive sau negative a celor doua.
#g) Faceti predictia pe multimea 'test'. Construiti tabelul pt un prag de 0.5. Care este acuratetea regresiei pt acest
prag?
#h) Calculati acuratetea totala folosind pachetul ROCR. Comparati aceasta acuratete cu modelul de baza. Sunt
diferente mari?
install.packages("ROCR")
library(ROCR)
# Functia de predictie
# Functia performanta
auc
#4. Examenele respective sunt date la nivel national. Cei 1000 de studenti din baza de date reprezinta un esantion
dintr-un anumit oras al tarii.
#Vrem sa testam rezultate la nivelul intregii populatii. Pentru asta vom folosi un test t.
#a) Aflati xbar=media (mean) si sig=abaterea standard (sd) pentru variabila sp$math.score.Stiind ca n=1000 si
mu0=65, calculati t-ul aferent acestor date.
#b) Faceti un test unilateral la stanga, specificand: cele doua ipoteze, valoarea t critica pentru un nivel alpha=0.05,
#alegerea ipotezei corecte, atat pe baza comparatiei t-calculat cu t-critic, cat si p-value < alpha.
#5. Aceasta este ultima intrebare, si se refera la a compara mediile de la examenul de citit, in functie de diferite
categorii.
#a) Comparati, folosind functia 't.test' diferentele de medii la examenul de citit intre baieti si fete.
#b) Comparati, folosind functia 't.test' diferentele de medii la examenul de citit intre baietii si fetele care au urmat
orele de pregatire pentru examen.
#c) Folosind functia 'aov' si apoi 'anova' pt acel 'aov', aflati daca exista diferente semnificative intre categoriile de
etnicitate. Scrieti valoare F aferenta.
#d) La fel ca la c), verificati un model anova in care se studiaza concomitent atat 'race.ethnicity' cat si
'parental.level.of.education' (folositi +).
#e) Faceti un test anova intre modelul de la punctul c) si cel de la punctul d). Care e mai bun?