[Pomp-commits] r957 - in pkg/pomp: . R inst man
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Sat May 17 23:23:27 CEST 2014
Author: kingaa
Date: 2014-05-17 23:23:27 +0200 (Sat, 17 May 2014)
New Revision: 957
Removed:
pkg/pomp/R/compare-mif.R
pkg/pomp/R/compare-pmcmc.R
Modified:
pkg/pomp/DESCRIPTION
pkg/pomp/NAMESPACE
pkg/pomp/R/abc-methods.R
pkg/pomp/R/mif-methods.R
pkg/pomp/R/pmcmc-methods.R
pkg/pomp/inst/NEWS
pkg/pomp/inst/NEWS.Rd
pkg/pomp/man/abc-methods.Rd
Log:
- add compare.abc and compare.pmcmc methods
Modified: pkg/pomp/DESCRIPTION
===================================================================
--- pkg/pomp/DESCRIPTION 2014-05-17 15:51:26 UTC (rev 956)
+++ pkg/pomp/DESCRIPTION 2014-05-17 21:23:27 UTC (rev 957)
@@ -1,7 +1,7 @@
Package: pomp
Type: Package
Title: Statistical inference for partially observed Markov processes
-Version: 0.50-7
+Version: 0.50-8
Date: 2014-05-17
Authors at R: c(person(given=c("Aaron","A."),family="King",
role=c("aut","cre"),email="kingaa at umich.edu"),
@@ -35,8 +35,8 @@
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 bsmc.R
- mif.R mif-methods.R compare-mif.R
- pmcmc.R pmcmc-methods.R compare-pmcmc.R
+ mif.R mif-methods.R
+ pmcmc.R pmcmc-methods.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
Modified: pkg/pomp/NAMESPACE
===================================================================
--- pkg/pomp/NAMESPACE 2014-05-17 15:51:26 UTC (rev 956)
+++ pkg/pomp/NAMESPACE 2014-05-17 21:23:27 UTC (rev 957)
@@ -87,7 +87,7 @@
profileDesign,
bspline.basis,
periodic.bspline.basis,
- compare.mif,
+ compare.mif,compare.pmcmc,compare.abc,
nlf,
parmat,
logmeanexp,
Modified: pkg/pomp/R/abc-methods.R
===================================================================
--- pkg/pomp/R/abc-methods.R 2014-05-17 15:51:26 UTC (rev 956)
+++ pkg/pomp/R/abc-methods.R 2014-05-17 21:23:27 UTC (rev 957)
@@ -23,3 +23,56 @@
}
}
)
+
+compare.abc <- function (z) {
+ ## assumes that z is a list of abcs with identical structure
+ if (!is.list(z)) z <- list(z)
+ if (!all(sapply(z,function(x)is(x,'abc'))))
+ stop("compare.abc error: ",
+ sQuote("z"),
+ " must be a pmcmc object or a list of pmcmc objects",call.=FALSE)
+ mar.multi <- c(0,5.1,0,2.1)
+ oma.multi <- c(6,0,5,0)
+ xx <- z[[1]]
+ estnames <- xx at pars
+ parnames <- names(coef(xx))
+ unestnames <- parnames[-match(estnames,parnames)]
+
+ ## plot pmcmc convergence diagnostics
+ other.diagnostics <- c()
+ plotnames <- c(other.diagnostics,estnames)
+ nplots <- length(plotnames)
+ n.per.page <- min(nplots,10)
+ nc <- if (n.per.page<=4) 1 else 2
+ nr <- ceiling(n.per.page/nc)
+ oldpar <- par(mar=mar.multi,oma=oma.multi,mfcol=c(nr,nc))
+ on.exit(par(oldpar))
+ low <- 1
+ hi <- 0
+ iteration <- seq(0,xx at Nabc)
+ while (hi<nplots) {
+ hi <- min(low+n.per.page-1,nplots)
+ for (i in seq(from=low,to=hi,by=1)) {
+ n <- i-low+1
+ dat <- sapply(z,function(po,label) conv.rec(po,label),label=plotnames[i])
+ matplot(
+ y=dat,
+ x=iteration,
+ axes = FALSE,
+ xlab = "",
+ ylab = "",
+ type = "l"
+ )
+ box()
+ y.side <- 2
+ axis(y.side,xpd=NA)
+ mtext(plotnames[i],y.side,line=3)
+ do.xax <- (n%%nr==0||n==n.per.page)
+ if (do.xax) axis(1,xpd=NA)
+ if (do.xax) mtext("ABC iteration",side=1,line=3)
+ }
+ low <- hi+1
+ mtext("ABC convergence diagnostics",3,line=2,outer=TRUE)
+ }
+ invisible(NULL)
+}
Deleted: pkg/pomp/R/compare-mif.R
===================================================================
--- pkg/pomp/R/compare-mif.R 2014-05-17 15:51:26 UTC (rev 956)
+++ pkg/pomp/R/compare-mif.R 2014-05-17 21:23:27 UTC (rev 957)
@@ -1,103 +0,0 @@
-compare.mif <- function (z) {
- ## assumes that x is a list of mifs with identical structure
- if (!is.list(z)) z <- list(z)
- if (!all(sapply(z,function(x)is(x,'mif'))))
- stop("compare.mif error: ",sQuote("z")," must be a mif object or a list of mif objects",call.=FALSE)
- mar.multi <- c(0,5.1,0,2.1)
- oma.multi <- c(6,0,5,0)
- xx <- z[[1]]
- ivpnames <- xx at ivps
- estnames <- c(xx at pars,ivpnames)
- parnames <- names(coef(xx,transform=xx at transform))
- unestnames <- parnames[-match(estnames,parnames)]
-
- ## plot filter means
- filt.diag <- rbind("eff. sample size"=xx at eff.sample.size,filter.mean(xx))
- filtnames <- rownames(filt.diag)
- plotnames <- if(length(unestnames)>0) filtnames[-match(unestnames,filtnames)] else filtnames
- lognames <- filtnames[1] # eff. sample size
- nplots <- length(plotnames)
- n.per.page <- min(nplots,10)
- if(n.per.page<=4) nc <- 1 else nc <- 2
- nr <- ceiling(n.per.page/nc)
- oldpar <- par(mar=mar.multi,oma=oma.multi,mfcol=c(nr,nc),ask=dev.interactive(orNone=TRUE))
- on.exit(par(oldpar))
- low <- 1
- hi <- 0
- time <- time(xx)
- while (hi<nplots) {
- hi <- min(low+n.per.page-1,nplots)
- for (i in seq(from=low,to=hi,by=1)) {
- n <- i-low+1
- logplot <- if (plotnames[i]%in%lognames) "y" else ""
- dat <- sapply(
- z,
- function(po, label) {
- if (label=="eff. sample size")
- po at eff.sample.size
- else
- filter.mean(po,label)
- },
- label=plotnames[i]
- )
- matplot(
- y=dat,
- x=time,
- axes = FALSE,
- xlab = "",
- log=logplot,
- ylab = "",
- type = "l"
- )
- box()
- y.side <- 2
- axis(y.side, xpd = NA)
- mtext(plotnames[i], y.side, line = 3)
- do.xax <- (n%%nr==0||n==n.per.page)
- if (do.xax) axis(1,xpd=NA)
- if (do.xax) mtext("time",side=1,line=3)
- }
- low <- hi+1
- mtext("Filter diagnostics (last iteration)",3,line=2,outer=TRUE)
- }
-
- ## plot mif convergence diagnostics
- other.diagnostics <- c("loglik", "nfail")
- plotnames <- c(other.diagnostics,estnames)
- nplots <- length(plotnames)
- n.per.page <- min(nplots,10)
- nc <- if (n.per.page<=4) 1 else 2
- nr <- ceiling(n.per.page/nc)
- par(mar=mar.multi,oma=oma.multi,mfcol=c(nr,nc))
- ## on.exit(par(oldpar))
- low <- 1
- hi <- 0
- iteration <- seq(0,xx at Nmif)
- while (hi<nplots) {
- hi <- min(low+n.per.page-1,nplots)
- for (i in seq(from=low,to=hi,by=1)) {
- n <- i-low+1
- dat <- sapply(z,function(po,label) conv.rec(po,label),label=plotnames[i])
- matplot(
- y=dat,
- x=iteration,
- axes = FALSE,
- xlab = "",
- ylab = "",
- type = "l"
- )
- box()
- y.side <- 2
- axis(y.side,xpd=NA)
- mtext(plotnames[i],y.side,line=3)
- do.xax <- (n%%nr==0||n==n.per.page)
- if (do.xax) axis(1,xpd=NA)
- if (do.xax) mtext("MIF iteration",side=1,line=3)
- }
- low <- hi+1
- mtext("MIF convergence diagnostics",3,line=2,outer=TRUE)
- }
- invisible(NULL)
-}
-
-
Deleted: pkg/pomp/R/compare-pmcmc.R
===================================================================
--- pkg/pomp/R/compare-pmcmc.R 2014-05-17 15:51:26 UTC (rev 956)
+++ pkg/pomp/R/compare-pmcmc.R 2014-05-17 21:23:27 UTC (rev 957)
@@ -1,101 +0,0 @@
-compare.pmcmc <- function (z) {
- ## assumes that x is a list of pmcmcs with identical structure
- if (!is.list(z)) z <- list(z)
- if (!all(sapply(z,function(x)is(x,'pmcmc'))))
- stop("compare.pmcmc error: ",sQuote("z")," must be a pmcmc object or a list of pmcmc objects",call.=FALSE)
- mar.multi <- c(0,5.1,0,2.1)
- oma.multi <- c(6,0,5,0)
- xx <- z[[1]]
- estnames <- xx at pars
- parnames <- names(coef(xx))
- unestnames <- parnames[-match(estnames,parnames)]
-
- ## plot filter means
- filt.diag <- rbind("eff. sample size"=xx at eff.sample.size,filter.mean(xx))
- filtnames <- rownames(filt.diag)
-# plotnames <- if(length(unestnames)>0) filtnames[-match(unestnames,filtnames)] else filtnames
- plotnames <- filtnames
- lognames <- filtnames[1] # eff. sample size
- nplots <- length(plotnames)
- n.per.page <- min(nplots,10)
- if(n.per.page<=4) nc <- 1 else nc <- 2
- nr <- ceiling(n.per.page/nc)
- oldpar <- par(mar=mar.multi,oma=oma.multi,mfcol=c(nr,nc),ask=dev.interactive(orNone=TRUE))
- on.exit(par(oldpar))
- low <- 1
- hi <- 0
- time <- time(xx)
- while (hi<nplots) {
- hi <- min(low+n.per.page-1,nplots)
- for (i in seq(from=low,to=hi,by=1)) {
- n <- i-low+1
- logplot <- if (plotnames[i]%in%lognames) "y" else ""
- dat <- sapply(
- z,
- function(po, label) {
- if (label=="eff. sample size")
- po at eff.sample.size
- else
- filter.mean(po,label)
- },
- label=plotnames[i]
- )
- matplot(
- y=dat,
- x=time,
- axes = FALSE,
- xlab = "",
- log=logplot,
- ylab = "",
- type = "l"
- )
- box()
- y.side <- 2
- axis(y.side, xpd = NA)
- mtext(plotnames[i], y.side, line = 3)
- do.xax <- (n%%nr==0||n==n.per.page)
- if (do.xax) axis(1,xpd=NA)
- if (do.xax) mtext("time",side=1,line=3)
- }
- low <- hi+1
- mtext("Filter diagnostics (last iteration)",3,line=2,outer=TRUE)
- }
-
- ## plot pmcmc convergence diagnostics
- other.diagnostics <- c("loglik", "log.prior","nfail")
- plotnames <- c(other.diagnostics,estnames)
- nplots <- length(plotnames)
- n.per.page <- min(nplots,10)
- nc <- if (n.per.page<=4) 1 else 2
- nr <- ceiling(n.per.page/nc)
- par(mar=mar.multi,oma=oma.multi,mfcol=c(nr,nc))
- ## on.exit(par(oldpar))
- low <- 1
- hi <- 0
- iteration <- seq(0,xx at Nmcmc)
- while (hi<nplots) {
- hi <- min(low+n.per.page-1,nplots)
- for (i in seq(from=low,to=hi,by=1)) {
- n <- i-low+1
- dat <- sapply(z,function(po,label) conv.rec(po,label),label=plotnames[i])
- matplot(
- y=dat,
- x=iteration,
- axes = FALSE,
- xlab = "",
- ylab = "",
- type = "l"
- )
- box()
- y.side <- 2
- axis(y.side,xpd=NA)
- mtext(plotnames[i],y.side,line=3)
- do.xax <- (n%%nr==0||n==n.per.page)
- if (do.xax) axis(1,xpd=NA)
- if (do.xax) mtext("PMCMC iteration",side=1,line=3)
- }
- low <- hi+1
- mtext("PMCMC convergence diagnostics",3,line=2,outer=TRUE)
- }
- invisible(NULL)
-}
Modified: pkg/pomp/R/mif-methods.R
===================================================================
--- pkg/pomp/R/mif-methods.R 2014-05-17 15:51:26 UTC (rev 956)
+++ pkg/pomp/R/mif-methods.R 2014-05-17 21:23:27 UTC (rev 957)
@@ -110,3 +110,105 @@
plot(time(object),npv,type=type,ylab='prediction variance',xlab='time',...)
}
}
+
+compare.mif <- function (z) {
+ ## assumes that x is a list of mifs with identical structure
+ if (!is.list(z)) z <- list(z)
+ if (!all(sapply(z,function(x)is(x,'mif'))))
+ stop("compare.mif error: ",sQuote("z")," must be a mif object or a list of mif objects",call.=FALSE)
+ mar.multi <- c(0,5.1,0,2.1)
+ oma.multi <- c(6,0,5,0)
+ xx <- z[[1]]
+ ivpnames <- xx at ivps
+ estnames <- c(xx at pars,ivpnames)
+ parnames <- names(coef(xx,transform=xx at transform))
+ unestnames <- parnames[-match(estnames,parnames)]
+
+ ## plot filter means
+ filt.diag <- rbind("eff. sample size"=xx at eff.sample.size,filter.mean(xx))
+ filtnames <- rownames(filt.diag)
+ plotnames <- if(length(unestnames)>0) filtnames[-match(unestnames,filtnames)] else filtnames
+ lognames <- filtnames[1] # eff. sample size
+ nplots <- length(plotnames)
+ n.per.page <- min(nplots,10)
+ if(n.per.page<=4) nc <- 1 else nc <- 2
+ nr <- ceiling(n.per.page/nc)
+ oldpar <- par(mar=mar.multi,oma=oma.multi,mfcol=c(nr,nc),ask=dev.interactive(orNone=TRUE))
+ on.exit(par(oldpar))
+ low <- 1
+ hi <- 0
+ time <- time(xx)
+ while (hi<nplots) {
+ hi <- min(low+n.per.page-1,nplots)
+ for (i in seq(from=low,to=hi,by=1)) {
+ n <- i-low+1
+ logplot <- if (plotnames[i]%in%lognames) "y" else ""
+ dat <- sapply(
+ z,
+ function(po, label) {
+ if (label=="eff. sample size")
+ po at eff.sample.size
+ else
+ filter.mean(po,label)
+ },
+ label=plotnames[i]
+ )
+ matplot(
+ y=dat,
+ x=time,
+ axes = FALSE,
+ xlab = "",
+ log=logplot,
+ ylab = "",
+ type = "l"
+ )
+ box()
+ y.side <- 2
+ axis(y.side, xpd = NA)
+ mtext(plotnames[i], y.side, line = 3)
+ do.xax <- (n%%nr==0||n==n.per.page)
+ if (do.xax) axis(1,xpd=NA)
+ if (do.xax) mtext("time",side=1,line=3)
+ }
+ low <- hi+1
+ mtext("Filter diagnostics (last iteration)",3,line=2,outer=TRUE)
+ }
+
+ ## plot mif convergence diagnostics
+ other.diagnostics <- c("loglik", "nfail")
+ plotnames <- c(other.diagnostics,estnames)
+ nplots <- length(plotnames)
+ n.per.page <- min(nplots,10)
+ nc <- if (n.per.page<=4) 1 else 2
+ nr <- ceiling(n.per.page/nc)
+ par(mar=mar.multi,oma=oma.multi,mfcol=c(nr,nc))
+ ## on.exit(par(oldpar))
+ low <- 1
+ hi <- 0
+ iteration <- seq(0,xx at Nmif)
+ while (hi<nplots) {
+ hi <- min(low+n.per.page-1,nplots)
+ for (i in seq(from=low,to=hi,by=1)) {
+ n <- i-low+1
+ dat <- sapply(z,function(po,label) conv.rec(po,label),label=plotnames[i])
+ matplot(
+ y=dat,
+ x=iteration,
+ axes = FALSE,
+ xlab = "",
+ ylab = "",
+ type = "l"
+ )
+ box()
+ y.side <- 2
+ axis(y.side,xpd=NA)
+ mtext(plotnames[i],y.side,line=3)
+ do.xax <- (n%%nr==0||n==n.per.page)
+ if (do.xax) axis(1,xpd=NA)
+ if (do.xax) mtext("MIF iteration",side=1,line=3)
+ }
+ low <- hi+1
+ mtext("MIF convergence diagnostics",3,line=2,outer=TRUE)
+ }
+ invisible(NULL)
+}
Modified: pkg/pomp/R/pmcmc-methods.R
===================================================================
--- pkg/pomp/R/pmcmc-methods.R 2014-05-17 15:51:26 UTC (rev 956)
+++ pkg/pomp/R/pmcmc-methods.R 2014-05-17 21:23:27 UTC (rev 957)
@@ -31,3 +31,105 @@
compare.pmcmc(x)
}
)
+
+compare.pmcmc <- function (z) {
+ ## assumes that x is a list of pmcmcs with identical structure
+ if (!is.list(z)) z <- list(z)
+ if (!all(sapply(z,function(x)is(x,'pmcmc'))))
+ stop("compare.pmcmc error: ",sQuote("z")," must be a pmcmc object or a list of pmcmc objects",call.=FALSE)
+ mar.multi <- c(0,5.1,0,2.1)
+ oma.multi <- c(6,0,5,0)
+ xx <- z[[1]]
+ estnames <- xx at pars
+ parnames <- names(coef(xx))
+ unestnames <- parnames[-match(estnames,parnames)]
+
+ ## plot filter means
+ filt.diag <- rbind("eff. sample size"=xx at eff.sample.size,filter.mean(xx))
+ filtnames <- rownames(filt.diag)
+# plotnames <- if(length(unestnames)>0) filtnames[-match(unestnames,filtnames)] else filtnames
+ plotnames <- filtnames
+ lognames <- filtnames[1] # eff. sample size
+ nplots <- length(plotnames)
+ n.per.page <- min(nplots,10)
+ if(n.per.page<=4) nc <- 1 else nc <- 2
+ nr <- ceiling(n.per.page/nc)
+ oldpar <- par(mar=mar.multi,oma=oma.multi,mfcol=c(nr,nc),ask=dev.interactive(orNone=TRUE))
+ on.exit(par(oldpar))
+ low <- 1
+ hi <- 0
+ time <- time(xx)
+ while (hi<nplots) {
+ hi <- min(low+n.per.page-1,nplots)
+ for (i in seq(from=low,to=hi,by=1)) {
+ n <- i-low+1
+ logplot <- if (plotnames[i]%in%lognames) "y" else ""
+ dat <- sapply(
+ z,
+ function(po, label) {
+ if (label=="eff. sample size")
+ po at eff.sample.size
+ else
+ filter.mean(po,label)
+ },
+ label=plotnames[i]
+ )
+ matplot(
+ y=dat,
+ x=time,
+ axes = FALSE,
+ xlab = "",
+ log=logplot,
+ ylab = "",
+ type = "l"
+ )
+ box()
+ y.side <- 2
+ axis(y.side, xpd = NA)
+ mtext(plotnames[i], y.side, line = 3)
+ do.xax <- (n%%nr==0||n==n.per.page)
+ if (do.xax) axis(1,xpd=NA)
+ if (do.xax) mtext("time",side=1,line=3)
+ }
+ low <- hi+1
+ mtext("Filter diagnostics (last iteration)",3,line=2,outer=TRUE)
+ }
+
+ ## plot pmcmc convergence diagnostics
+ other.diagnostics <- c("loglik", "log.prior","nfail")
+ plotnames <- c(other.diagnostics,estnames)
+ nplots <- length(plotnames)
+ n.per.page <- min(nplots,10)
+ nc <- if (n.per.page<=4) 1 else 2
+ nr <- ceiling(n.per.page/nc)
+ par(mar=mar.multi,oma=oma.multi,mfcol=c(nr,nc))
+ ## on.exit(par(oldpar))
+ low <- 1
+ hi <- 0
+ iteration <- seq(0,xx at Nmcmc)
+ while (hi<nplots) {
+ hi <- min(low+n.per.page-1,nplots)
+ for (i in seq(from=low,to=hi,by=1)) {
+ n <- i-low+1
+ dat <- sapply(z,function(po,label) conv.rec(po,label),label=plotnames[i])
+ matplot(
+ y=dat,
+ x=iteration,
+ axes = FALSE,
+ xlab = "",
+ ylab = "",
+ type = "l"
+ )
+ box()
+ y.side <- 2
+ axis(y.side,xpd=NA)
+ mtext(plotnames[i],y.side,line=3)
+ do.xax <- (n%%nr==0||n==n.per.page)
+ if (do.xax) axis(1,xpd=NA)
+ if (do.xax) mtext("PMCMC iteration",side=1,line=3)
+ }
+ low <- hi+1
+ mtext("PMCMC convergence diagnostics",3,line=2,outer=TRUE)
+ }
+ invisible(NULL)
+}
Modified: pkg/pomp/inst/NEWS
===================================================================
--- pkg/pomp/inst/NEWS 2014-05-17 15:51:26 UTC (rev 956)
+++ pkg/pomp/inst/NEWS 2014-05-17 21:23:27 UTC (rev 957)
@@ -1,5 +1,10 @@
_N_e_w_s _f_o_r _p_a_c_k_a_g_e '_p_o_m_p'
+_C_h_a_n_g_e_s _i_n '_p_o_m_p' _v_e_r_s_i_o_n _0._5_0-_8:
+
+ • Introduced new ‘compare.pmcmc’ and ‘compare.abc’ functions,
+ comparable to ‘compare.mif’.
+
_C_h_a_n_g_e_s _i_n '_p_o_m_p' _v_e_r_s_i_o_n _0._5_0-_6:
• The package manual and tutorials are no longer included with
Modified: pkg/pomp/inst/NEWS.Rd
===================================================================
--- pkg/pomp/inst/NEWS.Rd 2014-05-17 15:51:26 UTC (rev 956)
+++ pkg/pomp/inst/NEWS.Rd 2014-05-17 21:23:27 UTC (rev 957)
@@ -1,5 +1,10 @@
\name{NEWS}
\title{News for package `pomp'}
+\section{Changes in \pkg{pomp} version 0.50-8}{
+ \itemize{
+ \item Introduced new \code{compare.pmcmc} and \code{compare.abc} functions, comparable to \code{compare.mif}.
+ }
+}
\section{Changes in \pkg{pomp} version 0.50-6}{
\itemize{
\item The package manual and tutorials are no longer included with the package source.
Modified: pkg/pomp/man/abc-methods.Rd
===================================================================
--- pkg/pomp/man/abc-methods.Rd 2014-05-17 15:51:26 UTC (rev 956)
+++ pkg/pomp/man/abc-methods.Rd 2014-05-17 21:23:27 UTC (rev 957)
@@ -5,16 +5,19 @@
\alias{conv.rec-abc}
\alias{plot-abc}
\alias{plot,abc-method}
+\alias{compare.abc}
\title{Methods of the "abc" class}
\description{Methods of the "abc" class.}
\usage{
\S4method{conv.rec}{abc}(object, pars, \dots)
\S4method{plot}{abc}(x, y, pars, scatter = FALSE, \dots)
+compare.abc(z)
}
\arguments{
\item{object, x}{The \code{abc} object.}
\item{pars}{Names of parameters.}
\item{y}{Ignored.}
+ \item{z}{An \code{abc} object or list of \code{abc} objects.}
\item{scatter}{
optional logical;
If \code{TRUE}, draw scatterplots.
@@ -30,7 +33,7 @@
\code{conv.rec(object, pars)} returns the columns of the convergence-record matrix corresponding to the names in \code{pars}.
By default, all rows are returned.
}
- \item{plot}{
+ \item{plot, compare.abc}{
Plots a series of diagnostic plots.
}
}
More information about the pomp-commits
mailing list