[Pomp-commits] r1121 - pkg/pomp pkg/pomp/man www/content www/vignettes

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Sun Mar 1 16:17:09 CET 2015


Author: kingaa
Date: 2015-03-01 16:17:08 +0100 (Sun, 01 Mar 2015)
New Revision: 1121

Modified:
   pkg/pomp/DESCRIPTION
   pkg/pomp/man/csnippet.Rd
   www/content/vignettes.htm
   www/vignettes/getting_started.R
   www/vignettes/getting_started.Rmd
   www/vignettes/getting_started.html
   www/vignettes/pomp.pdf
Log:
- improve Csnippet help page
- simplify the Getting Started vignette
- update the package vignettes webpage (remove intro and advanced topics vignettes)

Modified: pkg/pomp/DESCRIPTION
===================================================================
--- pkg/pomp/DESCRIPTION	2015-03-01 03:41:09 UTC (rev 1120)
+++ pkg/pomp/DESCRIPTION	2015-03-01 15:17:08 UTC (rev 1121)
@@ -1,8 +1,8 @@
 Package: pomp
 Type: Package
 Title: Statistical Inference for Partially Observed Markov Processes
-Version: 0.62-2
-Date: 2015-02-28
+Version: 0.62-3
+Date: 2015-03-01
 Authors at R: c(person(given=c("Aaron","A."),family="King",
 		role=c("aut","cre"),email="kingaa at umich.edu"),
 	  person(given=c("Edward","L."),family="Ionides",role=c("aut")),
@@ -25,18 +25,18 @@
 MailingList: Subscribe to pomp-announce at r-forge.r-project.org for announcements by going to http://lists.r-forge.r-project.org/mailman/listinfo/pomp-announce.
 Collate: aaa.R authors.R generics.R eulermultinom.R
 	 csnippet.R pomp-fun.R plugins.R builder.R
-	 parmat.R logmeanexp.R slice-design.R 
+	 parmat.R logmeanexp.R slice-design.R
 	 profile-design.R sobol.R bsplines.R sannbox.R
-	 pomp-class.R load.R pomp.R pomp-methods.R 
-	 rmeasure-pomp.R rprocess-pomp.R init-state-pomp.R 
-	 dmeasure-pomp.R dprocess-pomp.R skeleton-pomp.R 
+	 pomp-class.R load.R pomp.R pomp-methods.R
+	 rmeasure-pomp.R rprocess-pomp.R init-state-pomp.R
+	 dmeasure-pomp.R dprocess-pomp.R skeleton-pomp.R
 	 dprior-pomp.R rprior-pomp.R
-	 simulate-pomp.R trajectory-pomp.R plot-pomp.R 
-	 pfilter.R pfilter-methods.R minim.R traj-match.R 
+	 simulate-pomp.R trajectory-pomp.R plot-pomp.R
+	 pfilter.R pfilter-methods.R minim.R traj-match.R
 	 bsmc.R bsmc2.R
 	 mif.R mif-methods.R
 	 proposals.R pmcmc.R pmcmc-methods.R
- 	 nlf-funcs.R nlf-guts.R nlf-objfun.R nlf.R 
+ 	 nlf-funcs.R nlf-guts.R nlf-objfun.R nlf.R
 	 probe.R probe-match.R basic-probes.R spect.R spect-match.R
 	 abc.R abc-methods.R
 	 example.R

Modified: pkg/pomp/man/csnippet.Rd
===================================================================
--- pkg/pomp/man/csnippet.Rd	2015-03-01 03:41:09 UTC (rev 1120)
+++ pkg/pomp/man/csnippet.Rd	2015-03-01 15:17:08 UTC (rev 1121)
@@ -6,7 +6,7 @@
   For including snippets of C code in \code{pomp} objects.
 }
 \usage{
-  Csnippet(text);
+  Csnippet(text)
 }
 \arguments{
   \item{text}{
@@ -18,12 +18,68 @@
 }
 \section{Using C snippets to accelerate computations}{
   From version 0.50, \pkg{pomp} provides a facility whereby users can define their model's components using inline C code.
-  The \code{pomp} constructor combines these \code{Csnippet}s into a compilable C file stored in the \R session's temporary directory.
-  They are then compiled (via \code{\link[=SHLIB]{R CMD SHLIB}}) into dynamically loadable shared objects.
-  This is then dynamically loaded as needed.
+  Furnishing one or more \code{Csnippet}s as arguments to the \code{pomp} constructor causes them to be written to a C file stored in the \R session's temporary directory, which is then compiled (via \code{\link[=SHLIB]{R CMD SHLIB}}) into a dynamically loadable shared object file.
+  This is then loaded as needed.
 
-  Instructions for writing models using \code{Csnippet}s, along with examples, are given in the tutorials on the \href{http://pomp.r-forge.r-project.org}{package website}.
+  \strong{Note to Windows and Mac users:}
+  By default, your \R installation may not support \code{\link[=SHLIB]{R CMD SHLIB}}.
+  Have a look at the tutorials on the package website for instructions on enabling this powerful feature of \R.
+
+  In writing a \code{Csnippet} one must bear in mind both the \emph{goal} of the snippet, i.e., what computation it is intended to perform, and the \emph{context} in which it will be executed.
+  Details of both of these are given below in the form of rules governing the use of \code{Csnippet}s.
+  Illustrative examples are given in the tutorials on the \href{http://pomp.r-forge.r-project.org}{package website}.
 }
+\section{General rules for writing C snippets}{
+  \enumerate{
+    \item C snippets must be valid C.  They will embedded verbatim in a template file which will then be compiled by a call to \code{R CMD SHLIB}.  If the resulting file does not compile, an error message wil be generated.  No attempt is made by \pkg{pomp} to interpret this message.  Typically, compilation errors are due to either invalid C syntax or undeclared variables.
+    \item State variables, parameters, observables, and covariates must be left undeclared in the snippet.  State variables and parameters must be declared in either the \code{statenames} or \code{paramnames} argument to \code{pomp}, as appropriate. Compiler errors that complain about undeclared state variables or parameters are usually due to failure to include these parameters in the appropriate vector of names.
+    \item A C snippet can declare local variables.  Be careful not to use names that match those of state variables, observables, or parameters.  The latter must never be declared within a snippet.
+    \item Names of observables are determined by their names in the data.  They must be referred to in measurement model snippets (rmeasure or dmeasure) by those names.
+    \item If the \code{pomp} object contains a table of covariates (see \code{\link{pomp}}), then the variables in the covariate table will be available, by their names, in the context within which the snippet is executed.
+    \item \R variables with names containing dots (\sQuote{.}) are replaced in the C codes by variable names in which all dots have been replaced by underscores (\sQuote{_}).
+    \item The header \file{R.h}, provided with \R, will be included in the generated C file, making all of the \href{http://cran.r-project.org/doc/manuals/r-release/R-exts.html#The-R-API}{\R C API} available for use in the snippet.
+    \item The header \file{pomp.h}, provided with \pkg{pomp}, will also be included, making all of the \pkg{pomp} C API available for use in every snippet.  Do \preformatted{file.show(system.file("include/pomp.h",package="pomp"))} to view this header file.
+    \item Snippets of C code passed to the \code{globals} argument of \code{pomp} will be included at the head of the generated C file.  This can be used to declare global variables, define useful functions, and include arbitrary header files.
+  }
+}
+\section{Rules for writing \code{rmeasure} snippets}{
+  \enumerate{
+    \item The goal of such a snippet is to fill the observables with random values drawn from the measurement model distribution.  Accordingly, each observable should be assigned a new value.
+    \item In addition to the states, parameters, covariates (if any), and observables, the variable \code{t}, containing the time of the observation, will be defined in the context in which the snippet is executed.
+  }
+}
+\section{Rules for writing \code{dmeasure} snippets}{
+  \enumerate{
+    \item The goal of such a snippet is to fill the \code{lik} variable with the likelihood of the data given the state.  Alternatively, if \code{give_log=1}, \code{lik} should be filled with the log likelihood.
+    \item In addition to the states, parameters, covariates (if any), and observables, the variable \code{t}, containing the time of the observation, will be defined in the context in which the snippet is executed.
+  }
+}
+\section{Rules for writing \code{euler.sim} and \code{discrete.time.sim} snippets}{
+  \enumerate{
+    \item The goal of such a snippet is to replace the state variables with their new random values at the end of the time interval.  Accordingly, each state variable should be over-written with its new value.
+    \item In addition to the states, parameters, covariates (if any), and observables, the variables \code{t} and \code{dt}, containing respectively the time at the beginning of the Euler step and the Euler step's duration, will be defined in the context in which the snippet is executed.
+  }
+}
+\section{Rules for writing \code{skeleton} snippets}{
+  \enumerate{
+    \item For each state variable, there is a corresponding component of the deterministic skeleton.  The goal of such a snippet is to compute all the components.
+    \item When the skeleton is a map, the component corresponding to state variable \code{x} is named \code{Dx} and is the new value of \code{x} after one iteration of the map.
+    \item When the skeleton is a vectorfield, the component corresponding to state variable \code{x} is named \code{Dx} and is the value of $dx/dt$.
+    \item As with the other C snippets, all states, parameters and covariates, as well as the current time, \code{t}, will be defined in the context within which the snippet is executed.
+  }
+}
+\section{Rules for writing parameter transformation snippets}{
+  \enumerate{
+    \item The parameter transformation mapping a parameter vector from the scale defined by the model codes to another scale is specified as the \code{parameter.inv.transform} whilst the transformation mapping a parameter vector from the alternative scale to that on which the model is defined is specified as the \code{parameter.transform}.
+    \item The goal of a these snippets is the computation of the values of the transformed parameters.  The value of transformed parameter \code{x} should be assigned to variable \code{Tx}.
+    \item Time-, state-, and covariate-dependent transformations are not allowed.  Therefore, neither the time, nor any state variables, nor any of the covariates will be available in the context within which a parameter transformation snippet is executed.
+  }
+}
+\section{Viewing the generated C code}{
+  It can be useful to view the C code generated by calling \code{pomp} with one or more \code{Csnippet} arguments.
+  To do so, set \code{options(verbose=TRUE)} before calling \code{pomp}.
+  A message giving the name of the generated C file (in the session temporary directory) will be printed.
+}
 \author{Aaron A. King \email{kingaa at umich dot edu}}
 \seealso{
   \code{\link{pomp}}, \code{\link{plugins}}, and the tutorials on the \href{http://pomp.r-forge.r-project.org}{package website}.

Modified: www/content/vignettes.htm
===================================================================
--- www/content/vignettes.htm	2015-03-01 03:41:09 UTC (rev 1120)
+++ www/content/vignettes.htm	2015-03-01 15:17:08 UTC (rev 1121)
@@ -2,16 +2,10 @@
 
 <table>
 <tr>
-<td>Introduction to <strong>pomp</strong></td>
-<td><a target="_blank" href="vignettes/intro_to_pomp.pdf">(PDF)</a></td>
-<td><a target="_blank" href="vignettes/intro_to_pomp.R">(R code)</a></td>
+<td>Getting started with <strong>pomp</strong></td>
+<td><a target="_blank" href="vignettes/getting_started.html">(HTML)</a></td>
+<td><a target="_blank" href="vignettes/getting_started.R">(R code)</a></td>
 </tr>
-<tr>
-<td>Advanced topics in <strong>pomp</strong></td>
-<td><a target="_blank" href="vignettes/advanced_topics_in_pomp.pdf">(PDF)</a></td>
-<td><a target="_blank" href="vignettes/advanced_topics_in_pomp.R">(R code)</a></td>
-</tr>
-<tr>
 <td><strong>pomp</strong> package manual</td>
 <td><a target="_blank" href="vignettes/pomp.pdf">(PDF)</a></td>
 </tr>

Modified: www/vignettes/getting_started.R
===================================================================
--- www/vignettes/getting_started.R	2015-03-01 03:41:09 UTC (rev 1120)
+++ www/vignettes/getting_started.R	2015-03-01 15:17:08 UTC (rev 1121)
@@ -33,7 +33,7 @@
 require(magrittr)
 require(pomp)
 theme_set(theme_bw())
-stopifnot(packageVersion("pomp")>="0.62-1")
+stopifnot(packageVersion("pomp")>="0.62-2")
 options(
   keep.source=TRUE,
   stringsAsFactors=FALSE,
@@ -205,11 +205,3 @@
 coef(parus,transform=TRUE) <- partrans(parus,p,dir="inv")
 stopifnot(all.equal(p,coef(parus)))
 
-## ----tempfile-view,eval=FALSE--------------------------------------------
-## op <- options(verbose=TRUE)
-## 
-## parus <- pomp(data=parus.dat,times="year",t0=1959,rprocess=euler.sim(step.fun,delta.t=1/365),
-##      dmeasure=dmeas,rmeasure=rmeas,statenames="N",paramnames=c("r","phi","K","N.0","sigma"))
-## 
-## options(op)
-

Modified: www/vignettes/getting_started.Rmd
===================================================================
--- www/vignettes/getting_started.Rmd	2015-03-01 03:41:09 UTC (rev 1120)
+++ www/vignettes/getting_started.Rmd	2015-03-01 15:17:08 UTC (rev 1121)
@@ -1,7 +1,6 @@
 ---
 title: "Getting started with pomp"
 author: "Aaron A. King"
-date: "02/28/2015"
 output:
   html_document:
     theme: flatly
@@ -14,6 +13,8 @@
 Please share and remix noncommercially, mentioning its origin.  
 ![CC-BY_NC](http://pomp.r-forge.r-project.org/graphics/cc-by-nc.png)
 
+This document compiled with `pomp` version `r packageVersion("pomp")`.
+
 ```{r opts,include=FALSE}
 library(knitr)
 prefix <- "getting-started"
@@ -51,7 +52,7 @@
 require(magrittr)
 require(pomp)
 theme_set(theme_bw())
-stopifnot(packageVersion("pomp")>="0.62-1")
+stopifnot(packageVersion("pomp")>="0.62-2")
 options(
   keep.source=TRUE,
   stringsAsFactors=FALSE,
@@ -229,7 +230,7 @@
 The `rnorm` function is part of the [`R` API](http://cran.r-project.org/doc/manuals/r-release/R-exts.html#The-R-API): see the [manual on "Writing R Extensions"](http://cran.r-project.org/doc/manuals/r-release/R-exts.html) for a description of this and the other [distribution functions provided as part of the `R` API](http://cran.r-project.org/doc/manuals/r-release/R-exts.html#Distribution-functions).
 Finally, note that the state variable `N` is over-written by this snippet: it's value when the first line is executed is overwritten by the second line.
 
-[A full set of rules for writing `pomp` C snippets is given below][rules].
+A full set of rules for writing `pomp` C snippets is given in the package help `?Csnippet`.
 
 With the process model in place, we can simulate the process model using the `simulate` function and plot several realizations for a given set of parameters.
 
@@ -328,7 +329,7 @@
 parus <- pomp(parus,skeleton=skel,skeleton.type="vectorfield",statenames="N",paramnames=c("r","K"))
 ```
 Note that in this snippet, `DN` is filled with the value of the time-derivative of `N`. 
-[See below for a complete set of rules for writing C snippets for `pomp`][rules].
+See the package help (`?Csnippet`) for a complete set of rules for writing C snippets.
 
 With the deterministic skeleton in place we can generate several trajectories of the skeleton using `trajectory`, as follows, and plot the result.
 ```{r logistic-traj1}
@@ -403,59 +404,4 @@
 stopifnot(all.equal(p,coef(parus)))
 ```
 
-## Rules for writing C snippets
-
-To fully understand how `pomp` makes use of C snippets, it is informative to have a look at the C file created by any call to `pomp` involving one or more C snippets.
-Run the following in an `R` session and view the C file that is created in the session's temporary directory.
-```{r tempfile-view,eval=FALSE}
-op <- options(verbose=TRUE)
-
-parus <- pomp(data=parus.dat,times="year",t0=1959,rprocess=euler.sim(step.fun,delta.t=1/365),
-     dmeasure=dmeas,rmeasure=rmeas,statenames="N",paramnames=c("r","phi","K","N.0","sigma"))
-
-options(op)
-```
-
-### General rules
-
-1. C snippets must be valid C.  They will embedded verbatim in a template file which will then be compiled by a call to `R CMD SHLIB`.  If the resulting file does not compile, an error message wil be generated.  No attempt is made by `pomp` to interpret this message.  Typically, compilation errors are due to either the snippet's being invalid C or one or more undeclared variables.
-1. Each state variable or parameter must be left undeclared in the snippet and declared in the corresponding argument to `pomp`, i.e., in either `statenames` or `paramnames`. Compiler errors that complain about undeclared state variables or parameters are likely due to failure to include these parameters in the appropriate vector of names.
-1. Names of observables are determined by their names in the data.  They must be referred to in measurement model snippets (rmeasure or dmeasure) by those names.
-1. If the `pomp` object contains a table of covariates (see `?pomp`), then the variables in the covariate table will be available by their names in the context within which the snippet is executed.
-1. `R` variables with names containing dots are replaced in the C codes by variable names in which all dots have been replaced by underscores ("_").
-1. A C snippet can declare local variables.  Be careful not to use names that match those of state variables, observables, or parameters.  The latter must never be declared within a snippet.
-1. The header `R.h`, provided with `R`, will be included, making all of the [`R` C API](http://cran.r-project.org/doc/manuals/r-release/R-exts.html#The-R-API) available for use in the snippet.
-1. The header `pomp.h`, provided with `pomp`, will be included, making all of the `pomp` C API available for use in every snippet.  Do `file.show(system.file("include/pomp.h",package="pomp"))` to view this header file.
-1. Snippets of C code passed to the `globals` argument of `pomp` will be included at the head of the generated C file.  This can be used to define global variables, define useful functions, and include header files.
-
-### C snippets implementing Euler steps for use by `euler.sim`
-
-1. The ultimate goal of such a snippet is to replace the state variables with their new random values at the end of the time interval.  Accordingly, each state variable should be over-written with its new value.
-1. In addition to the states, parameters, covariates (if any), and observables, the variables `t` and `dt`, containing respectively the time at the beginning of the Euler step and the Euler step's duration, will be defined in the context in which the snippet is executed.
-
-### C snippets implementing the rmeasure component
-
-1. The ultimate goal of such a snippet is to fill the observables with random values drawn from the measurement model distribution.  Accordingly, each observable should be assigned a new value.
-1. In addition to the states, parameters, covariates (if any), and observables, the variable `t`, containing the time of the observation, will be defined in the context in which the snippet is executed.
-
-### C snippets implementing the dmeasure component
-
-1. The ultimate goal of such a snippet is to fill the `lik` variable with the likelihood of the data given the state.  Alternatively, if `give_log=1`, `lik` should be filled with the log likelihood.
-1. In addition to the states, parameters, covariates (if any), and observables, the variable `t`, containing the time of the observation, will be defined in the context in which the snippet is executed.
-
-### C snippets implementing the deterministic skeleton
-
-1. For each state variable, there is a corresponding component of the deterministic skeleton.  The goal of such a snippet is to compute all the components.  
-1. When the skeleton is a map, the component corresponding to state variable `x` is named `Dx` and is the new value of `x` after one iteration of the map.
-1. When the skeleton is a vectorfield, the component corresponding to state variable `x` is named `Dx` and is the value of $dx/dt$.
-1. As with the other C snippets, all states, parameters and covariates, as well as the current time, `t`, will be defined in the context within which the snippet is executed.
-
-### C snippets implementing parameter transformations
-
-1. The parameter transformation taking a parameter vector from the scale defined by the model codes to another scale is specified as the `parameter.inv.transform` whilst the transformation taking a parameter vector from the alternative scale to that on which the model is defined is specified as the `parameter.transform`.
-1. The goal of a either of these snippets is the computation of the values of the transformed parameters.  The value of transformed parameter `x` should be assigned to variable `Tx`.
-1. Time- and covariate-dependent transformations are not allowed.  Therefore, the variables `t` and any covariates will not be available in the context within which a parameter transformation snippet is executed.
-
 ## References
-
-[rules]:./getting_started.html##rules-for-writing-c-snippets "Rules for writing C snippets"

Modified: www/vignettes/getting_started.html
===================================================================
--- www/vignettes/getting_started.html	2015-03-01 03:41:09 UTC (rev 1120)
+++ www/vignettes/getting_started.html	2015-03-01 15:17:08 UTC (rev 1121)
@@ -10,7 +10,6 @@
 
 <meta name="author" content="Aaron A. King" />
 
-<meta name="date" content="2015-02-28" />
 
 <title>Getting started with pomp</title>
 
@@ -64,7 +63,6 @@
 <div id="header">
 <h1 class="title">Getting started with pomp</h1>
 <h4 class="author"><em>Aaron A. King</em></h4>
-<h4 class="date"><em>02/28/2015</em></h4>
 </div>
 
 <div id="TOC">
@@ -83,18 +81,11 @@
 <li><a href="#a-continuous-time-deterministic-skeleton">A continuous-time deterministic skeleton</a></li>
 <li><a href="#specifying-a-discrete-time-process-model-and-skeleton">Specifying a discrete-time process model and skeleton</a></li>
 <li><a href="#parameter-transformations">Parameter transformations</a></li>
-<li><a href="#rules-for-writing-c-snippets">Rules for writing C snippets</a><ul>
-<li><a href="#general-rules">General rules</a></li>
-<li><a href="#c-snippets-implementing-euler-steps-for-use-by-euler.sim">C snippets implementing Euler steps for use by <code>euler.sim</code></a></li>
-<li><a href="#c-snippets-implementing-the-rmeasure-component">C snippets implementing the rmeasure component</a></li>
-<li><a href="#c-snippets-implementing-the-dmeasure-component">C snippets implementing the dmeasure component</a></li>
-<li><a href="#c-snippets-implementing-the-deterministic-skeleton">C snippets implementing the deterministic skeleton</a></li>
-<li><a href="#c-snippets-implementing-parameter-transformations">C snippets implementing parameter transformations</a></li>
-</ul></li>
 </ul>
 </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,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" alt="CC-BY_NC" /></p>
+<p>This document compiled with <code>pomp</code> version 0.62.2.</p>
 <div id="partially-observed-markov-process-pomp-models" class="section level2">
 <h2>Partially observed Markov process (POMP) models</h2>
 <p>As its name implies <code>pomp</code> is focused on partially observed Markov process models. These are also known as state-space model, hidden Markov models, and stochastic dynamical systems models. Such models consist of an unobserved stochastic <em>state process</em>, connected to the data via an explicit model of the observation process. We refer to the former as the <em>process model</em> and the latter as the <em>measurement model</em>. Each model is, in fact, a probability distribution. If we let <span class="math">\(Y_t\)</span> denote the measurement process at time <span class="math">\(t\)</span> and <span class="math">\(X_t\)</span> the state process, then by definition, the process model is determined by the density <span class="math">\(f_{X_t|X_{t-1}}\)</span> and the measurement process by the density <span class="math">\(f_{Y_t|X_t}\)</span>. We think of the data, <span class="math">\(y^*_t\)</span>, <span class="math">\(t=1,\dots,T\)</span> as being a single realization of the <span class="math">\(Y\)</span> process. To implement a POMP model in <code>pomp</code>, we have to specify the measurement and process distributions.</p>
@@ -108,18 +99,20 @@
 <colgroup>
 <col width="48%"></col>
 </colgroup>
+<thead>
+<tr class="header">
[TRUNCATED]

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


More information about the pomp-commits mailing list