Minor touches to models
This commit is contained in:
parent
ddd0bc0820
commit
f2d52e6180
|
@ -39,7 +39,12 @@ module IntegralChart = {
|
||||||
integral
|
integral
|
||||||
|> Distributions.Continuous.toLinear
|
|> Distributions.Continuous.toLinear
|
||||||
|> E.O.fmap(Distributions.Continuous.getShape);
|
|> E.O.fmap(Distributions.Continuous.getShape);
|
||||||
let minX = integral |> Distributions.Continuous.T.minX;
|
let range = T.xTotalRange(distPlus);
|
||||||
|
let minX =
|
||||||
|
switch (T.minX(distPlus), range) {
|
||||||
|
| (Some(min), Some(range)) => Some(min -. range *. 0.001)
|
||||||
|
| _ => None
|
||||||
|
};
|
||||||
let maxX = integral |> Distributions.Continuous.T.maxX;
|
let maxX = integral |> Distributions.Continuous.T.maxX;
|
||||||
let timeScale = distPlus.unit |> DistTypes.DistributionUnit.toJson;
|
let timeScale = distPlus.unit |> DistTypes.DistributionUnit.toJson;
|
||||||
<DistributionPlot
|
<DistributionPlot
|
||||||
|
|
|
@ -70,14 +70,14 @@ module Model = {
|
||||||
};
|
};
|
||||||
|
|
||||||
let yearlyMeanGrowthRateIfNotClosed = (group: group): yearlyNumericDiff => {
|
let yearlyMeanGrowthRateIfNotClosed = (group: group): yearlyNumericDiff => {
|
||||||
{meanDiff: 1.1, stdDiff: 1.1};
|
{meanDiff: 1.1, stdDiff: 1.08};
|
||||||
};
|
};
|
||||||
|
|
||||||
let calculateDifference =
|
let calculateDifference =
|
||||||
(currentValue, dateTime, currentDateTime, y: yearlyNumericDiff) => {
|
(currentValue, dateTime, currentDateTime, y: yearlyNumericDiff) => {
|
||||||
let yearDiff = MomentRe.diff(dateTime, currentDateTime, `days) /. 365.;
|
let yearDiff = MomentRe.diff(dateTime, currentDateTime, `days) /. 365.;
|
||||||
let meanDiff = Js.Math.pow_float(~base=y.meanDiff, ~exp=yearDiff);
|
let meanDiff = Js.Math.pow_float(~base=y.meanDiff, ~exp=yearDiff);
|
||||||
let stdDevDiff = Js.Math.pow_float(~base=y.meanDiff, ~exp=yearDiff);
|
let stdDevDiff = Js.Math.pow_float(~base=y.stdDiff, ~exp=yearDiff);
|
||||||
GuesstimatorDist.logNormal(
|
GuesstimatorDist.logNormal(
|
||||||
currentValue *. meanDiff,
|
currentValue *. meanDiff,
|
||||||
firstYearStdDev *. stdDevDiff,
|
firstYearStdDev *. stdDevDiff,
|
||||||
|
@ -163,8 +163,9 @@ module Model = {
|
||||||
~guesstimatorString=
|
~guesstimatorString=
|
||||||
GuesstimatorDist.min(
|
GuesstimatorDist.min(
|
||||||
GlobalCatastrophe.guesstimatorString,
|
GlobalCatastrophe.guesstimatorString,
|
||||||
GuesstimatorDist.logNormal(40., 4.),
|
GuesstimatorDist.logNormal(20., 2.),
|
||||||
),
|
),
|
||||||
|
~unit=TimeDistribution({zero: currentDateTime, unit: `years}),
|
||||||
~domain=RightLimited({xPoint: 100., excludingProbabilityMass: 0.3}),
|
~domain=RightLimited({xPoint: 100., excludingProbabilityMass: 0.3}),
|
||||||
(),
|
(),
|
||||||
),
|
),
|
||||||
|
|
|
@ -46,7 +46,7 @@ const toPdf = (values, outputResolutionCount, min, max) => {
|
||||||
const samples = new Samples(continuousSamples);
|
const samples = new Samples(continuousSamples);
|
||||||
|
|
||||||
const ratioSize$ = ratioSize(samples);
|
const ratioSize$ = ratioSize(samples);
|
||||||
const width = ratioSize$ === 'SMALL' ? 40 : 1;
|
const width = ratioSize$ === 'SMALL' ? 60 : 1;
|
||||||
|
|
||||||
const pdf = samples.toPdf({ size: outputResolutionCount, width, min, max });
|
const pdf = samples.toPdf({ size: outputResolutionCount, width, min, max });
|
||||||
continuous = pdf;
|
continuous = pdf;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user