Invariant measure estimation
Rectangular partitions
#
PerronFrobenius.InvariantMeasures.invariantmeasure
— Method.
invariantmeasure(data, binning_scheme::RectangularBinning; kwargs...)
Partition data
according to the the given binning_scheme
and compute the invariant measure over the partition elements.
Example
Assume we have enough points that a rectangular partition yields a good estimate of the invariant measure. Then the measure over the partition can be computed as follows.
pts = [rand(3) for i = 1:2000]
# Use rectangular boxes constructed by subdividing each coordinate
# axis into 10 subintervals of equal length.
binning_scheme = RectangularBinning(10)
invariantmeasure(pts, binning_scheme)
Triangulated partitions
Say we have a 3D delay reconstruction that we have partioned into simplices.
There are two methods that approximates invariant measures over that partition.
Exact simplex intersections
#
PerronFrobenius.InvariantMeasures.invariantmeasure
— Method.
invariantmeasure(pts, ϵ::TriangulationBinning,
simplex_intersection_type::ExactIntersection) -> TriangulationExactInvariantMeasure
Estimate the invariant measure over the state space defined by pts
using a triangulation of the phase space as the partition, using exact simplex intersections to compute transition probabilities between the states (simplices).
Example
Assume we have sufficiently few points that a triangulation approach involving simplex intersections is computationally feasible to compute the invariant measure. Then a transfer operator can be computed as follows.
pts = [rand(3) for i = 1:30]
invariantmeasure(pts, TriangulationBinning(), ExactIntersection())
Approximate simplex intersections
#
PerronFrobenius.InvariantMeasures.invariantmeasure
— Method.
invariantmeasure(pts, ϵ::TriangulationBinning,
simplex_intersection_type::ApproximateIntersection;
n::Int = 100, sample_randomly::Bool = false) -> TriangulationApproxInvariantMeasure
Estimate the invariant measure over the state space defined by pts
using a triangulation of the phase space as the partition, using exact simplex intersections to compute transition probabilities between the states (simplices).
Example
Assume we have sufficiently few points that a triangulation approach involving simplex intersections is computationally feasible to compute the invariant measure. Then a transfer operator can be computed as follows.
pts = [rand(3) for i = 1:30]
invariantmeasure(pts, TriangulationBinning(), ApproximateIntersection())