Straight shuffles of M from weight vectors with zero entries #
Nelsen, An Introduction to Copulas, 2nd ed., §3.2.3, describes a straight shuffle of M by a
partition of [0,1] into consecutive source intervals together with a permutation that puts the
intervals into a new order. In approximation arguments (Nelsen, Theorem 3.2.2) the natural
partitions contain intervals of length zero, which IntervalPartition excludes.
Here a straight shuffle is described by a weight vector w : Fin M → ℝ (nonnegative, summing to
one; zero entries allowed) listing the source intervals from left to right, and a permutation π
of Fin M giving the order of the pieces on the target axis. Piece k is the diagonal segment of
the square [s_k, s_k + w_k] × [t_k, t_k + w_k], where s_k = ∑_{j < k} w_j and
t_k = ∑_{π j < π k} w_j.
weightShuffle w hw0 hw1 π is defined as an honest shuffleOfMin after the zero-length pieces
are discarded (the positive pieces are enumerated in increasing order by Finset.orderIsoOfFin),
so it is a shuffle of M in the sense of the library. Its CDF is
∑_k min (clipLength (u - s_k) w_k) (clipLength (v - t_k) w_k) with
clipLength x w = min (max x 0) w (cdf_weightShuffle).
Main declarations #
IsShuffleOfMin,IsStraightShuffleOfMin: the classes of (straight) shuffles ofM.clipLength,prefixSum,sum_clipLength_prefixSum: telescoping of consecutive intervals.IntervalPartition.ofWeights: the partition formed by the positive weights.weightShuffle,cdf_weightShuffle,isStraightShuffleOfMin_weightShuffle.
Shuffles of M as a class of copulas #
S is a shuffle of M: a finite shuffle of min in the sense of shuffleOfMin, with an
arbitrary orientation of every segment (Nelsen, §3.2.3).
Equations
- One or more equations did not get rendered due to their size.
Instances For
S is a straight shuffle of M: a finite shuffle of min in which every segment keeps its
increasing orientation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
M itself is the trivial straight shuffle.
Clipped lengths and prefix sums #
The length of the part of a segment of length w that lies below x, when the segment
starts at 0: min (max x 0) w.
Equations
- ProbabilityTheory.Copula.clipLength x w = min (max x 0) w
Instances For
Two consecutive segments of lengths W and w form one segment of length W + w.
The partition of the positive weights #
The jth positive weight index, in increasing order.
Equations
- ProbabilityTheory.Copula.posIndex w hN j = ↑(((ProbabilityTheory.Copula.posWeights w).orderIsoOfFin hN) j)
Instances For
The interval partition whose cells are the positive weights, in increasing order.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The shuffle of a weight vector #
The weights listed in target order.
Equations
- ProbabilityTheory.Copula.targetWeights w π k = w ((Equiv.symm π) k)
Instances For
The target offset of piece k: the total weight of the pieces placed before it.
Equations
Instances For
The source partition of the positive pieces.
Equations
- ProbabilityTheory.Copula.shuffleSource w hw0 hw1 = ProbabilityTheory.Copula.IntervalPartition.ofWeights w hw0 hw1 ⋯
Instances For
The target partition of the positive pieces.
Equations
Instances For
The permutation of the positive pieces induced by π.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The straight shuffle of M with source weights w (in order) and target order π.
Pieces of weight zero are discarded, so this is a genuine shuffleOfMin.
Equations
- One or more equations did not get rendered due to their size.
Instances For
CDF of a weight shuffle: piece k contributes the length of its diagonal segment below
(u, v).