Health-GPS 3.0.0.0
Global Health Policy Simulation model (Health-GPS)
Loading...
Searching...
No Matches
static_hierarchical_linear_model.h
Go to the documentation of this file.
1#pragma once
2
4#include "interfaces.h"
5#include "mapping.h"
6
7namespace hgps {
8
12 double value{};
13
15 double pvalue{};
16
18 double tvalue{};
19
21 double std_error{};
22};
23
27 std::unordered_map<core::Identifier, Coefficient> coefficients;
28
31
33 double rsquared{};
34};
35
57
63 public:
67 StaticHierarchicalLinearModel(const std::unordered_map<core::Identifier, LinearModel> &models,
68 const std::map<int, HierarchicalLevel> &levels);
69
70 RiskFactorModelType type() const noexcept override;
71
72 std::string name() const noexcept override;
73
74 void generate_risk_factors(RuntimeContext &context) override;
75
76 void update_risk_factors(RuntimeContext &context) override;
77
78 private:
79 const std::unordered_map<core::Identifier, LinearModel> &models_;
80 const std::map<int, HierarchicalLevel> &levels_;
81
82 void generate_for_entity(RuntimeContext &context, Person &entity, int level,
83 std::vector<MappingEntry> &level_factors);
84};
85
88 public:
94 std::unordered_map<core::Identifier, LinearModel> linear_models,
95 std::map<int, HierarchicalLevel> model_levels);
96
99 std::unique_ptr<RiskFactorModel> create_model() const override;
100
101 private:
102 std::unordered_map<core::Identifier, LinearModel> models_;
103 std::map<int, HierarchicalLevel> levels_;
104};
105
106} // namespace hgps
Risk factor model definition interface.
Definition risk_factor_model.h:44
Risk factor model interface.
Definition risk_factor_model.h:21
Defines the Simulation runtime context data type.
Definition runtime_context.h:22
Defines the full hierarchical linear model data type.
Definition static_hierarchical_linear_model.h:87
std::unique_ptr< RiskFactorModel > create_model() const override
Construct a new StaticHierarchicalLinearModel from this definition.
Definition static_hierarchical_linear_model.cpp:127
Implements the static hierarchical linear model type.
Definition static_hierarchical_linear_model.h:62
void update_risk_factors(RuntimeContext &context) override
Update risk factors for population.
Definition static_hierarchical_linear_model.cpp:36
RiskFactorModelType type() const noexcept override
Gets the model type identifier.
Definition static_hierarchical_linear_model.cpp:13
std::string name() const noexcept override
Gets the model name.
Definition static_hierarchical_linear_model.cpp:17
void generate_risk_factors(RuntimeContext &context) override
Generates the initial risk factors for a population and newborns.
Definition static_hierarchical_linear_model.cpp:19
Defines a contiguous storage for two-dimensional numerical data in row-major format.
Definition array2d.h:15
Top-level namespace for Health-GPS Console host application.
Definition command_options.cpp:8
RiskFactorModelType
Health GPS risk factor module types enumeration.
Definition risk_factor_model.h:12
Regression coefficients data type.
Definition static_hierarchical_linear_model.h:10
double value
The coefficient value.
Definition static_hierarchical_linear_model.h:12
double std_error
Associated standard error.
Definition static_hierarchical_linear_model.h:21
double tvalue
Associated t-value.
Definition static_hierarchical_linear_model.h:18
double pvalue
Associated p-value.
Definition static_hierarchical_linear_model.h:15
Defines a hierarchical level data type.
Definition static_hierarchical_linear_model.h:37
core::DoubleArray2D residual_distribution
The residuals distribution.
Definition static_hierarchical_linear_model.h:49
core::DoubleArray2D inverse_transition
The inverse transition matrix.
Definition static_hierarchical_linear_model.h:46
core::DoubleArray2D transition
The transition matrix.
Definition static_hierarchical_linear_model.h:43
core::DoubleArray2D correlation
The correlation matrix.
Definition static_hierarchical_linear_model.h:52
std::vector< double > variances
The associated variance.
Definition static_hierarchical_linear_model.h:55
std::unordered_map< core::Identifier, int > variables
The level variables.
Definition static_hierarchical_linear_model.h:40
Defines a linear regression model data type.
Definition static_hierarchical_linear_model.h:25
double residuals_standard_deviation
The residuals standard deviation value.
Definition static_hierarchical_linear_model.h:30
double rsquared
The R squared value.
Definition static_hierarchical_linear_model.h:33
std::unordered_map< core::Identifier, Coefficient > coefficients
The model coefficients.
Definition static_hierarchical_linear_model.h:27
Defines a virtual population person data type.
Definition person.h:39