[Pomp-commits] r1144 - www/vignettes

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Mon Mar 16 13:22:00 CET 2015


Author: kingaa
Date: 2015-03-16 13:21:59 +0100 (Mon, 16 Mar 2015)
New Revision: 1144

Modified:
   www/vignettes/getting_started.R
   www/vignettes/getting_started.Rmd
   www/vignettes/getting_started.html
   www/vignettes/pomp.pdf
Log:
- more work on "getting started" vignette

Modified: www/vignettes/getting_started.R
===================================================================
--- www/vignettes/getting_started.R	2015-03-16 12:21:51 UTC (rev 1143)
+++ www/vignettes/getting_started.R	2015-03-16 12:21:59 UTC (rev 1144)
@@ -25,7 +25,6 @@
   )
 
 ## ----prelims,echo=F,cache=F----------------------------------------------
-set.seed(594709947L)
 require(ggplot2)
 require(plyr)
 require(reshape2)
@@ -40,6 +39,15 @@
   scipen=5
   )
 
+## ----parallel,include=FALSE,cache=FALSE----------------------------------
+require(foreach)
+require(doMC)
+options(cores=5)
+registerDoMC()
+set.seed(594709947L,kind="L'Ecuyer")
+mcopts <- list(set.seed=TRUE)
+paropts <- list(.options.multicore=mcopts)
+
 ## ----eval=FALSE----------------------------------------------------------
 ## install.packages("pomp",repos="http://R-Forge.R-Project.org")
 
@@ -210,12 +218,45 @@
 tm <- traj.match(parus,start=c(r=1,K=200,phi=1,N.0=200,sigma=0.5),
                  est=c("r","K","phi"),transform=TRUE)
 signif(coef(tm),3)
+logLik(tm)
 
 ## ----parus-tm-sim1,cache=FALSE-------------------------------------------
 coef(tm,"sigma") <- 0
-sim <- simulate(tm,nsim=10,as.data.frame=TRUE,include.data=TRUE)
-ggplot(data=sim,mapping=aes(x=time,y=pop,group=sim,alpha=(sim=="data")))+
+sim1 <- simulate(tm,nsim=10,as.data.frame=TRUE,include.data=TRUE)
+ggplot(data=sim1,mapping=aes(x=time,y=pop,group=sim,alpha=(sim=="data")))+
   scale_alpha_manual(name="",values=c(`TRUE`=1,`FALSE`=0.2),
                      labels=c(`FALSE`="simulation",`TRUE`="data"))+
   geom_line()
 
