2011-11-08-estimer-les-parametres-dun-modele-dequations-differentielles-ordinaires-par-les-moindres-carres
De nombreux systèmes sont modélisés par des équations différentielles ordinaires. R peut permettre de résoudre certains de ces systèmes et aussi d’estimer leurs paramètres. On prend ici l’exemple d’un modèle épidémiologique temporel SI. #edo SIXlibrary(deSolve) # on utilise deSolve#on définit le système dans une fonction six icisix<-function(t,x,parms){ with( as.list(c(parms,x)),{ rp<-apexp(-bpt) rs<-asexp(-0.5(log(t/gs)/bs)^2) dI<- (rpXS+rsIS) dS<- -(rpXS+rsIS) res<-c(dI,dS) list(res)})}#on définit les paramètres pour la simulation du systèmeparms<-c(ap=0.002, bp=0.0084, as=5.9e-7, bs=0.25, gs=1396, X=1, N=1010)#on crée un vecteur pour le tempstimes<-seq(0:3000)#valeurs initiales des variables (ici tous les individus sont sains au début)y<- xstart <-(c(I = 0, S = 1010))#on résout le système avec la fonction lsodaout<-as.data.frame(lsoda(xstart, times, six,Read More →