type.cv for group-cvcoxph
num.threads control at critical places (default off)cloglike: user-likelihood code in C (experimental)fmesher::fm_collect() meshes to inla.spde2.pcmatern() and inla.spde2.matern().tan.pi
off)inla.group.cv
survival modelscontrol.mode
inla.mdata-objects in inla.stack (experimental)exppower (experimental)iidkd
group cv vignetteplot
rgeneric or rprior
occupancy
betabinomial
tolerance.step
cgeneric.h in cache-macrosplot(..., plot.opt.trace=TRUE) plotfl changesMatrixModels moved to Importsinla.spy
experimental status of many likelihoods and model componentsscopy
tpoisson
rcpoisson and fl
control.vb$f.enable.limit to limit maximum dimension of vb-corrections (which is multiplied with replicates and group)gev and cgec
scopy (experimental)R (experimental, see rprior)group-cv
ggaussian and ggaussianS
readlink on older MacOSstdgaussian (where the precision is fixed to be 1)nzPoisson (for Poisson without zero’s)safe=TRUE)control.inla=list(b.strategy="keep") is a new default.control.compute=list(q=TRUE) for the default modefmesher package. By default, the new methods are used silently instead of the old fmesher standalone binary, and are meant to produce the same meshes etc as before. During a transition period, one can switch between the two code bases, as well as turn on informative deprecation warnings that point to which fmesher R function replaces the existing ones. See https://inlabru-org.github.io/fmesher/articles/inla_conversion.html for more details.inla.rerun
inla.setOption-options: mkl, blas.num.threads, vecLib, vecLibPath and CYGWIN
fbesag
control.compute=list(save.memory=FALSE|TRUE) for more aggressive savingsgcpo
copy
scopy model added (experimental)hessian.correct.skewness.only in control.inla
offset() and offset= in the output, compared with mode='classic'
INLAspacetime functions in barrier.R
inla.dryrun (experimental)cgeneric
model="slm" (thx to RB and VGB)family="nbinom" and "bell"
inla.binary.install()
rgeneric is updatedinla.posterior.sample
rgeos dependencyrgdal dependencyccloglog
inla.group.cv
safe-mode improved in the inla()-callmodel="fgn"
model="binomial" and logit-linkmodel="iidkd"
inla.cpo, etc.safe, verbose’ and keep to optionscontrol.compute=list(residuals=TRUE) provide expected deviance residuals, but it is experimental for the momentkronecker()
weibullcure-model is removed as its covered by the new cure-model.fmesher, the program which do the mesh-stuffcennbinomial2 (experimental)gaussianjw (experimental)inla.group.cv (experimental)Predictor and APredictor in lincomb for experimental modespde2 modelsgcpo with singular covariance matricesf.enable.limit work the replications and groupsvb variance correction (experimental code)inla.posterior.sample.eval
gcpo
inla.as.dgTMatrix()
inla.as.dgTMatrix()
rgeneric
mode in the output summary is back.gev is disabled, using bgev insteadgcpo-featurestupid-searchsmart-optimizationstrategy="laplace" which has been broken from version 22.02.16 (ok in 22.01.25).mode in summary output is not longer computed for some densities (like for mixtures and non-linear transformation), as its pretty expensive to do so accurately. It is then shown as NA. This might be fixed later.cgeneric
cgeneric, see vignetteexperimental modeOption safe=TRUE is now default
Code cleanup
Code optimization for TACUS
Nested parallelism is now enabled on Windows
Better TAUCS performance: improved storage scheme and new code tp allow for linear solves with many rhs.
gcpo-improvement. The default is now group.size=1, and it acts like cpo.
Fixed an issue for propagation an error from the cpo-calculations
Various smaller changes
VB correction for experimental mode do now include nodes from all model components, not only the short ones and fixed effects.
New group-cpo feature, very experimental at the moment (internal use only).
Parts of the VB code has been improved for simplicity and speed.
inla.call="remote" now use zstd for parallel compression, meaning that zstd must be available on both sides.
PARDISO license help and startup msg has been disabled.
Minor fixes, code improvements and cleanup
New feature inla.cgeneric.q
New and updated PARDISO library
Code improvements and cleanup
Added graph$cc$mean to help defining intercepts for disconnected regions.
Can now define the license key for PARDISO directly as inla.setOption(pardiso.license="<KEY>")
Print total RAM in Gb in the inla-program output, for easier debugging of these problems.
Using inla.call="remote" will now return error code that can be controlled by try, so that r=try(inla(..., inla.call="remote")) should work as intended.
Add a refine step for parallel.linesearch, so if this is enabled, then it will do a restart at the end with this option disabled.
Minor changes when option safe is enabled.
Fixed regression error with plot(result, plot.prior=TRUE)
Fixed a regression error from version 21.12.21 which expanded some variables incorrect.
A cgeneric interface like rgeneric but with C-code. This is for internal testing only.
Various code improvements and minor fixes
Option for parallel linesearch has been renamed into parallel.linesearch in control.inla.
This is fix for a build-error in the Windows binary for version 21.11.14
Various minor internal code changes and improvements
Parallel linesearch implemented, see option bfgs.version in control.inla. This option is highly experimental at the moment and work in progress, and should not be used.
Change default settings for family="tweedie"
Implemented an adaptive parallel/serial version of Qx
Improved perforance for parallel linear solve with PARDISO
Use stable Legendre polynomial evaluation for spherical covariances
Add support for Fedora Linux 35
Fixed dic.sat when all response are NA
Various internal code changes and improvements
New experimental feature lp.scale. No good documentation yet, but that will come soon.
Robustify inla.iidkd.sample function for numerical singular matrices
Corrected inla.stack.join handling of factor variables that in some cases converted variables to/from factors unintentionally.
inla.mode="experimental" got its fitted values back.
iidkd which use a different parameterisation than iid3d and similar ones.If control.predictor=list(compute=TRUE) then the marginal densities for the linear predictor and fitted values are computed, but the new default is that only the summary statistics are returned not the marginal densities. This is because the storage requirement for the marginals can be substantial. The marginal densities can be returned setting control.compute=list(return.marginals.predictor=TRUE)
The argument control.results are removed as it was not really in use.
The new default value for b.strategy is b.strategy="skip". See ?control.inla for details
New option inla.timeout, similar to fmesher.timeout; see ?inla.setOption
CPO-marginals are returned in when control.compute=list(config=TRUE)
There is a change how a (numerical) singular constraint is treated, hopefully this new way is more robust.
New option inla.mode, which define how to arrange the internal model formulation. One of "classic", "twostage" and "experimental". The default is "classic", which is unchanged behaviour compared for earlier versions. The other two are highly experimental for the moment. See ?inla
Massive code clean-up and some minor fixes.
Added support for Mac M1 (native build with R-4.1)
New twostage options (highly experimental)
Massive code overhaul
Various minor fixes
Mac only: Added optional path to vecLib BLAS and LAPACK libraries.
Adding argument .special to inla.surv-object.
Some code improvement
Mac only: Link with vecLib BLAS and LAPACK libraries by default. Turn off with inla.setOption(vecLib=FALSE).
Adding an experimental improvement for strategy=simplified.laplace (not enabled by default)
Some code improvement
New family stochvolsn
New family cenpoisson2
Improve robustness for survival models
General code improvement
New family gompertz
inla.binary.install() now do md5-checksum check
Code optimization for barrier models
inla.binary.install() can now also run non-interactive
Internal code changes
Added family logperiodogram back in
Added new family agaussian
Improved initial values for x
Improved computations for saturated likelihood
Various minor code cleanup
Default strategy is now simplified.laplace for smaller models (< 5000 nodes) and adaptive for larger ones
Minor bug-fixes
coxph for large dataAdded a new experimental feature for running PARDISO in parallel
Various minor fixes and improvements
Added new section to the vignette about rgeneric
Option optimize in inla.rgeneric.define
Cleanup in some output format.
Various internal changes.
PARDISO version 7 is included for Mac and Linux.
Improved paralellism and nested paralellism
Speedup improvements, especially for models with many constraints.
Improved default plot(result). Argument cex=.. will now work
New shorthand feature in inla.posterior.sample.eval for extracing model components from samples
Added fmesher.timeout option, see ?inla.setOption
Using a non-zero seed in inla.posterior.sample will now force serial computations.
A lot of internal code cleanup and improvements
New likelihood poisson.special1
Minor code cleanup
Minor changes in code/doc to adapt to R-4.0
Model iid added to possible models for the baseline hazard in the Cox-ph model
Likelihood models sn and sn2 have been replaced with a new version sn. The parameterisation is different and now done correct.
The likelihood models sn and sn2 are now disabled. They need a rewrite to be done right.
For Linux, then build so-libraries are loaded before the system ones. This behaviour can be reverted by setting the environment variable INLA_NATIVE_LD_LIBRARY_PATH.
Dimension for CCD integration have been increased from 38 to 52.
Default prior for the intercept and the skewness in the skew-normal link have changed.
Various minor changes
num.threads="A" now means num.threads="A:1"
There is a minor change in inla.qsample and inla.posterior.sample. If argument seed!=0 then serial mode is now forced. Earlier, an error would be raised if parallel mode was also requested.
Argument remove.names in control.fixed
Bug-fixes for nested parallism
Some optimization improvement
MKL is now default for both Mac and Linux. If this cause any issues, revert back by setting inla.setOption(mkl=FALSE).
As of today, the TAUCS library does not play well with MKL on Mac for some reason, and this is silent accounted for. It is possible to bypass the internal check, and if that becomes in issue, just define mkl=FALSE as above.
Updated some install scripts
Code is prepared for nested parallism, which most gain obtained when using the PARDISO library
Argument num.threads is now in the format A:B, where A threads for the outer layer and B threads for the inner layer. And this applies for several functions.
The speed have improved, mostly when using the PARDISO library. Hopefully, nothing is broken.
likelihood beta now allow for cencoring near 0 and 1, see inla.doc("beta", section="likelihood")
Default value for control.inla$h is now 0.005, which replace the previous value of 0.01. We might change this later, but we have enough experience to know that 0.01 is slightly to large.
control.inla$optimise.strategy="smart" is now default. By construction, this should be both faster and more robust. Using "plain" reverts back the old behaviour.
control.inla$use.directions=TRUE is now default. This option estimate numerical gradients/Hessian in directions with more change than for coordinate-wise directions.
New experimental optimise strategy control.inla=list(optmise.strategy="smart" that is hopefully faster and as safe as the default one. Maybe even more safe and robust.
More work on the nested paralellism
jemalloc
Option control.inla$lincomb.derived.only is now disabled.
Testing nested parallelism openmp.nested with num.threads="A,B". Work in progress
plot(result) will now produce a plot of the CPO/PIT for each likelihood family (if available), instead of a joint plot as earlier.
New vignette about jmarginal
Added new likelihood models zeroinflatedcenpoisson0 and zeroinflatedcenpoisson1
Link-model sn is updated, as well as the PC-prior for the skewness therein, and the added intercept model.
Revised the PIT calculations for family cenpoisson
Code rewrite to (try to) prevent Inf for DIC calculations
Minor fixed in inla.binary.install
Packages mpoly and symmoments are added to the Suggests-list.
Added info about inla.prune() to the startup message
More features for jmarginal added
Build-scripts fixes
Fix for a rare fmesher issue
Improved the code for the DIC calculations to make them more stable
Some improvment in the PC-prior for the SN-link
inla.link.sn to vectorise over argument a as sn-package do not do that properly itself.Added Qprior.diag to the output when config=TRUE. The off-diagonals of this matrix are the same as Q in the same configuration, so only the diagonal of Qprior is stored.
Added some internal experimental code
PARDISO interface: internal check added
Fixed an wrong assert with family=bgev
For the intslope-model: made all gamma’s default fixed to 1, so its similar in style the copy-feature.
Added argument constr it inla.rjmarginal
Added argument ask to function inla.prune
Argument cyclic=TRUE in f() should not set constr=FALSE when default is constr=TRUE
Change the scale.model=TRUE code for RW1/RW2 so the scaling for the continous case is the same as for the discrete case when the locations are eqvidistant.
Disable link sslogit
besag2
plot(r,plot.prior=TRUE) for some priorsRemove the experimental status of inla.posterior.sample.eval
Added function inla.prune which will remove binaries not supported by the running OS, to reduce the size of the package.
Added method summary and print to class inla.jmarginal
Add check for NA/NaN/Inf in mesh creation input ocations
Make sure that skewness is not to high in inla.posterior.sample
Added new argument tag to inla.coxph
inla.rjmarginal.eval, to evaluate samples from a join approximations
Names of samples are now “sample:1”, “sample:2”, and should be coherent over all functions. Similar, their contents, its like “x:1”, “x:2”, etc.
Fixed a bug setting prior for the log baseline hazard in inla.coxph
result$mode$x is written out in the case where nhyper=0 and num_threads>1
Added link loga. Not yet documented.
First try on a new feature to more easily approximate the joint marginal for a subset of the latent field. This is a new option selection and corresponding inla.rjmarginal() to sample from it.
Added check that model="linear" is not used with replicate or group, which is not intention.
MCMC mode is now disabled
Skewness correction is now back as default, in inla.posterior.sample()
Added family xbinomial that allow non-integer response.
Likelihood model bgev add (not yet complete), and was renamed from the experimental likelihood model gev2.
If inla.call="remote" is set, then INLA:::inla.call.builtin() is used if inla.qinv() and/or inla.qsolve() are used while constructing the model.
Added option b.strategy in control.inla to control what to do with the linear term when the cmin option is in effect
Added in-interval observed event in inla.surv
Added dplyr as suggested package as dplyr::bind_rows can replace INLA::inla.rbind.data.frames
Added argument E, or log(offset), to likelihood gammacount, so its equal to family poisson for alpha=1.
Minor changes
Added a check that discrete observations are indeed integers, like for Poisson, Binomial, etc
The function inla.binary.install is now exported.
Added new likelihood family, xpoisson, which allows continous response: see the documentation for details (and note the error-check now done for discrete observations)
Added new likelihood dgp (discrete generalized Pareto)
Code clean-up (contpoisson and qcontpoisson)
Made inla.pardiso.check() a bit more informative if there is an error.
inla.posterior.sample and inla.coxph
NA data in the family gev2
pc.gevtail prior.inla.posterior.sample back to the old version, the new experimental version is available as INLA:::inla.posterior.sample.new
Epil data-set, y[31] should be 23 not 21.Updated the vignette about the multinomial distribution
New experimental windows binary built with x86_64-w64-mingw32-gcc, version 7.3, and linked with the pardiso library. Its stored in bin/windows/experimental
Updated inla.qreordering and updated leuk-demo.R example file (and the corresponding zip-file).
Added a scaling constant for the precision parameter in the qkumar likelihood (to avoid instabilities). See updated documentation for details.
inla.posterior.sample now correct for possible skewness by default: see ?inla.posterior.sample for details.
gp, have changed to pc.gevtail, and the name change from shape to tail. It is now required to define a interval for the tail parameter, similar to pc.gevtail.loggamma-functionbarrier.R updated (minor fix and code edits)nmixnb likelihood.inla.posterior.sample.eval if present.INLA:::inla.binary.install() is a new interactive tool to install alternative Linux builds.Added robit link model.
Improved the stability of the saturated deviance calculations
Fixed INLA:::inla.is.list.of.lists to cover the case where the arguments are a list of named lists
New (experimental) likelihood: gev2
Fixed, again, an issue with (parallel) PARDISO and many linear combinations.
Minor code changes in doc.R
Removed must-be-enabled warnings in some surival models, from Oct 25 2017
Added PC-prior for the Weibull likelihood models. The prior is derived for variant = 1, which is the good parameterisation.
Added missing to.theta and from.theta functions in likelihoods sn and sn2
Fix some documentation in marginal.R (refering to the obsolete function inla.marginal.transform)
Fixed an issue with (parallel) PARDISO and many linear combinations.
short.summary will use a version of summary with less output, maybe more suitable for Markdown documents.Added exampledata directory for various example datasets
Code cleanup and improved some input-error checking.
model="rgeneric" and model="dmatern". Most notably with option openmp.strategy="pardiso.parallel".int.design="user.expert"
int.strategy="user.expert", see the vignette about user-defined integration points.cpo and po results in inla.merge()
mu is zero for rgeneric
inla.qsample
nhrs for inla.qsolve for PARDISOinla.qsample with selection-argument.family = "normal" which is now translated to family = "gaussian" internally.Simplied print.inla output
New method merge and function inla.merge, for merging inla-objects
Store control.family after processing, in the result$.args argument, not just the calling value.
New parameter for Gaussian likelihood: Fixed offset in the variance.
Updated envir definition in the rgeneric documentation and examples.
Removed testing code for likelihood model testbinomial1
Added new likelihood gamma.surv
Cleaned up the use of temporary dir and files
General code clean-up
nmix and nmixnb from 10 to 15mkl in inla.setOption() to chose MKL-buildt binaries.New latent model: dmatern
Improved the numerics for computing the scaling of the RW1 and RW2 models.
New option control.inla=list(tolerance.step=), to control the RMS of the step-size for the inner optimization.
Changed, slightly, the initial values for the exponent in the Weibull likelihood models, to a value close to zero instead of zero.
New vignette about how to deal with multinomial data.
Added option verbose to inla.qsample() and inla.posterior.sample()
num.threads in inla.qinv()
inla.qinv(), inla.qsample() and inla.posterior.sample()
New example added to inla.posterior.sample()
Slight changes in the default print, and summary for an inla-object
Fixed the issue when lincomb.derived.only=FALSE and then using inla.posterior.sample()
Added 32-bit builds for windows (upon request)
Added function inla.posterior.sample.eval()
Added new function inla.pardiso.check()
Added COPYRIGHTS file
Separated the quantile link for the binomial response, into individual (model="quantile") and population (model="pquantile")
Added new strategy control.inla=list(strategy="adaptive") which use the simplified.laplace approximations for fixed effects and low-dimensional model components, and the gaussian approximation otherwise. The argument adaptive.max in control.inla determines what is low-dimensional in this context (default 10).
Removed some code not used anymore
news(package="INLA"))ar1c (Thanks to Virgilio Gomez Rubio)blas.num.threads in inla()