
In this example, we use Bristlecone to fit non-linear models of plant growth
to some data from a plant growth experiment.
In the paper How to fit nonlinear plant growth models and calculate growth rates: an update for ecologists,
Paine et al (2012) explain that there are
seven key functional forms that can be used to represent plant biomass growth over time.
Here, we write the dM/dt forms of the seven equations in the Bristlecone model expression
system, then fit these using Nelder-Mead (amoeba) optimisation to some sample plant growth
data. The data is the Holcus unshaded growth experiment data as shown in the figures
of Paine et al (2012).
First, we open Bristlecone core libraries.
For units of measure, we can choose to use built-in F# units from
the FSharp.Data.UnitSystems.SI.UnitSymbols namespace, or declare our own.
Similarly, time-based units (days, months, years) are available in the
Bristlecone.Time module. Here, we use the time units from Bristlecone,
and declare grams as a new unit type.
[<Measure>] type gram
let mass = state<gram> "mass"
For the growth functions, there are five different parameters
across the seven models, which we declare. To declare parameters,
a reasonable starting bound and a constraint are required. Often,
parameters will be declared as notNegative, but can also be
noConstraints for unconstrained. Parameter constraints are handled
automatically by the optimisers, such that the Nelder-Mead algorithm
will run in a transformed (unbounded) parameter space.
module GrowthFunctions =
// Parameters
let K = parameter "K" Positive 20.0<gram> 40.0<gram> // upper asymptote
let β = parameter "β" Positive 0.1 2.0
let L = parameter "L" Positive 20.0<gram> 40.0<gram> // lower asymptote
// The meaning of r changes between models, so define it seperately
let rAbs = parameter "r_abs" Positive 1.1<gram/day> 1.2<gram/day>
let r = parameter "r" Positive 0.01</day> 2.00</day>
// 7x typical model forms (ODEs)
let linear = P rAbs
let exponential = P r * This<gram>
let powerLaw = P r * This<gram> ** P β
let monomolecular = P r * (P K - This<gram>)
let logistic = P r * This<gram> * (Constant 1. - This / P K)
let logisticFour = P r * (This<gram> - P L) * ((P K - This) / (P K - P L))
let gompertz = P r * This<gram> * Logarithm (P K / This)
// Scaffold into a list of plausable hypotheses:
let hypotheses =
let mkModel ode = Model.empty |> Model.addRateEquation mass ode
[
"linear", mkModel linear |> Model.estimateParameter rAbs
"exponential", mkModel exponential |> Model.estimateParameter r
"power", mkModel powerLaw |> Model.estimateParameter r |> Model.estimateParameter β
"monomolecular", mkModel monomolecular |> Model.estimateParameter r |> Model.estimateParameter K
"logistic (3-par)", mkModel logistic |> Model.estimateParameter r |> Model.estimateParameter K
"logistic (4-par)", mkModel logisticFour |> Model.estimateParameter r |> Model.estimateParameter K |> Model.estimateParameter L
"gompertz", mkModel gompertz |> Model.estimateParameter r |> Model.estimateParameter K
]
Here, to keep the example simple we have defined the
data in code, but otherwise you may load data in as you see fit.
Bristlecone expects time-series to be formatted into Bristlecone's
TimeSeries type. For neo-ecological data, the TimeSeries.fromNeoObservations
function may be used to work in .NET DateTime space. In this case, we do this
by defining a basal date to pin the time-series to, then pass the list of tuples
of data value and date to the Bristlecone function.
Lastly, Bristlecone expects a Map of TimeSeries for use in the fit function.
let baseDay = System.DateTime(2000, 01, 01)
let data =
[
mass.Code, TimeSeries.fromNeoObservations [
0.07, baseDay.AddDays 14
0.44, baseDay.AddDays 35
2.83, baseDay.AddDays 70
4.47, baseDay.AddDays 98
8.39, baseDay.AddDays 133
9.00, baseDay.AddDays 161
6.13, baseDay.AddDays 189
]
]
|> Map.ofList
We need to define some basic settings to run the model-fitting. The
estimation engine represents a common fixed method used to fit a model.
The engine specified below uses the default continuous-time engine (Bristlecone.mkContinuous) with
some minor changes.
The engine needs to explicitly know about the temporal resolution of the models that
will be applied. Here, we call Bristlecone.forDailyModel to make the engine suitable
for use against daily-resolution models.
We specify to use the swarm-based Nelder-Mead algorithm for optimisation. This is more
robust than a single simplex, as it runs ten simplex at five levels, dropping the worst
results and resetting the starting bounds at each level until no improvements are made.
We specify no conditioning. Here, we know that plant biomass was effectively zero at time
zero, so we do not need to condition the time-zero value; it is known. The model fitting will
therefore run from the first time-point in the data onwards.
For the -log likelihood function, we are applying a standard gaussian function
from the built-in selection in the Bristlecone.ModelLibrary. However, for
plant growth models we likely should be using a gaussian function with heteroscedacity,
because the associated error may increase in magnitude as biomass increases.
We also therefore need to declare the sigma parameter required by the gaussian function.
Then, we can just run all of the hypotheses.
module Settings =
let engine =
Bristlecone.mkContinuous ()
|> Bristlecone.forDailyModel
|> Bristlecone.withCustomOptimisation (Optimisation.Amoeba.swarm 5 10 Optimisation.Amoeba.Solver.Default)
|> Bristlecone.withConditioning Conditioning.NoConditioning
let endCond = Optimisation.EndConditions.whenNoBestValueImprovement 100<iteration>
let sigma = parameter "σ[x]" Positive 0.01<gram> 0.5<gram>
let results =
GrowthFunctions.hypotheses
|> List.map (fun h ->
let hy =
snd h
|> Model.useLikelihoodFunction (ModelLibrary.NegLogLikelihood.Normal (Require.state mass) sigma)
|> Model.compile
fst h, Bristlecone.fit Settings.engine Settings.endCond data hy
)
The resultant model fits are shown in the below graph.
Graphing.fitPlot results
|> Plotly.NET.GenericChart.toChartHTML
No value returned by any evaluator
|
As we are applying a non-bayesian model fitting approach in this example, we
can apply Akaike weights to discren which is the most appropriate model representation
to explain this data.
A weights function exists for simple lists of competing hypotheses for a single subject,
which in this case is the single plant biomass time-series.
For more complex sets of results, use the results set functionality described
in the model selection documentation; this takes into account the subjects, hypotheses,
and one or more replicates for each.
let weights = ModelSelection.Akaike.akaikeWeights (results |> Seq.map snd)
The resultant weights are:
weights
|> Seq.zip (results |> Seq.map fst)
|> Seq.map(fun (m,(r,w)) ->
sprintf "| %s | %f | %f | %f |" m r.Likelihood w.AICc w.Weight
)
|> String.concat "\n"
No value returned by any evaluator
|
The output indicates that the best model is linear, with approximately 72% support
(this may vary as the above table is auto-generated).
...
let likelihoodProfile =
[results.[0]]
|> Seq.map(fun (name,r) ->
// Lookup the original hypothesis model using its name:
let h =
GrowthFunctions.hypotheses |> Seq.find (fun s -> fst s = name)
|> snd
|> Model.useLikelihoodFunction (ModelLibrary.NegLogLikelihood.Normal (Require.state mass) sigma)
|> Model.compile
// Run a profile likelihood around the Maximum Likelihood Estimate:
let l =
Bristlecone.Confidence.ProfileLikelihood.profile
Bristlecone.fit
Settings.engine
data
h
1000<iteration>
r
name, l )
|> Seq.toList
let sigmaBase = parameter "σ0[x]" Positive 0.01<gram> 0.5<gram>
let sigmaGrowth = parameter "σ1[x]" Positive 0.01</gram> 0.5</gram>
let results2 =
GrowthFunctions.hypotheses
|> List.map (fun h ->
let variance = ModelLibrary.NegLogLikelihood.Variance.exponential sigmaBase sigmaGrowth
let hy =
snd h
|> Model.useLikelihoodFunction (ModelLibrary.NegLogLikelihood.NormalWithVariance (Require.state mass) variance)
|> Model.compile
fst h, Bristlecone.fit Settings.engine Settings.endCond data hy
)
Multiple items
module Bristlecone
from Bristlecone
--------------------
namespace Bristlecone
module Language
from Bristlecone
<summary>
An F# Domain Specific Language (DSL) for scripting with
Bristlecone.
</summary>
module Time
from Bristlecone
Multiple items
val Measure: sId: MeasureId<'u> -> ModelExpression<'u>
--------------------
type MeasureAttribute =
inherit Attribute
new: unit -> MeasureAttribute
--------------------
new: unit -> MeasureAttribute
[<Measure>]
type gram
val mass: StateId<gram>
val state: name: string -> StateId<'u>
val K: IncludedParameter<gram>
Multiple items
val parameter: code: string -> con: Parameter.Constraint -> lower: float<'u> -> upper: float<'u> -> IncludedParameter<'u>
<summary>
Define an estimatable parameter for a Bristlecone model.
</summary>
--------------------
[<Measure>]
type parameter
val Positive: Parameter.Constraint
val β: IncludedParameter<1>
val L: IncludedParameter<gram>
val rAbs: IncludedParameter<gram/day>
[<Measure>]
type day
val r: IncludedParameter</day>
val linear: ModelExpression<gram/day>
val P: name: IncludedParameter<'u> -> ModelExpression<'u>
val exponential: ModelExpression<gram/day>
val This<'u> : ModelExpression<'u>
val powerLaw: ModelExpression<gram/day>
val monomolecular: ModelExpression<gram/day>
val logistic: ModelExpression<gram/day>
val Constant: x: float<'u> -> ModelExpression<'u>
val logisticFour: ModelExpression<gram/day>
val gompertz: ModelExpression<gram/day>
val Logarithm: expr: ModelExpression<1> -> ModelExpression<1>
val hypotheses: (string * ModelBuilder.ModelBuilder<day>) list
val mkModel: ode: ModelExpression<'u> -> ModelBuilder.ModelBuilder<gram/'u>
val ode: ModelExpression<'u>
module Model
from Bristlecone.Language
<summary>
Terms for scaffolding a model system for use with Bristlecone.
</summary>
val empty<'time> : ModelBuilder.ModelBuilder<'time>
val addRateEquation: name: StateId<'state> -> expr: ModelExpression<'state/'time> -> mb: ModelBuilder.ModelBuilder<'time> -> ModelBuilder.ModelBuilder<'time>
val estimateParameter: p: IncludedParameter<'u> -> builder: ModelBuilder.ModelBuilder<'time> -> ModelBuilder.ModelBuilder<'time>
val baseDay: System.DateTime
namespace System
Multiple items
[<Struct>]
type DateTime =
new: date: DateOnly * time: TimeOnly -> unit + 16 overloads
member Add: value: TimeSpan -> DateTime
member AddDays: value: float -> DateTime
member AddHours: value: float -> DateTime
member AddMicroseconds: value: float -> DateTime
member AddMilliseconds: value: float -> DateTime
member AddMinutes: value: float -> DateTime
member AddMonths: months: int -> DateTime
member AddSeconds: value: float -> DateTime
member AddTicks: value: int64 -> DateTime
...
<summary>Represents an instant in time, typically expressed as a date and time of day.</summary>
--------------------
System.DateTime ()
(+0 other overloads)
System.DateTime(ticks: int64) : System.DateTime
(+0 other overloads)
System.DateTime(date: System.DateOnly, time: System.TimeOnly) : System.DateTime
(+0 other overloads)
System.DateTime(ticks: int64, kind: System.DateTimeKind) : System.DateTime
(+0 other overloads)
System.DateTime(date: System.DateOnly, time: System.TimeOnly, kind: System.DateTimeKind) : System.DateTime
(+0 other overloads)
System.DateTime(year: int, month: int, day: int) : System.DateTime
(+0 other overloads)
System.DateTime(year: int, month: int, day: int, calendar: System.Globalization.Calendar) : System.DateTime
(+0 other overloads)
System.DateTime(year: int, month: int, day: int, hour: int, minute: int, second: int) : System.DateTime
(+0 other overloads)
System.DateTime(year: int, month: int, day: int, hour: int, minute: int, second: int, kind: System.DateTimeKind) : System.DateTime
(+0 other overloads)
System.DateTime(year: int, month: int, day: int, hour: int, minute: int, second: int, calendar: System.Globalization.Calendar) : System.DateTime
(+0 other overloads)
val data: Map<ShortCode.ShortCode,TimeSeries.TimeSeries<float,System.DateTime,int<year>,System.TimeSpan>>
property StateId.Code: ShortCode.ShortCode with get
Multiple items
module TimeSeries
from Bristlecone.Time
<summary>Contains functions and types to create and manipulate
`TimeSeries` values, which represent observations ordered in time.</summary>
--------------------
type TimeSeries<'T,'date,'timeunit,'timespan> = TimeSeries.TimeSeries<'T,'date,'timeunit,'timespan>
val fromNeoObservations: dataset: TimeSeries.Observation<'a,System.DateTime> seq -> TimeSeries.TimeSeries<'a,System.DateTime,int<year>,System.TimeSpan>
<summary>Create a time-series where time is represented by standard
(modern) calendars and dates and times through the built-in .NET
DateTime type.</summary>
<param name="dataset">A sequence of observations, which consist of data and dates / times</param>
<typeparam name="'a">The type of the data in the series</typeparam>
<returns>A time-series of DateTime observations ordered oldest to newest.</returns>
System.DateTime.AddDays(value: float) : System.DateTime
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>
val ofList: elements: ('Key * 'T) list -> Map<'Key,'T> (requires comparison)
val engine: EstimationEngine.EstimationEngine<System.DateTime,System.TimeSpan,day,1>
val mkContinuous: unit -> EstimationEngine.EstimationEngine<System.DateTime,System.TimeSpan,year,'u>
<summary>A basic estimation engine for ordinary differential equations, using a Nelder-Mead optimiser.</summary>
val forDailyModel: engine: EstimationEngine.EstimationEngine<'a,'b,'u,'v> -> EstimationEngine.EstimationEngine<System.DateTime,System.TimeSpan,day,'v>
val withCustomOptimisation: optim: EstimationEngine.Optimisation.Optimiser -> engine: EstimationEngine.EstimationEngine<'a,'b,'u,'v> -> EstimationEngine.EstimationEngine<'a,'b,'u,'v>
namespace Bristlecone.Optimisation
module Amoeba
from Bristlecone.Optimisation
<summary>
Nelder Mead implementation
Adapted from original at: https://github.com/mathias-brandewinder/Amoeba
</summary>
val swarm: levels: int -> amoebaAtLevel: int -> settings: Optimisation.Amoeba.Solver.Settings -> EstimationEngine.Optimisation.Optimiser
<summary>
Optimisation heuristic that creates a swarm of amoeba (Nelder-Mead) solvers.
The swarm proceeds for `numberOfLevels` levels, constraining the starting bounds
at each level to the 80th percentile of the current set of best likelihoods.
</summary>
module Solver
from Bristlecone.Optimisation.Amoeba
<summary>
Nelder–Mead downhill simplex
</summary>
val Default: Optimisation.Amoeba.Solver.Settings
val withConditioning: c: Conditioning.Conditioning<'u> -> engine: EstimationEngine.EstimationEngine<'a,'b,'v,'u> -> EstimationEngine.EstimationEngine<'a,'b,'v,'u>
<summary>
Choose how the start point is chosen when solving the model system
</summary>
module Conditioning
from Bristlecone
union case Conditioning.Conditioning.NoConditioning: Conditioning.Conditioning<'u>
val endCond: EstimationEngine.EndCondition
module EndConditions
from Bristlecone.Optimisation
<summary>Composable end conditions to specify when optimisation
routines should end.</summary>
val whenNoBestValueImprovement: window: int<iteration> -> results: EstimationEngine.Solution list -> iteration: int<iteration> -> EstimationEngine.OptimStopReason
<summary>
Given a list of solutions, which are ordered most recent first,
returns `true` if there are at least `window` recent results, and
the change within the recent results is no more than `tolerance`.
</summary>
[<Measure>]
type iteration
val sigma: IncludedParameter<gram>
val results: (string * ModelSystem.EstimationResult<System.DateTime,int<year>,System.TimeSpan>) list
module GrowthFunctions
from Plant-growth
Multiple items
module List
from Bristlecone
--------------------
module List
from Microsoft.FSharp.Collections
--------------------
type List<'T> =
| op_Nil
| op_ColonColon of Head: 'T * Tail: 'T list
interface IReadOnlyList<'T>
interface IReadOnlyCollection<'T>
interface IEnumerable
interface IEnumerable<'T>
member GetReverseIndex: rank: int * offset: int -> int
member GetSlice: startIndex: int option * endIndex: int option -> 'T list
static member Cons: head: 'T * tail: 'T list -> 'T list
member Head: 'T with get
member IsEmpty: bool with get
member Item: index: int -> 'T with get
...
val map: mapping: ('T -> 'U) -> list: 'T list -> 'U list
val h: string * ModelBuilder.ModelBuilder<day>
val hy: ModelSystem.ModelSystem<day>
val snd: tuple: ('T1 * 'T2) -> 'T2
val useLikelihoodFunction: likelihoodFn: ModelSystem.Likelihood<ModelSystem.state> -> builder: ModelBuilder.ModelBuilder<'u> -> ModelBuilder.ModelBuilder<'u>
namespace Bristlecone.ModelLibrary
module NegLogLikelihood
from Bristlecone.ModelLibrary
<summary>Negative log likelihood (-logL) functions to represent
a variety of distributions and data types.</summary>
<namespacedoc><summary>Pre-built model parts for use in Bristlecone</summary></namespacedoc>
val Normal: obs: Require.ObsForLikelihood<'u> -> sigma: IncludedParameter<'u> -> ModelSystem.Likelihood<'v>
module Require
from Bristlecone.Language
val state: s: StateId<'u> -> Require.ObsForLikelihood<'u>
val compile: (ModelBuilder.ModelBuilder<'u> -> ModelSystem.ModelSystem<'u>)
val fst: tuple: ('T1 * 'T2) -> 'T1
val fit: engine: EstimationEngine.EstimationEngine<'a,'b,'modelTimeUnit,'u> -> endCondition: EstimationEngine.EndCondition -> timeSeriesData: CodedMap<TimeSeries<float<'u>,'a,'c,'b>> -> model: ModelSystem.ModelSystem<'modelTimeUnit> -> ModelSystem.EstimationResult<'a,'c,'b> (requires comparison and comparison)
<summary>Fit a time-series model to data.</summary>
<param name="engine">An estimation engine configured and tested for the given model.</param>
<param name="endCondition">The condition at which optimisation should cease.</param>
<param name="timeSeriesData">Time-series dataset that contains a series for each equation in the model system.</param>
<param name="model">A model system of equations, likelihood function, estimatible parameters, and optional measures.</param>
<returns>The result of the model-fitting procedure. If an error occurs, throws an exception.</returns>
module Settings
from Plant-growth
namespace Plotly
namespace Plotly.NET
val fitPlot: r: (string * ModelSystem.EstimationResult<System.DateTime,int<year>,System.TimeSpan>) seq -> GenericChart.GenericChart
val r: (string * ModelSystem.EstimationResult<System.DateTime,int<year>,System.TimeSpan>) seq
Multiple items
val string: value: 'T -> string
--------------------
type string = System.String
module ModelSystem
from Bristlecone
<summary>
Represents an ordinary differential equation model system and
its likelihood as an objective function that may be optimised.
</summary>
type EstimationResult<'date,'timeunit,'timespan> =
{
ResultId: Guid
Likelihood: float<-logL>
Parameters: ParameterPool
Series: CodedMap<FitSeries<'date,'timeunit,'timespan>>
Trace: Trace list
InternalDynamics: CodedMap<float<state> array> option
Metadata: List<string * string>
}
<summary>
An estimated model fit for a time-series model.
</summary>
Multiple items
val int: value: 'T -> int (requires member op_Explicit)
--------------------
type int = int32
--------------------
type int<'Measure> =
int
[<Measure>]
type year
Multiple items
[<Struct>]
type TimeSpan =
new: hours: int * minutes: int * seconds: int -> unit + 4 overloads
member Add: ts: TimeSpan -> TimeSpan
member CompareTo: value: obj -> int + 1 overload
member Divide: divisor: float -> TimeSpan + 1 overload
member Duration: unit -> TimeSpan
member Equals: value: obj -> bool + 2 overloads
member GetHashCode: unit -> int
member Multiply: factor: float -> TimeSpan
member Negate: unit -> TimeSpan
member Subtract: ts: TimeSpan -> TimeSpan
...
<summary>Represents a time interval.</summary>
--------------------
System.TimeSpan ()
System.TimeSpan(ticks: int64) : System.TimeSpan
System.TimeSpan(hours: int, minutes: int, seconds: int) : System.TimeSpan
System.TimeSpan(days: int, hours: int, minutes: int, seconds: int) : System.TimeSpan
System.TimeSpan(days: int, hours: int, minutes: int, seconds: int, milliseconds: int) : System.TimeSpan
System.TimeSpan(days: int, hours: int, minutes: int, seconds: int, milliseconds: int, microseconds: int) : System.TimeSpan
Multiple items
val seq: sequence: 'T seq -> 'T seq
--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
val variables: (ShortCode.ShortCode * (ShortCode.ShortCode * (string * ModelSystem.FitSeries<System.DateTime,int<year>,System.TimeSpan>)) seq) seq
Multiple items
module Seq
from Bristlecone
--------------------
module Seq
from Microsoft.FSharp.Collections
val collect: mapping: ('T -> #('U seq)) -> source: 'T seq -> 'U seq
val name: string
val res: ModelSystem.EstimationResult<System.DateTime,int<year>,System.TimeSpan>
ModelSystem.EstimationResult.Series: CodedMap<ModelSystem.FitSeries<System.DateTime,int<year>,System.TimeSpan>>
val map: mapping: ('T -> 'U) -> source: 'T seq -> 'U seq
val kv: System.Collections.Generic.KeyValuePair<ShortCode.ShortCode,ModelSystem.FitSeries<System.DateTime,int<year>,System.TimeSpan>>
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 System.Collections.Generic.KeyValuePair.Value: ModelSystem.FitSeries<System.DateTime,int<year>,System.TimeSpan> 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>
val groupBy: projection: ('T -> 'Key) -> source: 'T seq -> ('Key * 'T seq) seq (requires equality)
val charts: GenericChart.GenericChart seq
val varCode: ShortCode.ShortCode
val modelFits: (ShortCode.ShortCode * (string * ModelSystem.FitSeries<System.DateTime,int<year>,System.TimeSpan>)) seq
val obsLine: GenericChart.GenericChart
val head: source: 'T seq -> 'T
val toObservations: series: TimeSeries.TimeSeries<'a,'b,'c,'d> -> ('a * 'b) seq
<summary>Turn a time series into a sequence of observations</summary>
<param name="series">A time-series</param>
<typeparam name="'a">The underlying data type</typeparam>
<typeparam name="'b">The date/time representation</typeparam>
<returns></returns>
val d: ModelSystem.FitValue
val v: System.DateTime
ModelSystem.FitValue.Obs: float<ModelSystem.state>
val toList: source: 'T seq -> 'T list
val l: (System.DateTime * float<ModelSystem.state>) 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.Point: xy: (#System.IConvertible * #System.IConvertible) seq * [<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))>] ?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 ((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.Point: x: #System.IConvertible seq * y: #System.IConvertible seq * [<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: 'a2 * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?MultiText: 'a2 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))>] ?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 ((false :> obj))>] ?UseWebGL: bool * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((true :> obj))>] ?UseDefaults: bool -> GenericChart.GenericChart (requires 'a2 :> System.IConvertible)
val lines: GenericChart.GenericChart seq
val modelName: string
val fit: ModelSystem.FitSeries<System.DateTime,int<year>,System.TimeSpan>
ModelSystem.FitValue.Fit: float<ModelSystem.state>
val x: string
val s: (System.DateTime * string * float<ModelSystem.state>) seq
val x: System.DateTime
val y: float<ModelSystem.state>
val l: (System.DateTime * float<ModelSystem.state>) seq list
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: 'a2 * [<System.Runtime.InteropServices.Optional; System.Runtime.InteropServices.DefaultParameterValue ((null :> obj))>] ?MultiText: 'a2 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 'a2 :> System.IConvertible)
property List.Head: (System.DateTime * float<ModelSystem.state>) seq with get
val append: source1: 'T seq -> source2: 'T seq -> 'T seq
static member Chart.combine: gCharts: GenericChart.GenericChart seq -> GenericChart.GenericChart
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 ShortCode.ShortCode.Value: string with get
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)
module Graphing
from Plant-growth
val fitPlot: r: (string * ModelSystem.EstimationResult<System.DateTime,int<year>,System.TimeSpan>) seq -> Plotly.NET.GenericChart.GenericChart
module GenericChart
from Plotly.NET
<summary>
Module to represent a GenericChart
</summary>
val toChartHTML: gChart: Plotly.NET.GenericChart.GenericChart -> string
val weights: (ModelSystem.EstimationResult<System.DateTime,int<year>,System.TimeSpan> * ModelSelection.Akaike.AkaikeWeight) seq
module ModelSelection
from Bristlecone
<summary>Contains tools for conducting Model Selection across
individual subjects and hypotheses.</summary>
module Akaike
from Bristlecone.ModelSelection
<summary>Functions for conducting Akaike Information Criterion (AIC).</summary>
val akaikeWeights: models: ModelSystem.EstimationResult<'date,'timeunit,'timespan> seq -> (ModelSystem.EstimationResult<'date,'timeunit,'timespan> * ModelSelection.Akaike.AkaikeWeight) seq
<summary>Akaike weights for a sequence of `EstimationResult`s.</summary>
<param name="models">The input model results</param>
<returns>An (EstimationResult * float) sequence of estimation results paired to their Akaike weights.</returns>
<exception name="ArgumentException">Occurs when there are no observations within an estimation result.</exception>
val zip: source1: 'T1 seq -> source2: 'T2 seq -> ('T1 * 'T2) seq
val m: string
val r: ModelSystem.EstimationResult<System.DateTime,int<year>,System.TimeSpan>
val w: ModelSelection.Akaike.AkaikeWeight
val sprintf: format: Printf.StringFormat<'T> -> 'T
ModelSystem.EstimationResult.Likelihood: float<-logL>
ModelSelection.Akaike.AkaikeWeight.AICc: float
ModelSelection.Akaike.AkaikeWeight.Weight: float
module String
from Microsoft.FSharp.Core
val concat: sep: string -> strings: string seq -> string
val likelihoodProfile: (string * Map<ShortCode.ShortCode,Confidence.ConfidenceInterval>) list
val h: ModelSystem.ModelSystem<day>
val find: predicate: ('T -> bool) -> source: 'T seq -> 'T
val s: string * ModelBuilder.ModelBuilder<day>
val l: Map<ShortCode.ShortCode,Confidence.ConfidenceInterval>
namespace Bristlecone.Confidence
module ProfileLikelihood
from Bristlecone.Confidence
<summary>Given a maximum likelihood estimate (MLE), the profile likelihood method
runs a Monte Carlo algorithm that samples around the MLE.</summary>
<remarks>The range for each parameter is discovered at 95% and 68%
confidence based on a chi squared distribution.</remarks>
val profile: fit: (EstimationEngine.EstimationEngine<'a,'b,'u,'v> -> EstimationEngine.EndCondition -> 'c -> ModelSystem.ModelSystem<'modelTimeUnit> -> ModelSystem.EstimationResult<'d,'e,'f>) -> engine: EstimationEngine.EstimationEngine<'a,'b,'u,'v> -> subject: 'c -> hypothesis: ModelSystem.ModelSystem<'modelTimeUnit> -> n: int<iteration> -> result: ModelSystem.EstimationResult<'g,'h,'i> -> Map<ShortCode.ShortCode,Confidence.ConfidenceInterval>
<summary>
The profile likelihood method samples the likelihood space
around the Maximum Likelihood Estimate
</summary>
val sigmaBase: IncludedParameter<gram>
val sigmaGrowth: IncludedParameter</gram>
val results2: (string * ModelSystem.EstimationResult<System.DateTime,int<year>,System.TimeSpan>) list
val variance: ModelLibrary.NegLogLikelihood.Variance.VarianceFunction<gram,gram>
module Variance
from Bristlecone.ModelLibrary.NegLogLikelihood
<summary>Functions representing how variance is handled
within likelihood functions.</summary>
val exponential: sigma0: IncludedParameter<'u> -> sigma1: IncludedParameter<'v> -> ModelLibrary.NegLogLikelihood.Variance.VarianceFunction<'u,/'v>
<summary>
Variance is exponential to the expected value (σ = σ0 * exp(σ1 * x)),
where sigma1 is the baseline variance and sigma2 is the rate of growth
in variance per units of expx.
</summary>
val NormalWithVariance: obs: Require.ObsForLikelihood<'u> -> varianceFn: ModelLibrary.NegLogLikelihood.Variance.VarianceFunction<'u,'u> -> ModelSystem.Likelihood<'v>