DM1 : Dynamique de population

Auteurs : El Hadji Malick FALL & Flavien PEYRE

QUESTION 0 :DESCRIPTION DE NOTRE INTUITION

Nous supposons qu’il y a peu de chance que la taille des deux villes évoluent de la même façon. Si nous considérons un instant T suffisamment grand dans le temps, la possibilité que les deux villes aient le même nombre d’habitants ou sensiblement, est peu probable. Soit N1 ou N2 aura bénéficié de plus d’immigrations. De ce fait, la probabilité P(t) va tendre vers une limite au cours du temps.
Nous pensons obtenir un des trois résultats suivants : -Les villes ont la même taille de population : on a une oscillation autour de la probabilité P(t)=½; -Une des villes croit plus vite que l'autre: si N2 croit beaucoup plus vite que N1, la probabilité que le nouvel émigrant choisisse la ville N1 va tendre vers 0. Si N1 croit plus vite que N2, la probabilité que le nouvel émigrant choisisse la ville N1 va tendre vers 1.

Concernant la loi de la limite, nous considérons que les variables évoluent au cours du temps. La probabilité d'aller dans la ville 1 dépend d'une variable t. Sachant que si N2 évolue plus vite, cette probabilité va tendre vers 0 (vers 1 dans le cas inverse), nous pouvons suppposer que la limite pourrait suivre une loi de poisson.

A propos de l’état initial, nous pensons qu'elle peut influer sur l’évolution de P(t) par conséquent sur la limite de celle-ci. En effet, le fait qu’une ville ait à l’état initial plus d’habitants que l’autre peut faire pencher le choix du prochain habitant en sa faveur. Par contre, dans le cas où les deux villes ont exactement le même nombre d'habitants au départ, il n'y aurait pas d'influence particulière dû à ce nombre initial.

QUESTION 1: PREMIERES OBSERVATIONS DE LA DYNAMIQUE

L'intérêt de choisir un n suffisamment grand permet d’avoir un aperçu beaucoup plus réaliste sur ce à quoi les villes vont ressembler dans un futur éloigné et de pouvoir constater s’il y a une limite ou pas. Il faut cependant que ce nombre ne soit pas trop grand car on évoque des mouvements de population qui sont au plus de l’ordre de plusieurs dizaines de milliers de personnes (30000-40000).

Nous allons modéliser le problème grâce au code suivant :

library(ggplot2)
set.seed(10)

niter=10;
n=1000;

datafinal=data.frame();
numtraj = 1;

for (k in 1:niter)  {

x1=1;  #valeur initiale de la population de la ville 1
x2=1;  #valeur initiale de la population de la ville 2

n1=c();   #on déclare 1 tableau pour la population de la ville 1
n2=c();   #on déclare 1 tableau pour la population de la ville 2
pt=c();   #on déclare 1 tableau pour la proba P(t)
pop=c();  #on déclare 1 tableau pour la population totale des deux villes 1 et 2

n1 <-c(n1,x1)  #on met 1 dans n1
n2 <-c(n2,x2)  #on met 1 dans n2
pop <- c(pop,x1+x2); #on met la somme des pop initial (2) dans tab_pop
pt =c(pt,x1/(x1+x2)); #on met la proba initiale (1/2) dans pt


for (i in 1:n) {

 if (runif(1,0.0,1.0) < x1/(x1+x2))  { 
   x1<-x1+1
 }

 else {
   x2<-x2+1
   }

 n1 <-c(n1,x1)
 n2 <-c(n2,x2)
 proba = x1/(x1+x2);
 pt =c(pt,proba);
 pop =c(pop,x1+x2);

}#ferme le for des populations

  data = data.frame(pt,pop,numtraj);
  datafinal <-rbind(datafinal,data);
  numtraj= numtraj + 1;

}#ferme le grand for des iterations


ggplot(datafinal,aes(x=pop,y=pt,colour=numtraj))+geom_point()

plot of chunk unnamed-chunk-1

Nous pouvons remarquer dans le graphe obtenu ci-dessus, que pour nos 10 tirages avec une population de départ de 1 habitant dans chaque ville nous obtenons 4 cas où la probabilité d’aller dans une des deux villes est égale à environ 0,6. Nous avons également remarqué 5 cas où cette probabilité passe aux alentours de 0,75. Enfin, nous avons un cas extrême avec environs de 90% de la population choisissant la ville 1. D'après nos observations, nous pouvons remarquer que cette probabilité peut tendre vers deux valeurs principales: 0,6 ou 0,75 en faveur d’une des deux villes. On remarque également un cas vérifiant notre hypothèse que si une ville croit au début beaucoup plus vite que l’autre ,on obtient au final une valeur de probabilité d’aller dans cette ville proche de 1(0,9).

QUESTION 2 : LOI STATISTIQUE DE LA LIMITE

Pour vérifier notre hypothèse concernant la loi de la limite, nous avons implémenté le code suivant qui nous donne l'histogramme des valeurs limites de 1000 trajectoires.

set.seed(10)

