cmd_stan_rb 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +1 -1
- data/README.md +1 -0
- data/cmd_stan_rb.gemspec +2 -0
- data/examples/exponential.ipynb +1222 -0
- data/examples/linear_regression.ipynb +2311 -0
- data/lib/cmd_stan_rb/version.rb +1 -1
- data/lib/stan.rb +2 -0
- data/lib/stan/fit_result.rb +31 -0
- data/lib/stan/histogram.rb +27 -0
- metadata +21 -3
data/lib/cmd_stan_rb/version.rb
CHANGED
data/lib/stan.rb
CHANGED
@@ -0,0 +1,31 @@
|
|
1
|
+
module Stan
|
2
|
+
class FitResult
|
3
|
+
attr_reader :rows, :headers, :data_rows
|
4
|
+
|
5
|
+
def initialize(original_output)
|
6
|
+
@rows = Array(original_output.split("\n"))
|
7
|
+
@headers = rows[38].to_s.split(",") # In L39 there is the header column
|
8
|
+
@data_rows = rows[43..].map { |r| r.split(",") } # From L44 on there is the raw data!
|
9
|
+
|
10
|
+
define_histograms!
|
11
|
+
end
|
12
|
+
|
13
|
+
def parameters
|
14
|
+
headers[7..]
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def define_histograms!
|
20
|
+
headers.each do |parameter|
|
21
|
+
define_singleton_method parameter do
|
22
|
+
parameter_index = headers.index(parameter)
|
23
|
+
data_rows.each_with_object({}) do |row, hash|
|
24
|
+
v = row[parameter_index].to_f.round(1)
|
25
|
+
hash[v] = (hash[v] || 0) + 1
|
26
|
+
end.sort.to_h
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Stan
|
2
|
+
class Histogram
|
3
|
+
attr_reader :list, :bin_size
|
4
|
+
|
5
|
+
def initialize(list, bin_size: nil)
|
6
|
+
@list = list
|
7
|
+
@bin_size = bin_size
|
8
|
+
end
|
9
|
+
|
10
|
+
def to_a
|
11
|
+
@list.each_with_object({}) do |item, hash|
|
12
|
+
bin =
|
13
|
+
if bin_size.to_f > 0
|
14
|
+
(item.to_f / bin_size).round * bin_size
|
15
|
+
else
|
16
|
+
item
|
17
|
+
end
|
18
|
+
|
19
|
+
hash[bin] = hash[bin].to_i + 1
|
20
|
+
end.sort
|
21
|
+
end
|
22
|
+
|
23
|
+
def to_h
|
24
|
+
to_a.to_h
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cmd_stan_rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 'Robin Neumann
|
@@ -10,8 +10,22 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2020-05-
|
14
|
-
dependencies:
|
13
|
+
date: 2020-05-29 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: rspec
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
|
+
requirements:
|
19
|
+
- - ">="
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
version: '0'
|
15
29
|
description: Stan is a state-of-the-art platform for statistical modeling and high-performance
|
16
30
|
statistical computation. Thousands of users rely on Stan for statistical modeling,
|
17
31
|
data analysis, and prediction in the social, biological, and physical sciences,
|
@@ -36,11 +50,15 @@ files:
|
|
36
50
|
- bin/setup
|
37
51
|
- cmd_stan_rb.gemspec
|
38
52
|
- demo.ipynb
|
53
|
+
- examples/exponential.ipynb
|
54
|
+
- examples/linear_regression.ipynb
|
39
55
|
- lib/cmd_stan_rb.rb
|
40
56
|
- lib/cmd_stan_rb/configuration.rb
|
41
57
|
- lib/cmd_stan_rb/version.rb
|
42
58
|
- lib/stan.rb
|
43
59
|
- lib/stan/examples.rb
|
60
|
+
- lib/stan/fit_result.rb
|
61
|
+
- lib/stan/histogram.rb
|
44
62
|
- lib/stan/model.rb
|
45
63
|
homepage: https://github.com/neumanrq/cmd_stan_rb
|
46
64
|
licenses: []
|