+
+
+![Notebook](https://acm.im/bristlecone//img/badge-notebook.svg)
+
+
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.01 1.00 // Natural growth rate of hares in absence of predation
+ |> Model.estimateParameter "β" noConstraints 0.01 1.00 // Death rate per encounter of hares due to predation
+ |> Model.estimateParameter "Δ" noConstraints 0.01 0.20 // Efficiency of turning predated hares into lynx
+ |> Model.estimateParameter "γ" noConstraints 0.01 0.20 // Natural death rate of lynx in the absence of food
+
+ |> Model.useLikelihoodFunction (ModelLibrary.Likelihood.sumOfSquares ["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
+
+ // TODO Error when setting constraints. Optim allows them to go negative!
+
+
+
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.withTunedMCMC []
+ |> 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 10000. "lynx"
+ Test.GenerationRules.alwaysLessThan 10000. "hare" ]
+ |> Test.withTimeSeriesLength 30
+ |> Test.endWhen (Optimisation.EndConditions.afterIteration 1)
+
+
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.testModel engine testSettings
+
+
##1## GeneralEvent "Attempting to generate parameter set."
+##1## GeneralEvent "The data must comply with 2 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 [|0.04560414322; 0.4458347169; 0.007666657133; 0.1825123468; -0.091774904;
+ 0.02763088772; 0.06570124545|]"
+##1## GeneralEvent "[Optimisation] Starting MCMC Random Walk"
+##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.fit engine endCondition data
+
+
Ok
+ { ResultId = 9aa36fc8-dfbe-4c65-9682-d09883ba531c
+ Likelihood = 161725.5183
+ Parameters =
+ Pool
+ (map
+ [(ShortCode "Δ",
+ Parameter (Unconstrained, Detached, Estimated -0.03600395794));
+ (ShortCode "α",
+ Parameter (Unconstrained, Detached, Estimated 0.05889427162));
+ (ShortCode "β",
+ Parameter (Unconstrained, Detached, Estimated -0.0572017005));
+ (ShortCode "γ",
+ Parameter (Unconstrained, Detached, Estimated 0.3963112829));
+ (ShortCode "ρ",
+ Parameter (Unconstrained, Detached, Estimated -0.7329319289));
+ (ShortCode "σ[x]",
+ Parameter (PositiveOnly, Detached, Estimated 0.0402635584));
+ (ShortCode "σ[y]",
+ Parameter (PositiveOnly, Detached, Estimated 0.1679047933))])
+ Series =
+ map
+ [(ShortCode "hare",
+ FixedTimeSeries
+ (({ Fit = 48.97948066
+ Obs = 19.58 }, 1/1/1845 12:00:00 AM),
+ TimeSteps
+ [|({ Fit = 55.28946519
+ Obs = 19.6 }, 365.00:00:00); ({ Fit = 59.64672094
+ Obs = 19.61 }, 365.00:00:00);
+ ({ Fit = 63.11542067
+ Obs = 11.99 }, 365.00:00:00); ({ Fit = 65.48611048
+ Obs = 28.04 }, 366.00:00:00);
+ ({ Fit = 65.38963298
+ Obs = 58.0 }, 365.00:00:00); ({ Fit = 59.36101124
+ Obs = 74.6 }, 365.00:00:00);
+ ({ Fit = 47.80253297
+ Obs = 75.09 }, 365.00:00:00); ({ Fit = 49.43514849
+ Obs = 88.48 }, 366.00:00:00);
+ ({ Fit = 48.31813548
+ Obs = 61.28 }, 365.00:00:00); ({ Fit = 48.96762773
+ Obs = 74.67 }, 365.00:00:00);
+ ({ Fit = 48.49743848
+ Obs = 88.06 }, 365.00:00:00); ({ Fit = 48.7669053
+ Obs = 68.51 }, 366.00:00:00);
+ ({ Fit = 48.55866582
+ Obs = 32.19 }, 365.00:00:00); ({ Fit = 48.6726493
+ Obs = 12.64 }, 365.00:00:00);
+ ({ Fit = 48.57712909
+ Obs = 21.49 }, 365.00:00:00); ({ Fit = 48.62548059
+ Obs = 30.35 }, 366.00:00:00);
+ ({ Fit = 48.5804187
+ Obs = 2.18 }, 365.00:00:00); ({ Fit = 48.60065825
+ Obs = 152.65 }, 365.00:00:00);
+ ({ Fit = 48.57885336
+ Obs = 148.36 }, 365.00:00:00); ({ Fit = 48.58703836
+ Obs = 85.81 }, 366.00:00:00);
+ ({ Fit = 48.57621704
+ Obs = 41.41 }, 365.00:00:00); ({ Fit = 48.57929735
+ Obs = 14.75 }, 365.00:00:00);
+ ({ Fit = 48.5737826
+ Obs = 2.28 }, 365.00:00:00); ({ Fit = 48.57476603
+ Obs = 5.91 }, 366.00:00:00);
+ ({ Fit = 48.57187543
+ Obs = 9.95 }, 365.00:00:00); ({ Fit = 48.57204853
+ Obs = 10.44 }, 365.00:00:00);
+ ({ Fit = 48.57048838
+ Obs = 70.64 }, 365.00:00:00); ({ Fit = 48.57038684
+ Obs = 50.12 }, 366.00:00:00);
+ ({ Fit = 48.56951967
+ Obs = 50.13 }, 365.00:00:00); ({ Fit = 48.56935516
+ Obs = 101.25 }, 365.00:00:00);
+ ({ Fit = 48.56885941
+ Obs = 97.12 }, 365.00:00:00); ({ Fit = 48.5687071
+ Obs = 86.51 }, 366.00:00:00);
+ ({ Fit = 48.56841632
+ Obs = 72.17 }, 365.00:00:00); ({ Fit = 48.56829641
+ Obs = 38.32 }, 365.00:00:00);
+ ({ Fit = 48.568122
+ Obs = 10.11 }, 365.00:00:00); ({ Fit = 48.56803443
+ Obs = 7.74 }, 366.00:00:00);
+ ({ Fit = 48.56792786
+ Obs = 9.67 }, 365.00:00:00); ({ Fit = 48.56786651
+ Obs = 43.12 }, 365.00:00:00);
+ ({ Fit = 48.56780041
+ Obs = 52.21 }, 365.00:00:00); ({ Fit = 48.5677585
+ Obs = 134.85 }, 366.00:00:00);
+ ({ Fit = 48.56771702
+ Obs = 134.86 }, 365.00:00:00); ({ Fit = 48.56768885
+ Obs = 103.79 }, 365.00:00:00);
+ ({ Fit = 48.56766258
+ Obs = 46.1 }, 365.00:00:00); ({ Fit = 48.56764385
+ Obs = 15.03 }, 366.00:00:00);
+ ({ Fit = 48.5676271
+ Obs = 24.2 }, 365.00:00:00); ({ Fit = 48.56761473
+ Obs = 41.65 }, 365.00:00:00);
+ ({ Fit = 48.567604
+ Obs = 52.34 }, 365.00:00:00); ({ Fit = 48.56759588
+ Obs = 53.78 }, 366.00:00:00);
+ ({ Fit = 48.56758898
+ Obs = 70.4 }, 365.00:00:00); ({ Fit = 48.56758367
+ Obs = 85.81 }, 365.00:00:00);
+ ({ Fit = 48.56757922
+ Obs = 56.69 }, 365.00:00:00); ({ Fit = 48.56757575
+ Obs = 16.59 }, 366.00:00:00);
+ ({ Fit = 48.56757287
+ Obs = 6.16 }, 365.00:00:00); ({ Fit = 48.56757061
+ Obs = 2.3 }, 365.00:00:00);
+ ({ Fit = 48.56756875
+ Obs = 12.82 }, 365.00:00:00); ({ Fit = 48.56756728
+ Obs = 4.72 }, 365.00:00:00);
+ ({ Fit = 48.56756607
+ Obs = 4.73 }, 365.00:00:00); ({ Fit = 48.56756512
+ Obs = 37.22 }, 365.00:00:00);
+ ({ Fit = 48.56756434
+ Obs = 69.72 }, 365.00:00:00); ({ Fit = 48.56756371
+ Obs = 57.78 }, 366.00:00:00);
+ ({ Fit = 48.56756321
+ Obs = 28.68 }, 365.00:00:00); ({ Fit = 48.5675628
+ Obs = 23.37 }, 365.00:00:00);
+ ({ Fit = 48.56756248
+ Obs = 21.54 }, 365.00:00:00); ({ Fit = 48.56756221
+ Obs = 26.34 }, 366.00:00:00);
+ ({ Fit = 48.567562
+ Obs = 53.1 }, 365.00:00:00); ({ Fit = 48.56756183
+ Obs = 68.48 }, 365.00:00:00);
+ ({ Fit = 48.56756169
+ Obs = 75.58 }, 365.00:00:00); ({ Fit = 48.56756158
+ Obs = 57.92 }, 366.00:00:00);
+ ({ Fit = 48.56756149
+ Obs = 40.97 }, 365.00:00:00); ({ Fit = 48.56756142
+ Obs = 24.95 }, 365.00:00:00);
+ ({ Fit = 48.56756136
+ Obs = 12.59 }, 365.00:00:00); ({ Fit = 48.56756131
+ Obs = 4.97 }, 366.00:00:00);
+ ({ Fit = 48.56756128
+ Obs = 4.5 }, 365.00:00:00); ({ Fit = 48.56756125
+ Obs = 11.21 }, 365.00:00:00);
+ ({ Fit = 48.56756122
+ Obs = 56.6 }, 365.00:00:00); ({ Fit = 48.5675612
+ Obs = 69.63 }, 366.00:00:00);
+ ({ Fit = 48.56756119
+ Obs = 77.74 }, 365.00:00:00); ({ Fit = 48.56756117
+ Obs = 80.53 }, 365.00:00:00);
+ ({ Fit = 48.56756116
+ Obs = 73.38 }, 365.00:00:00); ({ Fit = 48.56756115
+ Obs = 36.93 }, 366.00:00:00);
+ ({ Fit = 48.56756115
+ Obs = 4.64 }, 365.00:00:00); ({ Fit = 48.56756114
+ Obs = 2.54 }, 365.00:00:00);
+ ({ Fit = 48.56756114
+ Obs = 1.8 }, 365.00:00:00); ({ Fit = 48.56756113
+ Obs = 2.39 }, 366.00:00:00);
+ ({ Fit = 48.56756113
+ Obs = 4.23 }, 365.00:00:00); ({ Fit = 48.56756113
+ Obs = 19.52 }, 365.00:00:00);
+ ({ Fit = 48.56756113
+ Obs = 82.11 }, 365.00:00:00); ({ Fit = 48.56756113
+ Obs = 89.76 }, 366.00:00:00);
+ ({ Fit = 48.56756113
+ Obs = 81.66 }, 365.00:00:00); ({ Fit = 48.56756112
+ Obs = 15.76 }, 365.00:00:00)|]));
+ (ShortCode "lynx",
+ FixedTimeSeries
+ (({ Fit = 6.777390842
+ Obs = 30.09 }, 1/1/1845 12:00:00 AM),
+ TimeSteps
+ [|({ Fit = 4.186350509
+ Obs = 45.15 }, 365.00:00:00); ({ Fit = 3.417986048
+ Obs = 49.15 }, 365.00:00:00);
+ ({ Fit = 3.506861
+ Obs = 39.52 }, 365.00:00:00); ({ Fit = 4.510855681
+ Obs = 21.23 }, 366.00:00:00);
+ ({ Fit = 7.255981932
+ Obs = 8.42 }, 365.00:00:00); ({ Fit = 13.77009301
+ Obs = 5.56 }, 365.00:00:00);
+ ({ Fit = 22.94139975
+ Obs = 5.08 }, 365.00:00:00); ({ Fit = 21.81606632
+ Obs = 10.17 }, 366.00:00:00);
+ ({ Fit = 22.69996507
+ Obs = 19.6 }, 365.00:00:00); ({ Fit = 22.27096224
+ Obs = 32.91 }, 365.00:00:00);
+ ({ Fit = 22.65570078
+ Obs = 34.38 }, 365.00:00:00); ({ Fit = 22.48901678
+ Obs = 29.59 }, 366.00:00:00);
+ ({ Fit = 22.66714995
+ Obs = 21.3 }, 365.00:00:00); ({ Fit = 22.603698
+ Obs = 13.69 }, 365.00:00:00);
+ ({ Fit = 22.69011213
+ Obs = 7.65 }, 365.00:00:00); ({ Fit = 22.66773814
+ Obs = 4.08 }, 366.00:00:00);
+ ({ Fit = 22.71136497
+ Obs = 4.09 }, 365.00:00:00); ({ Fit = 22.70501686
+ Obs = 14.33 }, 365.00:00:00);
+ ({ Fit = 22.72786185
+ Obs = 38.22 }, 365.00:00:00); ({ Fit = 22.72737247
+ Obs = 60.78 }, 366.00:00:00);
+ ({ Fit = 22.73975277
+ Obs = 70.77 }, 365.00:00:00); ({ Fit = 22.74107167
+ Obs = 72.77 }, 365.00:00:00);
+ ({ Fit = 22.74799912
+ Obs = 42.68 }, 365.00:00:00); ({ Fit = 22.74959988
+ Obs = 16.39 }, 366.00:00:00);
+ ({ Fit = 22.75359056
+ Obs = 9.83 }, 365.00:00:00); ({ Fit = 22.75497058
+ Obs = 5.8 }, 365.00:00:00);
+ ({ Fit = 22.75732884
+ Obs = 5.26 }, 365.00:00:00); ({ Fit = 22.75838137
+ Obs = 18.91 }, 366.00:00:00);
+ ({ Fit = 22.7598053
+ Obs = 30.95 }, 365.00:00:00); ({ Fit = 22.76056076
+ Obs = 31.18 }, 365.00:00:00);
+ ({ Fit = 22.76143576
+ Obs = 46.34 }, 365.00:00:00); ({ Fit = 22.76195949
+ Obs = 45.77 }, 366.00:00:00);
+ ({ Fit = 22.76250469
+ Obs = 44.15 }, 365.00:00:00); ({ Fit = 22.76286007
+ Obs = 36.33 }, 365.00:00:00);
+ ({ Fit = 22.76320344
+ Obs = 12.03 }, 365.00:00:00); ({ Fit = 22.76344125
+ Obs = 12.6 }, 366.00:00:00);
+ ({ Fit = 22.76365926
+ Obs = 18.34 }, 365.00:00:00); ({ Fit = 22.76381693
+ Obs = 35.14 }, 365.00:00:00);
+ ({ Fit = 22.76395619
+ Obs = 43.77 }, 365.00:00:00); ({ Fit = 22.76406006
+ Obs = 65.69 }, 366.00:00:00);
+ ({ Fit = 22.7641494
+ Obs = 79.35 }, 365.00:00:00); ({ Fit = 22.76421753
+ Obs = 51.65 }, 365.00:00:00);
+ ({ Fit = 22.76427505
+ Obs = 32.59 }, 365.00:00:00); ({ Fit = 22.7643196
+ Obs = 22.45 }, 366.00:00:00);
+ ({ Fit = 22.76435671
+ Obs = 16.16 }, 365.00:00:00); ({ Fit = 22.76438577
+ Obs = 14.12 }, 365.00:00:00);
+ ({ Fit = 22.76440976
+ Obs = 20.38 }, 365.00:00:00); ({ Fit = 22.7644287
+ Obs = 33.33 }, 366.00:00:00);
+ ({ Fit = 22.76444422
+ Obs = 46.0 }, 365.00:00:00); ({ Fit = 22.76445654
+ Obs = 51.41 }, 365.00:00:00);
+ ({ Fit = 22.76446659
+ Obs = 46.43 }, 365.00:00:00); ({ Fit = 22.76447461
+ Obs = 33.68 }, 366.00:00:00);
+ ({ Fit = 22.76448112
+ Obs = 18.01 }, 365.00:00:00); ({ Fit = 22.76448633
+ Obs = 8.86 }, 365.00:00:00);
+ ({ Fit = 22.76449056
+ Obs = 7.13 }, 365.00:00:00); ({ Fit = 22.76449394
+ Obs = 9.47 }, 365.00:00:00);
+ ({ Fit = 22.76449668
+ Obs = 14.86 }, 365.00:00:00); ({ Fit = 22.76449888
+ Obs = 31.47 }, 365.00:00:00);
+ ({ Fit = 22.76450066
+ Obs = 60.57 }, 365.00:00:00); ({ Fit = 22.76450209
+ Obs = 63.51 }, 366.00:00:00);
+ ({ Fit = 22.76450324
+ Obs = 54.7 }, 365.00:00:00); ({ Fit = 22.76450417
+ Obs = 6.3 }, 365.00:00:00);
+ ({ Fit = 22.76450491
+ Obs = 3.41 }, 365.00:00:00); ({ Fit = 22.76450552
+ Obs = 5.44 }, 366.00:00:00);
+ ({ Fit = 22.764506
+ Obs = 11.65 }, 365.00:00:00); ({ Fit = 22.76450639
+ Obs = 20.35 }, 365.00:00:00);
+ ({ Fit = 22.76450671
+ Obs = 32.88 }, 365.00:00:00); ({ Fit = 22.76450696
+ Obs = 39.55 }, 366.00:00:00);
+ ({ Fit = 22.76450717
+ Obs = 43.36 }, 365.00:00:00); ({ Fit = 22.76450733
+ Obs = 40.83 }, 365.00:00:00);
+ ({ Fit = 22.76450746
+ Obs = 30.36 }, 365.00:00:00); ({ Fit = 22.76450757
+ Obs = 17.18 }, 366.00:00:00);
+ ({ Fit = 22.76450766
+ Obs = 6.82 }, 365.00:00:00); ({ Fit = 22.76450773
+ Obs = 3.19 }, 365.00:00:00);
+ ({ Fit = 22.76450778
+ Obs = 3.52 }, 365.00:00:00); ({ Fit = 22.76450783
+ Obs = 9.94 }, 366.00:00:00);
+ ({ Fit = 22.76450786
+ Obs = 20.3 }, 365.00:00:00); ({ Fit = 22.76450789
+ Obs = 31.99 }, 365.00:00:00);
+ ({ Fit = 22.76450792
+ Obs = 42.36 }, 365.00:00:00); ({ Fit = 22.76450793
+ Obs = 49.08 }, 366.00:00:00);
+ ({ Fit = 22.76450795
+ Obs = 53.99 }, 365.00:00:00); ({ Fit = 22.76450796
+ Obs = 52.25 }, 365.00:00:00);
+ ({ Fit = 22.76450797
+ Obs = 37.7 }, 365.00:00:00); ({ Fit = 22.76450798
+ Obs = 19.14 }, 366.00:00:00);
+ ({ Fit = 22.76450799
+ Obs = 6.98 }, 365.00:00:00); ({ Fit = 22.76450799
+ Obs = 8.31 }, 365.00:00:00);
+ ({ Fit = 22.764508
+ Obs = 16.01 }, 365.00:00:00); ({ Fit = 22.764508
+ Obs = 24.82 }, 366.00:00:00);
+ ({ Fit = 22.764508
+ Obs = 29.7 }, 365.00:00:00); ({ Fit = 22.764508
+ Obs = 35.4 }, 365.00:00:00)|]))]
+ Trace =
+ [(161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]);
+ (161725.5183,
+ [|-0.03600395794; 0.05889427162; -0.0572017005; 0.3963112829;
+ -0.7329319289; 0.0402635584; 0.1679047933|]); ...]
+ InternalDynamics =
+ Some
+ (map
+ [(ShortCode "hare",
+ [|48.97948066; 55.28946519; 59.64672094; 63.11542067; 65.48611048;
+ 65.38963298; 59.36101124; 47.80253297; 49.43514849; 48.31813548;
+ 48.96762773; 48.49743848; 48.7669053; 48.55866582; 48.6726493;
+ 48.57712909; 48.62548059; 48.5804187; 48.60065825; 48.57885336;
+ 48.58703836; 48.57621704; 48.57929735; 48.5737826; 48.57476603;
+ 48.57187543; 48.57204853; 48.57048838; 48.57038684; 48.56951967;
+ 48.56935516; 48.56885941; 48.5687071; 48.56841632; 48.56829641;
+ 48.568122; 48.56803443; 48.56792786; 48.56786651; 48.56780041;
+ 48.5677585; 48.56771702; 48.56768885; 48.56766258; 48.56764385;
+ 48.5676271; 48.56761473; 48.567604; 48.56759588; 48.56758898;
+ 48.56758367; 48.56757922; 48.56757575; 48.56757287; 48.56757061;
+ 48.56756875; 48.56756728; 48.56756607; 48.56756512; 48.56756434;
+ 48.56756371; 48.56756321; 48.5675628; 48.56756248; 48.56756221;
+ 48.567562; 48.56756183; 48.56756169; 48.56756158; 48.56756149;
+ 48.56756142; 48.56756136; 48.56756131; 48.56756128; 48.56756125;
+ 48.56756122; 48.5675612; 48.56756119; 48.56756117; 48.56756116;
+ 48.56756115; 48.56756115; 48.56756114; 48.56756114; 48.56756113;
+ 48.56756113; 48.56756113; 48.56756113; 48.56756113; 48.56756113;
+ 48.56756112|]);
+ (ShortCode "lynx",
+ [|6.777390842; 4.186350509; 3.417986048; 3.506861; 4.510855681;
+ 7.255981932; 13.77009301; 22.94139975; 21.81606632; 22.69996507;
+ 22.27096224; 22.65570078; 22.48901678; 22.66714995; 22.603698;
+ 22.69011213; 22.66773814; 22.71136497; 22.70501686; 22.72786185;
+ 22.72737247; 22.73975277; 22.74107167; 22.74799912; 22.74959988;
+ 22.75359056; 22.75497058; 22.75732884; 22.75838137; 22.7598053;
+ 22.76056076; 22.76143576; 22.76195949; 22.76250469; 22.76286007;
+ 22.76320344; 22.76344125; 22.76365926; 22.76381693; 22.76395619;
+ 22.76406006; 22.7641494; 22.76421753; 22.76427505; 22.7643196;
+ 22.76435671; 22.76438577; 22.76440976; 22.7644287; 22.76444422;
+ 22.76445654; 22.76446659; 22.76447461; 22.76448112; 22.76448633;
+ 22.76449056; 22.76449394; 22.76449668; 22.76449888; 22.76450066;
+ 22.76450209; 22.76450324; 22.76450417; 22.76450491; 22.76450552;
+ 22.764506; 22.76450639; 22.76450671; 22.76450696; 22.76450717;
+ 22.76450733; 22.76450746; 22.76450757; 22.76450766; 22.76450773;
+ 22.76450778; 22.76450783; 22.76450786; 22.76450789; 22.76450792;
+ 22.76450793; 22.76450795; 22.76450796; 22.76450797; 22.76450798;
+ 22.76450799; 22.76450799; 22.764508; 22.764508; 22.764508;
+ 22.764508|])]) }
|
+
+
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
--------------------
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 sumOfSquares: keys: string list -> ModelSystem.ParameterValueAccessor -> data: CodedMap<ModelSystem.PredictedSeries> -> float
<summary>
+ Residual sum of squares. Provides a simple metric of distance between
+ observed data and model predictions.
+</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 standard `EstimationEngine` for ordinary differential equation models.
+</summary>
+
val withTunedMCMC: tuning: Optimisation.MonteCarlo.TuneStep<float> seq -> engine: EstimationEngine.EstimationEngine<float,'a> -> EstimationEngine.EstimationEngine<float,'a>
+
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 withTimeSeriesLength: n: int -> settings: Test.TestSettings<'a> -> Test.TestSettings<'a>
+
val endWhen: goal: EstimationEngine.EndCondition<'a> -> settings: Test.TestSettings<'a> -> Test.TestSettings<'a>
+
namespace Bristlecone.Optimisation
+
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 testResult: Result<Test.TestResult,string>
+
val testModel: engine: EstimationEngine.EstimationEngine<float,float> -> settings: Test.TestSettings<float> -> model: ModelSystem.ModelSystem -> Result<Test.TestResult,string>
<summary>
+ **Description**
+ Test that the specified estimation engine can correctly estimate known parameters. Random parameter sets are generated from the given model system.
+ **Parameters**
+ * `model` - a `ModelSystem` of equations and parameters
+ * `testSettings` - settings
+ * `engine` - an `EstimationEngine`
+</summary>
+
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
+
Multiple items
val float: value: 'T -> float (requires member op_Explicit)
--------------------
type float = System.Double
--------------------
type float<'Measure> =
+ float
+
property FSharp.Data.CsvProvider<...>.Row.Hare: decimal with get
+
property FSharp.Data.CsvProvider<...>.Row.Year: 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 fit: 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>
+
+
+