Sunteți pe pagina 1din 31

UNIVERSITATEA „ALEXANDRU IOAN CUZA” DIN IAȘI

FACULTATEA DE ECONOMIE ȘI ADMINISTRARE A AFACERILOR


SPECIALIZARE: DATA MINING

Proiect Introducere în R

Profesor coordonator: Conf.univ.dr. Daniela Viorică


Student: Grigore Vlad-Șerban

1
Cuprins
FootHead.........................................................................................................................................................2
1. Introducere..................................................................................................................................................2
Importanța temei.........................................................................................................................................2
Obiectivele studiului...................................................................................................................................3
2. Prezentarea bazei de date............................................................................................................................3
3. Analiza grafică și numerică a variabilelor analizate...................................................................................9
3.1. Analiza descriptivă a variabilelor numerice și nenumerice (tabele de frecvență)..............................10
3.2. Analiza grafica a variabilelor numerice si nenumerice......................................................................14
3.3. Identificarea outlierilor si eliminarea acestora din baza (sau inlocuirea lor cu valori lipsa).............14
4. Analiza statistica a variabilelor categoriale...............................................................................................21
4.1. Tabelarea datelor................................................................................................................................21
4.2. Analiza de asociere.............................................................................................................................21
4.3. Analiza de concordanță......................................................................................................................22
5. Analiza de regresie si corelatie..................................................................................................................23
5.1. Analiza de corelatie............................................................................................................................23
5.2. Analiza de regresie.............................................................................................................................25
5.2.2. Regresia neliniara (model parabolic, logaritmic)............................................................................27
5.2.3. Compararea a doua modele de regresie si alegerea celui mai bun model......................................28
6. Estimarea si testarea mediilor..................................................................................................................29
6.1. Estimarea mediei prin interval de incredere......................................................................................29
6.2. Testarea mediilor populației...............................................................................................................30
7. Concluzii...................................................................................................................................................33
FootHead
1. Introducere

Importanța temei

