Docs
Loading...
Searching...
No Matches
binary_covariate_module_cache.hpp
Go to the documentation of this file.
1#pragma once
2
7
11
21
23protected:
28
29 const double beta_prior_alpha = 1.0;
30 const double beta_prior_beta = 1.0;
31
33 const Data &data;
35
37
42
43 const double log_beta_prior =
44 std::lgamma(beta_prior_alpha) + std::lgamma(beta_prior_beta) -
45 std::lgamma(beta_prior_alpha + beta_prior_beta);
47
48public:
58 BinaryCovariatesModuleCache(const Data &data_, const BinaryCache &cache_, double beta_prior_alpha_,
59 double beta_prior_beta_, const Eigen::VectorXi *old_alloc_provider = nullptr,
60 const std::unordered_map<int, std::vector<int>> *old_cluster_members_provider_ = nullptr)
61 : beta_prior_alpha(beta_prior_alpha_), beta_prior_beta(beta_prior_beta_), data(data_), cache(cache_),
62 Module(old_alloc_provider, old_cluster_members_provider_) {}
63
68
80 double compute_similarity_cls(int cls_idx, bool old_allo = false) const override __attribute__((hot));
81
95 double compute_similarity_obs(int obs_idx, int cls_idx) const override __attribute__((hot));
96
106 Eigen::VectorXd compute_similarity_obs(int obs_idx) const override __attribute__((hot));
107
109};
Data structure for managing point distances and cluster allocations.
Base class for modules used in processes.
Cache for spatial model with binary covariates.
Cache for spatial model with binary covariates.
Definition binary_cache.hpp:17
const double beta_prior_alpha
Definition binary_covariate_module_cache.hpp:29
double compute_similarity_obs(int obs_idx, int cls_idx) const override __attribute__((hot))
Compute covariate similarity for a single observation in a cluster.
Definition binary_covariate_module_cache.cpp:48
double compute_similarity_cls(int cls_idx, bool old_allo=false) const override __attribute__((hot))
Compute covariate similarity contribution for a cluster.
Definition binary_covariate_module_cache.cpp:8
const double beta_prior_beta
Definition binary_covariate_module_cache.hpp:30
const Data & data
Reference to data object with cluster assignments.
Definition binary_covariate_module_cache.hpp:33
BinaryCovariatesModuleCache(const Data &data_, const BinaryCache &cache_, double beta_prior_alpha_, double beta_prior_beta_, const Eigen::VectorXi *old_alloc_provider=nullptr, const std::unordered_map< int, std::vector< int > > *old_cluster_members_provider_=nullptr)
Constructor for BinaryCovariatesModule.
Definition binary_covariate_module_cache.hpp:58
const BinaryCache & cache
Definition binary_covariate_module_cache.hpp:34
const double log_beta_prior
Definition binary_covariate_module_cache.hpp:43
Manages distance matrices and cluster allocations for points.
Definition Data.hpp:27
Module(const Eigen::VectorXi *old_allocations_provider_=nullptr, const std::unordered_map< int, std::vector< int > > *old_cluster_members_provider_=nullptr)
Definition Module.hpp:31