1 | #ifndef _theplu_statistics_snr |
---|
2 | #define _theplu_statistics_snr |
---|
3 | |
---|
4 | // $Id: SNR.h 623 2006-09-05 02:13:12Z peter $ |
---|
5 | |
---|
6 | #include <c++_tools/statistics/Score.h> |
---|
7 | |
---|
8 | #include <gsl/gsl_cdf.h> |
---|
9 | |
---|
10 | namespace theplu { |
---|
11 | namespace utility { |
---|
12 | class vector; |
---|
13 | } |
---|
14 | namespace classifier { |
---|
15 | class DataLookWeighted1D; |
---|
16 | } |
---|
17 | namespace statistics { |
---|
18 | |
---|
19 | /// |
---|
20 | /// @brief Class for score based on signal-to-noise ratio (SNR). |
---|
21 | /// |
---|
22 | /// Also |
---|
23 | /// sometimes referred to as Golub score. The score is the ratio |
---|
24 | /// between difference in mean and the sum of standard deviations |
---|
25 | /// for two groups. \f$ \frac{ \frac{1}{n_x}\sum x_i - |
---|
26 | /// \frac{1}{n_y}\sum y_i }{ \sigma_x + \sigma_y} \f$ where \f$ |
---|
27 | /// \sigma \f$ is standard deviation. |
---|
28 | /// |
---|
29 | class SNR : public Score |
---|
30 | { |
---|
31 | |
---|
32 | public: |
---|
33 | /// |
---|
34 | /// Default Constructor. |
---|
35 | /// |
---|
36 | SNR(bool absolute=true); |
---|
37 | |
---|
38 | /// |
---|
39 | /// Calculates the value of SNR score. @return SNR score if |
---|
40 | /// absolute=true absolute value of t-score is returned |
---|
41 | /// |
---|
42 | double score(const classifier::Target& target, |
---|
43 | const utility::vector& value); |
---|
44 | |
---|
45 | /// |
---|
46 | /// Weighted version of SNR @return t-score if absolute=true |
---|
47 | /// absolute value of t-score is returned. |
---|
48 | /// |
---|
49 | double score(const classifier::Target& target, |
---|
50 | const classifier::DataLookupWeighted1D& value); |
---|
51 | |
---|
52 | /// |
---|
53 | /// Weighted version of SNR @return t-score if absolute=true |
---|
54 | /// absolute value of t-score is returned. |
---|
55 | /// |
---|
56 | double score(const classifier::Target& target, |
---|
57 | const utility::vector& value, |
---|
58 | const utility::vector& weight); |
---|
59 | private: |
---|
60 | double score_; |
---|
61 | }; |
---|
62 | |
---|
63 | }} // of namespace statistics and namespace theplu |
---|
64 | |
---|
65 | #endif |
---|
66 | |
---|