Docs
Toggle main menu visibility
Loading...
Searching...
No Matches
binary_covariate_module.hpp
Go to the documentation of this file.
1
#pragma once
2
7
8
#include "
../../utils/Data.hpp
"
9
#include "
../../utils/Module.hpp
"
10
20
21
class
BinaryCovariatesModule
:
public
Module
{
22
protected
:
27
28
const
double
beta_prior_alpha
= 1.0;
29
const
double
beta_prior_beta
= 1.0;
30
32
const
Data
&
data
;
33
34
const
Eigen::VectorXi
binary_covariate_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
48
public
:
58
BinaryCovariatesModule
(
const
Data
&data_,
const
Eigen::VectorXi binary_covariate,
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_),
62
binary_covariate_data
(binary_covariate),
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.hpp
Data structure for managing point distances and cluster allocations.
Module.hpp
Base class for modules used in processes.
BinaryCovariatesModule::data
const Data & data
Reference to data object with cluster assignments.
Definition
binary_covariate_module.hpp:32
BinaryCovariatesModule::log_beta_prior
const double log_beta_prior
Definition
binary_covariate_module.hpp:43
BinaryCovariatesModule::compute_similarity_obs
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.cpp:46
BinaryCovariatesModule::BinaryCovariatesModule
BinaryCovariatesModule(const Data &data_, const Eigen::VectorXi binary_covariate, 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.hpp:58
BinaryCovariatesModule::beta_prior_beta
const double beta_prior_beta
Definition
binary_covariate_module.hpp:29
BinaryCovariatesModule::compute_similarity_cls
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.cpp:8
BinaryCovariatesModule::beta_prior_alpha
const double beta_prior_alpha
Definition
binary_covariate_module.hpp:28
BinaryCovariatesModule::binary_covariate_data
const Eigen::VectorXi binary_covariate_data
Definition
binary_covariate_module.hpp:34
Data
Manages distance matrices and cluster allocations for points.
Definition
Data.hpp:26
Module::Module
Module(const Eigen::VectorXi *old_allocations_provider_=nullptr, const std::unordered_map< int, std::vector< int > > *old_cluster_members_provider_=nullptr)
Definition
Module.hpp:33
BNPClust
processes
module
binary_covariate_module.hpp
Generated by
1.17.0