Obiectivul acestui proiect este de a efectua o analiză detaliată a setului de date FootHead
(disponibil la https://vincentarelbundock.github.io/Rdatasets/datasets.html), utilizând diverse tehnici
statistice și metode de analiză. Prin intermediul analizei de regresie, analizei de corelație și a altor
metode statistice, dorim să înțelegem relațiile dintre variabilele din setul de date și să tragem concluzii
relevante.

Obiectivele studiului

Acest proiect are ca și obiective:


- Obținerea unor rezultate favorabile cercetării, adică să existe relație de dependență între
variabilele cantitative width, circum, front.back, eye.top, ear.top și jaw și cele categoriale group
și jaw_category;
- Observarea modului de influență a unei/ unor variabile asupra celorlalte;
- Identificarea outlierilor eliminarea acestora;
- Existența corelațiilor, asocierilor, concordanțelor dintre variabile;
- Identificarea existenței legăturilor dintre variabile;
- Testarea mediilor.
O scurtă descriere a variabilelor folosite ar fi:
Un dataframe cu 90 de observații privind următoarele 7 variabile.
group
un factor cu nivelurile High school, College, Non-football

width
un vector numeric: lățimea capului la dimensiunea cea mai mare

circum
un vector numeric: circumferința capului

front.back
un vector numeric: distanța dintre față și spate la nivelul ochilor

eye.top
un vector numeric: distanța dintre ochi și vârful capului

ear.top
un vector numeric: de la ureche la vârful capului

jaw
un vector numeric: lățimea maxilarului

Pentru a putea începe cercetarea propriu zisă, a fost nevoie de operațiuni preliminare și de
transformare a variabilelor aflate din baza de date. În urma modificărilor asupra bazei de date, s-a utilizat
analiza grafică și numerică a variabilelor analizate. Aceasta fiind urmată de analiza statistică a variabilelor
categoriale. Ultimele metode au fost analiza de regresie și corelație, respectiv estimarea și testarea
mediilor.

2. Prezentarea bazei de date


Setul de date pe baza căruia s-a realizat proiectul este disponibil la:
https://vincentarelbundock.github.io/Rdatasets/datasets.html. Baza de date a fost descărcată, importată în RStudio
după cum se poate observa în figura următoare:
Baza de date inițială

*Sursa: R Studio

Mai departe au fost realizate operațiile preliminare și de transformare a variabilelor. Astfel,


variabila numerică jaw a fost transformată în variabila categorială jaw_category.

#Cod utilizat
proiectR$jaw_category <- cut(proiectR$jaw, breaks= c(0, 11.9, 12, 1000), labels=c('Small jaw', 'Medium
jaw', 'Big jaw'), include.lowest=TRUE)

În acest exemplu, am adăugat două intervale în jurul valorii exacte 12 (11.9 la 12 și 12 la 1000) și
am ajustat etichetele pentru a include toate cele trei categorii dorite ("Small jaw", "Medium jaw", "Big
jaw"). Funcția cut() permite împărțirea unei variabile numerice în intervale și atribuirea de etichete
corespunzătoare acestor intervale.
Apoi, pentru a curăța în continuare datele am realizat două selecții(pentru valoarea width mai
mare sau egală cu 14 și valoarea eye.top mai mare egal cu 8) și am eliminat prima coloană cu rownames.
De asemenea, am asigurat trecerea variabilelor group și jaw_category în factori.

În urma acestei selecții a rezultat o nouă bază de date, conținând doar 88 de observații din baza de
date inițială.
Baza a fost exportată pentru a putea fi utilizată în realizarea cercetării.

#Cod utilizat

write.csv(proiectSelect1, file = "proiectSelect.csv", row.names = FALSE)

Rezultatele obținute în urma operațiunilor preliminare au fost salvate într-o bază de date.
#Cod utilizat

proiectSelectieFinala <- read.csv('proiectSelect.csv')

În continuare vom descrie noua bază de date cu ajutorul funcțiilor specifice programului R Studio.

Conform figurii , baza de date “ proiectSelectieFinala” conține 88 de observații și 8 variabile. În urma aplicării
funcției “names”, am obținut lista numelor variabilelor din setul de date. Prin str() este realizată accesarea
structurii bazei de date

3. Analiza grafică și numerică a variabilelor analizate


Analiza descriptivă are rolul de a scoate în evidență asemănarile/deosebirile dintre variabilele
analizate, a vedea diferențele dintre județe pe baza variabilelor analizate. Pe baza graficului de tip Box-
plot se pot observa punctele extreme din baza de date sau punctele care au valori mult mai mari decât
media. Măsurătorile tendinței centrale includ media, mediana și modul, în timp ce măsurile de variabilitate
includ abaterea standard, variabilele minime/maxime, skewness și kurtosis.
3.1. Analiza descriptivă a variabilelor numerice și nenumerice (tabele de frecvență)

#Cod utilizat

print(summary(proiectSelectieFinala))

Indicatori statistici descriptivi

*Sursa:R Studio

#Variabila “width”

Interpretări:
Media= 15.43.
Valoarea medie a variabilei width este egala cu 15.43.
Mediana= 15.50.
50% dintre subiecți au width de până la 15.50, iar restul de 50% au peste 15.50.
Quartila 1 = 15.07.
25 % din subiecți au valoarea width până la 15.07 și 75 % au mai mult de 15.07.
Quartila 3 = 15.70.
75 % din subiecți au valoarea width până la 15.70 și 25% au mai mult de 15.70.

#Variabila “circum”

Interpretări:
Media= 58.06.
Valoarea medie a variabilei circum este egala cu 58.06.
Mediana= 57.65.
50% dintre subiecți au circum de până la 57.65, iar restul de 50% au peste 57.65.
Quartila 1 = 56.90.
25 % din subiecți au valoarea circum până la 56.90 și 75 % au mai mult de 56.90.
Quartila 3 = 59.23.
75 % din subiecți au valoarea circum până la 59.23 și 25% au mai mult de 59.23.

#Variabila “jaw”

Interpretări:
Media= 12.02.
Valoarea medie a variabilei jaw este egala cu 12.02.
Mediana= 12.
50% dintre subiecți au jaw de până la 12, iar restul de 50% au peste 12.
Quartila 1 = 11.5.
25 % din subiecți au valoarea jaw până la 11.5 și 75 % au mai mult de 11.5.
Quartila 3 = 12.5.
75 % din subiecți au valoarea jaw până la 12.5 și 25% au mai mult de 12.5.

Secțiunea aceasta indică că ambele variabile, 'group' și 'jaw_category', sunt de tip caracter și au aceeași
lungime, adică 88 de observații.
#Cod utilizat
tapply(proiectSelectieFinala$width,proiectSelectieFinala$group,mean)
tapply(proiectSelectieFinala$width,proiectSelectieFinala$jaw_category, mean)

Analiza descriptivă pe grupuri

*Sursa: R Studio
În medie, pentru subiecții a căror grup se încadrează în categoria “Highschool” width este de
15.25862. La polul opus se află categoria “Non-football” cu width de 15.60345. De asemenea, în
medie, pentru subiecții a căror tip de falcă se încadrează în categoria “Medium jaw” width este de
15.15385. La polul opus se află categoria “Big jaw” cu width de 15.7.
Funcția describeBy() din pachetul psych poate fi utilizată pentru a realiza analiza descriptivă pe
grupuri. Această funcție furnizează statistici descriptivelor separate pentru fiecare grup definit de o
variabilă de grup.

Acest cod va genera statistici descriptivelor pentru variabila numerică circum pe grupurile
definite de variabilele categorice 'group' și 'jaw_category'.

1. Big jaw:
- Numărul de observații (n): 38 pentru grupul cu maxilar mare ('Big jaw').
- Media ('mean'): 58.96, cu o deviație standard ('sd') de 2.02.
- Mediana ('median'): 59.1, indicând că jumătate dintre valorile din grup sunt sub 59.1 și jumătate
sunt peste.
- Intervalul ('range'): 8, de la 55.5 la 63.5 .
- Asimetrie ('skew'): 0.44, indicând o ușoară asimetrie pozitivă.
- Curtosis ('kurtosis'): -0.57, indicând o coadă mai subțire comparativ cu o distribuție normală.
2. Medium jaw:
- Numărul de observații (n): 13 pentru grupul cu maxilar mediu ('Medium jaw').
- Media ('mean'): 58.04, cu deviația standard ('sd') 1.79.
- Mediana ('median'): 57.2.
- Intervalul ('range'): 6.35, de la 55.88 la 62.23.
- Asimetrie ('skew'): 1.06 asimetrie pozitivă.
- Curtosis ('kurtosis'): 0.07 indicând o coadă mai grea comparativ cu o distribuție normală.
3. Small jaw:
- Numărul de observații (n): 37 pentru grupul cu maxilar mic ('Small jaw').
- Media ('mean'): 57.13, cu o deviație standard ('sd') de 1.28.
- Mediana ('median'): 57.15.
- Intervalul ('range'): 5, de la 54.8 la 59.8.
- Asimetrie ('skew'): -0.03, indicând o ușoară asimetrie negativă.
- Curtosis ('kurtosis'): -0.64, indicând o coadă mai subțire comparativ cu o distribuție normală.

#Cod utilizat

table(proiectSelectieFinala$group)
table(proiectSelectieFinala$jaw_category)
Tabel de frecvență

*Sursa: R Studio

După cum putem observa din figură, variabila group are cele mai multe observații în categoria
College, iar cele mai puține observații se regăsesc în categoriile High school și Non-football.
Cea dea doua variabilă nenumerică, prezintă categoria Big jaw cu cel mai mare număr de
observații (38), fiind urmată în de aproape de categoria Small jaw cu un număr de 37 de observații, iar
categoria cu cel mai mic număr de observații este Medium jaw (13 observații).
3.2. Analiza grafica a variabilelor numerice si nenumerice

3.2.1 Histograma
#Cod utilizat

hist(proiectSelectieFinala$width,breaks = 20)
hist(proiectSelectieFinala$circum,breaks = 20)
hist(proiectSelectieFinala$jaw,breaks = 20)

Histograma pentru variabila “width”

*Sursa: R Studio

După cum observăm în histograma de mai sus avem distribuție asimetrică la stânga deoarece:
Media=15.43
Mediana=15.50, de aici rezultă că mediana este mai mare decât media, prin urmare cum am precizat și
mai sus este prezentă asimetria la stânga.
Histograma pentru variabila “circum”

*Sursa: R Studio

După cum observăm în histograma de mai sus avem distribuție asimetrică la dreapta deoarece:
Media=58.06
Mediana= 57.65, de aici rezultă că media este mai mare decât mediana, prin urmare cum am precizat și
mai sus este prezentă asimetria la dreapta.
Histograma pentru variabila “jaw”

*Sursa: R Studio
După cum observăm în histograma de mai sus avem distribuție asimetrică la dreapta deoarece: Media=12.02.
Mediana= 12, de aici rezultă că media este mai mare decât mediana, prin urmare cum am precizat și mai sus este
prezentă asimetria la dreapta.

3.2.2 Boxplot

#Cod utilizat

boxplot(proiectSelectieFinala$front.back)
boxplot(proiectSelectieFinala$eye.top)
boxplot(proiectSelectieFinala$ear.top)
Box plot pentru variabila „front.back”

*Sursa: R Studio

După cum se poate observa variabila “front.back” nu prezintă puncte extreme.

Boxplot pentru variabila “eye.top”

*Sursa: R Studio

După cum se poate observa variabila “eye.top” nu prezintă puncte extreme.


Boxplot pentru variabila “ear.top”

*Sursa: R Studio

Variabila „ear.top” prezintă puncte extreme(16.5 și 11.1), iar eliminarea acestora a fost efectuată
după cum urmează:

#Cod utilizat

boxplot(proiectSelectieFinala$ear.top)$out
proiectSelectieFinala<-subset(proiectSelectieFinala, ear.top>11.1 & ear.top<16.5)
boxplot(proiectSelectieFinala$ear.top)

Boxplot pentru variabila “ear.top” după eliminarea punctelor extreme

*Sursa: R Studio

Operația de înlaturare a outlierilor a fost realizată și pentru celelalte variabile prin codul:
Aceste valori vor fi scoase din dataframe ulterior (și coloanele lor aferente), ultima linie de cod din
imaginea de mai sus restabilind ordinea indecșilor.

3.2.3 Barplot
#Cod utilizat
barplot(table(proiectSelectieFinala$group,proiectSelectieFinala$jaw_category),legend.text=T)

Barplot pentru variabilele nenumerice

*Sursa: R Studio

Pentru categoria „Medium jaw” se poate observa că numărul cel mai scăzut al observațiilor se
află în categoria “Non-football”.

3.2.4 Plot
#Cod utilizat

plot(proiectSelectieFinala$width,proiectSelectieFinala$circum)
plot(proiectSelectieFinala$width,proiectSelectieFinala$jaw)
Plot între variabilele width și circum

*Sursa: R Studio

Plot între variabilele width și jaw

*Sursa: R Studio
Graficul Plot oferă informații cu privire la :
 Corelația
 Omogenitatea
 Simetria
datelor analizate

4. Analiza statistica a variabilelor categoriale

4.1. Tabelarea datelor

#Cod utilizat

contingenta<-table(proiect_fara_outliers$group,proiect_fara_outliers$jaw_category)
View(contingenta)

Crosstabs frecvențe pentru tabelul de contingență

*Sursa: R Studio

4.2. Analiza de asociere

#Cod utilizat
summary(table(proiect_fara_outliers$width,proiect_fara_outliers$circum,proiect_fara_outliers$jaw))
Analiza de asociere

*Sursa: R Studio

Ipoteze:
H0=nu există asociere între variabile
H1=există asociere între variabile

Deoarece Sig= 1.109E-123<0.05 rezulă că ipoteza nulă se respinge, astfel cu o probabilitate de


95% putem afirma că există asociere între cele trei variabile.

4.3. Analiza de concordanță

#Cod utilizat
chisq.test(table(proiect_fara_outliers$jaw_category),p=c(0.2,0.3,0.5))

Analiza de concordanță

*Sursa: R Studio

Ipoteze:
H0=există concordanță între variabile
H1=nu există concordanță între variabile

Deoarece Sig=8.519E-0.5 <0.05 rezulă că ipoteza nulă se respinge, astfel cu o probabilitate de


95% putem afirma că nu există concordanță între cele trei categorii(Big jaw, Medium jaw și Small jaw).

5. Analiza de regresie si corelatie


5.1. Analiza de corelatie

#Cod utilizat

cor(proiect_fara_outliers[-c(1,8)])

Matricea de corelație

*Sursa: R Studio
De asemenea se poate observa că cele mai puternice corelații sunt între circum și front.back, prezentând o
corelație pozitivă. Corelația negativă cea mai puternică este cea dintre eye.top și width .

Coeficientul Pearson

#Cod utilizat
cor.test(proiect_fara_outliers$width,proiect_fara_outliers$circum,method = "pearson",use="pairwise")
cor.test(proiect_fara_outliers$width,proiect_fara_outliers$jaw,method = "pearson",use="pairwise")
Coeficientul de corelație Pearson

*Sursa: R Studio

Se poate garanta cu o probabilitate de 0,95 că între cele două variabile există o corelație scăzută
pozitivă (r=0,318 >0,4).
Coeficientul de corelație Pearson
*Sursa: R Studio
Se poate garanta cu o probabilitate de 0,95 că între cele două variabile există o corelație scăzută
pozitivă (r=0,394 >0,4).

5.2. Analiza de regresie

5.2.1. Regresie liniara simpla si mutipla

 Regresia liniară

simplă #Cod utilizat

lm(PricePerCt~Carat, color_pret)

Figura 26: Model liniar simplu

*Sursa: R Studio

Modelul de regresie liniară simplă analizat în decursul acestui proiect, este format dintr-o variabilă
dependent Y= PricePerCt și o variabilă independent X= Carat.

Ecuația modelului de regresie


Yi= β0+ βi*xi+ ε
PricePerCt = 3835+3674* Carat
Interpretare:
β0 = 3835: atunci când valoare cartului este egală cu 0, variabila dependentă, prețul, are o valoare
medie de 3835$.
Faptul că ( β1= 3674) > 0 arată că între variabile există o legătură inversă, adică la o creștere a
caratului cu un dolar, prețul crește, în medie, cu 3674$.

 Regresia

multiplă #Cod utilizat

lm(PricePerCt~Carat+Depth,color_pret)

Figura 27: Model liniar multiplu

*Sursa: R Studio

Ecuația modelului
PricePerCt=11623.3+4151.4*Carat-129.9*Depth
Atunci când toate variabilele independente sunt egale cu 0, variabila PricePerCt este, în medie, cu
11623.3$. La o creștere cu o unitate a caratului și a adâncimii, prețul pe carat crește cu 4151.4$, respectiv
scade cu 129.9 $.
5.2.2. Regresia neliniara (model parabolic, logaritmic)

 Model parabolic

#Cod utilizat
lm(PricePerCt~Carat+I(Carat^2)+I(Carat^3),color_pret)

Figura 28: Model neliniar parabolic

*Sursa: R Studio

Ecuația modelului

Y= β0+ β1*x+ β2* x2+ β3* x3+ ε


PricePerCt=10761.3-7347.2*Carat+5192.3*Carat2-724.3*Carat3
Deoarece β2>0 legătura de tip parabolic adite un punct de minim.

 Model logaritmic

#Cod utilizat
test<-lm(log(PricePerCt)~Carat,color_pret)
Figura 29: Model logaritmic

*Sursa: R Studio
Ecuația modelului

Y= β0+ β1*lnX+ ε
PricePerCt=8.5918+0.3433*lnCarat
β0=este valoarea medie al lui PricePeCt este de 8,5918$ atunci când variabila Carat este egală cu 1.
β1=La o creștere a variabilei Carat cu o unitate, prețul crește în medie cu 0,3433$.

5.2.3. Compararea a doua modele de regresie si alegerea celui mai bun model

#Cod utilizat

simpla<-lm(PricePerCt~Carat, color_pret)
parabolic<-lm(PricePerCt~Carat+I(Carat^2)+I(Carat^3),color_pret)
anova(parabolic,simpla)

Figura 30: Compararea modelului liniar simplu cu cel neliniar parabolic

*Sursa: R Studio
Din rezultate se observă că valoarea Sig asociate testului F, p-value, este 0,03215 <0,05. Acest
lucru semnifică faptul că modelul simplu este un model semnificativ mai bun decât cel parabolic pentru a
explica variația volumului.

6. Estimarea si testarea mediilor

6.1. Estimarea mediei prin interval de incredere

#Cod utilizat
t.test(color_pret$Carat)

Figura 31 : Interval de încredere

*Sursa: R Studio

La baza procedeului de estimare prin interval de încredere, stau legile normale de repartiție ale

estimatrilor 0 și 1. Pentru un nivel de încredere egal cu (1-α), limitele intervalului de încredere pentru
parametrul β0 sunt:

0±tα/2* 0

Analog, pentru β1: 1±tα/2* 1

Intervalul de înceredere pentru cei doi parametri au următoarele interpretări:


- Cu o probabilitate de 95%, putem afirma că parametrul β0 este acoperit de
intervalul (1,349595;1.507384);
- Cu o probabilitate de 0,95, putem afirma că parametrul β1 este acoperit de intervalul
( 1,349595;1.507384).

6.2. Testarea mediilor populației

6.2.1. Testarea unei medii cu o valoare fixa

#Cod utilizat
t.test(color_pret$PricePerCt,mu=0)

Figura 32: Testarea unei medii cu valore fixă

*Sursa: R Studio

Ipoteze:
H0=media este egală cu 0
H1=media este diferită de 0

Sig = 2,2E-16
α= 0,05 rezultă că Sig<α
Cu o probabilitate de 0.95 putem afirma că se respinge ipoteza nulă, în concluzie media PricePerCt nu
este egală cu 0.
6.2.2. Testarea diferentei dintre doua medii (eșantioane pereche)

#Cod utilizat

t.test(color_pret$PricePerCt,color_pret$Carat)

Figura 33: Testarea diferentei dintre doua medii(eșantioane pereche)

*Sursa: R Studio

Ipoteze:
H0=µ1=µ2=0
H1=cel puțin o medie diferită de 0

Sig = 2.2E-16
α= 0,05 rezultă că Sig<α
Cu o probabilitate de 0.95 putem afirma că se respinge ipoteza nulă, în concluzie cel puțin o medie este
diferită de 0.
6.2.3. Testarea diferenței dintre trei și mai multe medii

Cu ajutorul testului ANOVA am putut observa dacă sunt diferențe semnificative între mediile
variabilelor studiate. Pentru a verifica cele spuse am formulat următoarele ipoteze:

#Cod utilizat

aovobj<-aov(PricePerCt~Carat+Depth,color_pret)
anova(aovobj)

Figura 34: . Testarea diferentei dintre trei si mai multe medii

*Sursa: R Studio

H0: µ1=µ2=µ3
H1: cel puțin două medii sunt egale
După cum putem observa din tabelul ANOVA valoarea Sig pentru toate variabilele analizate este
mai mică decât α care este egală cu 0,05, ceea ce ne duce la respingerea ipotezei nule, respectiv a lui H 0 și
la acceptarea ipotezei alternative H 1. Prin urmare putem afirma că între mediile variabilelor (PricePerCt,
Carat și Depth) există diferențe semnificative între medii.

7. Concluzii

În urma analizei efectuate putem preciza următoarele aspecte:

Pentru o analiză corectă, am intenționat să verific dacă valorile variabilelor considerate conțin
valori extreme, și prin urmare am observat că variabilele “Carat” și “PretPerCt” au valori extreme și am
decis eliminarea lor.
În urma estimării prin interval de încredere a parametrului de regresie β0 am obținut rezultate care
ne indică faptul că valoarea adevărată a coeficientului de regresie β 0 este acoperită în intervalul
(1,349595;1.507384);
Utilizând testarea mediei cu o valoare fixă am ajuns la următoarea concluzie că:
Sig = 2,2E-16
α= 0,05 rezultă că Sig<α
Cu o probabilitate de 0.95 putem afirma că se respinge ipoteza nulă, în concluzie media PricePerCt nu
este egală cu 0.
Cu ajutorul testului ANOVA am putut observa dacă sunt diferențe semnificative între mediile
variabilelor studiate.

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