squiggle/showcase/entries/Continuous.re

61 lines
1.7 KiB
ReasonML
Raw Normal View History

let data: DistributionTypes.xyShape = {
2020-02-17 22:53:39 +00:00
xs: [|1., 10., 10., 200., 250., 292., 330.|],
ys: [|0.0, 0.0, 0.1, 0.3, 0.5, 0.2, 0.1|],
};
2020-02-17 22:53:39 +00:00
let mixedDist =
GenericDistribution.make(
~generationSource=GuesstimatorString("mm(3, normal(5,1), [.5,.5])"),
~probabilityType=Pdf,
~domain=Complete,
2020-02-19 07:54:40 +00:00
~unit=UnspecifiedDistribution,
2020-02-17 22:53:39 +00:00
(),
)
|> GenericDistribution.renderIfNeeded(~sampleCount=3000);
let timeDist =
GenericDistribution.make(
~generationSource=GuesstimatorString("mm(3, normal(5,1), [.5,.5])"),
~probabilityType=Pdf,
~domain=Complete,
2020-02-19 07:54:40 +00:00
~unit=
TimeDistribution({
zero: MomentRe.momentNow(),
step: `years,
length:
MomentRe.Moment.add(
~duration=MomentRe.duration(5., `years),
MomentRe.momentNow(),
),
}),
2020-02-17 22:53:39 +00:00
(),
)
|> GenericDistribution.renderIfNeeded(~sampleCount=3000);
let domainLimitedDist =
GenericDistribution.make(
~generationSource=GuesstimatorString("mm(3, normal(5,1), [.5,.5])"),
~probabilityType=Pdf,
~domain=RightLimited({xPoint: 6.0, excludingProbabilityMass: 0.3}),
2020-02-19 07:54:40 +00:00
~unit=UnspecifiedDistribution,
2020-02-17 22:53:39 +00:00
(),
)
|> GenericDistribution.renderIfNeeded(~sampleCount=3000);
let distributions = () =>
<div>
<div>
2020-02-17 22:53:39 +00:00
<h2> {"Basic Mixed Distribution" |> ReasonReact.string} </h2>
<GenericDistributionChart dist=mixedDist />
</div>
<div>
<h2> {"Time Distribution" |> ReasonReact.string} </h2>
<GenericDistributionChart dist=timeDist />
</div>
<div>
<h2> {"Domain Limited Distribution" |> ReasonReact.string} </h2>
<GenericDistributionChart dist=domainLimitedDist />
</div>
</div>;
2020-02-17 22:53:39 +00:00
let entry = EntryTypes.(entry(~title="Pdf", ~render=distributions));