WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Estimation du temps de parcours aux soins de santé dans le district d'Ifanadiana.


par Randriamihaja Mauricianot
Ecole de management et d'innovation technologique - Master recherche en Informatique 2019
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

6.2. Traitements

Pour obtenir les résultats, on a élaboré plusieurs scripts sous R pour les traitementsavec des méthodesstatistiques afin de résoudre le problème complexe sur le cas d'étude.Ces scripts sont présentésà partir du l'extrait des codes dans chaque sous-section.

6.2.1. Exploration des données

Pour l'exploration, on a utilisé deux modes exploratoires comme : l'analyse de variables quantitatives et l'analyse de variables qualitatives.L'analyse de variables qualitatives, pour connaitre le lien entre la vitesse et des variables catégorielles, se fait à partirde la boîte à moustache (boxplot) et l'autre à partir de la fonction plot.

L'extrait du code suivant montre l'analyse exploratoire des données collectées sur le terrain pour l'estimation du temps de parcours à pied.Dans ce code, on a crééune variable « distance originale » (distance cumulée) à partir de la distance pour avoir l'effet des vitesses par rapport à l'éloignement depuis le début du parcours afin de le catégoriser. Ensuite, on catégorise par rapport à leur type les valeurs de proportion d'occupation du sol en gardant l'une qui a la valeur la plus élevée. Enfin, on représente graphiquementles données pour toutes les variables.

# Sélectionner chaque track séparément et obtenir les positions dans la base de données où il se trouve

for (my.track in levels(track.database.model$track)){

position=which(track.database.model$track==my.track)

# Pour chaque track on va calculer la distance depuis le début du parcours

for (i in 1:length(position)){

if(i==1){track.database.model$distance.origine[position][i]=track.database.model$distance[position][i]}

else{track.database.model$distance.origine[position][i]=track.database.model$distance[position][i]+track.database.model$distance.origine[position][i-1]}

}

}

# Catégorisation de la distance originale des parcours effectuée durant les trajets

track.database.model$categorydistance <- cut(track.database.model$distance.origine, c(0, 13 , max(track.database.model$distance.origine)), include.lowest = TRUE)

# Catégorisation des valeurs proportion d'occupation du sol

sum.cat=apply(track.database.model[,c('Savane_Arboree','Foret_dense','Zone_Habitation','Riziere','Eau_de_surface')],1,sum)

hist(sum.cat) ; sum.cat.total=ifelse(sum.cat==100,1,0)

# On utilise cèle qui ont la valeur plus grande pour l'occupation du sol

main.cat=apply(track.database.model[,c('Savane_Arboree','Foret_dense','Zone_Habitation','Riziere','Eau_de_surface')], 1, function(x){which(x>50)})

ii=which(lapply(main.cat,length)==0) ; main.cat[ii]='Mixte'

track.database.model$occupation=factor(labels(unlist(main.cat))) ; levels(track.database.model$occupation)[1]='Mixte'

# Catégorisation des valeurs proportion d'occupation du sol

track.database.model$paysages.c <- cut(as.numeric(track.database.model$paysages), c(0,0.1, 50, 100), include.lowest = TRUE)

#Diviser par 15 les valeurs des pentes

track.database.model$slope <- abs(track.database.model$slope)/15

# Frequence du variable reponse

par(mfrow = c(1,3))

hist(track.database.pied$speed, col='grey', main=NULL,xlab='Vitesse des individus', ylab = "Frequence")

table(track.database.pied$speed)

boxplot(track.database.pied$speed, ylab="Vitesse", main="Médian des vitesses")

plot(ecdf(track.database.pied$speed), main="Répartition cumulée")

# variables pente par rapport à la vitesse

par(mfrow = c(1,3))

hist(track.database.pied$slope, col='grey', main=NULL,xlab='Valeurs des pentes', ylab = "Frequence")

table(track.database.pied$typeslope)

