
Here we use the classic example of snowshoe hare and lynx predator-prey dynamics,
to demonstrate the basic functions of Bristlecone. The dataset is a 90-year
time-series of snowshoe hare and lynx pelts purchased by the
Hudson's Bay Company of Canada. Data is in 1000s.
To get started, we first load and open the Bristlecone library in
an F# script file (.fsx):
open Bristlecone // Opens Bristlecone core library and estimation engine
open Bristlecone.Language // Open the language for writing Bristlecone models
open Bristlecone.Time
In Bristlecone, a single ecological model (representing a single hypothesis)
is defined through the ModelSystem type. A ModelSystem needs to include three key
components:
- Model equations. When working in continuous time, these are a system of Ordinary Differential Equations (ODEs).
- Parameters to be estimated. You must specify the starting bounds and constraints for every parameter included in the model equations.
- Likelihood function. The (negative log) likelihood function -logL represents the probability of observing the data given the parameter set. We use a negative log likelihood function, which is then minimised during optimisation.
In this example, we demonstrate using the Lotka–Volterra predator–prey model as the
model system. For the -logL function we use a bivariate normal negative log likelihood function.
This -logL function assumes normally-distributed observation error around each observation
at each time-point, for both the lynx and hare data. The -logL function contains
three parameters that are to be estimated alongside the deterministic model: the variability
in lynx data, the variability in hare data, and their covariance.
[<Measure>] type prey
[<Measure>] type predator
[<Measure>] type km
[<Measure>] type area = km^2
let ``predator-prey`` =
// States
let H = state<prey / area> "hare"
let L = state<predator / area> "lynx"
// Parameters
let α = parameter "α" notNegative 0.5< / year> 1.5< / year> // Maximum prey per capita growth rate
let β = parameter "β" notNegative 0.01<1 / (predator / area * year)> 0.05<1 / (predator / area * year)> // Predation rate
let δ = parameter "δ" notNegative 0.5< / year> 1.0< / year> // Natural death rate of lynx in the absence of food
let γ = parameter "γ" notNegative 0.01<1 / (prey / area * year)> 0.1<1 / (prey / area * year)> // Predator growth efficiency
let ``dH/dt``: ModelExpression<(prey / area) / year> =
P α * This<prey / area> - P β * This<prey / area> * State L
let ``dL/dt``: ModelExpression<(predator / area) / year> =
P γ * State H * This<predator / area> - P δ * This<predator / area>
Model.empty
|> Model.addRateEquation H ``dH/dt``
|> Model.addRateEquation L ``dL/dt``
|> Model.estimateParameter α
|> Model.estimateParameter β
|> Model.estimateParameter δ
|> Model.estimateParameter γ
|> Model.useLikelihoodFunction (ModelLibrary.Likelihood.bivariateGaussian (Require.state H) (Require.state L))
|> Model.estimateParameterOld "ρ" noConstraints -0.500 0.500
|> Model.estimateParameterOld "σ[x]" notNegative 0.001 0.100
|> Model.estimateParameterOld "σ[y]" notNegative 0.001 0.100
|> Model.compile
A bristlecone engine provides a fixed setup for estimating parameters from data.
Use the same engine for all model fits within a single study.
This engine uses a gradident descent method (Nelder Mead simplex), and a basic
Runge-Kutta 4 integration method provided by MathNet Numerics.
let engine =
Bristlecone.mkContinuous ()
|> Bristlecone.withCustomOptimisation ( Optimisation.MonteCarlo.Filzbach.filzbach
{ Optimisation.MonteCarlo.Filzbach.FilzbachSettings.Default with BurnLength = Optimisation.EndConditions.atIteration 5000<iteration> })
|> Bristlecone.withConditioning Conditioning.NoConditioning
|> Bristlecone.withSeed 1500 // We are setting a seed for this example - see below
|> Bristlecone.withTimeConversion DateMode.Conversion.Annual.toYears
Note. We have set a seed for random number generation for this worked example. This ensures that the results are the same each time this documentation is generated.
Before being confident in the ability of our estimation engine to
be able to arrive at the correct solution, we must run a full test
of the model and estimation engine.
Bristlecone includes the Bristlecone.testModel function, which
we use here. Given a model system and estimation engine, the function
generates a random parameter set (θ) many times; for each θ, the
'true' time-series are generated. The test result indicates the effectiveness
of the configuration at estimating θ given the auto-generated
time-series. If there is divergence, there is likely an
issue with your model or the Bristlecone configuration.
Bristlecone includes many settings to configure the test
procedure. A simple test configuration is set as Test.defaultSettings,
but here we will configure some additional settings:
let testSettings =
Test.annualSettings
|> Test.addStartValues [ "hare", 50.; "lynx", 75. ]
|> Test.addNoise (Test.Noise.tryAddNormal "σ[y]" "lynx")
|> Test.addNoise (Test.Noise.tryAddNormal "σ[x]" "hare")
|> Test.addGenerationRules
[ Test.GenerationRules.alwaysLessThan 100000. "lynx"
Test.GenerationRules.alwaysMoreThan 10. "lynx"
Test.GenerationRules.alwaysLessThan 100000. "hare"
Test.GenerationRules.alwaysMoreThan 10. "hare" ]
|> Test.withTimeSeriesLength 30
|> Test.endWhen (Optimisation.EndConditions.Profiles.mcmc 5000<iteration> ignore)
In our TestSettings, we have specified the initial time point (t = 0)
for both modelled time-series. We have also added noise around
each generated time-series, and specified that each time-series
should be 30 years in length.
With these test settings, we can now run the test.
let testResult = ``predator-prey`` |> Bristlecone.tryTestModel engine testSettings
In the example using this seed, the ecological parameter set under test is:
1.4845 (α), 0.0377 (β), 0.0190 (γ), 0.9856 (δ) [ noise = 0.2135 (ρ), 0.0297 (σ_x), 0.0152 (σ_y) ]
Here, the sigma values represent the standard deviation of the noise around hare and lynx respectively.
From the test results, the key questions is whether the ecological dynamics were recovered
with the correct parameters. To find this:
- Do the trajectories match? Compare difference between predicted and observed series.
- Were parameters recovered?
No value returned by any evaluator
|
First, we must load in the real data, which is in a CSV file. Here, we will use
the FSharp.Data type provider to read in the CSV file (see the FSharp.Data docs
for further information on how to use the library). We place the raw data into
a Bristlecone TimeSeries type using TimeSeries.fromObservations:
[<Literal>]
let ResolutionFolder = __SOURCE_DIRECTORY__
type PopulationData = FSharp.Data.CsvProvider<"data/lynx-hare.csv", ResolutionFolder=ResolutionFolder>
let data =
let csv = PopulationData.Load(__SOURCE_DIRECTORY__ + "/data/lynx-hare.csv")
[ (code "hare").Value, TimeSeries.fromObservations DateMode.annualDateMode (csv.Rows |> Seq.map (fun r -> float r.Hare, r.Year * 1<year> |> DatingMethods.Annual))
(code "lynx").Value, TimeSeries.fromObservations DateMode.annualDateMode (csv.Rows |> Seq.map (fun r -> float r.Lynx, r.Year * 1<year> |> DatingMethods.Annual)) ]
|> Map.ofList
map
[(ShortCode "hare",
FixedTimeSeries
({ Resolution = Year
GetYear = <fun:annualDateMode@454>
AddYears = <fun:annualDateMode@455-1>
AddMonths = <fun:annualDateMode@456-2>
AddDays = <fun:annualDateMode@457-3>
AddTime = <fun:annualDateMode@458-4>
SubtractTime = <fun:annualDateMode@459-5>
Difference = <fun:annualDateMode@460-6>
SignedDifference = <fun:annualDateMode@461-7>
SortOldestFirst = <fun:annualDateMode@462-8>
ZeroSpan = 0
TotalDays = <fun:annualDateMode@465-9>
SpanToResolution = <fun:annualDateMode@468-10>
Divide = <fun:annualDateMode@469-11>
Minus = <fun:annualDateMode@470-12>
EqualWithin = <fun:annualDateMode@471-13> }, (19.58, Annual 1845),
TimeSteps
[|(19.6, 1); (19.61, 1); (11.99, 1); (28.04, 1); (58.0, 1); (74.6, 1);
(75.09, 1); (88.48, 1); (61.28, 1); (74.67, 1); (88.06, 1); (68.51, 1);
(32.19, 1); (12.64, 1); (21.49, 1); (30.35, 1); (2.18, 1); (152.65, 1);
(148.36, 1); (85.81, 1); (41.41, 1); (14.75, 1); (2.28, 1); (5.91, 1);
(9.95, 1); (10.44, 1); (70.64, 1); (50.12, 1); (50.13, 1); (101.25, 1);
(97.12, 1); (86.51, 1); (72.17, 1); (38.32, 1); (10.11, 1); (7.74, 1);
(9.67, 1); (43.12, 1); (52.21, 1); (134.85, 1); (134.86, 1); (103.79, 1);
(46.1, 1); (15.03, 1); (24.2, 1); (41.65, 1); (52.34, 1); (53.78, 1);
(70.4, 1); (85.81, 1); (56.69, 1); (16.59, 1); (6.16, 1); (2.3, 1);
(12.82, 1); (4.72, 1); (4.73, 1); (37.22, 1); (69.72, 1); (57.78, 1);
(28.68, 1); (23.37, 1); (21.54, 1); (26.34, 1); (53.1, 1); (68.48, 1);
(75.58, 1); (57.92, 1); (40.97, 1); (24.95, 1); (12.59, 1); (4.97, 1);
(4.5, 1); (11.21, 1); (56.6, 1); (69.63, 1); (77.74, 1); (80.53, 1);
(73.38, 1); (36.93, 1); (4.64, 1); (2.54, 1); (1.8, 1); (2.39, 1);
(4.23, 1); (19.52, 1); (82.11, 1); (89.76, 1); (81.66, 1); (15.76, 1)|]));
(ShortCode "lynx",
FixedTimeSeries
({ Resolution = Year
GetYear = <fun:annualDateMode@454>
AddYears = <fun:annualDateMode@455-1>
AddMonths = <fun:annualDateMode@456-2>
AddDays = <fun:annualDateMode@457-3>
AddTime = <fun:annualDateMode@458-4>
SubtractTime = <fun:annualDateMode@459-5>
Difference = <fun:annualDateMode@460-6>
SignedDifference = <fun:annualDateMode@461-7>
SortOldestFirst = <fun:annualDateMode@462-8>
ZeroSpan = 0
TotalDays = <fun:annualDateMode@465-9>
SpanToResolution = <fun:annualDateMode@468-10>
Divide = <fun:annualDateMode@469-11>
Minus = <fun:annualDateMode@470-12>
EqualWithin = <fun:annualDateMode@471-13> }, (30.09, Annual 1845),
TimeSteps
[|(45.15, 1); (49.15, 1); (39.52, 1); (21.23, 1); (8.42, 1); (5.56, 1);
(5.08, 1); (10.17, 1); (19.6, 1); (32.91, 1); (34.38, 1); (29.59, 1);
(21.3, 1); (13.69, 1); (7.65, 1); (4.08, 1); (4.09, 1); (14.33, 1);
(38.22, 1); (60.78, 1); (70.77, 1); (72.77, 1); (42.68, 1); (16.39, 1);
(9.83, 1); (5.8, 1); (5.26, 1); (18.91, 1); (30.95, 1); (31.18, 1);
(46.34, 1); (45.77, 1); (44.15, 1); (36.33, 1); (12.03, 1); (12.6, 1);
(18.34, 1); (35.14, 1); (43.77, 1); (65.69, 1); (79.35, 1); (51.65, 1);
(32.59, 1); (22.45, 1); (16.16, 1); (14.12, 1); (20.38, 1); (33.33, 1);
(46.0, 1); (51.41, 1); (46.43, 1); (33.68, 1); (18.01, 1); (8.86, 1);
(7.13, 1); (9.47, 1); (14.86, 1); (31.47, 1); (60.57, 1); (63.51, 1);
(54.7, 1); (6.3, 1); (3.41, 1); (5.44, 1); (11.65, 1); (20.35, 1);
(32.88, 1); (39.55, 1); (43.36, 1); (40.83, 1); (30.36, 1); (17.18, 1);
(6.82, 1); (3.19, 1); (3.52, 1); (9.94, 1); (20.3, 1); (31.99, 1);
(42.36, 1); (49.08, 1); (53.99, 1); (52.25, 1); (37.7, 1); (19.14, 1);
(6.98, 1); (8.31, 1); (16.01, 1); (24.82, 1); (29.7, 1); (35.4, 1)|]))]
|
Once the data are in Bristlecone TimeSeries we can run Bristlecone.fit, which is
the main fitting function of the Bristlecone library.
let endCondition = Optimisation.EndConditions.Profiles.mcmc 5000<iteration> engine.LogTo
let result = ``predator-prey`` |> Bristlecone.tryFit engine endCondition data
Bristlecone.Result+ResultBuilder
|
The Bristlecone.fit function returns an EstimationResult, which contains some
key information that may be used to inspect the model fit:
- Likelihood. The minimum likelihood identified during optimisation.
- Parameters. The parameter set (θ) identified at the minimum likelihood.
- Series. A TimeSeries for each variable in the model, which at each time point contains paired Modelled-Observed values.
- Trace. The likelihood and θ that occurred at each step in optimisation, with the latest first.
- Internal Dynamics. Not relevant for this simple model.
First, we can use the Series to inspect by eye the model fit versus the observed time-series:
No value returned by any evaluator
|
Next, we can examine the traces to see how parameter values evolved over the course of
the optimisation routine:
Graphing.parameterTrace result
No value returned by any evaluator
|
For the pelt dataset, we know from other sources that the estimated
parameters should be around this range:
* Prey growth rate (α): around 0.9–1.1 per year.
* Predation rate (β): around 0.02–0.03 per predator per hare per year.
* Predator efficiency (γ): ~0.01–0.02, reflecting conversion of prey into predator growth.
* Predator death rate (δ): ~0.8–0.9 per year.
Multiple items
module Bristlecone
from Bristlecone
<namespacedoc><summary>The core library of Bristlecone, containing model-fitting functions.</summary></namespacedoc>
Main functionality of Bristlecone, including functions to scaffold
`ModelSystem`s and for model-fitting (tests and real fits).
--------------------
namespace Bristlecone
module Language
from Bristlecone
<summary>
An F# Domain Specific Language (DSL) for scripting with
Bristlecone.
</summary>
module Time
from Bristlecone
Multiple items
val Measure: sId: MeasureId<'u> -> ModelExpression<'u>
--------------------
type MeasureAttribute =
inherit Attribute
new: unit -> MeasureAttribute
--------------------
new: unit -> MeasureAttribute
[<Measure>]
type prey
[<Measure>]
type predator
[<Measure>]
type km
[<Measure>]
type area = km ^ 2
val H: StateId<prey/area>
val state: name: string -> StateId<'u>
val L: StateId<predator/area>
val α: IncludedParameter</year>
Multiple items
val parameter: code: string -> con: Parameter.Constraint -> lower: float<'u> -> upper: float<'u> -> IncludedParameter<'u>
<summary>
Define an estimatable parameter for a Bristlecone model.
</summary>
--------------------
[<Measure>]
type parameter
val notNegative: Parameter.Constraint
[<Measure>]
type year
val β: IncludedParameter<area/(predator year)>
val δ: IncludedParameter</year>
val γ: IncludedParameter<area/(prey year)>
type ModelExpression<'u> =
private | ME of ModelExpressionUntyped
static member (%) : ModelExpression<'u> * ModelExpression<'u> -> ModelExpression<'u>
static member ( * ) : ModelExpression<'u1> * ModelExpression<'u2> -> ModelExpression<'u1 'u2>
static member (+) : ModelExpression<'u> * ModelExpression<'u> -> ModelExpression<'u>
static member (-) : ModelExpression<'u> * ModelExpression<'u> -> ModelExpression<'u>
static member (.<) : ModelExpression<'u> * ModelExpression<'u> -> BoolExpression
static member (.>) : ModelExpression<'u> * ModelExpression<'u> -> BoolExpression
static member (/) : ModelExpression<'u1> * ModelExpression<'u2> -> ModelExpression<'u1/'u2>
static member (=.) : ModelExpression<'u> * ModelExpression<'u> -> BoolExpression
static member Environment: sid: StateId<'u> -> ModelExpression<'u>
static member Exp: ModelExpression<1> -> ModelExpression<1>
...
val P: name: IncludedParameter<'u> -> ModelExpression<'u>
val This<'u> : ModelExpression<'u>
val State: sId: StateId<'u> -> ModelExpression<'u>
module Model
from Bristlecone.Language
<summary>
Terms for scaffolding a model system for use with Bristlecone.
</summary>
val empty<'time> : ModelBuilder.ModelBuilder<'time>
val addRateEquation: name: StateId<'state> -> expr: ModelExpression<'state/'time> -> mb: ModelBuilder.ModelBuilder<'time> -> ModelBuilder.ModelBuilder<'time>
val estimateParameter: p: IncludedParameter<'u> -> builder: ModelBuilder.ModelBuilder<'time> -> ModelBuilder.ModelBuilder<'time>
val useLikelihoodFunction: likelihoodFn: ModelSystem.Likelihood<ModelSystem.state> -> builder: ModelBuilder.ModelBuilder<'u> -> ModelBuilder.ModelBuilder<'u>
namespace Bristlecone.ModelLibrary
module Likelihood
from Bristlecone.ModelLibrary
<summary>Likelihood functions to represent a variety of distributions and data types.</summary>
<namespacedoc><summary>Pre-built model parts for use in Bristlecone</summary></namespacedoc>
val bivariateGaussian: key1: ModelSystem.LikelihoodRequirement -> key2: ModelSystem.LikelihoodRequirement -> ModelSystem.Likelihood<'u>
<summary>
Log likelihood function for dual simultaneous system, assuming Gaussian error for both x and y.
Requires parameters 'σ[x]', 'σ[y]' and 'ρ' to be included in any `ModelSystem` that uses it.
</summary>
module Require
from Bristlecone.Language
val state: s: StateId<'u> -> ModelSystem.LikelihoodRequirement
val estimateParameterOld: name: string -> constraintMode: Parameter.Constraint -> lower: float<'u> -> upper: float<'u> -> builder: ModelBuilder.ModelBuilder<'time> -> ModelBuilder.ModelBuilder<'time>
val noConstraints: Parameter.Constraint
val compile: (ModelBuilder.ModelBuilder<'u> -> ModelSystem.ModelSystem<'u>)
val engine: EstimationEngine.EstimationEngine<DatingMethods.Annual,int<year>,year,1>
val mkContinuous: unit -> EstimationEngine.EstimationEngine<System.DateTime,System.TimeSpan,year,'u>
<summary>A basic estimation engine for ordinary differential equations, using a Nelder-Mead optimiser.</summary>
val withCustomOptimisation: optim: EstimationEngine.Optimisation.Optimiser -> engine: EstimationEngine.EstimationEngine<'a,'b,'u,'v> -> EstimationEngine.EstimationEngine<'a,'b,'u,'v>
namespace Bristlecone.Optimisation
module MonteCarlo
from Bristlecone.Optimisation
<summary>
A module containing Monte Carlo Markov Chain (MCMC) methods for optimisation.
An introduction to MCMC approaches is provided by
[Reali, Priami, and Marchetti (2017)](https://doi.org/10.3389/fams.2017.00006)
</summary>
module Filzbach
from Bristlecone.Optimisation.MonteCarlo
<summary>
An adaptation of the Filzbach method (originally by Drew Purves)
</summary>
val filzbach: settings: Optimisation.MonteCarlo.Filzbach.FilzbachSettings -> EstimationEngine.Optimisation.Optimiser
<summary>
A Monte Carlo Markov Chain sampler based on the 'Filzbach' algorithm from
Microsoft Research Cambridge.
</summary>
type FilzbachSettings =
{
TuneAfterChanges: int
MaxScaleChange: float
MinScaleChange: float
BurnLength: EndCondition
}
static member Default: FilzbachSettings with get
property Optimisation.MonteCarlo.Filzbach.FilzbachSettings.Default: Optimisation.MonteCarlo.Filzbach.FilzbachSettings with get
module EndConditions
from Bristlecone.Optimisation
val atIteration: iteration: int<iteration> -> EstimationEngine.Solution list -> currentIteration: int<iteration> -> EstimationEngine.OptimStopReason
<summary>
End the optimisation procedure when a minimum number of iterations is exceeded.
</summary>
[<Measure>]
type iteration
val withConditioning: c: Conditioning.Conditioning<'u> -> engine: EstimationEngine.EstimationEngine<'a,'b,'v,'u> -> EstimationEngine.EstimationEngine<'a,'b,'v,'u>
<summary>
Choose how the start point is chosen when solving the model system
</summary>
module Conditioning
from Bristlecone
union case Conditioning.Conditioning.NoConditioning: Conditioning.Conditioning<'u>
val withSeed: seed: int -> engine: EstimationEngine.EstimationEngine<'a,'b,'u,'v> -> EstimationEngine.EstimationEngine<'a,'b,'u,'v>
<summary>
Use a mersenne twister random number generator
with a specific seed.
</summary>
val withTimeConversion<'d,'d2,'timespan,'timespan2,'modelTimeUnit,'o1,'o2,'u> : fn: DateMode.Conversion.ResolutionToModelUnits<'d2,'timespan2,'modelTimeUnit> -> engine: EstimationEngine.EstimationEngine<'d,'o1,'o2,'u> -> EstimationEngine.EstimationEngine<'d2,'timespan2,'modelTimeUnit,'u>
module DateMode
from Bristlecone.Time
module Conversion
from Bristlecone.Time.DateMode
<summary>
Conversion functions that translate from one time unit into another.
These functions are intended primarily for use in estimation engines
when translating from data time to model time.
</summary>
module Annual
from Bristlecone.Time.DateMode.Conversion
val toYears: from: DateMode.Conversion.ConvertFrom<DatingMethods.Annual,int<year>> -> float<year>
val testSettings: Test.TestSettings<1,DatingMethods.Annual,int<year>,int<year>>
Multiple items
module Test
from Bristlecone.Language
<summary>
Terms for designing tests for model systems.
</summary>
--------------------
module Test
from Bristlecone
val annualSettings: Test.TestSettings<1,DatingMethods.Annual,int<year>,int<year>>
val addStartValues: values: (string * float<'u>) seq -> settings: Test.TestSettings<'u,'a,'b,'c> -> Test.TestSettings<'u,'a,'b,'c>
<summary>
Adds start values to the test settings. Overwrites any existing
start values that may already exist.
</summary>
val addNoise: noiseFn: (System.Random -> Parameter.Pool.ParameterPool -> CodedMap<TimeSeries<float<'u>,'a,'b,'c>> -> Result<CodedMap<TimeSeries<float<'u>,'a,'b,'c>>,string>) -> settings: Test.TestSettings<'u,'a,'b,'c> -> Test.TestSettings<'u,'a,'b,'c>
<summary>
Add noise to a particular time-series when generating fake time-series.
Built-in noise functions are in the `Noise` module.
</summary>
module Noise
from Bristlecone.Test
<summary>
Functions for adding background variability into
test problems.
</summary>
val tryAddNormal: sdParamCode: string -> seriesName: string -> rnd: System.Random -> pool: Parameter.Pool.ParameterPool -> data: CodedMap<TimeSeries.TimeSeries<float,'a,'b,'c>> -> Result<Map<ShortCode.ShortCode,TimeSeries.TimeSeries<float,'a,'b,'c>>,string>
<summary>
Adds normally-distributed noise around each data point in the selected
time-series.
Returns `None` if the series or parameter does not exist.
</summary>
val addGenerationRules: rules: Test.GenerationRule<'u> list -> settings: Test.TestSettings<'u,'a,'b,'c> -> Test.TestSettings<'u,'a,'b,'c>
module GenerationRules
from Bristlecone.Test
val alwaysLessThan: i: float<'state> -> variable: string -> Test.GenerationRule<'state>
<summary>
Ensures that all generated values are less than i
</summary>
val alwaysMoreThan: i: float<'state> -> variable: string -> Test.GenerationRule<'state>
<summary>
Ensures that all generated values are greater than i
</summary>
val withTimeSeriesLength: n: int -> settings: Test.TestSettings<'u,'a,'b,'c> -> Test.TestSettings<'u,'a,'b,'c>
val endWhen: goal: EstimationEngine.EndCondition -> settings: Test.TestSettings<'u,'a,'b,'c> -> Test.TestSettings<'u,'a,'b,'c>
module Profiles
from Bristlecone.Optimisation.EndConditions
val mcmc: maxIter: int<iteration> -> log: (Logging.LogEvent -> unit) -> results: EstimationEngine.Solution list -> iter: int<iteration> -> EstimationEngine.OptimStopReason
<summary>
Composite end condition that only ends when exploration is not stuck
and the squared jump distance is stationary. Always ends when max iterations
is reached.
</summary>
val ignore: value: 'T -> unit
val testResult: Result<Test.TestResult<DatingMethods.Annual,int<year>,int<year>,ModelSystem.state>,string>
val tryTestModel: engine: EstimationEngine.EstimationEngine<'date,'timespan,'modelTimeUnit,'state> -> settings: Test.TestSettings<'state,'date,'timeunit,'timespan> -> model: ModelSystem.ModelSystem<'modelTimeUnit> -> Result<Test.TestResult<'date,'timeunit,'timespan,ModelSystem.state>,string> (requires comparison and comparison)
<summary>Tests that the specified estimation engine can correctly
estimate known parameters given specfici test settings.
Random parameter sets and resultant fake time-series data are generated
for the model system by using the rules and noise generation settings
in the stated test settings.</summary>
<param name="engine"></param>
<param name="settings"></param>
<param name="model"></param>
<returns>A test result that indicates the error structure.
It is wrapped in an F# Result, indicating if the procedure
was successful or not.</returns>
namespace Plotly
namespace Plotly.NET
val pairedFits: series: Map<string,ModelSystem.FitSeries<DatingMethods.Annual,int<year>,int<year>>> -> string
val series: Map<string,ModelSystem.FitSeries<DatingMethods.Annual,int<year>,int<year>>>
Multiple items
module Map
from Bristlecone
--------------------
module Map
from Microsoft.FSharp.Collections
--------------------
type Map<'Key,'Value (requires comparison)> =
interface IReadOnlyDictionary<'Key,'Value>
interface IReadOnlyCollection<KeyValuePair<'Key,'Value>>
interface IEnumerable
interface IStructuralEquatable
interface IComparable
interface IEnumerable<KeyValuePair<'Key,'Value>>
interface ICollection<KeyValuePair<'Key,'Value>>
interface IDictionary<'Key,'Value>
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
member Add: key: 'Key * value: 'Value -> Map<'Key,'Value>
...
--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
Multiple items
val string: value: 'T -> string
--------------------
type string = System.String
module ModelSystem
from Bristlecone
<summary>
Represents an ordinary differential equation model system and
its likelihood as an objective function that may be optimised.
</summary>
type FitSeries<'date,'timeunit,'timespan> = TimeSeries<ModelSystem.FitValue,'date,'timeunit,'timespan>
module DatingMethods
from Bristlecone.Time
<summary>
Contains types representing common dating methods in
long term data analysis.
</summary>
Multiple items
union case DatingMethods.Annual.Annual: int<year> -> DatingMethods.Annual
--------------------
type Annual =
| Annual of int<year>
static member (+) : e1: Annual * e2: int<year> -> Annual
static member (-) : e1: Annual * e2: Annual -> int<year>
static member AddYears: date: Annual -> years: int<year> -> Annual
static member FractionalDifference: isSigned: bool -> d1: Annual -> d2: Annual -> TimeDifference<int<year>>
static member TotalYearsElapsed: d1: Annual -> d2: Annual -> int<year>
static member Unwrap: Annual -> int<year>
member Value: int<year> with get
Multiple items
val int: value: 'T -> int (requires member op_Explicit)
--------------------
type int = int32
--------------------
type int<'Measure> =
int
union case Result.Ok: ResultValue: 'T -> Result<'T,'TError>
val r: Test.TestResult<DatingMethods.Annual,int<year>,int<year>,ModelSystem.state>
Multiple items
module Seq
from Bristlecone
--------------------
module Seq
from Microsoft.FSharp.Collections
val map: mapping: ('T -> 'U) -> source: 'T seq -> 'U seq
val kv: System.Collections.Generic.KeyValuePair<string,ModelSystem.FitSeries<DatingMethods.Annual,int<year>,int<year>>>
val lines: (int<year> * float<ModelSystem.state>) seq list
property System.Collections.Generic.KeyValuePair.Value: ModelSystem.FitSeries<DatingMethods.Annual,int<year>,int<year>> with get
<summary>Gets the value in the key/value pair.</summary>
<returns>A <typeparamref name="TValue" /> that is the value of the <see cref="T:System.Collections.Generic.KeyValuePair`2" />.</returns>
Multiple items
module TimeSeries
from Bristlecone.Time
<summary>Contains functions and types to create and manipulate
`TimeSeries` values, which represent observations ordered in time.</summary>
--------------------
type TimeSeries<'T,'date,'timeunit,'timespan> = TimeSeries.TimeSeries<'T,'date,'timeunit,'timespan>
val toObservations: series: TimeSeries.TimeSeries<'a,'b,'c,'d> -> ('a * 'b) seq
<summary>Turn a time series into a sequence of observations</summary>
<param name="series">A time-series</param>
<typeparam name="'a">The underlying data type</typeparam>
<typeparam name="'b">The date/time representation</typeparam>
<returns></returns>
val collect: mapping: ('T -> #('U seq)) -> source: 'T seq -> 'U seq
val d: ModelSystem.FitValue
val v: DatingMethods.Annual
ModelSystem.FitValue.Fit: float<ModelSystem.state>
ModelSystem.FitValue.Obs: float<ModelSystem.state>
val groupBy: projection: ('T -> 'Key) -> source: 'T seq -> ('Key * 'T seq) seq (requires equality)
val x: string
val s: (DatingMethods.Annual * string * float<ModelSystem.state>) seq
val x: DatingMethods.Annual
val y: float<ModelSystem.state>
property DatingMethods.Annual.Value: int<year> with get
val toList: source: 'T seq -> 'T list
type Chart =
static member AnnotatedHeatmap: zData: #('a1 seq) seq * annotationText: #(string seq) seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Name: string * [<Optional; DefaultParameterValue ((null :> obj))>] ?ShowLegend: bool * [<Optional; DefaultParameterValue ((null :> obj))>] ?Opacity: float * [<Optional; DefaultParameterValue ((null :> obj))>] ?X: 'a3 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiX: 'a3 seq seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?XGap: int * [<Optional; DefaultParameterValue ((null :> obj))>] ?Y: 'a4 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiY: 'a4 seq seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?YGap: int * [<Optional; DefaultParameterValue ((null :> obj))>] ?Text: 'a5 * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiText: 'a5 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?ColorBar: ColorBar * [<Optional; DefaultParameterValue ((null :> obj))>] ?ColorScale: Colorscale * [<Optional; DefaultParameterValue ((null :> obj))>] ?ShowScale: bool * [<Optional; DefaultParameterValue ((null :> obj))>] ?ReverseScale: bool * [<Optional; DefaultParameterValue ((null :> obj))>] ?ZSmooth: SmoothAlg * [<Optional; DefaultParameterValue ((null :> obj))>] ?Transpose: bool * [<Optional; DefaultParameterValue ((false :> obj))>] ?UseWebGL: bool * [<Optional; DefaultParameterValue ((false :> obj))>] ?ReverseYAxis: bool * [<Optional; DefaultParameterValue ((true :> obj))>] ?UseDefaults: bool -> GenericChart (requires 'a1 :> IConvertible and 'a3 :> IConvertible and 'a4 :> IConvertible and 'a5 :> IConvertible) + 1 overload
static member Area: x: #IConvertible seq * y: #IConvertible seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?ShowMarkers: bool * [<Optional; DefaultParameterValue ((null :> obj))>] ?Name: string * [<Optional; DefaultParameterValue ((null :> obj))>] ?ShowLegend: bool * [<Optional; DefaultParameterValue ((null :> obj))>] ?Opacity: float * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiOpacity: float seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Text: 'a2 * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiText: 'a2 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?TextPosition: TextPosition * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiTextPosition: TextPosition seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?MarkerColor: Color * [<Optional; DefaultParameterValue ((null :> obj))>] ?MarkerColorScale: Colorscale * [<Optional; DefaultParameterValue ((null :> obj))>] ?MarkerOutline: Line * [<Optional; DefaultParameterValue ((null :> obj))>] ?MarkerSymbol: MarkerSymbol * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiMarkerSymbol: MarkerSymbol seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Marker: Marker * [<Optional; DefaultParameterValue ((null :> obj))>] ?LineColor: Color * [<Optional; DefaultParameterValue ((null :> obj))>] ?LineColorScale: Colorscale * [<Optional; DefaultParameterValue ((null :> obj))>] ?LineWidth: float * [<Optional; DefaultParameterValue ((null :> obj))>] ?LineDash: DrawingStyle * [<Optional; DefaultParameterValue ((null :> obj))>] ?Line: Line * [<Optional; DefaultParameterValue ((null :> obj))>] ?AlignmentGroup: string * [<Optional; DefaultParameterValue ((null :> obj))>] ?OffsetGroup: string * [<Optional; DefaultParameterValue ((null :> obj))>] ?StackGroup: string * [<Optional; DefaultParameterValue ((null :> obj))>] ?Orientation: Orientation * [<Optional; DefaultParameterValue ((null :> obj))>] ?GroupNorm: GroupNorm * [<Optional; DefaultParameterValue ((null :> obj))>] ?FillColor: Color * [<Optional; DefaultParameterValue ((null :> obj))>] ?FillPatternShape: PatternShape * [<Optional; DefaultParameterValue ((null :> obj))>] ?FillPattern: Pattern * [<Optional; DefaultParameterValue ((false :> obj))>] ?UseWebGL: bool * [<Optional; DefaultParameterValue ((true :> obj))>] ?UseDefaults: bool -> GenericChart (requires 'a2 :> IConvertible) + 1 overload
static member Bar: values: #IConvertible seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Keys: 'a1 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiKeys: 'a1 seq seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Name: string * [<Optional; DefaultParameterValue ((null :> obj))>] ?ShowLegend: bool * [<Optional; DefaultParameterValue ((null :> obj))>] ?Opacity: float * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiOpacity: float seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Text: 'a2 * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiText: 'a2 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?MarkerColor: Color * [<Optional; DefaultParameterValue ((null :> obj))>] ?MarkerColorScale: Colorscale * [<Optional; DefaultParameterValue ((null :> obj))>] ?MarkerOutline: Line * [<Optional; DefaultParameterValue ((null :> obj))>] ?MarkerPatternShape: PatternShape * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiMarkerPatternShape: PatternShape seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?MarkerPattern: Pattern * [<Optional; DefaultParameterValue ((null :> obj))>] ?Marker: Marker * [<Optional; DefaultParameterValue ((null :> obj))>] ?Base: #IConvertible * [<Optional; DefaultParameterValue ((null :> obj))>] ?Width: 'a4 * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiWidth: 'a4 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?TextPosition: TextPosition * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiTextPosition: TextPosition seq * [<Optional; DefaultParameterValue ((true :> obj))>] ?UseDefaults: bool -> GenericChart (requires 'a1 :> IConvertible and 'a2 :> IConvertible and 'a4 :> IConvertible) + 1 overload
static member BoxPlot: [<Optional; DefaultParameterValue ((null :> obj))>] ?X: 'a0 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiX: 'a0 seq seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Y: 'a1 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiY: 'a1 seq seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Name: string * [<Optional; DefaultParameterValue ((null :> obj))>] ?ShowLegend: bool * [<Optional; DefaultParameterValue ((null :> obj))>] ?Text: 'a2 * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiText: 'a2 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?FillColor: Color * [<Optional; DefaultParameterValue ((null :> obj))>] ?MarkerColor: Color * [<Optional; DefaultParameterValue ((null :> obj))>] ?Marker: Marker * [<Optional; DefaultParameterValue ((null :> obj))>] ?Opacity: float * [<Optional; DefaultParameterValue ((null :> obj))>] ?WhiskerWidth: float * [<Optional; DefaultParameterValue ((null :> obj))>] ?BoxPoints: BoxPoints * [<Optional; DefaultParameterValue ((null :> obj))>] ?BoxMean: BoxMean * [<Optional; DefaultParameterValue ((null :> obj))>] ?Jitter: float * [<Optional; DefaultParameterValue ((null :> obj))>] ?PointPos: float * [<Optional; DefaultParameterValue ((null :> obj))>] ?Orientation: Orientation * [<Optional; DefaultParameterValue ((null :> obj))>] ?OutlineColor: Color * [<Optional; DefaultParameterValue ((null :> obj))>] ?OutlineWidth: float * [<Optional; DefaultParameterValue ((null :> obj))>] ?Outline: Line * [<Optional; DefaultParameterValue ((null :> obj))>] ?AlignmentGroup: string * [<Optional; DefaultParameterValue ((null :> obj))>] ?OffsetGroup: string * [<Optional; DefaultParameterValue ((null :> obj))>] ?Notched: bool * [<Optional; DefaultParameterValue ((null :> obj))>] ?NotchWidth: float * [<Optional; DefaultParameterValue ((null :> obj))>] ?QuartileMethod: QuartileMethod * [<Optional; DefaultParameterValue ((true :> obj))>] ?UseDefaults: bool -> GenericChart (requires 'a0 :> IConvertible and 'a1 :> IConvertible and 'a2 :> IConvertible) + 2 overloads
static member Bubble: x: #IConvertible seq * y: #IConvertible seq * sizes: int seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Name: string * [<Optional; DefaultParameterValue ((null :> obj))>] ?ShowLegend: bool * [<Optional; DefaultParameterValue ((null :> obj))>] ?Opacity: float * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiOpacity: float seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Text: 'a2 * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiText: 'a2 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?TextPosition: TextPosition * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiTextPosition: TextPosition seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?MarkerColor: Color * [<Optional; DefaultParameterValue ((null :> obj))>] ?MarkerColorScale: Colorscale * [<Optional; DefaultParameterValue ((null :> obj))>] ?MarkerOutline: Line * [<Optional; DefaultParameterValue ((null :> obj))>] ?MarkerSymbol: MarkerSymbol * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiMarkerSymbol: MarkerSymbol seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Marker: Marker * [<Optional; DefaultParameterValue ((null :> obj))>] ?LineColor: Color * [<Optional; DefaultParameterValue ((null :> obj))>] ?LineColorScale: Colorscale * [<Optional; DefaultParameterValue ((null :> obj))>] ?LineWidth: float * [<Optional; DefaultParameterValue ((null :> obj))>] ?LineDash: DrawingStyle * [<Optional; DefaultParameterValue ((null :> obj))>] ?Line: Line * [<Optional; DefaultParameterValue ((null :> obj))>] ?AlignmentGroup: string * [<Optional; DefaultParameterValue ((null :> obj))>] ?OffsetGroup: string * [<Optional; DefaultParameterValue ((null :> obj))>] ?StackGroup: string * [<Optional; DefaultParameterValue ((null :> obj))>] ?Orientation: Orientation * [<Optional; DefaultParameterValue ((null :> obj))>] ?GroupNorm: GroupNorm * [<Optional; DefaultParameterValue ((false :> obj))>] ?UseWebGL: bool * [<Optional; DefaultParameterValue ((true :> obj))>] ?UseDefaults: bool -> GenericChart (requires 'a2 :> IConvertible) + 1 overload
static member Candlestick: ``open`` : #IConvertible seq * high: #IConvertible seq * low: #IConvertible seq * close: #IConvertible seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?X: 'a4 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiX: 'a4 seq seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Name: string * [<Optional; DefaultParameterValue ((null :> obj))>] ?ShowLegend: bool * [<Optional; DefaultParameterValue ((null :> obj))>] ?Opacity: float * [<Optional; DefaultParameterValue ((null :> obj))>] ?Text: 'a5 * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiText: 'a5 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Line: Line * [<Optional; DefaultParameterValue ((null :> obj))>] ?IncreasingColor: Color * [<Optional; DefaultParameterValue ((null :> obj))>] ?Increasing: FinanceMarker * [<Optional; DefaultParameterValue ((null :> obj))>] ?DecreasingColor: Color * [<Optional; DefaultParameterValue ((null :> obj))>] ?Decreasing: FinanceMarker * [<Optional; DefaultParameterValue ((null :> obj))>] ?WhiskerWidth: float * [<Optional; DefaultParameterValue ((true :> obj))>] ?ShowXAxisRangeSlider: bool * [<Optional; DefaultParameterValue ((true :> obj))>] ?UseDefaults: bool -> GenericChart (requires 'a4 :> IConvertible and 'a5 :> IConvertible) + 2 overloads
static member Column: values: #IConvertible seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Keys: 'a1 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiKeys: 'a1 seq seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Name: string * [<Optional; DefaultParameterValue ((null :> obj))>] ?ShowLegend: bool * [<Optional; DefaultParameterValue ((null :> obj))>] ?Opacity: float * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiOpacity: float seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Text: 'a2 * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiText: 'a2 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?MarkerColor: Color * [<Optional; DefaultParameterValue ((null :> obj))>] ?MarkerColorScale: Colorscale * [<Optional; DefaultParameterValue ((null :> obj))>] ?MarkerOutline: Line * [<Optional; DefaultParameterValue ((null :> obj))>] ?MarkerPatternShape: PatternShape * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiMarkerPatternShape: PatternShape seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?MarkerPattern: Pattern * [<Optional; DefaultParameterValue ((null :> obj))>] ?Marker: Marker * [<Optional; DefaultParameterValue ((null :> obj))>] ?Base: #IConvertible * [<Optional; DefaultParameterValue ((null :> obj))>] ?Width: 'a4 * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiWidth: 'a4 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?TextPosition: TextPosition * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiTextPosition: TextPosition seq * [<Optional; DefaultParameterValue ((true :> obj))>] ?UseDefaults: bool -> GenericChart (requires 'a1 :> IConvertible and 'a2 :> IConvertible and 'a4 :> IConvertible) + 1 overload
static member Contour: zData: #('a1 seq) seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Name: string * [<Optional; DefaultParameterValue ((null :> obj))>] ?ShowLegend: bool * [<Optional; DefaultParameterValue ((null :> obj))>] ?Opacity: float * [<Optional; DefaultParameterValue ((null :> obj))>] ?X: 'a2 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiX: 'a2 seq seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Y: 'a3 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiY: 'a3 seq seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Text: 'a4 * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiText: 'a4 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?ColorBar: ColorBar * [<Optional; DefaultParameterValue ((null :> obj))>] ?ColorScale: Colorscale * [<Optional; DefaultParameterValue ((null :> obj))>] ?ShowScale: bool * [<Optional; DefaultParameterValue ((null :> obj))>] ?ReverseScale: bool * [<Optional; DefaultParameterValue ((null :> obj))>] ?Transpose: bool * [<Optional; DefaultParameterValue ((null :> obj))>] ?ContourLineColor: Color * [<Optional; DefaultParameterValue ((null :> obj))>] ?ContourLineDash: DrawingStyle * [<Optional; DefaultParameterValue ((null :> obj))>] ?ContourLineSmoothing: float * [<Optional; DefaultParameterValue ((null :> obj))>] ?ContourLine: Line * [<Optional; DefaultParameterValue ((null :> obj))>] ?ContoursColoring: ContourColoring * [<Optional; DefaultParameterValue ((null :> obj))>] ?ContoursOperation: ConstraintOperation * [<Optional; DefaultParameterValue ((null :> obj))>] ?ContoursType: ContourType * [<Optional; DefaultParameterValue ((null :> obj))>] ?ShowContourLabels: bool * [<Optional; DefaultParameterValue ((null :> obj))>] ?ContourLabelFont: Font * [<Optional; DefaultParameterValue ((null :> obj))>] ?Contours: Contours * [<Optional; DefaultParameterValue ((null :> obj))>] ?FillColor: Color * [<Optional; DefaultParameterValue ((null :> obj))>] ?NContours: int * [<Optional; DefaultParameterValue ((true :> obj))>] ?UseDefaults: bool -> GenericChart (requires 'a1 :> IConvertible and 'a2 :> IConvertible and 'a3 :> IConvertible and 'a4 :> IConvertible)
static member Funnel: x: #IConvertible seq * y: #IConvertible seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Name: string * [<Optional; DefaultParameterValue ((null :> obj))>] ?ShowLegend: bool * [<Optional; DefaultParameterValue ((null :> obj))>] ?Opacity: float * [<Optional; DefaultParameterValue ((null :> obj))>] ?Width: float * [<Optional; DefaultParameterValue ((null :> obj))>] ?Offset: float * [<Optional; DefaultParameterValue ((null :> obj))>] ?Text: 'a2 * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiText: 'a2 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?TextPosition: TextPosition * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiTextPosition: TextPosition seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Orientation: Orientation * [<Optional; DefaultParameterValue ((null :> obj))>] ?AlignmentGroup: string * [<Optional; DefaultParameterValue ((null :> obj))>] ?OffsetGroup: string * [<Optional; DefaultParameterValue ((null :> obj))>] ?MarkerColor: Color * [<Optional; DefaultParameterValue ((null :> obj))>] ?MarkerOutline: Line * [<Optional; DefaultParameterValue ((null :> obj))>] ?Marker: Marker * [<Optional; DefaultParameterValue ((null :> obj))>] ?TextInfo: TextInfo * [<Optional; DefaultParameterValue ((null :> obj))>] ?ConnectorLineColor: Color * [<Optional; DefaultParameterValue ((null :> obj))>] ?ConnectorLineStyle: DrawingStyle * [<Optional; DefaultParameterValue ((null :> obj))>] ?ConnectorFillColor: Color * [<Optional; DefaultParameterValue ((null :> obj))>] ?ConnectorLine: Line * [<Optional; DefaultParameterValue ((null :> obj))>] ?Connector: FunnelConnector * [<Optional; DefaultParameterValue ((null :> obj))>] ?InsideTextFont: Font * [<Optional; DefaultParameterValue ((null :> obj))>] ?OutsideTextFont: Font * [<Optional; DefaultParameterValue ((true :> obj))>] ?UseDefaults: bool -> GenericChart (requires 'a2 :> IConvertible)
static member Heatmap: zData: #('a1 seq) seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?X: 'a2 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiX: 'a2 seq seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Y: 'a3 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiY: 'a3 seq seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?Name: string * [<Optional; DefaultParameterValue ((null :> obj))>] ?ShowLegend: bool * [<Optional; DefaultParameterValue ((null :> obj))>] ?Opacity: float * [<Optional; DefaultParameterValue ((null :> obj))>] ?XGap: int * [<Optional; DefaultParameterValue ((null :> obj))>] ?YGap: int * [<Optional; DefaultParameterValue ((null :> obj))>] ?Text: 'a4 * [<Optional; DefaultParameterValue ((null :> obj))>] ?MultiText: 'a4 seq * [<Optional; DefaultParameterValue ((null :> obj))>] ?ColorBar: ColorBar * [<Optional; DefaultParameterValue ((null :> obj))>] ?ColorScale: Colorscale * [<Optional; DefaultParameterValue ((null :> obj))>] ?ShowScale: bool * [<Optional; DefaultParameterValue ((null :> obj))>] ?ReverseScale: bool * [<Optional; DefaultParameterValue ((null :> obj))>] ?ZSmooth: SmoothAlg * [<Optional; DefaultParameterValue ((null :> obj))>] ?Transpose: bool * [<Optional; DefaultParameterValue ((false :> obj))>] ?UseWebGL: bool * [<Optional; DefaultParameterValue ((false :> obj))>] ?ReverseYAxis: bool * [<Optional; DefaultParameterValue ((true :> obj))>] ?UseDefaults: bool -> GenericChart (requires 'a1 :> IConvertible and 'a2 :> IConvertible and 'a3 :> IConvertible and 'a4 :> IConvertible) + 1 overload
...
static member Chart.combine: gCharts: GenericChart.GenericChart seq -> GenericChart.GenericChart
static member Chart.Line: xy: (#System.IConvertible * #System.IConvertible) seq * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?ShowMarkers: bool * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?Name: string * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?ShowLegend: bool * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?Opacity: float * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?MultiOpacity: float seq * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?Text: 'c * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?MultiText: 'c seq * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?TextPosition: StyleParam.TextPosition * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?MultiTextPosition: StyleParam.TextPosition seq * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?MarkerColor: Color * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?MarkerColorScale: StyleParam.Colorscale * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?MarkerOutline: Line * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?MarkerSymbol: StyleParam.MarkerSymbol * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?MultiMarkerSymbol: StyleParam.MarkerSymbol seq * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?Marker: TraceObjects.Marker * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?LineColor: Color * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?LineColorScale: StyleParam.Colorscale * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?LineWidth: float * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?LineDash: StyleParam.DrawingStyle * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?Line: Line * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?AlignmentGroup: string * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?OffsetGroup: string * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?StackGroup: string * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?Orientation: StyleParam.Orientation * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?GroupNorm: StyleParam.GroupNorm * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?Fill: StyleParam.Fill * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?FillColor: Color * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?FillPattern: TraceObjects.Pattern * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((false :> obj))>] ?UseWebGL: bool * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((true :> obj))>] ?UseDefaults: bool -> GenericChart.GenericChart (requires 'c :> System.IConvertible)
static member Chart.Line: x: #System.IConvertible seq * y: #System.IConvertible seq * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?ShowMarkers: bool * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?Name: string * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?ShowLegend: bool * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?Opacity: float * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?MultiOpacity: float seq * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?Text: 'f * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?MultiText: 'f seq * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?TextPosition: StyleParam.TextPosition * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?MultiTextPosition: StyleParam.TextPosition seq * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?MarkerColor: Color * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?MarkerColorScale: StyleParam.Colorscale * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?MarkerOutline: Line * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?MarkerSymbol: StyleParam.MarkerSymbol * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?MultiMarkerSymbol: StyleParam.MarkerSymbol seq * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?Marker: TraceObjects.Marker * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?LineColor: Color * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?LineColorScale: StyleParam.Colorscale * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?LineWidth: float * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?LineDash: StyleParam.DrawingStyle * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?Line: Line * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?AlignmentGroup: string * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?OffsetGroup: string * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?StackGroup: string * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?Orientation: StyleParam.Orientation * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?GroupNorm: StyleParam.GroupNorm * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?Fill: StyleParam.Fill * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?FillColor: Color * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?FillPattern: TraceObjects.Pattern * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((false :> obj))>] ?UseWebGL: bool * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((true :> obj))>] ?UseDefaults: bool -> GenericChart.GenericChart (requires 'f :> System.IConvertible)
static member Chart.withTitle: title: Title -> (GenericChart.GenericChart -> GenericChart.GenericChart)
static member Chart.withTitle: title: string * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?TitleFont: Font -> (GenericChart.GenericChart -> GenericChart.GenericChart)
property System.Collections.Generic.KeyValuePair.Key: string with get
<summary>Gets the key in the key/value pair.</summary>
<returns>A <typeparamref name="TKey" /> that is the key of the <see cref="T:System.Collections.Generic.KeyValuePair`2" />.</returns>
static member Chart.Grid: [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?SubPlots: (StyleParam.LinearAxisId * StyleParam.LinearAxisId) array array * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?XAxes: StyleParam.LinearAxisId array * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?YAxes: StyleParam.LinearAxisId array * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?RowOrder: StyleParam.LayoutGridRowOrder * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?Pattern: StyleParam.LayoutGridPattern * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?XGap: float * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?YGap: float * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?Domain: LayoutObjects.Domain * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?XSide: StyleParam.LayoutGridXSide * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?YSide: StyleParam.LayoutGridYSide -> (#('a1 seq) -> GenericChart.GenericChart) (requires 'a1 :> GenericChart.GenericChart seq)
static member Chart.Grid: nRows: int * nCols: int * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?SubPlots: (StyleParam.LinearAxisId * StyleParam.LinearAxisId) array array * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?XAxes: StyleParam.LinearAxisId array * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?YAxes: StyleParam.LinearAxisId array * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?RowOrder: StyleParam.LayoutGridRowOrder * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?Pattern: StyleParam.LayoutGridPattern * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?XGap: float * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?YGap: float * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?Domain: LayoutObjects.Domain * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?XSide: StyleParam.LayoutGridXSide * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?YSide: StyleParam.LayoutGridYSide -> (#(GenericChart.GenericChart seq) -> GenericChart.GenericChart)
val x: GenericChart.GenericChart
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
module GenericChart
from Plotly.NET
<summary>
Module to represent a GenericChart
</summary>
val toChartHTML: gChart: GenericChart.GenericChart -> string
union case Result.Error: ErrorValue: 'TError -> Result<'T,'TError>
val e: string
val sprintf: format: Printf.StringFormat<'T> -> 'T
val pairedFitsForTestResult: testResult: Result<Test.TestResult<DatingMethods.Annual,int<year>,int<year>,'u>,string> -> string
val testResult: Result<Test.TestResult<DatingMethods.Annual,int<year>,int<year>,'u>,string>
Multiple items
module Result
from Bristlecone
--------------------
module Result
from Microsoft.FSharp.Core
--------------------
[<Struct>]
type Result<'T,'TError> =
| Ok of ResultValue: 'T
| Error of ErrorValue: 'TError
module Test
from Bristlecone
type TestResult<'date,'timeunit,'timespan,'u> =
{
Parameters: ParameterTestResult list
Series: Map<string,FitSeries<'date,'timeunit,'timespan>>
ErrorStructure: Map<string,float<'u ^ 2> seq>
IterationsRun: int<iteration>
RealLikelihood: float<-logL>
EstimatedLikelihood: float<-logL>
}
'u
val r: Test.TestResult<DatingMethods.Annual,int<year>,int<year>,'u>
Test.TestResult.Series: Map<string,ModelSystem.FitSeries<DatingMethods.Annual,int<year>,int<year>>>
val pairedFitsForResult: testResult: Result<ModelSystem.EstimationResult<DatingMethods.Annual,int<year>,int<year>>,string> -> string
val testResult: Result<ModelSystem.EstimationResult<DatingMethods.Annual,int<year>,int<year>>,string>
type EstimationResult<'date,'timeunit,'timespan> =
{
ResultId: Guid
Likelihood: float<-logL>
Parameters: ParameterPool
Series: CodedMap<FitSeries<'date,'timeunit,'timespan>>
Trace: (float<-logL> * float<parameter> array) list
InternalDynamics: CodedMap<float<state> array> option
}
<summary>
An estimated model fit for a time-series model.
</summary>
val r: ModelSystem.EstimationResult<DatingMethods.Annual,int<year>,int<year>>
ModelSystem.EstimationResult.Series: CodedMap<ModelSystem.FitSeries<DatingMethods.Annual,int<year>,int<year>>>
val kv: System.Collections.Generic.KeyValuePair<ShortCode.ShortCode,ModelSystem.FitSeries<DatingMethods.Annual,int<year>,int<year>>>
property System.Collections.Generic.KeyValuePair.Key: ShortCode.ShortCode with get
<summary>Gets the key in the key/value pair.</summary>
<returns>A <typeparamref name="TKey" /> that is the key of the <see cref="T:System.Collections.Generic.KeyValuePair`2" />.</returns>
property ShortCode.ShortCode.Value: string with get
val ofSeq: elements: ('Key * 'T) seq -> Map<'Key,'T> (requires comparison)
val parameterTrace: result: Result<ModelSystem.EstimationResult<'a,'b,'c>,'b0> -> string
val result: Result<ModelSystem.EstimationResult<'a,'b,'c>,'b0>
'b
val r: ModelSystem.EstimationResult<'a,'b,'c>
ModelSystem.EstimationResult.Trace: (float<-logL> * float<parameter> array) list
val snd: tuple: ('T1 * 'T2) -> 'T2
Multiple items
module List
from Bristlecone
--------------------
module List
from Microsoft.FSharp.Collections
--------------------
type List<'T> =
| op_Nil
| op_ColonColon of Head: 'T * Tail: 'T list
interface IReadOnlyList<'T>
interface IReadOnlyCollection<'T>
interface IEnumerable
interface IEnumerable<'T>
member GetReverseIndex: rank: int * offset: int -> int
member GetSlice: startIndex: int option * endIndex: int option -> 'T list
static member Cons: head: 'T * tail: 'T list -> 'T list
member Head: 'T with get
member IsEmpty: bool with get
member Item: index: int -> 'T with get
...
val flip: matrix: 'a list list -> 'a list list
val map: mapping: ('T -> 'U) -> list: 'T list -> 'U list
val values: float<parameter> list
argument y: float<parameter> seq
<summary> Creates a Line chart, which uses a Line plotted between the given datums in a 2D space to visualize typically an evolution of Y depending on X.</summary>
<param name="x">Sets the x coordinates of the plotted data.</param>
<param name="y">Sets the y coordinates of the plotted data.</param>
<param name="ShowMarkers">Whether to show markers for the individual data points</param>
<param name="Name">Sets the trace name. The trace name appear as the legend item and on hover</param>
<param name="ShowLegend">Determines whether or not an item corresponding to this trace is shown in the legend.</param>
<param name="Opacity">Sets the opactity of the trace</param>
<param name="MultiOpacity">Sets the opactity of individual datum markers</param>
<param name="Text">Sets a text associated with each datum</param>
<param name="MultiText">Sets individual text for each datum</param>
<param name="TextPosition">Sets the position of text associated with each datum</param>
<param name="MultiTextPosition">Sets the position of text associated with individual datum</param>
<param name="MarkerColor">Sets the color of the marker</param>
<param name="MarkerColorScale">Sets the colorscale of the marker</param>
<param name="MarkerOutline">Sets the outline of the marker</param>
<param name="MarkerSymbol">Sets the marker symbol for each datum</param>
<param name="MultiMarkerSymbol">Sets the marker symbol for each individual datum</param>
<param name="Marker">Sets the marker (use this for more finegrained control than the other marker-associated arguments)</param>
<param name="LineColor">Sets the color of the line</param>
<param name="LineColorScale">Sets the colorscale of the line</param>
<param name="LineWidth">Sets the width of the line</param>
<param name="LineDash">sets the drawing style of the line</param>
<param name="Line">Sets the line (use this for more finegrained control than the other line-associated arguments)</param>
<param name="AlignmentGroup">Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.</param>
<param name="OffsetGroup">Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.</param>
<param name="StackGroup">Set several traces (on the same subplot) to the same stackgroup in order to add their y values (or their x values if `Orientation` is Horizontal). Stacking also turns `fill` on by default and sets the default `mode` to "lines" irrespective of point count. ou can only stack on a numeric (linear or log) axis. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order</param>
<param name="Orientation">Sets the stacking direction. Only relevant when `stackgroup` is used, and only the first `orientation` found in the `stackgroup` will be used.</param>
<param name="GroupNorm">Sets the normalization for the sum of this `stackgroup. Only relevant when `stackgroup` is used, and only the first `groupnorm` found in the `stackgroup` will be used</param>
<param name="Fill">Sets the area to fill with a solid color. Defaults to "none" unless this trace is stacked, then it gets "tonexty" ("tonextx") if `orientation` is "v" ("h") Use with `FillColor` if not "none". "tozerox" and "tozeroy" fill to x=0 and y=0 respectively. "tonextx" and "tonexty" fill between the endpoints of this trace and the endpoints of the trace before it, connecting those endpoints with straight lines (to make a stacked area graph); if there is no trace before it, they behave like "tozerox" and "tozeroy". "toself" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. "tonext" fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like "toself" if there is no trace before it. "tonext" should not be used if one trace does not enclose the other. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.</param>
<param name="FillColor">Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.</param>
<param name="FillPattern">Sets the pattern within the marker.</param>
<param name="UseWebGL">If true, plotly.js will use the WebGL engine to render this chart. use this when you want to render many objects at once.</param>
<param name="UseDefaults">If set to false, ignore the global default settings set in `Defaults`</param>
argument x: int seq
<summary> Creates a Line chart, which uses a Line plotted between the given datums in a 2D space to visualize typically an evolution of Y depending on X.</summary>
<param name="x">Sets the x coordinates of the plotted data.</param>
<param name="y">Sets the y coordinates of the plotted data.</param>
<param name="ShowMarkers">Whether to show markers for the individual data points</param>
<param name="Name">Sets the trace name. The trace name appear as the legend item and on hover</param>
<param name="ShowLegend">Determines whether or not an item corresponding to this trace is shown in the legend.</param>
<param name="Opacity">Sets the opactity of the trace</param>
<param name="MultiOpacity">Sets the opactity of individual datum markers</param>
<param name="Text">Sets a text associated with each datum</param>
<param name="MultiText">Sets individual text for each datum</param>
<param name="TextPosition">Sets the position of text associated with each datum</param>
<param name="MultiTextPosition">Sets the position of text associated with individual datum</param>
<param name="MarkerColor">Sets the color of the marker</param>
<param name="MarkerColorScale">Sets the colorscale of the marker</param>
<param name="MarkerOutline">Sets the outline of the marker</param>
<param name="MarkerSymbol">Sets the marker symbol for each datum</param>
<param name="MultiMarkerSymbol">Sets the marker symbol for each individual datum</param>
<param name="Marker">Sets the marker (use this for more finegrained control than the other marker-associated arguments)</param>
<param name="LineColor">Sets the color of the line</param>
<param name="LineColorScale">Sets the colorscale of the line</param>
<param name="LineWidth">Sets the width of the line</param>
<param name="LineDash">sets the drawing style of the line</param>
<param name="Line">Sets the line (use this for more finegrained control than the other line-associated arguments)</param>
<param name="AlignmentGroup">Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.</param>
<param name="OffsetGroup">Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.</param>
<param name="StackGroup">Set several traces (on the same subplot) to the same stackgroup in order to add their y values (or their x values if `Orientation` is Horizontal). Stacking also turns `fill` on by default and sets the default `mode` to "lines" irrespective of point count. ou can only stack on a numeric (linear or log) axis. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order</param>
<param name="Orientation">Sets the stacking direction. Only relevant when `stackgroup` is used, and only the first `orientation` found in the `stackgroup` will be used.</param>
<param name="GroupNorm">Sets the normalization for the sum of this `stackgroup. Only relevant when `stackgroup` is used, and only the first `groupnorm` found in the `stackgroup` will be used</param>
<param name="Fill">Sets the area to fill with a solid color. Defaults to "none" unless this trace is stacked, then it gets "tonexty" ("tonextx") if `orientation` is "v" ("h") Use with `FillColor` if not "none". "tozerox" and "tozeroy" fill to x=0 and y=0 respectively. "tonextx" and "tonexty" fill between the endpoints of this trace and the endpoints of the trace before it, connecting those endpoints with straight lines (to make a stacked area graph); if there is no trace before it, they behave like "tozerox" and "tozeroy". "toself" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. "tonext" fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like "toself" if there is no trace before it. "tonext" should not be used if one trace does not enclose the other. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.</param>
<param name="FillColor">Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.</param>
<param name="FillPattern">Sets the pattern within the marker.</param>
<param name="UseWebGL">If true, plotly.js will use the WebGL engine to render this chart. use this when you want to render many objects at once.</param>
<param name="UseDefaults">If set to false, ignore the global default settings set in `Defaults`</param>
property List.Length: int with get
module Graphing
from Predator-prey
Multiple items
type LiteralAttribute =
inherit Attribute
new: unit -> LiteralAttribute
--------------------
new: unit -> LiteralAttribute
[<Literal>]
val ResolutionFolder: string = "/Users/runner/work/bristlecone/bristlecone/docs/examples"
type PopulationData = FSharp.Data.CsvProvider<...>
Multiple items
namespace FSharp
--------------------
namespace Microsoft.FSharp
Multiple items
namespace FSharp.Data
--------------------
namespace Microsoft.FSharp.Data
type CsvProvider
<summary>Typed representation of a CSV file.</summary>
<param name='Sample'>Location of a CSV sample file or a string containing a sample CSV document.</param>
<param name='Separators'>Column delimiter(s). Defaults to <c>,</c>.</param>
<param name='InferRows'>Number of rows to use for inference. Defaults to <c>1000</c>. If this is zero, all rows are used.</param>
<param name='Schema'>Optional column types, in a comma separated list. Valid types are <c>int</c>, <c>int64</c>, <c>bool</c>, <c>float</c>, <c>decimal</c>, <c>date</c>, <c>datetimeoffset</c>, <c>timespan</c>, <c>guid</c>, <c>string</c>, <c>int?</c>, <c>int64?</c>, <c>bool?</c>, <c>float?</c>, <c>decimal?</c>, <c>date?</c>, <c>datetimeoffset?</c>, <c>timespan?</c>, <c>guid?</c>, <c>int option</c>, <c>int64 option</c>, <c>bool option</c>, <c>float option</c>, <c>decimal option</c>, <c>date option</c>, <c>datetimeoffset option</c>, <c>timespan option</c>, <c>guid option</c> and <c>string option</c>.
You can also specify a unit and the name of the column like this: <c>Name (type<unit>)</c>, or you can override only the name. If you don't want to specify all the columns, you can reference the columns by name like this: <c>ColumnName=type</c>.</param>
<param name='HasHeaders'>Whether the sample contains the names of the columns as its first line.</param>
<param name='IgnoreErrors'>Whether to ignore rows that have the wrong number of columns or which can't be parsed using the inferred or specified schema. Otherwise an exception is thrown when these rows are encountered.</param>
<param name='SkipRows'>Skips the first n rows of the CSV file.</param>
<param name='AssumeMissingValues'>When set to true, the type provider will assume all columns can have missing values, even if in the provided sample all values are present. Defaults to false.</param>
<param name='PreferOptionals'>When set to true, inference will prefer to use the option type instead of nullable types, <c>double.NaN</c> or <c>""</c> for missing values. Defaults to false.</param>
<param name='Quote'>The quotation mark (for surrounding values containing the delimiter). Defaults to <c>"</c>.</param>
<param name='MissingValues'>The set of strings recognized as missing values specified as a comma-separated string (e.g., "NA,N/A"). Defaults to <c>NaN,NA,N/A,#N/A,:,-,TBA,TBD</c>.</param>
<param name='CacheRows'>Whether the rows should be caches so they can be iterated multiple times. Defaults to true. Disable for large datasets.</param>
<param name='Culture'>The culture used for parsing numbers and dates. Defaults to the invariant culture.</param>
<param name='Encoding'>The encoding used to read the sample. You can specify either the character set name or the codepage number. Defaults to UTF8 for files, and to ISO-8859-1 the for HTTP requests, unless <c>charset</c> is specified in the <c>Content-Type</c> response header.</param>
<param name='ResolutionFolder'>A directory that is used when resolving relative file references (at design time and in hosted execution).</param>
<param name='EmbeddedResource'>When specified, the type provider first attempts to load the sample from the specified resource
(e.g. 'MyCompany.MyAssembly, resource_name.csv'). This is useful when exposing types generated by the type provider.</param>
val data: Map<ShortCode.ShortCode,TimeSeries.TimeSeries<float,DatingMethods.Annual,int<year>,int<year>>>
val csv: FSharp.Data.CsvProvider<...>
FSharp.Data.CsvProvider<...>.Load(uri: string) : FSharp.Data.CsvProvider<...>
Loads CSV from the specified uri
FSharp.Data.CsvProvider<...>.Load(reader: System.IO.TextReader) : FSharp.Data.CsvProvider<...>
Loads CSV from the specified reader
FSharp.Data.CsvProvider<...>.Load(stream: System.IO.Stream) : FSharp.Data.CsvProvider<...>
Loads CSV from the specified stream
val code: (string -> ShortCode.ShortCode option)
<summary>
A short code representation of an identifier for a parameter,
model equation, or other model component.
</summary>
val fromObservations<'T,'date,'dateUnit,'timespan (requires equality)> : dateType: DateMode.DateMode<'date,'dateUnit,'timespan> -> dataset: TimeSeries.Observation<'T,'date> seq -> TimeSeries.TimeSeries<'T,'date,'dateUnit,'timespan> (requires equality)
<summary>Arrange existing observations as a bristlecone `TimeSeries`.
Observations become ordered and indexed by time.</summary>
<param name="dateType">A `DateMode` that handles the dating mode of choosing.</param>
<param name="dataset">A sequence of observations, which consist of data and dates / times</param>
<typeparam name="'T">The data type of the observations</typeparam>
<typeparam name="'date">The representaion of dates to use</typeparam>
<typeparam name="'dateUnit">The unit in which the dates are represented</typeparam>
<typeparam name="'timespan">The representation of timespans for `'date`</typeparam>
<returns>A time-series of observations ordered in time from oldest to newest.</returns>
val annualDateMode: DateMode.DateMode<DatingMethods.Annual,int<year>,int<year>>
property FSharp.Data.Runtime.CsvFile.Rows: FSharp.Data.CsvProvider<...>.Row seq with get
<summary>
The rows with data
</summary>
val r: FSharp.Data.CsvProvider<...>.Row
Multiple items
val float: value: 'T -> float (requires member op_Explicit)
--------------------
type float = System.Double
--------------------
type float<'Measure> =
float
property FSharp.Data.CsvProvider<...>.Row.Hare: decimal with get
property FSharp.Data.CsvProvider<...>.Row.Year: int with get
property FSharp.Data.CsvProvider<...>.Row.Lynx: decimal with get
val ofList: elements: ('Key * 'T) list -> Map<'Key,'T> (requires comparison)
val endCondition: EstimationEngine.EndCondition
EstimationEngine.EstimationEngine.LogTo: EstimationEngine.WriteOut
val result: Result<ModelSystem.EstimationResult<DatingMethods.Annual,int<year>,int<year>>,string>
val tryFit: engine: EstimationEngine.EstimationEngine<'date,'timespan,'modelTimeUnit,'stateUnit> -> endCondition: EstimationEngine.EndCondition -> observedSeries: CodedMap<TimeSeries<float<'stateUnit>,'date,'yearType,'timespan>> -> model: ModelSystem.ModelSystem<'modelTimeUnit> -> Result<ModelSystem.EstimationResult<'date,'yearType,'timespan>,string> (requires comparison and comparison)
<summary>
Fit a time-series model to data.
Please note: it is strongly recommended that you test that the given `EstimationEngine`
can correctly identify known parameters for your model. Refer to the `Bristlecone.testModel`
function, which can be used to generate known data and complete this process.
</summary>
<param name="engine">The engine encapsulates all settings that form part of the estimation
method. Importantly, this includes the random number generator used for all stages
of the analysis; if this is set using a fixed seed, the result will be reproducable.</param>
<param name="endCondition">You must specify a stopping condition, after which
the optimisation process will cease. Bristlecone includes built-in end conditions
in the `Bristlecone.Optimisation.EndConditions` module.</param>
<param name="timeSeriesData"></param>
<param name="model"></param>
<returns></returns>