quickstats 2.0.0 → 2.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 +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:
|