|
| | NGGPx (Data &d, NGGP_params &p, U_sampler &U_sam, const std::vector< std::shared_ptr< Module > > &mods) |
| | Construct an NGGPWx process.
|
| double | gibbs_prior_existing_cluster (int cls_idx, int obs_idx=0) const override |
| | Computes the log prior probability of assigning a data point to an existing cluster.
|
| Eigen::VectorXd | gibbs_prior_existing_clusters (int obs_idx) const override |
| | Computes the log prior for assigning an observation to each existing cluster.
|
| double | gibbs_prior_new_cluster () const override |
| | Computes the log prior probability of assigning a data point to a new cluster.
|
| double | gibbs_prior_new_cluster_obs (int obs_idx) const override |
| | Observation-specific new-cluster prior.
|
| double | prior_ratio_split (int ci, int cj) const override |
| | Computes the prior ratio for a split operation in a spatially-aware NGGP-based split-merge MCMC algorithm.
|
| double | prior_ratio_merge (int size_old_ci, int size_old_cj) const override |
| | Computes the prior ratio for a merge operation in a spatially-aware NGGP-based split-merge MCMC algorithm.
|
| double | prior_ratio_shuffle (int size_old_ci, int size_old_cj, int ci, int cj) const override |
| | Computes the prior ratio for a shuffle operation in a spatially-aware NGGP-based split-merge MCMC algorithm.
|
| void | update_params () override |
| | Update process parameters.
|
| | NGGP (Data &d, NGGP_params &p, U_sampler &mh) |
| | Constructor for the Normalized Generalized Gamma Process.
|
| | Process (Data &d) |
| | Constructor initializing process with data and parameters.
|
| void | set_old_allocations (const Eigen::VectorXi &new_allocations) |
| | Store current allocations for potential rollback.
|
| void | set_old_cluster_members (const std::unordered_map< int, std::vector< int > > &new_cluster_members) |
| | Store current cluster members for potential rollback.
|
| void | set_old_K (int new_K) |
| | Store current number of clusters for potential rollback.
|
| void | restore_state () |
| | Restores the cached state into the data object.
|
| const Eigen::VectorXi & | old_allocations_view () const |
| | Provides read-only access to the stored previous allocations.
|
| void | set_idx_i (int i) |
| | Set index of first observation in split-merge pair.
|
| void | set_idx_j (int j) |
| | Set index of second observation in split-merge pair.
|
| virtual | ~Process () |
| | Virtual destructor for proper cleanup of derived classes.
|
|
| std::vector< std::shared_ptr< Module > > | modules |
| const double | log_a = log(params.a) |
| | Precomputed logarithm of total mass parameter for efficiency.
|
| const NGGP_params & | params |
| U_sampler & | U_sampler_method |
| | Reference to the U_sampler instance for updating the latent variable U.
|
| std::random_device | rd |
| | Random device for seeding.
|
| std::mt19937 | gen |
| | Mersenne Twister random number generator.
|
| Data & | data |
| | Reference to the data object containing observations and allocations.
|
| Eigen::VectorXi | old_allocations |
| | Storage for previous allocations to enable rollback in case of rejection or for computation requiring it.
|
| std::unordered_map< int, std::vector< int > > | old_cluster_members |
| | Storage for previous cluster members to enable rollback in case of rejection or for computation requiring it.
|
| int | old_K = 0 |
| | Number of clusters associated with the stored previous state.
|
| int | idx_i |
| | Index of first observation involved in split-merge move.
|
| int | idx_j |
| | Index of second observation involved in split-merge move.
|
NGGP clustering process with module-based covariates.
This class extends the Normalized Generalized Gamma Process (NGGP) to incorporate module-based computations for covariates and other similarity terms. It augments Gibbs and split-merge moves with module contributions computed through the Module interface.