The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
The goal of scorematchingad
is to enable fast
implementation of score matching estimators through the use of automatic
differentiation in the CppAD library. Estimators for new models can be
created quickly via the tape_uld()
and the
tape_smd()
function. If the new models require
domain/manifold not yet implemented in scorematchingad
,
then (for now) the domain/manifold has to be added to the source of
scorematchingad
.
See the file DESCRIPTION
for a slightly longer
description, and ./R/scorematchingad-package.R
(equivalently help(scorematchingad, scorematchingad)
from
within R
) for an even longer description. The built-in help
for R
packages is well populated.
You can install the development version of scorematchingad from GitHub with:
# install.packages("devtools")
::install_github("kasselhingee/scorematchingad") devtools
Some models are already incorporated into
scorematchingad
. Below is an example of estimating the
Polynomially-Tilted Pairwise Interaction model (Scealy and Wood, 2023)
for compositional data:
library(scorematchingad)
<- rppi_egmodel(100)
model <- ppi(model$sample,
estalr paramvec = ppi_paramvec(betap = -0.5, p = ncol(model$sample)),
trans = "alr")
This is an example of obtaining a tape of the score matching discrepancy of a custom likelihood for compositional data, which most naturally lies on the simplex:
<- tape_uld(
myuld "a1type dirich(const veca1 &u, const veca1 &beta) {
size_t d = u.size();
a1type y(0.); // initialize summation at 0
for(size_t i = 0; i < d; i++)
{ y += beta[i] * CppAD::log(u[i]);
}
return y;
}",
x = rep(0.2, 5), theta = rep(-0.1, 5))
<- tape_smd("sim", "identity", "sim",
tapes $tape, myuld$tape$xtape, usertheta = NA * myuld$tape$dyntape,
myuldbdryw="minsq", acut = 0.01)
wrap
and
as
for veca1
, mata1
etc except in
RcppExports.cpp
. This makes sure that the speciailsations
definitions are not duplicated for each .cpp
file in your
./src
directory. In practise you can get the
scorematchingad
types by including just the
_forward.h
header file.These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.