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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: f2547d05b38fa8d8820572ba11508cd563789eef
4
- data.tar.gz: 837718c9b373634a5b4a66c214402f1c00f4414c
2
+ SHA256:
3
+ metadata.gz: f597df010147bfe94435eb14527af7fab444cbce2d0a193654be767e6fce58a2
4
+ data.tar.gz: 63f4f949c7b271f48bbbef88b903f17806446e5f335ead4329fe4d6c29709491
5
5
  SHA512:
6
- metadata.gz: dd983feb6859c1d233fad61a82af33d9b5d30db587373383d47396adba50940b29da9fd935f92481fb7065160451f0d4cd03ff576f77be49a2f0050fa9ce2eb2
7
- data.tar.gz: 0c35ab0c1a82464499adb9ae85d10301e21b43830ff07bc842cfa3f5315554d6869160713c593510f63aadf38ea1dd83a8aafd747d757d5399bd7b95cbf82f5b
6
+ metadata.gz: 579aae68d531a2e4cd0905bdb1c6a4b4f4191f541372dd5e2cdfd0a723dbf3dff78d6504e0373a086cb0d6c435042ac0ad24c3aea1848eac0211e6739c29d6f7
7
+ data.tar.gz: 95e97e151fca9bf2fba2dd95c3a9e26ccf9ce91323996f6abd9f7f1e56bd41703f7d7904272cc77f618df01ee8e7a25523a5569f7b0e4a1a9507f265e8c99b7d
@@ -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
@@ -1,10 +1,10 @@
1
1
  # -*- ruby -*-
2
- _VERSION = "2.0.0"
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 = "2016-07-12"
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 = '>= 1.8.1'
20
- s.license = 'LGPL'
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
@@ -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.0.0
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: 2016-07-12 00:00:00.000000000 Z
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: 1.8.1
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
- rubyforge_project:
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: