SAE_2.04/EXO3/README.md

7.2 KiB

Exercice 3 : Analyse des salaires

Table des matières

  1. Initialisation des variables
  2. Distribution des salaires par genre
  3. Histogramme des salaires moyens par niveau d'études
  4. Statistiques descriptives des salaires
  5. Répartition des salaires par genre

Initialisation des variables

Pour cette exercice, veuillez initaliser les variables suivantes :

Script Scilab :

csvDouble = csvRead("data.csv");                         //ouvre data.csv en une matrice d'entier
csvString = csvRead("data.csv",[],[],'string');          //ouvre data.csv en une matrice de string

Question 1 : Distribution des salaires par genre

Donnez, sous forme d'histogramme, la distribution des salaires suivant le genre.

Script Scilab - hommes :

id_male = find(csvString(:,3) == "Male" );
salaire_male = csvDouble(id_male,7);
histplot(10,salaire_male,normalization=%f);
xlabel('Salaire');
ylabel('Effectifs');
title('Distribution des salaires pour les hommes');

Script Scilab - femmes :

id_female = find(csvString(:,3) == "Female" );
salaire_female = csvDouble(id_female,7);
histplot(10,salaire_female,normalization=%f);
xlabel('Salaire');
ylabel('Effectifs');
title('Distribution des salaires pour les femmes');

Script Scilab - autres :

id_other = find(csvString(:,3) == "Other" );
salaire_other = csvDouble(id_other,7);
histplot(10,salaire_other,normalization=%f);
xlabel('Salaires');
ylabel('Effectifs');
title('Distribution des salaires pour les autres');

Résultat :

Hommes : q1

Femmes : q1

Autres : q1


Question 2 : Histogramme des salaires moyens par niveau d'études

Tracez un histogramme des salaires moyens suivant le niveau d'études.

Script Scilab :

indice_high = find(csvDouble(:,4) == 0 );
salaire_high = csvDouble(indice_high,7);
moy_h = mean(salaire_high);                             


indice_b = find(csvDouble(:,4) == 1 );
salaire_b = csvDouble(indice_b,7);
moy_b = mean(salaire_b);                                         


indice_m = find(csvDouble(:,4) == 2 );
salaire_m = csvDouble(indice_m,7);
moy_m = mean(salaire_m);                                         


indice_p = find(csvDouble(:,4) == 3);
salaire_p = csvDouble(indice_p,7);
moy_p = mean(salaire_p);                                         


matrice = [moy_h,moy_b,moy_m,moy_p];
bar([0,1,2,3],matrice);

xlabel("Niveau d''études");
ylabel("Salaire moyen");
title("Salaire moyen par niveau d''études");

Résultat :

q2


Question 3 : Statistiques descriptives des salaires

Donnez les quartiles, interquartiles, minimum, maximum, moyenne, médiane, et écart-type des salaires. Tracez une boîte à moustaches.

Script Scilab :

mean(csvDouble(:,7))        //moyenne
min(csvDouble(:,7))         //min
max(csvDouble(:,7))         //max
median(csvDouble(:,7))      //médianne
quart(csvDouble(:,7))       //quartile
iqr(csvDouble(:,7))         //interquartile
stdev(csvDouble(:,7))       //ecart-type

sal = tabul(csvDouble(:,7));
[occurence_tri,indice_tri] = gsort(sal(:,2));
liste_exp = sal(:,1);
mode = liste_exp(indice_tri(1))        //mode

atomsLoad("stixbox");
boxplot(csvDouble(:,7),"orientation","horizontal");
xlabel('Salaires');
title('Boîte à moustache des salaires');

Résultat :

  • Quartiles : [Q1, Q2 (médiane), Q3] = [70000, 115000, 160000]
  • Interquartile Range (IQR) : Q(3) - Q(1) = 90000
  • Minimum : 350
  • Maximum : 250000
  • Moyenne : 115326.96
  • Médiane : 115000
  • Mode : 140000
  • Écart-type : 52786.184

q3


Question 4 : Répartition des salaires par genre

Refaire la question précédente, en distinguant les genres. Tracez une boîte à moustache pour chaque genre. Commentaires ?

Script Scilab - Autres :

id_other = find(csvString(:,3) == "Other" )
salaire_other = csvDouble(id_other,7)
mean(salaire_other)        //moyenne
min(salaire_other)         //min
max(salaire_other)         //max
median(salaire_other)      //médianne
quart(salaire_other)       //quartile
iqr(salaire_other)         //interquartile
stdev(salaire_other)       //ecart-type
sal = tabul(salaire_other);
[occurence_tri,indice_tri] = gsort(sal(:,2));
liste_sal = sal(:,1);
mode = liste_sal(indice_tri(1))        //mode
boxplot(salaire_other,"orientation","horizontal")
xlabel('Salaires');
title('Boîte à moustache des salaires des autres');

Script Scilab - Femmes :

id_female = find(csvString(:,3) == "Female" )
salaire_female = csvDouble(id_female,7)
mean(salaire_female)        //moyenne
min(salaire_female)         //min
max(salaire_female)         //max
median(salaire_female)      //médianne
quart(salaire_female)       //quartile
iqr(salaire_female)         //interquartile
stdev(salaire_female)       //ecart-type
sal = tabul(salaire_female);
[occurence_tri,indice_tri] = gsort(sal(:,2));
liste_sal = sal(:,1);
mode = liste_sal(indice_tri(1))        //mode
boxplot(salaire_female,"orientation","horizontal")
xlabel('Salaires');
title('Boîte à moustache des salaires des femmes');

Script Scilab - Hommes :

id_male = find(csvString(:,3) == "Male" )
salaire_male = csvDouble(id_male,7)
mean(salaire_male)        //moyenne
min(salaire_male)         //min
max(salaire_male)         //max
median(salaire_male)      //médianne
quart(salaire_male)       //quartile
iqr(salaire_male)         //interquartile
stdev(salaire_male)       //ecart-type
sal = tabul(salaire_male);
[occurence_tri,indice_tri] = gsort(sal(:,2));
liste_sal = sal(:,1);
mode = liste_sal(indice_tri(1))        //mode
boxplot(salaire_male,"orientation","horizontal")
xlabel('Salaires');
title('Boîte à moustache des salaires des hommes');

Résultat :

  • Hommes :

    • Quartiles : [Q1, Q2 (médiane), Q3] = [75000, 120000, 170000]
    • Interquartile Range (IQR) : QH(3) - QH(1) = 95000
    • Minimum : 350
    • Maximum : 250000
    • Moyenne : 121389.87
    • Médiane : 120000
    • Écart-type : 52092.726
    • Mode : 140000

    q4-homme

  • Femmes :

    • Quartiles : [Q1, Q2 (médiane), Q3] = [60000, 105000, 150000]
    • Interquartile Range (IQR) : QF(3) - QF(1) = 90000
    • Minimum : 500
    • Maximum : 220000
    • Moyenne : 107889.00
    • Médiane : 105000
    • Écart-type : 52723.610
    • Mode : 120000

    q4-femme

  • Autres :

    • Quartiles : [Q1, Q2 (médiane), Q3] = [69032, 158610, 161393]
    • Interquartile Range (IQR) : QF(3) - QF(1) = 92361
    • Minimum : 62852
    • Maximum : 166109
    • Moyenne : 125869.86
    • Médiane : 158610
    • Écart-type : 44242.383
    • Mode : 158966

    q4-autres

  • Commentaires : Les 3 diagrammes moustaches sembles être très similaires. Le placement de la médiane et des quartiles se confondent.


⬅️ | 🏠 | ➡️