ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
Partition_mod::PartitionMinVol_type Interface Reference

The PartitionMinVol_type class. More...

Inheritance diagram for Partition_mod::PartitionMinVol_type:
Collaboration diagram for Partition_mod::PartitionMinVol_type:

Public Member Functions

procedure, pass get => getPartitionMinVol
 
procedure, pass write => writePartitionMinVol
 
 constructPartitionMinVol
 
- Public Member Functions inherited from Partition_mod::Partition_type
procedure(getPartition_proc), deferred get
 
procedure(write_proc), deferred write
 

Public Attributes

logical(LK) inclusionFractionEnabled
 Logical flag that is .true. if inclusionFraction is non-zero. More...
 
real(RK) inclusionFraction
 See the interface of constructPartition(). More...
 
type(Method_typeMethod
 A structure containing the method of partitioning. More...
 
type(ParPropTryVol_type), dimension(:), allocatable Try
 An array of size (0:nemax) containing the partition tries. More...
 
- Public Attributes inherited from Partition_mod::Partition_type
integer(IK) nd
 
integer(IK) np
 See the interface of constructPartition(). More...
 
integer(IK) nc
 
integer(IK) nt
 See the interface of constructPartition(). More...
 
integer(IK) nemax
 See the interface of constructPartition(). More...
 
integer(IK) minSize
 See the interface of constructPartition(). More...
 
integer(IK) kmeansNumFailMax
 See the interface of constructPartition(). More...
 
integer(IK) numRecursiveCall
 The total number of recursive calls to the partitioning algorithm. More...
 
integer(IK) kmeansNumRecursionMax
 See the interface of constructPartition(). More...
 
integer(IK) convergenceFailureCount
 The number of times the partitioning algorithm has failed to converge. More...
 
integer(IK) kvolumeNumRecursionMax
 See the interface of constructPartition(). More...
 
logical(LK) biasCorrectionEnabled
 See the interface of constructPartition(). More...
 
logical(LK) mahalSqWeightEnabled
 A logical variable indicating whether if the input mahalSqWeight is nonzero. More...
 
logical(LK) stanEnabled
 See the interface of constructPartition(). More...
 
real(RK) nplog
 The natural logarithm of np, the initial number of points. More...
 
real(RK) kmeansRelTol
 See the interface of constructPartition(). More...
 
real(RK) logExpansion
 See the interface of constructPartition(). More...
 
real(RK) logShrinkage
 See the interface of constructPartition(). More...
 
real(RK) pointLogVolNormed
 The estimated volume of a single point based on the input value of parentLogVolNormed. More...
 
real(RK) parentLogVolNormed
 See the interface of constructPartition(). More...
 
real(RK) mahalSqWeightExponent
 See the interface of constructPartition(). More...
 
real(RK), dimension(:), allocatable BiasCorrectionScaleFactorSq
 The empirical corrections to the scale factors squared for different cluster sizes. More...
 
integer(IK), dimension(:), allocatable PointIndex
 An array of size (np) of indices such that the input Point(1:nd,Index(ip)) is saved at the output Point(1:nd,ip). More...
 
type(Err_type) Err
 An object of class Err_type containing information about error occurrence. More...
 
- Public Attributes inherited from Partition_mod::PartitionBase_type
integer(IK) ne
 The predicted optimal number of clusters identified in the input data. More...
 
integer(IK), dimension(:,:), allocatable Final
 An array of size (2,nemax) representing the (it,ic) indices of terminal partitions in Try component. More...
 
real(RK), dimension(:), allocatable VolNormedCDF
 The normalized cumulative volumes of the final partitions (to be used for selecting partitions uniformly randomly). More...
 
- Public Attributes inherited from Partition_mod::BaseProp_type
integer(IK), dimension(:), allocatable Size
 An array of size (nemax) representing the sizes of the corresponding bounding ellipsoids. More...
 
integer(IK), dimension(:), allocatable CumSumSize
 An array of size (0:nemax) containing the Cumulative sum of the array Size(). More...
 
integer(IK), dimension(:), allocatable Membership
 An array of size (np) representing the bounding-ellipsoid membership IDs of the corresponding data points. More...
 
integer(IK), dimension(:), allocatable EffectiveSize
 An array of size (nemax) indicating the likelihood of subclustering (0<<1 if successful, else 1<<2 if failed), enlargement (if < 0), being warranted. If further partitioning is warranted but fails, the likelihood will be negative. More...
 
real(RK), dimension(:), allocatable LogVolNormed
 An array of size (nemax) representing the log-volumes of the corresponding bounding ellipsoids. More...
 
real(RK), dimension(:,:,:), allocatable ChoLowCovUpp
 An array of size (nd,nd,nemax) representing the Cholesky lower triangle, diagonal, and covariance matrices of the bounding ellipsoids. More...
 
real(RK), dimension(:,:,:), allocatable InvCovMat
 An array of size (nd,nd,nemax) representing the full symmetric inverse covariance matrices of the bounding ellipsoids. More...
 
real(RK), dimension(:,:), allocatable ChoDia
 An array of size (nd,nemax) representing the Cholesky lower triangle, diagonal, and covariance matrices of the bounding ellipsoids. More...
 
real(RK), dimension(:,:), allocatable Center
 An array of size (nd,nemax) representing the centers of the bounding ellipsoids. More...
 

Detailed Description

The PartitionMinVol_type class.

This function can serve as the constructor for PartitionMinVol_type while also performing the partitioning for the first time. Construct a hierarchical partitioning of the input Point using a combination of Kmeans, Kvolume, and density maximization algorithms.

Parameters
[in]Point: An array of size (nd = #dimensions, np = #observations) containing the input set of points to partition.
[in]nc: The number of clusters at each level of partitioning (optional, default = 2).
[in]nt: The number of Kmeans clustering tries before choosing the optimal clustering among all (optional, default = 1).
[in]nemax: The maximum number of partitions to be expected or identified in the input Point (optional, default = max(nc, 1 + np / (nd + 1))).
[in]minSize: The minimum allowed size of a partition, that is, the minimum allowed number of points in a partition (optional, default = 0).
[in]stanEnabled: A logical value, indicating weather Point should be standardized prior to each Kmeans clustering (optional, default = .true.).
[in]trimEnabled: A logical value, indicating weather all allocatable components have been trimmed to the minimum size (optional, default = .false.).
[in]kmeansRelTol: The relative tolerance below which the Kmeans clustering is assumed to have converged (optional, default = 1.e-4).
[in]logExpansion: The factor by which the expected volumes of the bounding ellipsoids are enlarged before any comparisons are made for further sub-partitioning (optional, default = 0.).
[in]logShrinkage: The logarithm of the factor by which the sum of the volumes of the children bounds must be smaller than their parents to warrant further sub-partitioning (optional, default = 0.).
[in]inclusionFraction: The fraction of non-member points that are inside the partition, to be used in estimating of the true volumes of the partitions (optional, default = 1.).
[in]parentLogVolNormed: The logarithm of the volume of the input set of points normalized to the volume of the unit nd-ball (optional, default = -infinity).
[in]mahalSqWeightExponent: The exponent with which the density of the partitions are exponentiated to be used as the Mahalanobis distance weights (optional, default = 0.).
[in]kmeansNumFailMax: The maximum number of times Kmeans clustering is allowed to fail (optional, default = 10).
[in]kmeansNumRecursionMax: The maximum number of times Kmeans clustering is allowed to refine the cluster centers via the algorithm of Lloyd (optional, default = 300).
[in]kvolumeNumRecursionMax: The maximum number of times Kvolume algorithm is run to minimize the partition volumes at a given partitioning level (optional, default = 3).
[in]method: The method to be used for partitioning. Possible values include "Dynesty", "MultiNest", "ParaMonte", all case-INsensitive. (optional, default = "ParaMonte").
Warning
On output, Point will be reordered.
When trimEnabled = .false., only the first 1:ne elements of all allocatable arrays contain meaningful information. As such, the rest of the trailing elements must be properly ignored when using the allocatable Partition components. For example, upon exit, only PartitionLogVolNormed(1:Partitionne) contain meaningful information.
When trimEnabled = .true., all allocatable arrays will be trimmed from size nemax to the size ne. In such a case, calling the method Partitiontun() after constructing the Partition object for the first time will likely lead to segmentation fault error.
Remarks
If no input value if provided for parentLogVolNormed, both parentLogVolNormed and pointLogVolNormed will (must) be set to NEGBIG_RK.
Author:
Amir Shahmoradi, April 03, 2017, 2:16 AM, ICES, University of Texas at Austin

Definition at line 351 of file Partition_mod.F90.

Member Function/Subroutine Documentation

◆ constructPartitionMinVol()

Partition_mod::PartitionMinVol_type::constructPartitionMinVol

◆ get()

procedure, pass Partition_mod::PartitionMinVol_type::get

Definition at line 357 of file Partition_mod.F90.

◆ write()

procedure, pass Partition_mod::PartitionMinVol_type::write

Definition at line 358 of file Partition_mod.F90.

Member Data Documentation

◆ inclusionFraction

real(RK) Partition_mod::PartitionMinVol_type::inclusionFraction

See the interface of constructPartition().

Definition at line 353 of file Partition_mod.F90.

◆ inclusionFractionEnabled

logical(LK) Partition_mod::PartitionMinVol_type::inclusionFractionEnabled

Logical flag that is .true. if inclusionFraction is non-zero.

Definition at line 352 of file Partition_mod.F90.

◆ Method

type(Method_type) Partition_mod::PartitionMinVol_type::Method

A structure containing the method of partitioning.

Definition at line 354 of file Partition_mod.F90.

◆ Try

type(ParPropTryVol_type), dimension(:), allocatable Partition_mod::PartitionMinVol_type::Try

An array of size (0:nemax) containing the partition tries.

Definition at line 355 of file Partition_mod.F90.


The documentation for this interface was generated from the following file: