Skip to contents

FINN 0.1.0

First public release.

FINN is a differentiable forest gap model: a cohort-based dynamic vegetation model whose demographic processes (competition, growth, mortality, regeneration) can each be a mechanistic function, a neural network, or a mixture of the two, all calibrated end-to-end by gradient descent.

Highlights of the current interface:

  • finn() assembles a model from one process per demographic component, each built with createProcess() (mechanistic) or createHybrid() (neural network).
  • simulateForest() runs a model forward; fit() calibrates one to data and predict() scores it, returning patch- and site-level results.
  • Per-response likelihoods: Gaussian ("mse"/"gaussian"), Poisson, negative binomial, and a "binomial" likelihood for mortality that takes a closed-cohort count pair (n_at_risk, n_died).
  • weights = "auto" (the default in fit()) scales each loss by its intercept-only baseline, so the six responses are commensurable and every term reads as a fraction of its own null deviance.
  • Data helpers makeObsData(), resolveSiteIDs() and makeInitCohorts() turn a raw tree list into FINN’s input tables.
  • Model interpretation with ALE(), summary(), feature_importance() and conditionalEffects().

See the vignettes for a guided tour: Introduction to FINN, Plausible succession from a handful of species, Preparing your data for FINN, Fitting FINN to forest inventory data, and Mortality.