num4hypothtst 0.0.3-java → 0.0.4-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6f3db78a057e9644f315ed9a66f7e8229e7b3d6f1c50a304be1ba18b5d4da0a0
4
- data.tar.gz: 34a09f03fbeb46c04e31565558f966de27c9cff12e1fb126033ec364dc056256
3
+ metadata.gz: 036effc8d6ceec1112745a846f5ea5a0c64b0ddbf5dedc1b539686a0549e4128
4
+ data.tar.gz: 8f77c2093ac590b8afa5a2cfbfa2766e6e115a0d5838bee9ae4258d90b6264fd
5
5
  SHA512:
6
- metadata.gz: 5d5f9dd8d576cdaefcd9bc91ad52d5d70e3efd96cbe2b26f07c67eaec350b0e738c9bec8cdca32d84c6bcfbb7056a878b8b0a795fede0ce20ca7fd4cfbd4f9a9
7
- data.tar.gz: fb835295a001d917844e17416d5c1fcf222bd9c3f719beb274fff2a7fcb9c77cdbd123c2c21cfb32cd135ee50f3586c5e70e89c5874857afbce25bcc0db7bca1
6
+ metadata.gz: 5a49287883d7fe6a45a96e51e7e5028870c3e8ee3940ad85eb8ca786b96ef5e0326c48278a42ea680d2a80db7014cda5ab4ffb7b2bce717b3fd62b4135aaeb27
7
+ data.tar.gz: ae6a3bbb3c09af2ac945f79554c5e5127c8abe92456bae57fd9485ccd6560b24c53397610be34632fe12547b1c73cbc67eab35e708e9ffe9f15bd7e16c13f849
data/CHANGELOG.md CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## [0.0.4] - 2023-10-13
6
+
7
+ ### change
8
+ - chg gnTest
9
+
5
10
  ## [0.0.3] - 2023-10-05
6
11
 
7
12
  ### change
@@ -0,0 +1,34 @@
1
+ package hypothtst;
2
+
3
+ import org.apache.commons.math3.distribution.TDistribution;
4
+ // グラブス・スミルノフの外れ値の検定
5
+ public class GrubbsTest {
6
+ private static GrubbsTest grubbs = new GrubbsTest();
7
+ public static GrubbsTest getInstance() {
8
+ return grubbs;
9
+ }
10
+ public boolean twoSideTest(double statistic, int n, double a) {
11
+ double r_val = calcGnValue(n, a / 2.0);
12
+ return evaluation(statistic, r_val);
13
+ }
14
+ public boolean oneSideTest(double statistic, int n, double a) {
15
+ double r_val = calcGnValue(n, a);
16
+ return evaluation(statistic, r_val);
17
+ }
18
+ private double calcGnValue(int n, double a) {
19
+ TDistribution tDist = new TDistribution(n);
20
+ double t = tDist.inverseCumulativeProbability(a / n);
21
+ double gn = (n - 1) * t / Math.sqrt(n * (n - 2 + t * t));
22
+
23
+ return Math.abs(gn);
24
+ }
25
+ private boolean evaluation(double statistic, double r_val) {
26
+ boolean ret = true;
27
+
28
+ if (Math.abs(statistic) < r_val) {
29
+ ret = false;
30
+ }
31
+ return ret;
32
+ }
33
+ }
34
+
@@ -1,9 +1,10 @@
1
+ package hypothtst;
2
+
1
3
  // 仮設検定
2
4
  interface HypothTest {
3
5
  boolean tDistTest(double statistic, double df, double a);
4
6
  boolean chi2DistTest(double statistic, double df, double a);
5
7
  boolean normDistTest(double statistic, double a);
6
8
  boolean fDistTest(double statistic, double nf, double df, double a);
7
- boolean gnTest(double statistic, int n, double a);
8
9
  }
9
10
 
@@ -1,9 +1,11 @@
1
- // 片側検定(左側)
1
+ package hypothtst;
2
+
2
3
  import org.apache.commons.math3.distribution.TDistribution;
3
4
  import org.apache.commons.math3.distribution.ChiSquaredDistribution;
4
5
  import org.apache.commons.math3.distribution.NormalDistribution;
5
6
  import org.apache.commons.math3.distribution.FDistribution;
6
7
 
