Description
TP4
Laboratoire de programmation math´ematique
Exercice 1 Epid´emiologie, partie 1 : simuler la maladie.
Nous allons ´etudier un mod`ele simple de propagation d’une maladie dans une population donn´ee. Ce mod`ele est appel´e SIR.
La population
On d´ecompose la population en trois partie.
— La premi`ere partie est compos´ee des individus Sains. Ils n’ont jamais ´et´e en contact avec la maladie mais peuvent l’attraper. On note S(t) le nombre d’individus sains `a un temps t.
— La seconde partie est compos´ee des individus Infect´es. Ils sont actuellement malades et peuvent transmettre la maladie. On note M(t) le nombre d’individus infect´es `a un temps t.
— La troisi`eme partie est compos´ee des individus R´etablis. Ils ont ´et´e malades mais sont maintenant gu´eris et de plus immunis´es : ils ne peuvent plus attraper la maladie. On note R(t) le nombre d’individus r´etablis `a un temps t.
La population totale N = S(t) + M(t) + R(t) est constante dans le temps.
Evolution
Mod´elisons maintenant l’´evolution de la maladie dans la population. Nous consid´erons ici un mod`ele discret, c’est-`a-dire que le temps ´evolue par `a-coup. Le temps prend des valeurs enti`eres correspondant par exemple `a un nombre de semaines.
Introduisons maintenant des param`etres d’´evolution du mod`ele.
— Une personne rencontre en moyenne C autres personnes par unit´e de temps (ici, par semaine);
— Lorsqu’une personne infect´ee rencontre une personne saine, elle a une probabilit´e P de contaminer cette derni`ere;
— Une personne infect´ee reste en moyenne contagieuse D semaines avant d’ˆetre gu´erie.
Avec ces param`etres, il y a en moyenne M(t)/D personnes gu´eries par unit´e de temps. On a donc l’´evolution,
.
Un individu sain rencontre C personnes par unit´e de temps, chacune avec une probabilit´e d’ˆetre infect´ee. Il rencontre donc, en moyenne, personnes infect´ees par unit´e
de temps et a donc une probabilit´e d’ˆetre infect´e. On a donc nouveaux infect´es avec b = P × C. Ceci donne l’´evolution
.
Vous avez maintenant toutes les informations n´ecessaires `a la simulation d’une ´epid´emie avec Matlab. Nous partirons de valeurs initiales S(0) = S0, R(0) = R0 et M(0) = M0.
Questions
1. On veut simuler l’´evolution de la maladie pour t allant de 0 `a une valeur tfinal. Pour pr´eparer la suite, supposons d’abord qu’il ne peut pas y avoir ni contamination, ni gu´erison. Les nombres de personnes infect´ees, saines et gu´eries est donc constant.
Tracez un graphe sur lequel sont repr´esent´es S(t), M(t) et R(t) pour t = 0,…,tfinal. On prendra les valeurs num´eriques tfinal = 48, S0 = 157756, M0 = 3 et R0 = 0 (on va se baser sur les chiffres d’une ´epid´emie de grippe aux Etats-Unis fournies par le CDC).
Indication : Attention `a la taille des vecteurs construits pour tracer le graphe! On part de t = 0.
2. On suppose maintenant que la maladie circule librement et suit le mod`ele d´ecritplus haut. Dans un fichier Evolution.m ind´ependant, ´ecrivez une fonction Evolution prenant comme entr´ees les param`etres (tfinal,D,b,S0,M0,R0) et donnant comme sorties les vecteurs S = [S(0)S(1)…S(tfinal)], M = [M(0)M(1)…M(tfinal)] et R = [R(0)R(1)…R(tfinal)].
Dans le script principal de cet exercice, testez cette fonction avec les param`etres b = 4 et D = 0.28 et les donn´ees initiales construites `a la question pr´ec´edente et tracez les graphe de S(t), M(t) et R(t).
Indication : Vous pouvez, par exemple, utiliser une boucle pour construire la fonction Evolution.
Exercice 2 Epid´emiologie, partie 2 : Etudier l’epid´emie.
Pour avoir un mod`ele proche de la r´ealit´e, il faut avoir une bonne id´ee de la valeur des param`etres. On peut essayer de trouver ces derni`eres en utilisant des mesures relev´ees sur le terrain. Nous allons ici consid´erer des chiffres relev´es lors d’une ´epid´emie de grippe sur une population de N = 157759 personnes sur une dur´ee de tfinal = 48 semaines. Supposons que nous connaissons D = 0.28. Nous allons d´eterminer le produit b = C ×P par la m´ethode des moindres carr´es.
1. Dans un fichier MoindreCarres.m, ´ecrivez une fonction MoindreCarres prenant comme
entr´ee des vecteurs Mexp(t) et Mth(t) et calculant .
T´el´echargez le fichier grippedata.dat `a partir de moodle. Ce fichier contient un vecteur de taille 49 dont les ´el´ements donnent le nombre d’individus inf´ect´es par la grippe de la semaine t = 0 `a la semaine t = 48. Utilisez-le pour cr´eer un vecteur Mexp correspondant dans le fichier Exercice3.m.
Repr´esentez sur un mˆeme graphe des cercles repr´esentant ces donn´ees exp´erimentales en fonction du temps et le r´esultat du mod`ele d´ecrit au dessus avec les donn´ees tfinal =
48, b = 4, D = 0.28, P = 0.2, R0 = 0, M0 = 3 et S0 = N − M0.
Calculez l’erreur commise avec cette mod´elisation en utilisant la m´ethode des moindres carr´es.
2. Nous allons maintenant chercher `a ´evaluer la valeur du produit b = C × P pour cette ´epid´emie. Pour cela, en utilisant la fonction MoindreCarres, calculez l’erreur commise pour des valeurs de b allant de 1 `a 7. Trouvez la valeur optimale b∗ de b dans cet intervalle avec une pr´ecision de 0.01. Tracez sur un mˆeme graphe les donn´ees exp´erimentales et le r´esultat du mod`ele pour cette valeur de b, les autres param`etres ´etant conserv´es comme au-dessus.
Exercice3 Epid´emiologie, partie 3 : test des strat´egies pour combatre l’´epid´emie.
Nous allons maintenant ´etudier diff´erentes m´ethodes pour combattre l’´epid´emie et juger de leur efficacit´e par simulations. Pour la suite, nous consid´erons les valeurs des param`etres de la question pr´ec´edente avec la valeur b∗ obtenue par la m´ethode des moindres carr´es. Nous allons consid´erer trois mesures permettant d’att´enuer l’´epid´emie. Nous allons les comparer en les appliquant ind´ependamment. Dans chacun des cas suivants, nous allons modifier un seul param`etre du mod`ele en laissant les autres inchang´es.
1. La vaccination.
En vaccinant la population, on peut disposer d`es le d´epart d’un groupe de personnes immunis´ees car vaccin´ees. Ceci permet d’augmenter la valeur initiale R0 tout en abaissant d’autant le nombre de personnes S0 susceptibles d’ˆetre contamin´ees.
Tracez sur un graphe l’´evolution de l’´epid´emie en supposant que l’on a vaccin´e 5% de la population.
2. Distanciation et ´education.
Par des mesures de distanciation sociale et d’hygi`ene, on peut r´eduire le param`etre b∗. Supposons que nous parvenions `a abaisser la valeur de b∗ de 5% (c’est tr`es facile `a faire en pratique!).
Tracez sur un graphe l’´evolution de l’´epid´emie en r´esultant.
3. M´edication
Supposons maintenant que nous disposions d’un m´edicament permettant de r´eduire le temps de maladie de 5%.
Tracez sur un graphe l’´evolution de l’´epid´emie en r´esultant.
4. Comparaison
Finalement comparez toutes ces m´ethodes en tra¸cant sur un mˆeme graphe :
— Les donn´ees exp´erimentales issues du fichier grippedata.dat repr´esent´ees par des cercles;
— En rouge, l’´evolution du nombre de malades M(t) obtenue par simulation pour la valeur b∗ si aucune mesure n’est prise;
— En vert, l’´evolution du nombre de malades Mv(t) obtenue par simulation en cas de vaccination;
— En bleu, l’´evolution du nombre de malades Md(t) obtenue par simulation en cas de mesures de distanciation;
— En noir, l’´evolution du nombre de malades Mm(t) obtenue par simulation avec l’utilisation d’un m´edicament.
Dans chaque cas, calculez le nombre de personnes touch´ees par la grippe au cours de l’´epid´emie.
Exercice 4 Matrices al´eatoires
Nous allons oberver le comportement du spectre d’une matrice al´eatoire sym´etrique r´eelle de grande taille. Nous retrouverons ainsi une loi universelle qui remplace la loi Gaussienne lorsque les variables al´eatoires ne sont plus ind´ependantes. Cette loi, d´ecouverte lors de l’´etude de ”gros” atomes, est appel´ee loi du demi-cercle de Wigner, en hommage `a son d´ecouvreur.
1. Construisez une matrice al´eatoire sym´etrique m de taille N × N avec N = 5000.
Indication : Si M est une matrice r´eelle, alors est une matrice sym´etrique.
2. Avec la fonction histogram (cf. TP3, exercice 3), construisez un histogramme d´ecrivant la r´epartition des valeurs propres de m. Ajustez les param`etres de l’histogramme (en particulier la position des arˆetes de l’histogrammme) pour obtenir une r´epartition justifiant le nom loi du demi-cercle.
Indication importante : Une matrice al´eatoire sym´etrique a toujours une unique valeur propre beaucoup plus grande que les autres qui ne suit pas la loi du demi-cercle! Il faut donc r´egler l’intervalle `a consid´erer pour l’histogramme afin d’´eliminer cette valeur propre.




Reviews
There are no reviews yet.