+## ----parus-mif,cache=TRUE------------------------------------------------
+mf <- mif(parus,Nmif=50,Np=1000,method="mif2",cooling.fraction=0.8,
+          rw.sd=c(r=0.02,K=0.02,phi=0.02,sigma=0.02),transform=TRUE)
+mf <- mif(mf)
+mle <- coef(mf); mle
+logmeanexp(replicate(5,logLik(pfilter(mf))),se=TRUE)
+sim2 <- simulate(mf,nsim=10,as.data.frame=TRUE,include.data=TRUE)
+ggplot(data=sim2,mapping=aes(x=time,y=pop,group=sim,alpha=(sim=="data")))+
+  scale_alpha_manual(name="",values=c(`TRUE`=1,`FALSE`=0.2),
+                     labels=c(`FALSE`="simulation",`TRUE`="data"))+
+  geom_line()
+
+## ----parus-pmcmc,cache=TRUE----------------------------------------------
+dprior <- Csnippet("
+  lik = dunif(r,0,5,1)+dunif(K,100,800,1)+dunif(phi,0,2,1)+
+    dunif(sigma,0,2,1);
+  lik = (give_log) ? lik : exp(lik);
+  ")
+parus <- pomp(parus,dprior=dprior,paramnames=c("r","K","phi","sigma"))
+pchs <- foreach (i=1:5,.combine=c,
+                 .options.multicore=mcopts) %dopar% {
+  pmcmc(parus,Nmcmc=1000,Np=100,start=mle,
+        proposal=mvn.diag.rw(c(r=0.02,K=0.02,phi=0.02,sigma=0.02)))
+  }
+traces <- conv.rec(pchs,c("r","K","phi"))
+require(coda)
+plot(traces[,"r"])
+plot(traces[,"K"])
+plot(traces[,"phi"])
+gelman.plot(traces)
+gelman.diag(traces)
+

Modified: www/vignettes/getting_started.Rmd
===================================================================
--- www/vignettes/getting_started.Rmd	2015-03-16 12:21:51 UTC (rev 1143)
+++ www/vignettes/getting_started.Rmd	2015-03-16 12:21:59 UTC (rev 1144)
@@ -44,7 +44,6 @@
 
 
 ```{r prelims,echo=F,cache=F}
-set.seed(594709947L)
 require(ggplot2)
 require(plyr)
 require(reshape2)
@@ -59,6 +58,15 @@
   scipen=5
   )
 ```
+```{r parallel,include=FALSE,cache=FALSE}
+require(foreach)
+require(doMC)
+options(cores=5)
+registerDoMC()
+set.seed(594709947L,kind="L'Ecuyer")
+mcopts <- list(set.seed=TRUE)
+paropts <- list(.options.multicore=mcopts)
+```
 
 ## Introduction
 
@@ -426,13 +434,14 @@
 tm <- traj.match(parus,start=c(r=1,K=200,phi=1,N.0=200,sigma=0.5),
                  est=c("r","K","phi"),transform=TRUE)
 signif(coef(tm),3)
+logLik(tm)
 ```
 
 We can simulate the fitted model and compare it against the data.
 ```{r parus-tm-sim1,cache=FALSE}
 coef(tm,"sigma") <- 0
-sim <- simulate(tm,nsim=10,as.data.frame=TRUE,include.data=TRUE)
-ggplot(data=sim,mapping=aes(x=time,y=pop,group=sim,alpha=(sim=="data")))+
+sim1 <- simulate(tm,nsim=10,as.data.frame=TRUE,include.data=TRUE)
+ggplot(data=sim1,mapping=aes(x=time,y=pop,group=sim,alpha=(sim=="data")))+
   scale_alpha_manual(name="",values=c(`TRUE`=1,`FALSE`=0.2),
                      labels=c(`FALSE`="simulation",`TRUE`="data"))+
   geom_line()
@@ -440,8 +449,49 @@
 
 ## Maximizing the likelihood by iterated filtering
 
+Iterated filtering [@Ionides2015; @Ionides2006] is a method for maximizing the likelihood by repeatedly applying a particle filter.  The following codes apply the IF2 algorithm [@Ionides2015].
+```{r parus-mif,cache=TRUE}
+mf <- mif(parus,Nmif=50,Np=1000,method="mif2",cooling.fraction=0.8,
+          rw.sd=c(r=0.02,K=0.02,phi=0.02,sigma=0.02),transform=TRUE)
+mf <- mif(mf)
+mle <- coef(mf); mle
+logmeanexp(replicate(5,logLik(pfilter(mf))),se=TRUE)
+sim2 <- simulate(mf,nsim=10,as.data.frame=TRUE,include.data=TRUE)
+ggplot(data=sim2,mapping=aes(x=time,y=pop,group=sim,alpha=(sim=="data")))+
+  scale_alpha_manual(name="",values=c(`TRUE`=1,`FALSE`=0.2),
+                     labels=c(`FALSE`="simulation",`TRUE`="data"))+
+  geom_line()
+```
+
+The first command runs 50 iterations of the algorithm; the second re-runs the algorithm from where the first run ended up.
+The next line extracts and displays the MLE. 
+The fourth command runs 5 replicate particle filters to compute the log likelihood at the estimated parameters and averages these appropriately to get an estimate of this likelihood and of the standard Monte Carlo error.
+Finally, the above plots the data and 10 simulated realizations of the model process on the same axes.
+
 ## Sampling the posterior using particle Markov chain Monte Carlo
 
+The following codes cause 5 parallel pMCMC chains to be run, beginning at the MLE obtained above.
+```{r parus-pmcmc,cache=TRUE}
+dprior <- Csnippet("
+  lik = dunif(r,0,5,1)+dunif(K,100,800,1)+dunif(phi,0,2,1)+
+    dunif(sigma,0,2,1);
+  lik = (give_log) ? lik : exp(lik);
+  ")
+parus <- pomp(parus,dprior=dprior,paramnames=c("r","K","phi","sigma"))
+pchs <- foreach (i=1:5,.combine=c,
+                 .options.multicore=mcopts) %dopar% {
+  pmcmc(parus,Nmcmc=1000,Np=100,start=mle,
+        proposal=mvn.diag.rw(c(r=0.02,K=0.02,phi=0.02,sigma=0.02)))
+  }
+traces <- conv.rec(pchs,c("r","K","phi"))
+require(coda)
+plot(traces[,"r"])
+plot(traces[,"K"])
+plot(traces[,"phi"])
+gelman.plot(traces)
+gelman.diag(traces)
+```
+
 ## Model checking using probes
 
 ## References

Modified: www/vignettes/getting_started.html
===================================================================
--- www/vignettes/getting_started.html	2015-03-16 12:21:51 UTC (rev 1143)
+++ www/vignettes/getting_started.html	2015-03-16 12:21:59 UTC (rev 1144)
@@ -90,7 +90,7 @@
 </div>
 
 <p>Licensed under the <a href="http://creativecommons.org/licenses/by-nc/3.0">Creative Commons attribution-noncommercial license</a>. Please share and remix noncommercially, mentioning its origin.<br /><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAAAfCAYAAABjyArgAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAEZ0FNQQAAsY58+1GTAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAk0SURBVHja7FpdbNvWFf5IysFS1BrztA1yMBt7sQqskZMmy4Ytlta9LJ4TCnaCFkkWuQ812mCTlB+3S+3Iyk8TK/Zkb0iBYVstrCjahwZm/oDNGSLaKzBbTiIZaSM9rJCK2FiHDbArpwVmkbx7EHlF2pIty3axpjnGFX/uvR/J75577jnnmiGEWBmG+RSPZc2FEMIwAAgA3Bi+DpZlwbIsOI4Dy3LgWBYspx1ZFgzDgmUYMAwDMIyOAgICohKoRIWq5ouiKPmjqkBRVKiqQutUotL2hBD9Zej5oyD79u4HADAAiE4ux3H5wnKFc47L17GcRjIDhmGN/GrkaMSqeTIVRSvGc8VMsqqqlFgj0Y8SyRYAZnI5CyymY75cu3Id0WgUsVgMc9k5E1C1tRo7duyA68cuNO/5GRSVA8vK+QFRWDBgtLE0TB+V5GcCtDnELE3u3Yk4xMsiksmk6b7dbofQImDr9oZVkbFe+AwA8pdbf4bFYqGkWiyWfOEsGJFGEboQwvT0dFmANpsNHb/qQGPjLsiKAkWRIctaUWTIskI1vJgmL9TiT/75L1wauIRUMgUAcDqdcDgcAIBEIgFJkgAA9fZ6HPEewTe/9Y0VEbCe+Pv27s8T/NeRm7BwlgKxlipUWSwIdHVDHBJpB57nIQgCamtr0djYCAAYGRlBJpOBKIqYnZ2lbQW3gOMdx7DxiY2QZRk5WYYs5yDLstlk6ASrmi03EP0w+xDeIz5ks1kIgoBwOIza2lrTR2QyGfj9foiiCKvVinOhc2WTsN74lOBbf7uFKp3YKguqLFUmcnmeh8/ng9frBc/zJQEjkQj8fj8lut5ejz+8+Xt8beNGyHIOuVyOanJRkhfY465XTyGVTMHj8WBwcLAw7TTTYtT0SCSCtrY21NvrcebC6bIIKIX/m/5+jI+N4+1331kV/r69+8ECAKfZYAvHwcKZNdfhcCAejyMQCCxJLgB4PB6k02k6xVLJFHpDfSZbzlKPhCkU7c9I4N2JOFLJFARBQMeJE8t+jMfjgSAISCVTuDsRL8vmppIpbG1owA92ft9E7oVQCNdu3MArx09gamqqInxdWABgdbeM4zAijZrIjUaji6bNUsLzPKLRKCVZHBIxMjIKjrMUJ5nV3T6YSBYv598hHA7D/tRTC/3LogtiOBw29V1K9DafP/wMPefPw/nDH+GlF9vh9fvR3t6OkydPItTXi/GxsYrwTQTnNTivxaELIUrU4ODgslq7FMl639D5kOZLa+Qymk/Nah4GgwLJ2vRPJpNwOp2LBretrY1qfltbm6mutrYWTqdzkSdQTHT85uZm7Nu/H1NTU7g5PIzvfLsWn889xMFDB3H/ww/R0tpaEb5Zg7WPv3blOvUWfD4f1cJKhOd5OuLT09O4dvU6DVjyJJc2EboUe34kEil6vlSfUuJwOBDq68X5UA/efvcdtLS24qOPMwj19WLz5s2IvDmI5P37FeNTgnVtikajlByv10sbSZIEt9sNl8sFl8uFYDBYsq6/v99kF3Utjt6KGrS3YBoYpriJ+KLlezt3oqf3Ih48eICOY8fR8N2ncfm999C8uwkHnnseN4eHK8LNBxoMA5ZhEIvF8i6WIFBiJEmCy+UydZIkCZIkwev1wu12L6qbnJykq7IgCIhEIojFYvkI0EAsUCC34JUXsBKJRNHFTNdcj8ezqL5Yn1KysG02m8XN4WH09F6E534bmnc3AQDGx8YwPjaGmpoaMFWWSjQ4/6F6hLZlyxbawO/3U/uTTqfponf48GGqyQ6HA+l0GkNDQyYfGQA9n8vOFcwBPeq8LjYRdrsdkiQhk8mY7hvdKeO57rNKkgS73b7shxfDf+nFdpw7fQZbn96CA889j48+zqCltRU9vRdx4ODBFeGbCDYuLgvtjD7KHo+HGvl0Og2Px0Pr9OBDEARaZ1wYCu4X/Vn2xYQWwTTA5YjeVu+7Uvye3otoe+EFfPKff+Mf6TQGwmG8dqoLLa2tCJ49g4btz5SNbyb4/1C2bm9Avb0eoigu8hZKkSuKIurt9WXlDYrh19TU4LVTXTjmP4rmpib80ueD1WqtCN9MMDFHRUbbpGtzJBLB7OwsEokE6urqEAwGC76uFiYb64zTtuC/0p+yXu6Vkx2wWq2IRCJwu90Uy+gHZzIZuN1u9Pf3w2q14oj3SNkfXwr/2InjNIpbDT5d5PQXrrZWYy47h8nJSdogEAjQh2/atMlEnF6XSCQW1emiY1Vbq0GIIRwGgT6m2tWil3vS+iQGLvWj5/UQRFGEKIpwOBxwOBzgeR6SJFFlqCQZs974dN0evzOODRs2IHgqCHFIBM/zmJmZMXkGAwMDNMfgdDoRCASo9g4MDNC2xjoAqKurQyaTwbM/eRZ94V78d34eudw8cnIOuZwMRc9LqApURaVJ+IWR2pcxXUmTPWO3/46qqg14f/R9eH/hpWGhz+db1UvrCRIAOPv6Wexu+inmc/OYz+Ug53LIyQsILpLw+bIn3FkAdEvH6WqEzWYDAASDwUUu0kpkdnaWrtA2m01LxOupSRWqZot1c/GoCgsAKlGhKPl9tDPnTlOC3G63Kce7EnJdLhft2/Fqh5ZgVwokG1KUdJElj9aWEV3cAZDOQCeZuBsjiXtxcujnh/SlnjgcDhKPx0m5kk6nicPhoP0Ft0AS9+Jk4m6MnD53mt7/CpXChe+ol9yOT5DEBwkiuAV6n+d50t3dTWZmZkoSOzMzQ7q7uwnP87Tf9h3byeQHCXI7MUE6A51fRXIJs9Ap7Qp0Yq9bgMViQV+oD2/96a2Kt4yCZ7ohyzLGx2N4uf3lyqeYwWwYdzOM0efC65Xil8LSn10pNoqx3hXozGvyvTh5M/JHYrPZyh4xm81GBn47QBL34uR2YoK88bs3Vq0FhJAlz433KsVfDrfSZzClwirfUS8OHDxAdyGk6AiuXrm65Lb9HmEPnM5Gutd25cpVnA2eXf0iUUSD10JzF2KUOq5GmKXi1q3bGtAVOIWazTbDboQx3QiT36r/48n01BR+3RvG6Mjo2qzCC6bsWpmG5UzCUs9dE4J12dW4C03NTdj2zDZ83Wo153A11+rTbBZ3bt/BjWs31ozYL1qD18MGl0XwY1mFiSCEPMEwzGePqViHAIMQ5n8DAFb/49reYmyHAAAAAElFTkSuQmCC" alt="CC-BY_NC" /></p>
-<p>This document was produced using <code>pomp</code> version 0.62.8.</p>
+<p>This document was produced using <code>pomp</code> version 0.63.1.</p>
 <div id="introduction" class="section level2">
 <h2>Introduction</h2>
 <p>This tutorial aims to help you get started using <code>pomp</code> as a suite of tools for analysis of time series data based on dynamical systems models. First, we give some conceptual background regarding the class of models—partially observed Markov processes—that <code>pomp</code> handles. We then discuss some preliminaries: installing the package and so on. Next, using a basic question about ecological population regulation as an example, we load some data and implement some models as <code>R</code> objects of class <code>pomp</code>. Finally, we illustrate some of the package’s capabilities by using its algorithms to fit and compare the models using various inference methods.</p>
@@ -174,7 +174,7 @@
   geom_line()+geom_point()+
   expand_limits(y=0)+
   theme_classic()</code></pre>
[TRUNCATED]

To get the complete diff run:
    svnlook diff /svnroot/pomp -r 1144


More information about the pomp-commits mailing list