8
+ // 片側検定(左側)
7
9
  public class LeftSideTest implements HypothTest {
8
10
  private static HypothTest hupothTest = new LeftSideTest();
9
11
  public static HypothTest getInstance() {
@@ -33,9 +35,6 @@ public class LeftSideTest implements HypothTest {
33
35
 
34
36
  return evaluation(statistic, l_val);
35
37
  }
36
- public boolean gnTest(double statistic, int n, double a) {
37
- return false;
38
- }
39
38
 
40
39
  private boolean evaluation(double statistic, double l_val) {
41
40
  boolean ret = true;
@@ -1,8 +1,10 @@
1
+ package hypothtst;
2
+
1
3
  import org.apache.commons.math3.distribution.TDistribution;
2
4
  import org.apache.commons.math3.distribution.ChiSquaredDistribution;
3
5
  import org.apache.commons.math3.distribution.NormalDistribution;
4
6
  import org.apache.commons.math3.distribution.FDistribution;
5
-
7
+ // 片側検定(右側)
6
8
  public class RightSideTest implements HypothTest {
7
9
  private static HypothTest hupothTest = new RightSideTest();
8
10
  public static HypothTest getInstance() {
@@ -32,17 +34,6 @@ public class RightSideTest implements HypothTest {
32
34
 
33
35
  return evaluation(statistic, r_val);
34
36
  }
35
- public boolean gnTest(double statistic, int n, double a) {
36
- double r_val = calcGnValue(n, a);
37
- return evaluation(statistic, r_val);
38
- }
39
- private double calcGnValue(int n, double a) {
40
- TDistribution tDist = new TDistribution(n);
41
- double t = tDist.inverseCumulativeProbability(a / n);
42
- double gn = (n - 1) * t / Math.sqrt(n * (n - 2 + t * t));
43
-
44
- return Math.abs(gn);
45
- }
46
37
  private boolean evaluation(double statistic, double r_val) {
47
38
  boolean ret = true;
48
39
 
@@ -1,9 +1,11 @@
1
- // 両側検定
1
+ package hypothtst;
2
+
2
3
  import org.apache.commons.math3.distribution.TDistribution;
3
4
  import org.apache.commons.math3.distribution.ChiSquaredDistribution;
4
5
  import org.apache.commons.math3.distribution.NormalDistribution;
5
6
  import org.apache.commons.math3.distribution.FDistribution;
6
7
 
8
+ // 両側検定
7
9
  public class TwoSideTest implements HypothTest {
8
10
  private static HypothTest hupothTest = new TwoSideTest();
9
11
  public static HypothTest getInstance() {
@@ -37,17 +39,6 @@ public class TwoSideTest implements HypothTest {
37
39
 
38
40
  return evaluation(statistic, l_val, r_val);
39
41
  }
40
- public boolean gnTest(double statistic, int n, double a) {
41
- double r_val = calcGnValue(n, a / 2.0);
42
- return evaluation(statistic, r_val);
43
- }
44
- private double calcGnValue(int n, double a) {
45
- TDistribution tDist = new TDistribution(n);
46
- double t = tDist.inverseCumulativeProbability(a / n);
47
- double gn = (n - 1) * t / Math.sqrt(n * (n - 2 + t * t));
48
-
49
- return Math.abs(gn);
50
- }
51
42
  private boolean evaluation(double statistic, double l_val, double r_val) {
52
43
  boolean ret = true;
53
44
 
@@ -56,14 +47,6 @@ public class TwoSideTest implements HypothTest {
56
47
  }
57
48
  return ret;
58
49
  }
59
- private boolean evaluation(double statistic, double r_val) {
60
- boolean ret = true;
61
-
62
- if (Math.abs(statistic) < r_val) {
63
- ret = false;
64
- }
65
- return ret;
66
- }
67
50
 
68
51
  }
69
52
 
data/lib/num4hypothtst.rb CHANGED
@@ -2,9 +2,10 @@ require 'java'
2
2
  require 'num4hypothtst.jar'
3
3
  require 'commons-math3-3.6.1.jar'
4
4
 
5
- java_import 'TwoSideTest'
6
- java_import 'RightSideTest'
7
- java_import 'LeftSideTest'
5
+ java_import 'hypothtst.TwoSideTest'
6
+ java_import 'hypothtst.RightSideTest'
7
+ java_import 'hypothtst.LeftSideTest'
8
+ java_import 'hypothtst.GrubbsTest'
8
9
 
9
10
  # 統計的仮設検定のためのライブラリ
10
11
  # (Apache commoms math3使用)
@@ -54,16 +55,6 @@ module Num4HypothTestLib
54
55
  def fDistTest(statistic, nf, df, a)
55
56
  return @hypothTest.fDistTest(statistic, nf, df, a)
56
57
  end
57
- # グラブス・スミルノフの外れ値の検定
58
- #
59
- # @overload gnTest(statistic, n, a)
60
- # @param [double] statistic 検定統計量
61
- # @param [int] n 自由度
62
- # @param [double] a 有意水準
63
- # @return [boolean] 検定結果(true:棄却域内 false:棄却域外)
64
- def gnTest(statistic, n, a)
65
- return @hypothTest.gnTest(statistic, n, a)
66
- end
67
58
  end
68
59
  # 片側(右側)検定
69
60
  class RightSideTestLib
@@ -110,16 +101,6 @@ module Num4HypothTestLib
110
101
  def fDistTest(statistic, nf, df, a)
111
102
  return @hypothTest.fDistTest(statistic, nf, df, a)
112
103
  end
113
- # グラブス・スミルノフの外れ値の検定
114
- #
115
- # @overload gnTest(statistic, n, a)
116
- # @param [double] statistic 検定統計量
117
- # @param [int] n 自由度
118
- # @param [double] a 有意水準
119
- # @return [boolean] 検定結果(true:棄却域内 false:棄却域外)
120
- def gnTest(statistic, n, a)
121
- return @hypothTest.gnTest(statistic, n, a)
122
- end
123
104
  end
124
105
  # 片側(左側)検定
125
106
  class LeftSideTestLib
@@ -167,5 +148,31 @@ module Num4HypothTestLib
167
148
  return @hypothTest.fDistTest(statistic, nf, df, a)
168
149
  end
169
150
  end
151
+ # グラブス・スミルノフの外れ値の検定
152
+ class GrubbsTestLib
153
+ def initialize
154
+ @hypothTest = GrubbsTest.getInstance()
155
+ end
156
+ # 両側検定
157
+ #
158
+ # @overload twoSideTest(statistic, n, a)
159
+ # @param [double] statistic 検定統計量
160
+ # @param [int] n 自由度
161
+ # @param [double] a 有意水準
162
+ # @return [boolean] 検定結果(true:棄却域内 false:棄却域外)
163
+ def twoSideTest(statistic, n, a)
164
+ return @hypothTest.twoSideTest(statistic, n, a)
165
+ end
166
+ # 片側検定
167
+ #
168
+ # @overload oneSideTest(statistic, n, a)
169
+ # @param [double] statistic 検定統計量
170
+ # @param [int] n 自由度
171
+ # @param [double] a 有意水準
172
+ # @return [boolean] 検定結果(true:棄却域内 false:棄却域外)
173
+ def oneSideTest(statistic, n, a)
174
+ return @hypothTest.oneSideTest(statistic, n, a)
175
+ end
176
+ end
170
177
  end
171
178
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: num4hypothtst
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: java
6
6
  authors:
7
7
  - siranovel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-05 00:00:00.000000000 Z
11
+ date: 2023-10-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -61,10 +61,11 @@ files:
61
61
  - Gemfile
62
62
  - LICENSE
63
63
  - Rakefile
64
- - ext/num4hypothtst/HypothTest.java
65
- - ext/num4hypothtst/LeftSideTest.java
66
- - ext/num4hypothtst/RightSideTest.java
67
- - ext/num4hypothtst/TwoSideTest.java
64
+ - ext/num4hypothtst/hypothtst/GrubbsTest.java
65
+ - ext/num4hypothtst/hypothtst/HypothTest.java
66
+ - ext/num4hypothtst/hypothtst/LeftSideTest.java
67
+ - ext/num4hypothtst/hypothtst/RightSideTest.java
68
+ - ext/num4hypothtst/hypothtst/TwoSideTest.java
68
69
  - lib/commons-math3-3.6.1.jar
69
70
  - lib/num4hypothtst.rb
70
71
  homepage: http://github.com/siranovel/num4hypothtst