source: trunk/yat/statistics/PearsonCorrelation.cc

Last change on this file was 3114, checked in by Peter, 8 years ago

update copyright years

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.8 KB
Line 
1// $Id: PearsonCorrelation.cc 3114 2013-11-10 23:51:47Z peter $
2
3/*
4  Copyright (C) 2004, 2005 Peter Johansson
5  Copyright (C) 2006, 2007, 2008 Jari Häkkinen, Peter Johansson
6  Copyright (C) 2009, 2012, 2013 Peter Johansson
7
8  This file is part of the yat library, http://dev.thep.lu.se/yat
9
10  The yat library is free software; you can redistribute it and/or
11  modify it under the terms of the GNU General Public License as
12  published by the Free Software Foundation; either version 3 of the
13  License, or (at your option) any later version.
14
15  The yat library is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  General Public License for more details.
19
20  You should have received a copy of the GNU General Public License
21  along with yat. If not, see <http://www.gnu.org/licenses/>.
22*/
23
24#include <config.h>
25
26#include "PearsonCorrelation.h"
27#include "utility.h"
28
29namespace theplu {
30namespace yat {
31namespace statistics {
32
33  PearsonCorrelation::PearsonCorrelation(void)
34  {
35  }
36
37
38  PearsonCorrelation::~PearsonCorrelation(void)
39  {
40  }
41
42
43  void PearsonCorrelation::add(double value, bool target, double weight)
44  {
45    ap_.add(value, target ? 1.0 : -1.0, weight, 1.0);
46  }
47
48
49  double PearsonCorrelation::score(void) const
50  {
51    return ap_.correlation();
52  }
53
54
55  double PearsonCorrelation::p_right(void) const
56  {
57    return pearson_p_value(ap_.correlation(),
58                           static_cast<unsigned int>(ap_.n()));
59  }
60
61
62  double PearsonCorrelation::p_left(void) const
63  {
64    return pearson_p_value(-ap_.correlation(),
65                           static_cast<unsigned int>(ap_.n()));
66  }
67
68
69  double PearsonCorrelation::p_value_one_sided(void) const
70  {
71    return p_right();
72  }
73
74
75  double PearsonCorrelation::p_value(void) const
76  {
77    double r = ap_.correlation();
78    if (r>0)
79      return 2*p_right();
80    return 2*p_left();
81  }
82
83}}} // of namespace statistics, yat, and theplu
Note: See TracBrowser for help on using the repository browser.