chao92 1.0.0 → 1.1.0
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 +4 -4
- data/1.0.0 +3 -0
- data/= +4 -0
- data/lib/chao92/predictor.rb +39 -0
- data/lib/chao92/version.rb +1 -1
- data/lib/chao92.rb +1 -0
- data/test/estimator_test.rb +1 -1
- data/test/predictor_test.rb +17 -0
- metadata +7 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 58a6ee103eef46f27541936fee91371e0a00a133
|
|
4
|
+
data.tar.gz: cbfc9bb14b170186828b52d76d8e4eebe90ebfdc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: eef07e036dc8c3f29f93cf57262659c76e13469220635018f61c7adb81474bcad991c3de927420f9efb3fb0c33015c8c6cc9b756d7b57d34caf3931802a6898c
|
|
7
|
+
data.tar.gz: 1c9b66036df8a8cffae4585bda17af8fab9587c6791737f6f00759e468bce84580ef6acba8a1f5ed82123ae9c844889ce829d91daf898129d290c64772ec14ec
|
data/1.0.0
ADDED
data/=
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
module Chao92
|
|
2
|
+
|
|
3
|
+
class Predictor
|
|
4
|
+
|
|
5
|
+
def initialize
|
|
6
|
+
@samples = []
|
|
7
|
+
@observed = {}
|
|
8
|
+
@ff = {}
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def self.run(samples, next_number)
|
|
12
|
+
Predictor.new.predicting(samples, next_number)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def predicting(samples, next_number)
|
|
16
|
+
@samples += samples
|
|
17
|
+
update()
|
|
18
|
+
predict(next_number)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
private
|
|
22
|
+
def update
|
|
23
|
+
@observed = @samples.to_hash
|
|
24
|
+
@ff = @observed.to_inverse
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def predict(next_number)
|
|
28
|
+
@w = @ff[1] ** 2 / (2.0 * @ff[2])
|
|
29
|
+
@turing_estimator = if @ff[1]
|
|
30
|
+
1 - @ff[1].to_f / @samples.size
|
|
31
|
+
else
|
|
32
|
+
1
|
|
33
|
+
end
|
|
34
|
+
@S2 = @w * (1 - (1 - (1 - @turing_estimator) / @w ) ** next_number )
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
end
|
data/lib/chao92/version.rb
CHANGED
data/lib/chao92.rb
CHANGED
data/test/estimator_test.rb
CHANGED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class TestPredictor < Minitest::Test
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
@samples = [1, 1, 3, 5, 3, 3, 2, 1, 2, 3]
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def test_predictor_run
|
|
10
|
+
assert_equal Chao92::Predictor.run(@samples, 10).class, Float
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def test_predictor_more
|
|
14
|
+
assert Chao92::Predictor.run(@samples, 5) < Chao92::Predictor.run(@samples, 20)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: chao92
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Eval Air
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-02-
|
|
11
|
+
date: 2015-02-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -60,6 +60,8 @@ extensions: []
|
|
|
60
60
|
extra_rdoc_files: []
|
|
61
61
|
files:
|
|
62
62
|
- ".gitignore"
|
|
63
|
+
- 1.0.0
|
|
64
|
+
- '='
|
|
63
65
|
- Gemfile
|
|
64
66
|
- LICENSE.txt
|
|
65
67
|
- README.md
|
|
@@ -67,9 +69,11 @@ files:
|
|
|
67
69
|
- chao92.gemspec
|
|
68
70
|
- lib/chao92.rb
|
|
69
71
|
- lib/chao92/estimator.rb
|
|
72
|
+
- lib/chao92/predictor.rb
|
|
70
73
|
- lib/chao92/version.rb
|
|
71
74
|
- lib/support/core_ext.rb
|
|
72
75
|
- test/estimator_test.rb
|
|
76
|
+
- test/predictor_test.rb
|
|
73
77
|
- test/test_helper.rb
|
|
74
78
|
homepage: ''
|
|
75
79
|
licenses:
|
|
@@ -97,4 +101,5 @@ specification_version: 4
|
|
|
97
101
|
summary: An estimator to estimate species richness based on Cho92 estimator
|
|
98
102
|
test_files:
|
|
99
103
|
- test/estimator_test.rb
|
|
104
|
+
- test/predictor_test.rb
|
|
100
105
|
- test/test_helper.rb
|