22#ifndef COOT_DENSITY_STATS_HH
23#define COOT_DENSITY_STATS_HH
32 WITH_KOLMOGOROV_SMIRNOV_DIFFERENCE_MAP_TEST};
36 class density_stats_info_t {
45 density_stats_info_t() {
51 void add(
const double &v) {
57 void add(
const double &v,
const double &weight) {
63 std::pair<double, double> mean_and_variance()
const {
67 mean = sum/sum_weight;
68 var = sum_sq/sum_weight - mean*mean;
70 return std::pair<double, double> (mean, var);
91 std::vector<double> density_values;
104 double sum_sqrd_x_in,
105 double sum_sqrd_y_in,
110 sum_sqrd_x = sum_sqrd_x_in;
111 sum_sqrd_y = sum_sqrd_y_in;
115 double var_x()
const {
116 double mean_x = sum_x/n;
117 return (sum_sqrd_x/n - mean_x * mean_x);
119 double var_y()
const {
120 double mean_y = sum_y/n;
121 return (sum_sqrd_y/n - mean_y * mean_y);
123 void add(
const double &x,
const double &y) {
133 double top = n * sum_xy - sum_x * sum_y;
134 double b_1 = n * sum_sqrd_x - sum_x * sum_x;
135 double b_2 = n * sum_sqrd_y - sum_y * sum_y;
136 if (b_1 < 0) b_1 = 0;
137 if (b_2 < 0) b_2 = 0;
138 double c = top/(std::sqrt(b_1) * std::sqrt(b_2));
143 double top = n * sum_xy - sum_x * sum_y;
144 double b_1 = n * sum_sqrd_x - sum_x * sum_x;
145 double b_2 = n * sum_sqrd_y - sum_y * sum_y;
146 if (b_1 < 0) b_1 = 0;
147 if (b_2 < 0) b_2 = 0;
149 c.top = top; c.var_x = b_1; c.var_y = b_2;
153 return sum_xy < dcsi.sum_xy;
Definition coot-density-stats.hh:74
density correlation state - between map and model typically.
Definition coot-density-stats.hh:81
density_correlation_stats_info_t()
constructor
Definition coot-density-stats.hh:93
density_correlation_stats_info_t(double n_in, double sum_xy_in, double sum_sqrd_x_in, double sum_sqrd_y_in, double sum_x_in, double sum_y_in)
constructor
Definition coot-density-stats.hh:102
correlation_parts_t correlation_by_parts() const
the correlation by parts
Definition coot-density-stats.hh:142
double correlation() const
the correlation
Definition coot-density-stats.hh:132