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
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.
let ``predator-prey`` =
let ``dh/dt`` = Parameter "α" * This - Parameter "β" * This * Environment "lynx"
let ``dl/dt`` = -Parameter "δ" * This + Parameter "γ" * Environment "hare" * This
Model.empty
|> Model.addEquation "hare" ``dh/dt``
|> Model.addEquation "lynx" ``dl/dt``
|> Model.estimateParameter "α" noConstraints 0.75 1.25 // Natural growth rate of hares in absence of predation
|> Model.estimateParameter "β" noConstraints 0.01 0.20 // Death rate per encounter of hares due to predation
|> Model.estimateParameter "δ" noConstraints 0.75 1.25 // Natural death rate of lynx in the absence of food
|> Model.estimateParameter "γ" noConstraints 0.01 0.20 // Efficiency of turning predated hares into lynx
|> Model.useLikelihoodFunction (ModelLibrary.Likelihood.bivariateGaussian "hare" "lynx")
|> Model.estimateParameter "ρ" noConstraints -0.500 0.500
|> Model.estimateParameter "σ[x]" notNegative 0.001 0.100
|> Model.estimateParameter "σ[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.Amoeba.swarm 5 20 Optimisation.Amoeba.Solver.Default)
|> Bristlecone.withCustomOptimisation (
Optimisation.MonteCarlo.Filzbach.filzbach
{ Optimisation.MonteCarlo.Filzbach.FilzbachSettings<float>.Default with
BurnLength = Optimisation.EndConditions.afterIteration 10000 }
)
|> Bristlecone.withContinuousTime Integration.MathNet.integrate
|> Bristlecone.withConditioning Conditioning.RepeatFirstDataPoint
|> Bristlecone.withSeed 1000 // We are setting a seed for this example - see below
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.create
|> 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.afterIteration 100)
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
##1## GeneralEvent "Attempting to generate parameter set."
##1## GeneralEvent "The data must comply with 4 rules after 50000 tries."
##1## GeneralEvent
"Time-series start at 1970/01/01 with resolution Fixed (Years PositiveInt 1)."
##1## DebugEvent
"Observations occur on a fixed temporal resolution: Years PositiveInt 1."
##1## DebugEvent
"No environmental forcing data was supplied. Solving using time points of observations."
##1## GeneralEvent
"Skipping optimisation: only the result of the given parameters will be computed"
##1## DebugEvent
"Observations occur on a fixed temporal resolution: Years PositiveInt 1."
##1## DebugEvent
"No environmental forcing data was supplied. Solving using time points of observations."
##1## DebugEvent
"Observations occur on a fixed temporal resolution: Years PositiveInt 1."
##1## DebugEvent
"No environmental forcing data was supplied. Solving using time points of observations."
##1## GeneralEvent
"Time-series start at 1970/01/01 with resolution Fixed (Years PositiveInt 1)."
##1## DebugEvent
"Observations occur on a fixed temporal resolution: Years PositiveInt 1."
##1## DebugEvent
"No environmental forcing data was supplied. Solving using time points of observations."
##1## GeneralEvent
"[Optimisation] Initial theta is [|1.066387771; 0.03566858421; 0.1035392077; 1.036168264; 0.01350511291;
0.05463441816; 0.02742593879|]"
##1## GeneralEvent "[Optimisation] Starting Filzbach-style MCMC optimisation"
Initial scale: [|0.08333333333; 0.03166666667; 0.03166666667; 0.08333333333; 0.1666666667;
0.0165; 0.0165|]
##1## GeneralEvent
"[Filzbach] Starting burn-in at point [|1.066387771; 0.03566858421; 0.1035392077; 1.036168264; 0.01350511291;
0.05463441816; 0.02742593879|] (L = 45747872.216636)"
##1## At iteration 0 (-logL = 24447045.175469) [|1.066387771; 0.03566858421; 0.1035392077; 1.036168264; 0.01350511291;
0.05008227844; 0.04916525006|]
##1## At iteration 1000 (-logL = 6475.645534) [|1.14746175; 0.01664110616; 0.02628041427; 1.38684381; -0.1030370983;
0.7279984778; 0.5104735391|]
##1## At iteration 2000 (-logL = 4070.378854) [|1.147279354; 0.01673819819; 0.02775672215; 1.43880964; -0.03117328071;
0.9558322012; 0.6359164538|]
##1## At iteration 3000 (-logL = 2623.614791) [|1.143638523; 0.01666690064; 0.02722513707; 1.424081144; -0.09971355816;
1.309095791; 0.7916430102|]
##1## At iteration 4000 (-logL = 1406.149503) [|1.145795309; 0.01661251545; 0.02776358168; 1.441578434; -0.06171863886;
2.117157688; 1.325584972|]
##1## At iteration 5000 (-logL = 1273.557089) [|1.132951622; 0.01621817943; 0.02706910742; 1.439338515; -0.2027074596;
1.779919087; 1.975675704|]
##1## At iteration 6000 (-logL = 1275.846480) [|1.117313825; 0.01603395653; 0.02725496888; 1.45939275; -0.147505645;
1.800872802; 2.027861684|]
##1## At iteration 7000 (-logL = 1274.822934) [|1.17306922; 0.01681009824; 0.02647470637; 1.405238033; -0.2363838226;
1.788667709; 1.982856088|]
##1## At iteration 8000 (-logL = 1273.272880) [|1.174221139; 0.01683667172; 0.02535663525; 1.37013034; -0.1497066463;
1.675955332; 2.034449644|]
##1## At iteration 9000 (-logL = 1273.905815) [|1.152757141; 0.01656474096; 0.0269423989; 1.434634369; -0.1215391146;
1.799408895; 1.924937145|]
##1## GeneralEvent
"[Filzbach] Burn-in complete. Starting sampling at point (1274.374199,
[|1.175984609; 0.01704101928; 0.02597741827; 1.381227702; -0.162171904;
1.757300368; 2.018407429|])"
##1## At iteration 0 (-logL = 1273.930630) [|1.175984609; 0.01700912391; 0.02562180949; 1.381227702; -0.162171904;
1.757300368; 2.018407429|]
##1## DebugEvent
"Observations occur on a fixed temporal resolution: Years PositiveInt 1."
##1## DebugEvent
"No environmental forcing data was supplied. Solving using time points of observations."
##1## DebugEvent
"Observations occur on a fixed temporal resolution: Years PositiveInt 1."
##1## DebugEvent
"No environmental forcing data was supplied. Solving using time points of observations."
|
We can plot the test results to check the fit.
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, Time.TimeSeries.fromObservations (csv.Rows |> Seq.map (fun r -> float r.Hare, r.Year))
(code "lynx").Value, Time.TimeSeries.fromObservations (csv.Rows |> Seq.map (fun r -> float r.Lynx, r.Year)) ]
|> Map.ofList
map
[(ShortCode "hare",
FixedTimeSeries
((19.58, 1/1/1845 12:00:00 AM),
TimeSteps
[|(19.6, 365.00:00:00); (19.61, 365.00:00:00); (11.99, 365.00:00:00);
(28.04, 366.00:00:00); (58.0, 365.00:00:00); (74.6, 365.00:00:00);
(75.09, 365.00:00:00); (88.48, 366.00:00:00); (61.28, 365.00:00:00);
(74.67, 365.00:00:00); (88.06, 365.00:00:00); (68.51, 366.00:00:00);
(32.19, 365.00:00:00); (12.64, 365.00:00:00); (21.49, 365.00:00:00);
(30.35, 366.00:00:00); (2.18, 365.00:00:00); (152.65, 365.00:00:00);
(148.36, 365.00:00:00); (85.81, 366.00:00:00); (41.41, 365.00:00:00);
(14.75, 365.00:00:00); (2.28, 365.00:00:00); (5.91, 366.00:00:00);
(9.95, 365.00:00:00); (10.44, 365.00:00:00); (70.64, 365.00:00:00);
(50.12, 366.00:00:00); (50.13, 365.00:00:00); (101.25, 365.00:00:00);
(97.12, 365.00:00:00); (86.51, 366.00:00:00); (72.17, 365.00:00:00);
(38.32, 365.00:00:00); (10.11, 365.00:00:00); (7.74, 366.00:00:00);
(9.67, 365.00:00:00); (43.12, 365.00:00:00); (52.21, 365.00:00:00);
(134.85, 366.00:00:00); (134.86, 365.00:00:00); (103.79, 365.00:00:00);
(46.1, 365.00:00:00); (15.03, 366.00:00:00); (24.2, 365.00:00:00);
(41.65, 365.00:00:00); (52.34, 365.00:00:00); (53.78, 366.00:00:00);
(70.4, 365.00:00:00); (85.81, 365.00:00:00); (56.69, 365.00:00:00);
(16.59, 366.00:00:00); (6.16, 365.00:00:00); (2.3, 365.00:00:00);
(12.82, 365.00:00:00); (4.72, 365.00:00:00); (4.73, 365.00:00:00);
(37.22, 365.00:00:00); (69.72, 365.00:00:00); (57.78, 366.00:00:00);
(28.68, 365.00:00:00); (23.37, 365.00:00:00); (21.54, 365.00:00:00);
(26.34, 366.00:00:00); (53.1, 365.00:00:00); (68.48, 365.00:00:00);
(75.58, 365.00:00:00); (57.92, 366.00:00:00); (40.97, 365.00:00:00);
(24.95, 365.00:00:00); (12.59, 365.00:00:00); (4.97, 366.00:00:00);
(4.5, 365.00:00:00); (11.21, 365.00:00:00); (56.6, 365.00:00:00);
(69.63, 366.00:00:00); (77.74, 365.00:00:00); (80.53, 365.00:00:00);
(73.38, 365.00:00:00); (36.93, 366.00:00:00); (4.64, 365.00:00:00);
(2.54, 365.00:00:00); (1.8, 365.00:00:00); (2.39, 366.00:00:00);
(4.23, 365.00:00:00); (19.52, 365.00:00:00); (82.11, 365.00:00:00);
(89.76, 366.00:00:00); (81.66, 365.00:00:00); (15.76, 365.00:00:00)|]));
(ShortCode "lynx",
FixedTimeSeries
((30.09, 1/1/1845 12:00:00 AM),
TimeSteps
[|(45.15, 365.00:00:00); (49.15, 365.00:00:00); (39.52, 365.00:00:00);
(21.23, 366.00:00:00); (8.42, 365.00:00:00); (5.56, 365.00:00:00);
(5.08, 365.00:00:00); (10.17, 366.00:00:00); (19.6, 365.00:00:00);
(32.91, 365.00:00:00); (34.38, 365.00:00:00); (29.59, 366.00:00:00);
(21.3, 365.00:00:00); (13.69, 365.00:00:00); (7.65, 365.00:00:00);
(4.08, 366.00:00:00); (4.09, 365.00:00:00); (14.33, 365.00:00:00);
(38.22, 365.00:00:00); (60.78, 366.00:00:00); (70.77, 365.00:00:00);
(72.77, 365.00:00:00); (42.68, 365.00:00:00); (16.39, 366.00:00:00);
(9.83, 365.00:00:00); (5.8, 365.00:00:00); (5.26, 365.00:00:00);
(18.91, 366.00:00:00); (30.95, 365.00:00:00); (31.18, 365.00:00:00);
(46.34, 365.00:00:00); (45.77, 366.00:00:00); (44.15, 365.00:00:00);
(36.33, 365.00:00:00); (12.03, 365.00:00:00); (12.6, 366.00:00:00);
(18.34, 365.00:00:00); (35.14, 365.00:00:00); (43.77, 365.00:00:00);
(65.69, 366.00:00:00); (79.35, 365.00:00:00); (51.65, 365.00:00:00);
(32.59, 365.00:00:00); (22.45, 366.00:00:00); (16.16, 365.00:00:00);
(14.12, 365.00:00:00); (20.38, 365.00:00:00); (33.33, 366.00:00:00);
(46.0, 365.00:00:00); (51.41, 365.00:00:00); (46.43, 365.00:00:00);
(33.68, 366.00:00:00); (18.01, 365.00:00:00); (8.86, 365.00:00:00);
(7.13, 365.00:00:00); (9.47, 365.00:00:00); (14.86, 365.00:00:00);
(31.47, 365.00:00:00); (60.57, 365.00:00:00); (63.51, 366.00:00:00);
(54.7, 365.00:00:00); (6.3, 365.00:00:00); (3.41, 365.00:00:00);
(5.44, 366.00:00:00); (11.65, 365.00:00:00); (20.35, 365.00:00:00);
(32.88, 365.00:00:00); (39.55, 366.00:00:00); (43.36, 365.00:00:00);
(40.83, 365.00:00:00); (30.36, 365.00:00:00); (17.18, 366.00:00:00);
(6.82, 365.00:00:00); (3.19, 365.00:00:00); (3.52, 365.00:00:00);
(9.94, 366.00:00:00); (20.3, 365.00:00:00); (31.99, 365.00:00:00);
(42.36, 365.00:00:00); (49.08, 366.00:00:00); (53.99, 365.00:00:00);
(52.25, 365.00:00:00); (37.7, 365.00:00:00); (19.14, 366.00:00:00);
(6.98, 365.00:00:00); (8.31, 365.00:00:00); (16.01, 365.00:00:00);
(24.82, 366.00:00:00); (29.7, 365.00:00:00); (35.4, 365.00:00:00)|]))]
|
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.afterIteration 10000
let result = ``predator-prey`` |> Bristlecone.tryFit engine endCondition data
Ok
{ ResultId = 49a51cc0-d4be-44df-b28f-2c0c59849757
Likelihood = 11727.45429
Parameters =
Pool
(map
[(ShortCode "α",
Parameter (Unconstrained, Detached, Estimated 1.605180343));
(ShortCode "β",
Parameter (Unconstrained, Detached, Estimated 0.05783276088));
(ShortCode "γ",
Parameter (Unconstrained, Detached, Estimated 0.01188671274));
(ShortCode "δ",
Parameter (Unconstrained, Detached, Estimated 0.436385251));
(ShortCode "ρ",
Parameter (Unconstrained, Detached, Estimated 0.2921122025));
(ShortCode "σ[x]",
Parameter (PositiveOnly, Detached, Estimated 4.553050937));
(ShortCode "σ[y]",
Parameter (PositiveOnly, Detached, Estimated 2.385351921))])
Series =
map
[(ShortCode "hare",
FixedTimeSeries
(({ Fit = 20.23851449
Obs = 19.58 }, 1/1/1845 12:00:00 AM),
TimeSteps
[|({ Fit = 27.44747815
Obs = 19.6 }, 365.00:00:00); ({ Fit = 42.27799906
Obs = 19.61 }, 365.00:00:00);
({ Fit = 59.64822727
Obs = 11.99 }, 365.00:00:00); ({ Fit = 58.21055681
Obs = 28.04 }, 366.00:00:00);
({ Fit = 37.43082114
Obs = 58.0 }, 365.00:00:00); ({ Fit = 23.34860186
Obs = 74.6 }, 365.00:00:00);
({ Fit = 19.29289009
Obs = 75.09 }, 365.00:00:00); ({ Fit = 22.05386379
Obs = 88.48 }, 366.00:00:00);
({ Fit = 31.65609791
Obs = 61.28 }, 365.00:00:00); ({ Fit = 48.43025595
Obs = 74.67 }, 365.00:00:00);
({ Fit = 61.97294443
Obs = 88.06 }, 365.00:00:00); ({ Fit = 51.6414807
Obs = 68.51 }, 366.00:00:00);
({ Fit = 31.50832043
Obs = 32.19 }, 365.00:00:00); ({ Fit = 21.29411106
Obs = 12.64 }, 365.00:00:00);
({ Fit = 19.72871888
Obs = 21.49 }, 365.00:00:00); ({ Fit = 24.6292717
Obs = 30.35 }, 366.00:00:00);
({ Fit = 36.71284716
Obs = 2.18 }, 365.00:00:00); ({ Fit = 54.25412742
Obs = 152.65 }, 365.00:00:00);
({ Fit = 61.04537571
Obs = 148.36 }, 365.00:00:00); ({ Fit = 44.20781735
Obs = 85.81 }, 366.00:00:00);
({ Fit = 26.98409576
Obs = 41.41 }, 365.00:00:00); ({ Fit = 20.19098918
Obs = 14.75 }, 365.00:00:00);
({ Fit = 20.87782196
Obs = 2.28 }, 365.00:00:00); ({ Fit = 28.04411273
Obs = 5.91 }, 366.00:00:00);
({ Fit = 42.47753839
Obs = 9.95 }, 365.00:00:00); ({ Fit = 58.74194449
Obs = 10.44 }, 365.00:00:00);
({ Fit = 56.85323437
Obs = 70.64 }, 365.00:00:00); ({ Fit = 37.22002936
Obs = 50.12 }, 366.00:00:00);
({ Fit = 23.78632546
Obs = 50.13 }, 365.00:00:00); ({ Fit = 19.91062688
Obs = 101.25 }, 365.00:00:00);
({ Fit = 22.76063135
Obs = 97.12 }, 365.00:00:00); ({ Fit = 32.33202548
Obs = 86.51 }, 366.00:00:00);
({ Fit = 48.5329431
Obs = 72.17 }, 365.00:00:00); ({ Fit = 60.75077401
Obs = 38.32 }, 365.00:00:00);
({ Fit = 50.39147403
Obs = 10.11 }, 365.00:00:00); ({ Fit = 31.42132064
Obs = 7.74 }, 366.00:00:00);
({ Fit = 21.753183
Obs = 9.67 }, 365.00:00:00); ({ Fit = 20.39914002
Obs = 43.12 }, 365.00:00:00);
({ Fit = 25.44257209
Obs = 52.21 }, 365.00:00:00); ({ Fit = 37.45714146
Obs = 134.85 }, 366.00:00:00);
({ Fit = 54.11841384
Obs = 134.86 }, 365.00:00:00); ({ Fit = 59.48671739
Obs = 103.79 }, 365.00:00:00);
({ Fit = 43.15003393
Obs = 46.1 }, 365.00:00:00); ({ Fit = 27.02048794
Obs = 15.03 }, 366.00:00:00);
({ Fit = 20.70513769
Obs = 24.2 }, 365.00:00:00); ({ Fit = 21.64231759
Obs = 41.65 }, 365.00:00:00);
({ Fit = 28.98999844
Obs = 52.34 }, 365.00:00:00); ({ Fit = 43.2231664
Obs = 53.78 }, 366.00:00:00);
({ Fit = 58.1760768
Obs = 70.4 }, 365.00:00:00); ({ Fit = 55.07094858
Obs = 85.81 }, 365.00:00:00);
({ Fit = 36.41456546
Obs = 56.69 }, 365.00:00:00); ({ Fit = 23.95357768
Obs = 16.59 }, 366.00:00:00);
({ Fit = 20.51672097
Obs = 6.16 }, 365.00:00:00); ({ Fit = 23.66160452
Obs = 2.3 }, 365.00:00:00);
({ Fit = 33.41639197
Obs = 12.82 }, 365.00:00:00); ({ Fit = 49.1340339
Obs = 4.72 }, 365.00:00:00);
({ Fit = 59.59013213
Obs = 4.73 }, 365.00:00:00); ({ Fit = 48.60187145
Obs = 37.22 }, 365.00:00:00);
({ Fit = 30.8854275
Obs = 69.72 }, 365.00:00:00); ({ Fit = 22.05762185
Obs = 57.78 }, 366.00:00:00);
({ Fit = 21.13323915
Obs = 28.68 }, 365.00:00:00); ({ Fit = 26.51753663
Obs = 23.37 }, 365.00:00:00);
({ Fit = 38.64424292
Obs = 21.54 }, 365.00:00:00); ({ Fit = 54.34574826
Obs = 26.34 }, 366.00:00:00);
({ Fit = 57.7221594
Obs = 53.1 }, 365.00:00:00); ({ Fit = 41.5732881
Obs = 68.48 }, 365.00:00:00);
({ Fit = 26.74835945
Obs = 75.58 }, 365.00:00:00); ({ Fit = 21.1585645
Obs = 57.92 }, 366.00:00:00);
({ Fit = 22.54014995
Obs = 40.97 }, 365.00:00:00); ({ Fit = 30.25801084
Obs = 24.95 }, 365.00:00:00);
({ Fit = 44.39713639
Obs = 12.59 }, 365.00:00:00); ({ Fit = 57.75612776
Obs = 4.97 }, 366.00:00:00);
({ Fit = 52.91493972
Obs = 4.5 }, 365.00:00:00); ({ Fit = 35.18647552
Obs = 11.21 }, 365.00:00:00);
({ Fit = 23.93163201
Obs = 56.6 }, 365.00:00:00); ({ Fit = 21.14184378
Obs = 69.63 }, 366.00:00:00);
({ Fit = 24.76256227
Obs = 77.74 }, 365.00:00:00); ({ Fit = 34.86562606
Obs = 80.53 }, 365.00:00:00);
({ Fit = 50.07440059
Obs = 73.38 }, 365.00:00:00); ({ Fit = 58.33103809
Obs = 36.93 }, 366.00:00:00);
({ Fit = 46.40099767
Obs = 4.64 }, 365.00:00:00); ({ Fit = 30.0449568
Obs = 2.54 }, 365.00:00:00);
({ Fit = 22.27011267
Obs = 1.8 }, 365.00:00:00); ({ Fit = 21.95708658
Obs = 2.39 }, 366.00:00:00);
({ Fit = 27.85332199
Obs = 4.23 }, 365.00:00:00); ({ Fit = 40.20129756
Obs = 19.52 }, 365.00:00:00);
({ Fit = 54.73855678
Obs = 82.11 }, 365.00:00:00); ({ Fit = 55.67736244
Obs = 89.76 }, 366.00:00:00);
({ Fit = 39.64172337
Obs = 81.66 }, 365.00:00:00); ({ Fit = 26.28294687
Obs = 15.76 }, 365.00:00:00)|]));
(ShortCode "lynx",
FixedTimeSeries
(({ Fit = 24.49024591
Obs = 30.09 }, 1/1/1845 12:00:00 AM),
TimeSteps
[|({ Fit = 20.87815817
Obs = 45.15 }, 365.00:00:00); ({ Fit = 20.2928228
Obs = 49.15 }, 365.00:00:00);
({ Fit = 24.20371067
Obs = 39.52 }, 365.00:00:00); ({ Fit = 32.35654441
Obs = 21.23 }, 366.00:00:00);
({ Fit = 37.05988639
Obs = 8.42 }, 365.00:00:00); ({ Fit = 33.99392656
Obs = 5.56 }, 365.00:00:00);
({ Fit = 28.09097797
Obs = 5.08 }, 365.00:00:00); ({ Fit = 23.07580059
Obs = 10.17 }, 366.00:00:00);
({ Fit = 20.38292767
Obs = 19.6 }, 365.00:00:00); ({ Fit = 21.11867989
Obs = 32.91 }, 365.00:00:00);
({ Fit = 26.71497454
Obs = 34.38 }, 365.00:00:00); ({ Fit = 34.68039429
Obs = 29.59 }, 366.00:00:00);
({ Fit = 36.57757717
Obs = 21.3 }, 365.00:00:00); ({ Fit = 32.02287301
Obs = 13.69 }, 365.00:00:00);
({ Fit = 26.2364194
Obs = 7.65 }, 365.00:00:00); ({ Fit = 21.93854845
Obs = 4.08 }, 366.00:00:00);
({ Fit = 20.27898004
Obs = 4.09 }, 365.00:00:00); ({ Fit = 22.51592383
Obs = 14.33 }, 365.00:00:00);
({ Fit = 29.53034384
Obs = 38.22 }, 365.00:00:00); ({ Fit = 36.15388119
Obs = 60.78 }, 366.00:00:00);
({ Fit = 35.35257002
Obs = 70.77 }, 365.00:00:00); ({ Fit = 29.9764571
Obs = 72.77 }, 365.00:00:00);
({ Fit = 24.58086765
Obs = 42.68 }, 365.00:00:00); ({ Fit = 21.11320944
Obs = 16.39 }, 366.00:00:00);
({ Fit = 20.63043995
Obs = 9.83 }, 365.00:00:00); ({ Fit = 24.51324989
Obs = 5.8 }, 365.00:00:00);
({ Fit = 32.27304795
Obs = 5.26 }, 365.00:00:00); ({ Fit = 36.60745571
Obs = 18.91 }, 366.00:00:00);
({ Fit = 33.64859944
Obs = 30.95 }, 365.00:00:00); ({ Fit = 27.98641375
Obs = 31.18 }, 365.00:00:00);
({ Fit = 23.17277946
Obs = 46.34 }, 365.00:00:00); ({ Fit = 20.64287882
Obs = 45.77 }, 366.00:00:00);
({ Fit = 21.50447797
Obs = 44.15 }, 365.00:00:00); ({ Fit = 27.0223009
Obs = 36.33 }, 365.00:00:00);
({ Fit = 34.4981217
Obs = 12.03 }, 365.00:00:00); ({ Fit = 36.10089894
Obs = 12.6 }, 366.00:00:00);
({ Fit = 31.69410668
Obs = 18.34 }, 365.00:00:00); ({ Fit = 26.14555712
Obs = 35.14 }, 365.00:00:00);
({ Fit = 22.05790575
Obs = 43.77 }, 365.00:00:00); ({ Fit = 20.58798605
Obs = 65.69 }, 366.00:00:00);
({ Fit = 22.96550216
Obs = 79.35 }, 365.00:00:00); ({ Fit = 29.79314708
Obs = 51.65 }, 365.00:00:00);
({ Fit = 35.8489407
Obs = 32.59 }, 365.00:00:00); ({ Fit = 34.85828203
Obs = 22.45 }, 366.00:00:00);
({ Fit = 29.66728251
Obs = 16.16 }, 365.00:00:00); ({ Fit = 24.51510087
Obs = 14.12 }, 365.00:00:00);
({ Fit = 21.27484977
Obs = 20.38 }, 365.00:00:00); ({ Fit = 21.01363961
Obs = 33.33 }, 366.00:00:00);
({ Fit = 25.02156122
Obs = 46.0 }, 365.00:00:00); ({ Fit = 32.42597237
Obs = 51.41 }, 365.00:00:00);
({ Fit = 36.17705342
Obs = 46.43 }, 365.00:00:00); ({ Fit = 33.14810172
Obs = 33.68 }, 366.00:00:00);
({ Fit = 27.70569008
Obs = 18.01 }, 365.00:00:00); ({ Fit = 23.14822845
Obs = 8.86 }, 365.00:00:00);
({ Fit = 20.87154899
Obs = 7.13 }, 365.00:00:00); ({ Fit = 21.98600644
Obs = 9.47 }, 365.00:00:00);
({ Fit = 27.5506697
Obs = 14.86 }, 365.00:00:00); ({ Fit = 34.47591268
Obs = 31.47 }, 365.00:00:00);
({ Fit = 35.56766401
Obs = 60.57 }, 365.00:00:00); ({ Fit = 31.20249459
Obs = 63.51 }, 366.00:00:00);
({ Fit = 25.90453761
Obs = 54.7 }, 365.00:00:00); ({ Fit = 22.09252129
Obs = 6.3 }, 365.00:00:00);
({ Fit = 20.91048743
Obs = 3.41 }, 365.00:00:00); ({ Fit = 23.55704199
Obs = 5.44 }, 366.00:00:00);
({ Fit = 30.26343955
Obs = 11.65 }, 365.00:00:00); ({ Fit = 35.61393653
Obs = 20.35 }, 365.00:00:00);
({ Fit = 34.25907085
Obs = 32.88 }, 365.00:00:00); ({ Fit = 29.20353563
Obs = 39.55 }, 366.00:00:00);
({ Fit = 24.32934487
Obs = 43.36 }, 365.00:00:00); ({ Fit = 21.39050166
Obs = 40.83 }, 365.00:00:00);
({ Fit = 21.45679967
Obs = 30.36 }, 365.00:00:00); ({ Fit = 25.70283671
Obs = 17.18 }, 366.00:00:00);
({ Fit = 32.7356757
Obs = 6.82 }, 365.00:00:00); ({ Fit = 35.73642783
Obs = 3.19 }, 365.00:00:00);
({ Fit = 32.52066585
Obs = 3.52 }, 365.00:00:00); ({ Fit = 27.28872768
Obs = 9.94 }, 366.00:00:00);
({ Fit = 23.03669618
Obs = 20.3 }, 365.00:00:00); ({ Fit = 21.09542391
Obs = 31.99 }, 365.00:00:00);
({ Fit = 22.57254359
Obs = 42.36 }, 365.00:00:00); ({ Fit = 28.25402403
Obs = 49.08 }, 366.00:00:00);
({ Fit = 34.53634397
Obs = 53.99 }, 365.00:00:00); ({ Fit = 34.96834595
Obs = 52.25 }, 365.00:00:00);
({ Fit = 30.5818359
Obs = 37.7 }, 365.00:00:00); ({ Fit = 25.55195242
Obs = 19.14 }, 366.00:00:00);
({ Fit = 22.07537392
Obs = 6.98 }, 365.00:00:00); ({ Fit = 21.27127947
Obs = 8.31 }, 365.00:00:00);
({ Fit = 24.28860099
Obs = 16.01 }, 365.00:00:00); ({ Fit = 30.87417607
Obs = 24.82 }, 366.00:00:00);
({ Fit = 35.38669704
Obs = 29.7 }, 365.00:00:00); ({ Fit = 33.56361155
Obs = 35.4 }, 365.00:00:00)|]))]
Trace =
[(11731.0293,
[|1.599353835; 0.05712627204; 0.01178726136; 0.4372982404; 0.2874627467;
4.553670095; 2.39708759|]);
(11730.47895,
[|1.599353835; 0.05712627204; 0.01178726136; 0.4372982404; 0.2874627467;
4.561470978; 2.380636352|]);
(11729.82012,
[|1.5991714; 0.0572205986; 0.01184858876; 0.4372982404; 0.2874627467;
4.561470978; 2.380636352|]);
(11729.82012,
[|1.5991714; 0.0572205986; 0.01184858876; 0.4372982404; 0.2874627467;
4.561470978; 2.380636352|]);
(11729.82012,
[|1.5991714; 0.0572205986; 0.01184858876; 0.4372982404; 0.2874627467;
4.561470978; 2.380636352|]);
(11731.93452,
[|1.603026011; 0.05753774381; 0.01203194527; 0.4373466784; 0.307074722;
4.589096348; 2.355956073|]);
(11732.48333,
[|1.603810584; 0.05739832928; 0.01187241202; 0.4369091767; 0.3230240875;
4.592925593; 2.406155625|]);
(11730.99096,
[|1.600863374; 0.05762962766; 0.01187241202; 0.4369091767; 0.3230240875;
4.592925593; 2.406155625|]);
(11730.99096,
[|1.600863374; 0.05762962766; 0.01187241202; 0.4369091767; 0.3230240875;
4.592925593; 2.406155625|]);
(11731.88671,
[|1.600863374; 0.05741655393; 0.01187241202; 0.4369091767; 0.3230240875;
4.547458697; 2.406155625|]);
(11731.88671,
[|1.600863374; 0.05741655393; 0.01187241202; 0.4369091767; 0.3230240875;
4.547458697; 2.406155625|]);
(11729.68108,
[|1.600863374; 0.05741655393; 0.01187241202; 0.4369091767; 0.2976589563;
4.547458697; 2.406155625|]);
(11729.68108,
[|1.600863374; 0.05741655393; 0.01187241202; 0.4369091767; 0.2976589563;
4.547458697; 2.406155625|]);
(11729.68108,
[|1.600863374; 0.05741655393; 0.01187241202; 0.4369091767; 0.2976589563;
4.547458697; 2.406155625|]);
(11729.68108,
[|1.600863374; 0.05741655393; 0.01187241202; 0.4369091767; 0.2976589563;
4.547458697; 2.406155625|]);
(11728.96633,
[|1.600863374; 0.05741655393; 0.01187241202; 0.4369091767; 0.2976589563;
4.5672867; 2.393079147|]);
(11728.96633,
[|1.600863374; 0.05741655393; 0.01187241202; 0.4369091767; 0.2976589563;
4.5672867; 2.393079147|]);
(11729.04792,
[|1.600863374; 0.05741655393; 0.01187241202; 0.4369091767; 0.297748828;
4.540727353; 2.393079147|]);
(11728.34918,
[|1.603089321; 0.05760153592; 0.01187241202; 0.4369091767; 0.297748828;
4.540727353; 2.393079147|]);
(11728.34918,
[|1.603089321; 0.05760153592; 0.01187241202; 0.4369091767; 0.297748828;
4.540727353; 2.393079147|]);
(11728.34918,
[|1.603089321; 0.05760153592; 0.01187241202; 0.4369091767; 0.297748828;
4.540727353; 2.393079147|]);
(11728.34918,
[|1.603089321; 0.05760153592; 0.01187241202; 0.4369091767; 0.297748828;
4.540727353; 2.393079147|]);
(11729.07733,
[|1.603840876; 0.05749014157; 0.01187241202; 0.4369091767; 0.297748828;
4.540727353; 2.393079147|]);
(11729.07733,
[|1.603840876; 0.05749014157; 0.01187241202; 0.4369091767; 0.297748828;
4.540727353; 2.393079147|]);
(11729.07733,
[|1.603840876; 0.05749014157; 0.01187241202; 0.4369091767; 0.297748828;
4.540727353; 2.393079147|]);
(11729.07733,
[|1.603840876; 0.05749014157; 0.01187241202; 0.4369091767; 0.297748828;
4.540727353; 2.393079147|]);
(11729.07733,
[|1.603840876; 0.05749014157; 0.01187241202; 0.4369091767; 0.297748828;
4.540727353; 2.393079147|]);
(11729.07733,
[|1.603840876; 0.05749014157; 0.01187241202; 0.4369091767; 0.297748828;
4.540727353; 2.393079147|]);
(11729.07733,
[|1.603840876; 0.05749014157; 0.01187241202; 0.4369091767; 0.297748828;
4.540727353; 2.393079147|]);
(11729.07733,
[|1.603840876; 0.05749014157; 0.01187241202; 0.4369091767; 0.297748828;
4.540727353; 2.393079147|]);
(11729.99783,
[|1.603840876; 0.05742520305; 0.0117728707; 0.437317119; 0.297748828;
4.540727353; 2.393079147|]);
(11730.02896,
[|1.603840876; 0.05742520305; 0.0117728707; 0.437317119; 0.2921122025;
4.540727353; 2.393079147|]);
(11730.13678,
[|1.603840876; 0.05746929718; 0.0118912327; 0.437317119; 0.2921122025;
4.540727353; 2.393079147|]);
(11731.16218,
[|1.603840876; 0.05728495946; 0.01182666146; 0.437317119; 0.2921122025;
4.540727353; 2.393079147|]);
(11731.16218,
[|1.603840876; 0.05728495946; 0.01182666146; 0.437317119; 0.2921122025;
4.540727353; 2.393079147|]);
(11731.16218,
[|1.603840876; 0.05728495946; 0.01182666146; 0.437317119; 0.2921122025;
4.540727353; 2.393079147|]);
(11731.16218,
[|1.603840876; 0.05728495946; 0.01182666146; 0.437317119; 0.2921122025;
4.540727353; 2.393079147|]);
(11731.01051,
[|1.603840876; 0.05728495946; 0.01182666146; 0.437317119; 0.2921122025;
4.577204462; 2.372431772|]);
(11728.70779,
[|1.603840876; 0.05760688517; 0.01198326944; 0.436241673; 0.2921122025;
4.577204462; 2.372431772|]);
(11728.70779,
[|1.603840876; 0.05760688517; 0.01198326944; 0.436241673; 0.2921122025;
4.577204462; 2.372431772|]);
(11728.80303,
[|1.603840876; 0.05760688517; 0.01198326944; 0.436241673; 0.2921122025;
4.562057966; 2.385351921|]);
(11728.12267,
[|1.603840876; 0.05760688517; 0.01188671274; 0.4360105905; 0.2921122025;
4.562057966; 2.385351921|]);
(11728.12191,
[|1.603840876; 0.05760688517; 0.01188671274; 0.4360105905; 0.2921122025;
4.553050937; 2.385351921|]);
(11727.48772,
[|1.605180343; 0.05783276088; 0.01188671274; 0.4360105905; 0.2921122025;
4.553050937; 2.385351921|]);
(11727.48772,
[|1.605180343; 0.05783276088; 0.01188671274; 0.4360105905; 0.2921122025;
4.553050937; 2.385351921|]);
(11727.48772,
[|1.605180343; 0.05783276088; 0.01188671274; 0.4360105905; 0.2921122025;
4.553050937; 2.385351921|]);
(11727.48772,
[|1.605180343; 0.05783276088; 0.01188671274; 0.4360105905; 0.2921122025;
4.553050937; 2.385351921|]);
(11727.48772,
[|1.605180343; 0.05783276088; 0.01188671274; 0.4360105905; 0.2921122025;
4.553050937; 2.385351921|]);
(11727.48772,
[|1.605180343; 0.05783276088; 0.01188671274; 0.4360105905; 0.2921122025;
4.553050937; 2.385351921|]);
(11727.48772,
[|1.605180343; 0.05783276088; 0.01188671274; 0.4360105905; 0.2921122025;
4.553050937; 2.385351921|]);
(11727.48772,
[|1.605180343; 0.05783276088; 0.01188671274; 0.4360105905; 0.2921122025;
4.553050937; 2.385351921|]);
(11727.45429,
[|1.605180343; 0.05783276088; 0.01188671274; 0.436385251; 0.2921122025;
4.553050937; 2.385351921|]);
(11728.16389,
[|1.605180343; 0.05783276088; 0.01188671274; 0.435587892; 0.3098969562;
4.553050937; 2.385351921|]);
(11728.16389,
[|1.605180343; 0.05783276088; 0.01188671274; 0.435587892; 0.3098969562;
4.553050937; 2.385351921|]);
(11728.16389,
[|1.605180343; 0.05783276088; 0.01188671274; 0.435587892; 0.3098969562;
4.553050937; 2.385351921|]);
(11728.16389,
[|1.605180343; 0.05783276088; 0.01188671274; 0.435587892; 0.3098969562;
4.553050937; 2.385351921|]);
(11728.16389,
[|1.605180343; 0.05783276088; 0.01188671274; 0.435587892; 0.3098969562;
4.553050937; 2.385351921|]);
(11728.16389,
[|1.605180343; 0.05783276088; 0.01188671274; 0.435587892; 0.3098969562;
4.553050937; 2.385351921|]);
(11727.8159,
[|1.606079458; 0.05783276088; 0.01188671274; 0.435587892; 0.3098969562;
4.553050937; 2.385351921|]);
(11730.53699,
[|1.604539314; 0.05748282938; 0.01201593084; 0.435587892; 0.3098969562;
4.553050937; 2.385351921|]);
(11730.53699,
[|1.604539314; 0.05748282938; 0.01201593084; 0.435587892; 0.3098969562;
4.553050937; 2.385351921|]);
(11730.45871,
[|1.604470407; 0.05749460568; 0.01201593084; 0.435587892; 0.3098969562;
4.553050937; 2.385351921|]);
(11730.45871,
[|1.604470407; 0.05749460568; 0.01201593084; 0.435587892; 0.3098969562;
4.553050937; 2.385351921|]);
(11730.45871,
[|1.604470407; 0.05749460568; 0.01201593084; 0.435587892; 0.3098969562;
4.553050937; 2.385351921|]);
(11730.45871,
[|1.604470407; 0.05749460568; 0.01201593084; 0.435587892; 0.3098969562;
4.553050937; 2.385351921|]);
(11729.74122,
[|1.603244989; 0.05749460568; 0.0119439941; 0.435587892; 0.3098969562;
4.553050937; 2.385351921|]);
(11729.74122,
[|1.603244989; 0.05749460568; 0.0119439941; 0.435587892; 0.3098969562;
4.553050937; 2.385351921|]);
(11729.82243,
[|1.603244989; 0.05749460568; 0.0119439941; 0.4371898438; 0.3053324843;
4.553050937; 2.385351921|]);
(11729.82243,
[|1.603244989; 0.05749460568; 0.0119439941; 0.4371898438; 0.3053324843;
4.553050937; 2.385351921|]);
(11729.82243,
[|1.603244989; 0.05749460568; 0.0119439941; 0.4371898438; 0.3053324843;
4.553050937; 2.385351921|]);
(11729.82243,
[|1.603244989; 0.05749460568; 0.0119439941; 0.4371898438; 0.3053324843;
4.553050937; 2.385351921|]);
(11729.82243,
[|1.603244989; 0.05749460568; 0.0119439941; 0.4371898438; 0.3053324843;
4.553050937; 2.385351921|]);
(11729.82243,
[|1.603244989; 0.05749460568; 0.0119439941; 0.4371898438; 0.3053324843;
4.553050937; 2.385351921|]);
(11729.82243,
[|1.603244989; 0.05749460568; 0.0119439941; 0.4371898438; 0.3053324843;
4.553050937; 2.385351921|]);
(11729.82243,
[|1.603244989; 0.05749460568; 0.0119439941; 0.4371898438; 0.3053324843;
4.553050937; 2.385351921|]);
(11729.82226,
[|1.603244989; 0.05749460568; 0.0119439941; 0.4371898438; 0.3053324843;
4.553050937; 2.384944138|]);
(11729.82226,
[|1.603244989; 0.05749460568; 0.0119439941; 0.4371898438; 0.3053324843;
4.553050937; 2.384944138|]);
(11729.82226,
[|1.603244989; 0.05749460568; 0.0119439941; 0.4371898438; 0.3053324843;
4.553050937; 2.384944138|]);
(11729.82226,
[|1.603244989; 0.05749460568; 0.0119439941; 0.4371898438; 0.3053324843;
4.553050937; 2.384944138|]);
(11729.82226,
[|1.603244989; 0.05749460568; 0.0119439941; 0.4371898438; 0.3053324843;
4.553050937; 2.384944138|]);
(11727.64178,
[|1.603244989; 0.05814522043; 0.0119439941; 0.4371898438; 0.3053324843;
4.553050937; 2.384944138|]);
(11727.64178,
[|1.603244989; 0.05814522043; 0.0119439941; 0.4371898438; 0.3053324843;
4.553050937; 2.384944138|]);
(11727.64178,
[|1.603244989; 0.05814522043; 0.0119439941; 0.4371898438; 0.3053324843;
4.553050937; 2.384944138|]);
(11727.64178,
[|1.603244989; 0.05814522043; 0.0119439941; 0.4371898438; 0.3053324843;
4.553050937; 2.384944138|]);
(11727.64178,
[|1.603244989; 0.05814522043; 0.0119439941; 0.4371898438; 0.3053324843;
4.553050937; 2.384944138|]);
(11728.00168,
[|1.603244989; 0.05814522043; 0.0119439941; 0.4379569758; 0.3053324843;
4.553050937; 2.384944138|]);
(11728.08221,
[|1.603244989; 0.05814522043; 0.0119439941; 0.4380773161; 0.3025644429;
4.553050937; 2.384944138|]);
(11728.24185,
[|1.603244989; 0.05807148315; 0.0119439941; 0.4380773161; 0.3025644429;
4.553050937; 2.384944138|]);
(11728.24185,
[|1.603244989; 0.05807148315; 0.0119439941; 0.4380773161; 0.3025644429;
4.553050937; 2.384944138|]);
(11728.22417,
[|1.603244989; 0.05807148315; 0.0119439941; 0.438030739; 0.3045760569;
4.553050937; 2.384944138|]);
(11728.22417,
[|1.603244989; 0.05807148315; 0.0119439941; 0.438030739; 0.3045760569;
4.553050937; 2.384944138|]);
(11728.22417,
[|1.603244989; 0.05807148315; 0.0119439941; 0.438030739; 0.3045760569;
4.553050937; 2.384944138|]);
(11728.19119,
[|1.603244989; 0.05807148315; 0.0119439941; 0.438030739; 0.2972066952;
4.553050937; 2.384944138|]);
(11728.19119,
[|1.603244989; 0.05807148315; 0.0119439941; 0.438030739; 0.2972066952;
4.553050937; 2.384944138|]);
(11729.45935,
[|1.603244989; 0.05807148315; 0.0119439941; 0.438030739; 0.2972066952;
4.553050937; 2.409937217|]);
(11729.45935,
[|1.603244989; 0.05807148315; 0.0119439941; 0.438030739; 0.2972066952;
4.553050937; 2.409937217|]);
(11729.45935,
[|1.603244989; 0.05807148315; 0.0119439941; 0.438030739; 0.2972066952;
4.553050937; 2.409937217|]);
(11729.45935,
[|1.603244989; 0.05807148315; 0.0119439941; 0.438030739; 0.2972066952;
4.553050937; 2.409937217|]);
(11729.79054,
[|1.603244989; 0.05807148315; 0.0119439941; 0.438030739; 0.2931241663;
4.533941478; 2.409937217|]);
(11728.65042,
[|1.601158134; 0.05790907903; 0.01203332108; 0.4373185229; 0.306776976;
4.568531745; 2.390601339|]); ...]
InternalDynamics =
Some
(map
[(ShortCode "hare",
[|20.23851449; 27.44747815; 42.27799906; 59.64822727; 58.21055681;
37.43082114; 23.34860186; 19.29289009; 22.05386379; 31.65609791;
48.43025595; 61.97294443; 51.6414807; 31.50832043; 21.29411106;
19.72871888; 24.6292717; 36.71284716; 54.25412742; 61.04537571;
44.20781735; 26.98409576; 20.19098918; 20.87782196; 28.04411273;
42.47753839; 58.74194449; 56.85323437; 37.22002936; 23.78632546;
19.91062688; 22.76063135; 32.33202548; 48.5329431; 60.75077401;
50.39147403; 31.42132064; 21.753183; 20.39914002; 25.44257209;
37.45714146; 54.11841384; 59.48671739; 43.15003393; 27.02048794;
20.70513769; 21.64231759; 28.98999844; 43.2231664; 58.1760768;
55.07094858; 36.41456546; 23.95357768; 20.51672097; 23.66160452;
33.41639197; 49.1340339; 59.59013213; 48.60187145; 30.8854275;
22.05762185; 21.13323915; 26.51753663; 38.64424292; 54.34574826;
57.7221594; 41.5732881; 26.74835945; 21.1585645; 22.54014995;
30.25801084; 44.39713639; 57.75612776; 52.91493972; 35.18647552;
23.93163201; 21.14184378; 24.76256227; 34.86562606; 50.07440059;
58.33103809; 46.40099767; 30.0449568; 22.27011267; 21.95708658;
27.85332199; 40.20129756; 54.73855678; 55.67736244; 39.64172337;
26.28294687|]);
(ShortCode "lynx",
[|24.49024591; 20.87815817; 20.2928228; 24.20371067; 32.35654441;
37.05988639; 33.99392656; 28.09097797; 23.07580059; 20.38292767;
21.11867989; 26.71497454; 34.68039429; 36.57757717; 32.02287301;
26.2364194; 21.93854845; 20.27898004; 22.51592383; 29.53034384;
36.15388119; 35.35257002; 29.9764571; 24.58086765; 21.11320944;
20.63043995; 24.51324989; 32.27304795; 36.60745571; 33.64859944;
27.98641375; 23.17277946; 20.64287882; 21.50447797; 27.0223009;
34.4981217; 36.10089894; 31.69410668; 26.14555712; 22.05790575;
20.58798605; 22.96550216; 29.79314708; 35.8489407; 34.85828203;
29.66728251; 24.51510087; 21.27484977; 21.01363961; 25.02156122;
32.42597237; 36.17705342; 33.14810172; 27.70569008; 23.14822845;
20.87154899; 21.98600644; 27.5506697; 34.47591268; 35.56766401;
31.20249459; 25.90453761; 22.09252129; 20.91048743; 23.55704199;
30.26343955; 35.61393653; 34.25907085; 29.20353563; 24.32934487;
21.39050166; 21.45679967; 25.70283671; 32.7356757; 35.73642783;
32.52066585; 27.28872768; 23.03669618; 21.09542391; 22.57254359;
28.25402403; 34.53634397; 34.96834595; 30.5818359; 25.55195242;
22.07537392; 21.27127947; 24.28860099; 30.87417607; 35.38669704;
33.56361155|])]) }
|
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:
NB: this documentation is auto-generated so we cannot comment directly on the randomly generated scenario.
Next, we can examine the traces to see how parameter values evolved over the course of
the optimisation routine:
Graphing.parameterTrace result
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>
Multiple items
union case ModelExpression.Parameter: string -> ModelExpression
--------------------
module Parameter
from Bristlecone
union case ModelExpression.This: ModelExpression
union case ModelExpression.Environment: string -> ModelExpression
module Model
from Bristlecone.Language
<summary>
Terms for scaffolding a model system for use with Bristlecone.
</summary>
val empty: ModelBuilder.ModelBuilder
val addEquation: name: string -> eq: ModelExpression -> builder: ModelBuilder.ModelBuilder -> ModelBuilder.ModelBuilder
val estimateParameter: name: string -> constraintMode: Parameter.Constraint -> lower: float -> upper: float -> builder: ModelBuilder.ModelBuilder -> ModelBuilder.ModelBuilder
val noConstraints: Parameter.Constraint
val useLikelihoodFunction: likelihoodFn: ModelSystem.LikelihoodFn -> builder: ModelBuilder.ModelBuilder -> ModelBuilder.ModelBuilder
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: string -> key2: string -> paramAccessor: ModelSystem.ParameterValueAccessor -> data: CodedMap<ModelSystem.PredictedSeries> -> float
<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>
val notNegative: Parameter.Constraint
val compile: (ModelBuilder.ModelBuilder -> ModelSystem.ModelSystem)
val engine: EstimationEngine.EstimationEngine<float,float>
val mkContinuous: EstimationEngine.EstimationEngine<float,float>
<summary>A basic estimation engine for ordinary differential equations, using a Nelder-Mead optimiser.</summary>
val withCustomOptimisation: optim: EstimationEngine.Optimiser<'a> -> engine: EstimationEngine.EstimationEngine<'a,'b> -> EstimationEngine.EstimationEngine<'a,'b>
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<float> -> EstimationEngine.Optimiser<float>
<summary>
A Monte Carlo Markov Chain sampler based on the 'Filzbach' algorithm from
Microsoft Research Cambridge.
</summary>
type FilzbachSettings<'a> =
{
TuneAfterChanges: int
MaxScaleChange: float
MinScaleChange: float
BurnLength: EndCondition<'a>
}
static member Default: FilzbachSettings<float>
Multiple items
val float: value: 'T -> float (requires member op_Explicit)
--------------------
type float = System.Double
--------------------
type float<'Measure> =
float
module EndConditions
from Bristlecone.Optimisation
val afterIteration: iteration: int -> EstimationEngine.Solution<float> list -> currentIteration: int -> bool
<summary>
End the optimisation procedure when a minimum number of iterations is exceeded.
</summary>
val withContinuousTime: t: EstimationEngine.Integrate<'a,'b> -> engine: EstimationEngine.EstimationEngine<'a,'b> -> EstimationEngine.EstimationEngine<'a,'b>
<summary>
Use a custom integration method
</summary>
namespace Bristlecone.Integration
module MathNet
from Bristlecone.Integration
val integrate: log: (Logging.LogEvent -> unit) -> tInitial: float -> tEnd: float -> tStep: float -> initialConditions: Map<'a,float> -> externalEnvironment: Map<'a,Time.TimeIndex.TimeIndex<float>> -> modelMap: Map<'a,(float -> float -> Map<'a,float> -> float)> -> Map<'a,float array> (requires comparison)
val withConditioning: c: Conditioning.Conditioning<'a> -> engine: EstimationEngine.EstimationEngine<'a,'b> -> EstimationEngine.EstimationEngine<'a,'b>
<summary>
Choose how the start point is chosen when solving the model system
</summary>
module Conditioning
from Bristlecone
union case Conditioning.Conditioning.RepeatFirstDataPoint: Conditioning.Conditioning<'a>
val withSeed: seed: int -> engine: EstimationEngine.EstimationEngine<'a,'b> -> EstimationEngine.EstimationEngine<'a,'b>
<summary>
Use a mersenne twister random number generator
with a specific seed.
</summary>
val testSettings: Test.TestSettings<float>
Multiple items
module Test
from Bristlecone.Language
<summary>
Terms for designing tests for model systems.
</summary>
--------------------
module Test
from Bristlecone
val create: Test.TestSettings<float>
val addStartValues: values: (string * 'a) seq -> settings: Test.TestSettings<'a> -> Test.TestSettings<'a>
<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 -> CodedMap<Time.TimeSeries<'a>> -> Result<CodedMap<Time.TimeSeries<'a>>,string>) -> settings: Test.TestSettings<'a> -> Test.TestSettings<'a>
<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<Time.TimeSeries.TimeSeries<float>> -> Result<Map<ShortCode.ShortCode,Time.TimeSeries.TimeSeries<float>>,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 list -> settings: Test.TestSettings<'a> -> Test.TestSettings<'a>
module GenerationRules
from Bristlecone.Test
val alwaysLessThan: i: float -> variable: string -> Test.GenerationRule
<summary>
Ensures that all generated values are less than i
</summary>
val alwaysMoreThan: i: float -> variable: string -> Test.GenerationRule
<summary>
Ensures that all generated values are greater than i
</summary>
val withTimeSeriesLength: n: int -> settings: Test.TestSettings<'a> -> Test.TestSettings<'a>
val endWhen: goal: EstimationEngine.EndCondition<'a> -> settings: Test.TestSettings<'a> -> Test.TestSettings<'a>
val testResult: Result<Test.TestResult,string>
val tryTestModel: engine: EstimationEngine.EstimationEngine<float,float> -> settings: Test.TestSettings<float> -> model: ModelSystem.ModelSystem -> Result<Test.TestResult,string>
<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> -> string
val series: Map<string,ModelSystem.FitSeries>
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 as objective function that may be optimised.
</summary>
type FitSeries = Time.TimeSeries<ModelSystem.FitValue>
union case Result.Ok: ResultValue: 'T -> Result<'T,'TError>
val r: Test.TestResult
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>
val lines: (System.DateTime * float) seq list
property System.Collections.Generic.KeyValuePair.Value: ModelSystem.FitSeries 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>
module Time
from Bristlecone
Multiple items
module TimeSeries
from Bristlecone.Time
--------------------
type TimeSeries<'T> = Time.TimeSeries.TimeSeries<'T>
val toObservations: series: Time.TimeSeries.TimeSeries<'a> -> Time.TimeSeries.Observation<'a> seq
<summary>
Turn a time series into a sequence of observations
</summary>
val collect: mapping: ('T -> #('U seq)) -> source: 'T seq -> 'U seq
val d: ModelSystem.FitValue
val v: System.DateTime
ModelSystem.FitValue.Fit: float
ModelSystem.FitValue.Obs: float
val groupBy: projection: ('T -> 'Key) -> source: 'T seq -> ('Key * 'T seq) seq (requires equality)
val x: string
val s: (System.DateTime * string * float) seq
val x: System.DateTime
val y: float
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: 'd * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?MultiText: 'd 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 'd :> 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,string> -> 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 =
{
Parameters: ParameterTestResult list
Series: Map<string,FitSeries>
ErrorStructure: Map<string,float seq>
RealLikelihood: float
EstimatedLikelihood: float
}
Test.TestResult.Series: Map<string,ModelSystem.FitSeries>
val pairedFitsForResult: testResult: Result<ModelSystem.EstimationResult,string> -> string
val testResult: Result<ModelSystem.EstimationResult,string>
type EstimationResult =
{
ResultId: Guid
Likelihood: float
Parameters: Pool
Series: CodedMap<FitSeries>
Trace: (float * float array) list
InternalDynamics: CodedMap<float array> option
}
<summary>
An estimated model fit for a time-series model.
</summary>
val r: ModelSystem.EstimationResult
ModelSystem.EstimationResult.Series: CodedMap<ModelSystem.FitSeries>
val kv: System.Collections.Generic.KeyValuePair<ShortCode.ShortCode,ModelSystem.FitSeries>
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,'b> -> string
val result: Result<ModelSystem.EstimationResult,'b>
'b
ModelSystem.EstimationResult.Trace: (float * float 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
member IsEmpty: bool
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 list
argument y: float 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,Time.TimeSeries.TimeSeries<float>>
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>
Multiple items
union case ModelExpression.Time: ModelExpression
--------------------
module Time
from Bristlecone
val fromObservations: dataset: Time.TimeSeries.Observation<'a> seq -> Time.TimeSeries.TimeSeries<'a>
<summary>
Arrange existing observations as a bristlecone `TimeSeries`.
Observations become ordered and indexed by time.
</summary>
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
property FSharp.Data.CsvProvider<...>.Row.Hare: decimal with get
property FSharp.Data.CsvProvider<...>.Row.Year: System.DateTime 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<float>
val result: Result<ModelSystem.EstimationResult,string>
val tryFit: engine: EstimationEngine.EstimationEngine<float,float> -> endCondition: EstimationEngine.EndCondition<float> -> timeSeriesData: CodedMap<Time.TimeSeries<float>> -> model: ModelSystem.ModelSystem -> Result<ModelSystem.EstimationResult,string>
<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>