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 | |
---|