track.database.pied$typeslope=factor(track.database.pied$typeslope, levels(track.database.pied$typeslope)[c(1,2,4,3)])

boxplot(track.database.pied$speed~track.database.pied$typeslope, ylab="Vitesse des individus par type des pentes")

plot(track.database.pied$slope,track.database.pied$speed, ylab='Vitesse des individus / pente de terrain', pch=16, cex=0.5)

abline(lm(speed~slope, data=track.database.pied), col='lightblue', lwd=2)

lines(smooth.spline(track.database.pied$slope,track.database.pied$speed),col='red',lwd=2)

legend('topright',lty=1, cex = 0.8 ,col=c('lightblue','red'),c('Modèle linéaire','Modèle Non Linéaire'))

cor(track.database.pied$slope, track.database.pied$speed, use = "complete.obs")

table(track.database.pied$lpaysages.c)

boxplot(track.database.pied$speed ~ track.database.pied$paysages.c, ylab='Vitesse des individus', xlab="Paysages")

L'extrait de code suivant montre l'analyse exploratoire des données des véhicules collectées à l'aide des outils GPS pour l'estimation du temps de parcours en véhicule motorisé.

# variable distance

par(mfrow = c(1,3))

hist(track.database.model.v1$distance.origine, col='grey', main=NULL,xlab='Distance des parcours effectués', ylab = "Frequence")

track.database.model.v1$categorydistance <- cut(track.database.model.v1$distance.origine, c(0,2, max(track.database.model.v1$distance.origine)), include.lowest = TRUE)

table(track.database.model.v1$categorydistance)

boxplot(track.database.model.v1$speed~track.database.model.v1$categorydistance, ylab='Vitesse des véhicules ', xlab="Distance (km)")

plot(track.database.model.v1$distance.origine,track.database.model.v1$speed, ylab='Vitesse des véhicules / distance', pch=16, cex=0.5)

abline(lm(speed~distance.origine, data=track.database.model.v1), col='lightblue', lwd=2)

lines(smooth.spline(track.database.model.v1$distance.origine,track.database.model.v1$speed),col='red',lwd=2)

legend('topright',lty=1, cex = 0.8 ,col=c('lightblue','red'),c('Modèle linéaire','Modèle Non Linéaire'))

cor(track.database.model.v1$distance.origine, track.database.model.v1$speed, use = "complete.obs")

table(track.database.model.v1$bridge)

boxplot(track.database.model.v1$speed~track.database.model.v1$bridge, xlab="No - Pas de pond | Yes - Traversant un pond", ylab='Vitesse des véhicules en traversant un rivière')

# variable résidentielle

#par(mfrow = c(1,2))

table(track.database.model.v1$landuse)

boxplot(track.database.model.v1$speed~track.database.model.v1$landuse, ylab='Vitesse des véhicules par catégorie')

# variable pont

#par(mfrow = c(1,2))

table(track.database.model.v1$bridge)

boxplot(track.database.model.v1$speed~track.database.model.v1$bridge, ylab='Vitesse des véhicules par catégorie')

# variable réseaux routiers

#par(mfrow = c(1,2))

table(track.database.model.v1$highway)

track.database.model.v1$highway=factor(track.database.model.v1$highway, levels(track.database.model.v1$highway)[c(4,3,2,1)])

boxplot(track.database.model.v1$speed~track.database.model.v1$highway, ylab='Vitesse des véhicules par catégorie')

# variable individu

table(track.database.model.v1$individual)

track.database.model.v1$individual=factor(track.database.model.v1$individual, levels(track.database.model.v1$individual)[c(2,1)])

boxplot(track.database.model.v1$speed~track.database.model.v1$individual, ylab='Vitesse des véhicules par catégorie')

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Et il n'est rien de plus beau que l'instant qui précède le voyage, l'instant ou l'horizon de demain vient nous rendre visite et nous dire ses promesses"   Milan Kundera