Docs
Loading...
Searching...
No Matches
spatial_module_continuous.hpp
Go to the documentation of this file.
1
6
7#pragma once
8
11
25protected:
33 std::vector<std::vector<int>> neighbor_cache;
34
43
44 const Data
46 const Eigen::MatrixXd W;
47 const double spatial_weight =
48 1.0;
49
50public:
66 SpatialModuleContinuous(const Data &data_, const Eigen::MatrixXd W_,
67 double spatial_coeff,
68 const Eigen::VectorXi *old_alloc_provider = nullptr,
69 const std::unordered_map<int, std::vector<int>>
70 *old_cluster_members_provider_ = nullptr)
71 : W(W_), data_module(data_), spatial_weight(spatial_coeff),
72 Module(old_alloc_provider, old_cluster_members_provider_) {
73
75 }
76
81
91 Eigen::VectorXd compute_similarity_obs(int obs_idx) const override;
92
106 double compute_similarity_cls(int cls_idx,
107 bool old_allo = false) const override;
108
120 double compute_similarity_obs(int obs_idx, int cls_idx) const override;
122};
Data structure for managing point distances and cluster allocations.
Base class for modules used in processes.
Manages distance matrices and cluster allocations for points.
Definition Data.hpp:26
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
Eigen::VectorXd compute_similarity_obs(int obs_idx) const override
Counts neighbors of an observation grouped by cluster membership.
Definition spatial_module_continuous.cpp:92
const Data & data_module
Reference to data object with cluster assignments.
Definition spatial_module_continuous.hpp:45
void neighbor_cache_compute()
Precomputes and stores neighbor indices for all observations.
Definition spatial_module_continuous.cpp:8
std::vector< std::vector< int > > neighbor_cache
Cache storing neighbor indices for each observation.
Definition spatial_module_continuous.hpp:33
SpatialModuleContinuous(const Data &data_, const Eigen::MatrixXd W_, double spatial_coeff, const Eigen::VectorXi *old_alloc_provider=nullptr, const std::unordered_map< int, std::vector< int > > *old_cluster_members_provider_=nullptr)
Constructs a SpatialModuleContinuous with parameter and data references.
Definition spatial_module_continuous.hpp:66
const double spatial_weight
Weighting factor for spatial similarity.
Definition spatial_module_continuous.hpp:47
const Eigen::MatrixXd W
Reference to adjacency matrix W from covariates.
Definition spatial_module_continuous.hpp:46
double compute_similarity_cls(int cls_idx, bool old_allo=false) const override
Counts internal edges within a cluster.
Definition spatial_module_continuous.cpp:43