num4hypothtst 0.0.2-java → 0.0.4-java

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c3564f59bf158658d233f0ec0cdcba452a343ce813d2f5a2291c6fc8441c47f1
4
- data.tar.gz: 9b59b0b30599dafb56a776f494b21cdb0a22228b458887c765a4e95efe8a1e91
3
+ metadata.gz: 036effc8d6ceec1112745a846f5ea5a0c64b0ddbf5dedc1b539686a0549e4128
4
+ data.tar.gz: 8f77c2093ac590b8afa5a2cfbfa2766e6e115a0d5838bee9ae4258d90b6264fd
5
5
  SHA512:
6
- metadata.gz: 70cf286a4920f288482b1357eda4b83ed4d2ad32c148b6ebe8fc5729b2caa85b6309afc5623e4de6bf388deb6e3d3b010fc0e31d0555f732862c98676f31a543
7
- data.tar.gz: 52b9ae2a01509aa123eca73b256117010a40bad4f8138f66dd45881beb06838d27d248631071fdbdf5673d7e360820ca31f4ee207ee38c93ffc1d648c543195e
6
+ metadata.gz: 5a49287883d7fe6a45a96e51e7e5028870c3e8ee3940ad85eb8ca786b96ef5e0326c48278a42ea680d2a80db7014cda5ab4ffb7b2bce717b3fd62b4135aaeb27
7
+ data.tar.gz: ae6a3bbb3c09af2ac945f79554c5e5127c8abe92456bae57fd9485ccd6560b24c53397610be34632fe12547b1c73cbc67eab35e708e9ffe9f15bd7e16c13f849
data/CHANGELOG.md CHANGED
@@ -2,6 +2,24 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## [0.0.4] - 2023-10-13
6
+
7
+ ### change
8
+ - chg gnTest
9
+
10
+ ## [0.0.3] - 2023-10-05
11
+
12
+ ### change
13
+ - chg name of function to normDistTest from normDistest.
14
+
15
+ ### add
16
+ - add function of gnTest.
17
+
18
+ ## [0.0.2] - 2023-10-02
19
+
20
+ ### change
21
+ - chg url of homepage
22
+
5
23
  ## [0.0.1] - 2023-10-02
6
24
 
7
25
  ### Fixed
@@ -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,8 +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
- boolean normDistest(double statistic, double a);
7
+ boolean normDistTest(double statistic, double a);
6
8
  boolean fDistTest(double statistic, double nf, double df, double a);
7
9
  }
