quickstats 2.0.0 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/quickstats.rb +13 -0
- data/quickstats.gemspec +5 -4
- data/test/test_quickstats.rb +7 -0
- metadata +6 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: f597df010147bfe94435eb14527af7fab444cbce2d0a193654be767e6fce58a2
|
4
|
+
data.tar.gz: 63f4f949c7b271f48bbbef88b903f17806446e5f335ead4329fe4d6c29709491
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 579aae68d531a2e4cd0905bdb1c6a4b4f4191f541372dd5e2cdfd0a723dbf3dff78d6504e0373a086cb0d6c435042ac0ad24c3aea1848eac0211e6739c29d6f7
|
7
|
+
data.tar.gz: 95e97e151fca9bf2fba2dd95c3a9e26ccf9ce91323996f6abd9f7f1e56bd41703f7d7904272cc77f618df01ee8e7a25523a5569f7b0e4a1a9507f265e8c99b7d
|
data/lib/quickstats.rb
CHANGED
@@ -110,4 +110,17 @@ class QuickStats
|
|
110
110
|
end
|
111
111
|
|
112
112
|
alias std_err standard_error
|
113
|
+
|
114
|
+
# Calculates unbiased estimate of quadratic loss (a la' Taguchi)
|
115
|
+
# relative to a specified target value.
|
116
|
+
#
|
117
|
+
# *Arguments*::
|
118
|
+
# - +target:+ -> the designated target value for the loss function.
|
119
|
+
# *Returns*::
|
120
|
+
# - the quadratic loss calculated for the data, or NaN if this is a
|
121
|
+
# new or just-reset QuickStats object.
|
122
|
+
def loss(target:)
|
123
|
+
fail 'Must supply target to loss function' unless target
|
124
|
+
@n > 1 ? (@sample_mean - target)**2 + @sum_sqrs / @n : Float::NAN
|
125
|
+
end
|
113
126
|
end
|
data/quickstats.gemspec
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
# -*- ruby -*-
|
2
|
-
_VERSION = "2.
|
2
|
+
_VERSION = "2.1.0"
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "quickstats"
|
6
6
|
s.version = _VERSION
|
7
|
-
s.date = "
|
7
|
+
s.date = "2019-03-18"
|
8
8
|
s.summary = "Computationally stable and efficient basic descriptive statistics."
|
9
9
|
s.email = "pjs@alum.mit.edu"
|
10
10
|
s.description = "This class uses Kalman Filter updating to tally sample mean and sum of squared deviations from the average, along with min, max, and sample size. Sample variance, standard deviation, and standard error are calculated on demand."
|
@@ -16,6 +16,7 @@ Gem::Specification.new do |s|
|
|
16
16
|
Rakefile
|
17
17
|
test/test_quickstats.rb
|
18
18
|
]
|
19
|
-
s.required_ruby_version = '>=
|
20
|
-
s.
|
19
|
+
s.required_ruby_version = '>= 2.3'
|
20
|
+
s.homepage = 'https://bitbucket.org/paul_j_sanchez/quickstats'
|
21
|
+
s.license = 'LGPL-2.1-or-later'
|
21
22
|
end
|
data/test/test_quickstats.rb
CHANGED
@@ -11,6 +11,7 @@ class QuickStats_test < Test::Unit::TestCase
|
|
11
11
|
assert_true qs.sample_variance.nan?
|
12
12
|
assert_true qs.min.nan?
|
13
13
|
assert_true qs.max.nan?
|
14
|
+
assert_true qs.loss(target: 0).nan?
|
14
15
|
|
15
16
|
qs.add_set [41,43]
|
16
17
|
assert_equal 2, qs.n
|
@@ -20,6 +21,9 @@ class QuickStats_test < Test::Unit::TestCase
|
|
20
21
|
assert_equal 41.0, qs.min
|
21
22
|
assert_equal 43.0, qs.max
|
22
23
|
assert_equal 1.0, qs.standard_error
|
24
|
+
assert_equal 1.0, qs.loss(target: 42.0)
|
25
|
+
assert_equal 2.0, qs.loss(target: 43.0)
|
26
|
+
assert_equal 65.0, qs.loss(target: 50.0)
|
23
27
|
qs.new_obs 42
|
24
28
|
assert_equal 3, qs.n
|
25
29
|
assert_equal 42.0, qs.sample_mean
|
@@ -27,6 +31,8 @@ class QuickStats_test < Test::Unit::TestCase
|
|
27
31
|
assert_equal 1.0, qs.standard_deviation
|
28
32
|
assert_equal 41.0, qs.min
|
29
33
|
assert_equal 43.0, qs.max
|
34
|
+
assert_equal 2.0/3.0, qs.loss(target: 42)
|
35
|
+
assert_equal (1.0 + 2.0/3.0), qs.loss(target: 43)
|
30
36
|
|
31
37
|
qs.reset
|
32
38
|
assert_equal 0, qs.n
|
@@ -34,6 +40,7 @@ class QuickStats_test < Test::Unit::TestCase
|
|
34
40
|
assert_true qs.sample_variance.nan?
|
35
41
|
assert_true qs.min.nan?
|
36
42
|
assert_true qs.max.nan?
|
43
|
+
assert_true qs.loss(target: 0).nan?
|
37
44
|
end
|
38
45
|
|
39
46
|
def test_aliases
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quickstats
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Paul J Sanchez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-03-18 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: This class uses Kalman Filter updating to tally sample mean and sum of
|
14
14
|
squared deviations from the average, along with min, max, and sample size. Sample
|
@@ -23,9 +23,9 @@ files:
|
|
23
23
|
- lib/quickstats.rb
|
24
24
|
- quickstats.gemspec
|
25
25
|
- test/test_quickstats.rb
|
26
|
-
homepage:
|
26
|
+
homepage: https://bitbucket.org/paul_j_sanchez/quickstats
|
27
27
|
licenses:
|
28
|
-
- LGPL
|
28
|
+
- LGPL-2.1-or-later
|
29
29
|
metadata: {}
|
30
30
|
post_install_message:
|
31
31
|
rdoc_options: []
|
@@ -35,17 +35,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
35
35
|
requirements:
|
36
36
|
- - ">="
|
37
37
|
- !ruby/object:Gem::Version
|
38
|
-
version:
|
38
|
+
version: '2.3'
|
39
39
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
41
|
- - ">="
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: '0'
|
44
44
|
requirements: []
|
45
|
-
|
46
|
-
rubygems_version: 2.4.5.1
|
45
|
+
rubygems_version: 3.0.3
|
47
46
|
signing_key:
|
48
47
|
specification_version: 4
|
49
48
|
summary: Computationally stable and efficient basic descriptive statistics.
|
50
49
|
test_files: []
|
51
|
-
has_rdoc:
|