val_limite <- function (param1=1,param2=1,n=1000,niter=1000)  {

valeurslimite=c(); #on déclare un tableau pour les valeurs limites de l'histogramme

for (k in 1:niter)  {

x1=param1;  #valeur initiale de la population de la ville 1
x2=param2;  #valeur initiale de la population de la ville 2

n1=c();   #on déclare 1 tableau pour la population de la ville 1
n2=c();   #on déclare 1 tableau pour la population de la ville 2
pt=c();   #on déclare 1 tableau pour la proba P(t)
pop=c();  #on déclare 1 tableau pour la population totale des deux villes 1 et 2

n1 <-c(n1,x1)  #on met 1 dans n1
n2 <-c(n2,x2)  #on met 1 dans n2
pop <- c(pop,x1+x2); #on met la somme des pop initial (2) dans tab_pop
pt =c(pt,x1/(x1+x2)); #on met la proba initiale (1/2) dans pt


for (i in 1:n) {

 if (runif(1,0.0,1.0) < x1/(x1+x2))  { 
   x1<-x1+1
 }

 else {
   x2<-x2+1
   }

 n1 <-c(n1,x1)
 n2 <-c(n2,x2)
 proba = x1/(x1+x2);
 pt =c(pt,proba);

}#ferme le for des populations

  valeurslimite[k]=proba;#la derniere valeur de p(t) est inséré dans le tableau des valeurs limites

}#ferme le grand for des iterations

   valeurslimite;

}#ferme la fonction
set.seed(10)
vl = val_limite()
hist(vl, breaks = seq(0, 1, 0.05), col = "blue")

plot of chunk unnamed-chunk-3

mean(vl)
## [1] 0.5087

Nous pouvons remarquer que la valeur limite de P(t) est bien répartie uniformément. On remarque cependant une plus forte apparition d’une probabilité limite de P(t) comprise entre 0,55-0,6 et 0,80-0,85 pour la ville 1. Nous pouvons dire que la valeur limite de P(t) suit donc une loi uniforme.

QUESTION 3 : INFLUENCE DE LA REPARTITION INITIALE

Pour vérifier nos hypothèses concernant l'état initial, nous reprenons le code défini précédemment en modifiant juste les paramètres de la fonction.

Dans un premier temps, nous traitons le cas où la population dans les deux villes est identique. Nous traçons trois histogrammes avec des populations initiales de 1,10,100 dans chacune des deux villes.

set.seed(10)
vl1 = val_limite(param1 = 1, param2 = 1)
vl2 = val_limite(param1 = 10, param2 = 10)
vl3 = val_limite(param1 = 100, param2 = 100)
par(mfrow = c(3, 1))
hist(vl1, breaks = seq(0, 1, 0.05), col = "grey")
hist(vl2, breaks = seq(0, 1, 0.05), col = "blue")
hist(vl3, breaks = seq(0, 1, 0.05), col = "green")

plot of chunk unnamed-chunk-4

Nous remarquons que plus nous augmentons le nombre d'habitants par ville, plus P(t) a de chance de tendre vers 0,5. Dans le premier cas (n1=n2=1), les limites des probabilités sont réparties uniformément. Dès le second cas (n1=n2=10), nous remarquons que cette limite est comprise entre 0,2 et 0,8. Enfin dans le troisième cas (n1=n2=100),cette limite est comprise entre 0,4 et 0,6. Sachant que les histogrammes obtenus pour les cas 2 et 3 forment une pyramide ou une cloche, cela nous laisse présager que la valeur limite de P(t) suit une loi normale dans ces cas précis.

Dans un second temps, nous penchons sur les cas où les populations dans les deux villes sont différentes au départ avec n2>n1. Nous traçons trois histogrammes avec des populations initiales de (1,1);(1,10);(1,100).

set.seed(10)
vl4 = val_limite(param1 = 1, param2 = 1)
vl5 = val_limite(param1 = 1, param2 = 10)
vl6 = val_limite(param1 = 1, param2 = 100)
par(mfrow = c(3, 1))
hist(vl4, breaks = seq(0, 1, 0.05), col = "pink")
hist(vl5, breaks = seq(0, 1, 0.05), col = "red")
hist(vl6, breaks = seq(0, 1, 0.05), col = "orange")

plot of chunk unnamed-chunk-5

Nous remarquons que plus le déséquilibre entre les populations de base est grand au départ,plus la probabilité d'aller dans la ville où il y a le plus de personnes (n2) tend vers 1. La probabilité d'aller à la ville 1 peut alors être considéré comme un “événement rare”, tant ses valeurs sont faibles. Ce qui nous emmene à considérer que la loi de sa limite suit une loi de Poisson.

QUESTION 4 : CONCLUSIONS

Par rapport aux résultats que nous avons pu observés tout au long de nos experimentations, nous nous sommes rendus compte que notre intuition par rapport à la loi suivie par P(t) s'est avéré concluante dans le cas de populations de base très différentes entre les deux villes. Par contre, nous avons été surpris de constater que,dans le cas où les populations dans les deux villes sont identiques, nos hypothèses n'ont pas été vérifiées. L'uniformité de la loi de la limite de P(t) ne s'est pas appliquée dans les cas où n1=n2=10 et n1=n2=100.

Pour améliorer l'étude, nous aurions pu prendre en compte d'autres paramètres parmi lesquelles la météo ou la situation géographique de la ville qui peuvent influencer les tendances.