8
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() {
@@ -21,7 +23,7 @@ public class LeftSideTest implements HypothTest {
21
23
 
22
24
  return evaluation(statistic, l_val);
23
25
  }
24
- public boolean normDistest(double statistic, double a) {
26
+ public boolean normDistTest(double statistic, double a) {
25
27
  NormalDistribution norDist = new NormalDistribution(0, 1);
26
28
  double l_val = norDist.inverseCumulativeProbability(a);
27
29
 
@@ -33,6 +35,7 @@ public class LeftSideTest implements HypothTest {
33
35
 
34
36
  return evaluation(statistic, l_val);
35
37
  }
38
+
36
39
  private boolean evaluation(double statistic, double l_val) {
37
40
  boolean ret = true;
38
41
 
@@ -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() {
@@ -20,7 +22,7 @@ public class RightSideTest implements HypothTest {
20
22
 
21
23
  return evaluation(statistic, r_val);
22
24
  }
23
- public boolean normDistest(double statistic, double a) {
25
+ public boolean normDistTest(double statistic, double a) {
24
26
  NormalDistribution norDist = new NormalDistribution(0, 1);
25
27
  double r_val = norDist.inverseCumulativeProbability(1.0 - a);
26
28
 
@@ -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() {
@@ -23,7 +25,7 @@ public class TwoSideTest implements HypothTest {
23
25
 
24
26
  return evaluation(statistic, l_val, r_val);
25
27
  }
26
- public boolean normDistest(double statistic, double a) {
28
+ public boolean normDistTest(double statistic, double a) {
27
29
  NormalDistribution norDist = new NormalDistribution(0, 1);
28
30
  double l_val = norDist.inverseCumulativeProbability(a / 2.0);
29
31
  double r_val = norDist.inverseCumulativeProbability(1.0 - a / 2.0);
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使用)
@@ -17,40 +18,40 @@ module Num4HypothTestLib
17
18
  # T検定
18
19
  #
19
20
  # @overload tDistTest(statistic, df, a)
20
- # @param [double] statistic 統計量
21
+ # @param [double] statistic 検定統計量
21
22
  # @param [int] df 自由度
22
23
  # @param [double] a 有意水準
23
- # return [boolean] 検定結果(true:棄却域内 false:棄却域外)
24
+ # @return [boolean] 検定結果(true:棄却域内 false:棄却域外)
24
25
  def tDistTest(statistic, df, a)
25
26
  return @hypothTest.tDistTest(statistic, df, a)
26
27
  end
27
28
  # 階2乗検定
28
29
  #
29
30
  # @overload chi2DistTest(statistic, df, a)
30
- # @param [double] statistic 統計量
31
+ # @param [double] statistic 検定統計量
31
32
  # @param [int] df 自由度
32
33
  # @param [double] a 有意水準
33
- # return [boolean] 検定結果(true:棄却域内 false:棄却域外)
34
+ # @return [boolean] 検定結果(true:棄却域内 false:棄却域外)
34
35
  def chi2DistTest(statistic, df, a)
35
36
  return @hypothTest.chi2DistTest(statistic, df, a)
36
37
  end
37
38
  # 標準正規分布検定
38
39
  #
39
- # @overload normDistest(statistic, a)
40
- # @param [double] statistic 統計量
40
+ # @overload normDistTest(statistic, a)
41
+ # @param [double] statistic 検定統計量
41
42
  # @param [double] a 有意水準
42
- # return [boolean] 検定結果(true:棄却域内 false:棄却域外)
43
- def normDistest(statistic, a)
44
- return @hypothTest.normDistest(statistic, a)
43
+ # @return [boolean] 検定結果(true:棄却域内 false:棄却域外)
44
+ def normDistTest(statistic, a)
45
+ return @hypothTest.normDistTest(statistic, a)
45
46
  end
46
47
  # F検定
47
48
  #
48
49
  # @overload fDistTest(statistic, nf, df, a)
49
- # @param [double] statistic 統計量
50
+ # @param [double] statistic 検定統計量
50
51
  # @param [int] nf 自由度
51
52
  # @param [int] df 自由度
52
53
  # @param [double] a 有意水準
53
- # return [boolean] 検定結果(true:棄却域内 false:棄却域外)
54
+ # @return [boolean] 検定結果(true:棄却域内 false:棄却域外)
54
55
  def fDistTest(statistic, nf, df, a)
55
56
  return @hypothTest.fDistTest(statistic, nf, df, a)
56
57
  end
@@ -63,40 +64,40 @@ module Num4HypothTestLib
63
64
  # T検定
64
65
  #
65
66
  # @overload tDistTest(statistic, df, a)
66
- # @param [double] statistic 統計量
67
+ # @param [double] statistic 検定統計量
67
68
  # @param [int] df 自由度
68
69
  # @param [double] a 有意水準
69
- # return [boolean] 検定結果(true:棄却域内 false:棄却域外)
70
+ # @return [boolean] 検定結果(true:棄却域内 false:棄却域外)
70
71
  def tDistTest(statistic, df, a)
71
72
  return @hypothTest.tDistTest(statistic, df, a)
72
73
  end
73
74
  # 階2乗検定
74
75
  #
75
76
  # @overload chi2DistTest(statistic, df, a)
76
- # @param [double] statistic 統計量
77
+ # @param [double] statistic 検定統計量
77
78
  # @param [int] df 自由度
78
79
  # @param [double] a 有意水準
79
- # return [boolean] 検定結果(true:棄却域内 false:棄却域外)
80
+ # @return [boolean] 検定結果(true:棄却域内 false:棄却域外)
80
81
  def chi2DistTest(statistic, df, a)
81
82
  return @hypothTest.chi2DistTest(statistic, df, a)
82
83
  end
83
84
  # 標準正規分布検定
84
85
  #
85
- # @overload normDistest(statistic, a)
86
- # @param [double] statistic 統計量
86
+ # @overload normDistTest(statistic, a)
87
+ # @param [double] statistic 検定統計量
87
88
  # @param [double] a 有意水準
88
- # return [boolean] 検定結果(true:棄却域内 false:棄却域外)
89
- def normDistest(statistic, a)
90
- return @hypothTest.normDistest(statistic, a)
89
+ # @return [boolean] 検定結果(true:棄却域内 false:棄却域外)
90
+ def normDistTest(statistic, a)
91
+ return @hypothTest.normDistTest(statistic, a)
91
92
  end
92
93
  # F検定
93
94
  #
94
95
  # @overload fDistTest(statistic, nf, df, a)
95
- # @param [double] statistic 統計量
96
+ # @param [double] statistic 検定統計量
96
97
  # @param [int] nf 自由度
97
98
  # @param [int] df 自由度
98
99
  # @param [double] a 有意水準
99
- # return [boolean] 検定結果(true:棄却域内 false:棄却域外)
100
+ # @return [boolean] 検定結果(true:棄却域内 false:棄却域外)
100
101
  def fDistTest(statistic, nf, df, a)
101
102
  return @hypothTest.fDistTest(statistic, nf, df, a)
102
103
  end
@@ -109,43 +110,69 @@ module Num4HypothTestLib
109
110
  # T検定
110
111
  #
111
112
  # @overload tDistTest(statistic, df, a)
112
- # @param [double] statistic 統計量
113
+ # @param [double] statistic 検定統計量
113
114
  # @param [int] df 自由度
114
115
  # @param [double] a 有意水準
115
- # return [boolean] 検定結果(true:棄却域内 false:棄却域外)
116
+ # @return [boolean] 検定結果(true:棄却域内 false:棄却域外)
116
117
  def tDistTest(statistic, df, a)
117
118
  return @hypothTest.tDistTest(statistic, df, a)
118
119
  end
119
120
  # 階2乗検定
120
121
  #
121
122
  # @overload chi2DistTest(statistic, df, a)
122
- # @param [double] statistic 統計量
123
+ # @param [double] statistic 検定統計量
123
124
  # @param [int] df 自由度
124
125
  # @param [double] a 有意水準
125
- # return [boolean] 検定結果(true:棄却域内 false:棄却域外)
126
+ # @return [boolean] 検定結果(true:棄却域内 false:棄却域外)
126
127
  def chi2DistTest(statistic, df, a)
127
128
  return @hypothTest.chi2DistTest(statistic, df, a)
128
129
  end
129
130
  # 標準正規分布検定
130
131
  #
131
- # @overload normDistest(statistic, a)
132
- # @param [double] statistic 統計量
132
+ # @overload normDistTest(statistic, a)
133
+ # @param [double] statistic 検定統計量
133
134
  # @param [double] a 有意水準
134
- # return [boolean] 検定結果(true:棄却域内 false:棄却域外)
135
- def normDistest(statistic, a)
136
- return @hypothTest.normDistest(statistic, a)
135
+ # @return [boolean] 検定結果(true:棄却域内 false:棄却域外)
136
+ def normDistTest(statistic, a)
137
+ return @hypothTest.normDistTest(statistic, a)
137
138
  end
138
139
  # F検定
139
140
  #
140
141
  # @overload fDistTest(statistic, nf, df, a)
141
- # @param [double] statistic 統計量
142
+ # @param [double] statistic 検定統計量
142
143
  # @param [int] nf 自由度
143
144
  # @param [int] df 自由度
144
145
  # @param [double] a 有意水準
145
- # return [boolean] 検定結果(true:棄却域内 false:棄却域外)
146
+ # @return [boolean] 検定結果(true:棄却域内 false:棄却域外)
146
147
  def fDistTest(statistic, nf, df, a)
147
148
  return @hypothTest.fDistTest(statistic, nf, df, a)
148
149
  end
149
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
150
177
  end
151
178
 
metadata CHANGED
@@ -1,16 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: num4hypothtst
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.4
5
5
  platform: java
6
6
  authors:
7
7
  - siranovel
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-03 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
+ name: rake
14
15
  requirement: !ruby/object:Gem::Requirement
15
16
  requirements:
16
17
  - - "~>"
@@ -19,9 +20,8 @@ dependencies:
19
20
  - - ">="
20
21
  - !ruby/object:Gem::Version
21
22
  version: 12.3.3
22
- name: rake
23
- prerelease: false
24
23
  type: :development
24
+ prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
@@ -31,6 +31,7 @@ dependencies:
31
31
  - !ruby/object:Gem::Version
32
32
  version: 12.3.3
33
33
  - !ruby/object:Gem::Dependency
34
+ name: rake-compiler
34
35
  requirement: !ruby/object:Gem::Requirement
35
36
  requirements:
36
37
  - - "~>"
@@ -39,9 +40,8 @@ dependencies:
39
40
  - - ">="
40
41
  - !ruby/object:Gem::Version
41
42
  version: 1.2.5
42
- name: rake-compiler
43
- prerelease: false
44
43
  type: :development
44
+ prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - "~>"
@@ -61,17 +61,18 @@ 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
71
72
  licenses:
72
73
  - MIT
73
74
  metadata: {}
74
- post_install_message:
75
+ post_install_message:
75
76
  rdoc_options: []
76
77
  require_paths:
77
78
  - lib
@@ -86,8 +87,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
86
87
  - !ruby/object:Gem::Version
87
88
  version: '0'
88
89
  requirements: []
89
- rubygems_version: 3.3.26
90
- signing_key:
90
+ rubygems_version: 3.3.7
91
+ signing_key:
91
92
  specification_version: 4
92
93
  summary: num for statistical test
93
94
  test_files: []