statsample-timeseries 0.0.3 → 0.3.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 +7 -0
- data/.gitignore +19 -0
- data/.travis.yml +13 -10
- data/Gemfile +2 -21
- data/History.md +4 -0
- data/LICENSE.txt +1 -1
- data/README.md +62 -0
- data/Rakefile +12 -17
- data/lib/statsample-timeseries.rb +3 -13
- data/lib/statsample-timeseries/arima.rb +72 -74
- data/lib/statsample-timeseries/arima/kalman.rb +20 -40
- data/lib/statsample-timeseries/arima/likelihood.rb +3 -4
- data/lib/statsample-timeseries/daru_monkeys.rb +78 -0
- data/lib/statsample-timeseries/timeseries/pacf.rb +47 -38
- data/lib/statsample-timeseries/utility.rb +105 -133
- data/lib/statsample-timeseries/version.rb +5 -0
- data/statsample-timeseries.gemspec +31 -0
- data/test/helper.rb +6 -29
- data/test/test_acf.rb +41 -0
- data/test/test_arima_ks.rb +28 -12
- data/test/test_arima_simulators.rb +59 -42
- data/test/test_matrix.rb +1 -1
- data/test/test_pacf.rb +7 -2
- data/test/test_wald.rb +7 -3
- metadata +81 -132
- data/README.rdoc +0 -72
- data/VERSION +0 -1
- data/bin/bio-statsample-timeseries +0 -74
- data/features/acf.feature +0 -31
- data/features/pacf.feature +0 -42
- data/features/step_definitions/bio-statsample-timeseries_steps.rb +0 -0
- data/features/step_definitions/step_definitions.rb +0 -37
- data/features/step_definitions/step_definitions_acf.rb +0 -8
- data/features/support/env.rb +0 -15
- data/lib/statsample-timeseries/timeseries.rb +0 -291
- data/test/test_tseries.rb +0 -103
data/test/test_pacf.rb
CHANGED
@@ -1,13 +1,18 @@
|
|
1
1
|
require(File.expand_path(File.dirname(__FILE__)+'/helper.rb'))
|
2
|
-
class StatsampleTimeSeriesPacfTestCase < MiniTest::
|
2
|
+
class StatsampleTimeSeriesPacfTestCase < MiniTest::Test
|
3
3
|
context(Statsample::TimeSeries) do
|
4
4
|
include Statsample::TimeSeries
|
5
5
|
setup do
|
6
|
-
|
6
|
+
Daru.lazy_update = true
|
7
|
+
@ts = Daru::Vector.new((1..20).map { |x| x * 10 })
|
7
8
|
#setting up a proc to get a closure for pacf calling with variable lags and methods
|
8
9
|
@pacf_proc =->(k, method) { @ts.pacf(k, method) }
|
9
10
|
end
|
10
11
|
|
12
|
+
teardown do
|
13
|
+
Daru.lazy_update = false
|
14
|
+
end
|
15
|
+
|
11
16
|
should "return correct correct pacf size for lags = 5" do
|
12
17
|
assert_equal @pacf_proc.call(5, 'yw').size, 6
|
13
18
|
assert_equal @pacf_proc.call(5, 'mle').size, 6
|
data/test/test_wald.rb
CHANGED
@@ -1,17 +1,21 @@
|
|
1
1
|
require(File.expand_path(File.dirname(__FILE__)+'/helper.rb'))
|
2
2
|
|
3
|
-
class StatsampleWaldTest < MiniTest::
|
3
|
+
class StatsampleWaldTest < MiniTest::Test
|
4
4
|
# Wald test is useful to test a series of n acf with Chi-square
|
5
5
|
# degree of freedom. It is extremely useful to test fit the fit of
|
6
6
|
# an ARIMA model to test the residuals.
|
7
7
|
|
8
|
-
include Statsample::TimeSeries
|
9
8
|
include Statsample::Shorthand
|
10
9
|
include Distribution
|
11
10
|
|
12
11
|
def setup
|
13
12
|
#create time series to evaluate later
|
14
|
-
|
13
|
+
Daru.lazy_update = true
|
14
|
+
@wald = Daru::Vector.new(100.times.map { rand(100) })
|
15
|
+
end
|
16
|
+
|
17
|
+
def teardown
|
18
|
+
Daru.lazy_update = false
|
15
19
|
end
|
16
20
|
|
17
21
|
def sum_of_squares_of_acf_series(lags)
|
metadata
CHANGED
@@ -1,257 +1,206 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: statsample-timeseries
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
5
|
-
prerelease:
|
4
|
+
version: 0.3.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Ankur Goel
|
9
|
-
-
|
8
|
+
- Sameer Deshmukh
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 2015-08-19 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: statsample
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
17
|
requirements:
|
20
|
-
- -
|
18
|
+
- - "~>"
|
21
19
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
20
|
+
version: '2.0'
|
23
21
|
type: :runtime
|
24
22
|
prerelease: false
|
25
23
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
24
|
requirements:
|
28
|
-
- -
|
25
|
+
- - "~>"
|
29
26
|
- !ruby/object:Gem::Version
|
30
|
-
version:
|
27
|
+
version: '2.0'
|
31
28
|
- !ruby/object:Gem::Dependency
|
32
|
-
name:
|
29
|
+
name: daru
|
33
30
|
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
31
|
requirements:
|
36
|
-
- -
|
32
|
+
- - "~>"
|
37
33
|
- !ruby/object:Gem::Version
|
38
|
-
version:
|
34
|
+
version: '0.1'
|
39
35
|
type: :runtime
|
40
36
|
prerelease: false
|
41
37
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
38
|
requirements:
|
44
|
-
- -
|
39
|
+
- - "~>"
|
45
40
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
41
|
+
version: '0.1'
|
47
42
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
49
|
-
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
|
-
requirements:
|
52
|
-
- - ! '>='
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
|
-
type: :development
|
56
|
-
prerelease: false
|
57
|
-
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
|
-
requirements:
|
60
|
-
- - ! '>='
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: '0'
|
63
|
-
- !ruby/object:Gem::Dependency
|
64
|
-
name: rdoc
|
65
|
-
requirement: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
|
-
requirements:
|
68
|
-
- - ~>
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
version: '3.12'
|
71
|
-
type: :development
|
72
|
-
prerelease: false
|
73
|
-
version_requirements: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
|
-
requirements:
|
76
|
-
- - ~>
|
77
|
-
- !ruby/object:Gem::Version
|
78
|
-
version: '3.12'
|
79
|
-
- !ruby/object:Gem::Dependency
|
80
|
-
name: minitest
|
43
|
+
name: bundler
|
81
44
|
requirement: !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
83
45
|
requirements:
|
84
|
-
- - ~>
|
46
|
+
- - "~>"
|
85
47
|
- !ruby/object:Gem::Version
|
86
|
-
version:
|
48
|
+
version: '1.10'
|
87
49
|
type: :development
|
88
50
|
prerelease: false
|
89
51
|
version_requirements: !ruby/object:Gem::Requirement
|
90
|
-
none: false
|
91
52
|
requirements:
|
92
|
-
- - ~>
|
53
|
+
- - "~>"
|
93
54
|
- !ruby/object:Gem::Version
|
94
|
-
version:
|
55
|
+
version: '1.10'
|
95
56
|
- !ruby/object:Gem::Dependency
|
96
|
-
name:
|
57
|
+
name: rb-gsl
|
97
58
|
requirement: !ruby/object:Gem::Requirement
|
98
|
-
none: false
|
99
59
|
requirements:
|
100
|
-
- -
|
60
|
+
- - "~>"
|
101
61
|
- !ruby/object:Gem::Version
|
102
|
-
version: '
|
62
|
+
version: '1.16'
|
103
63
|
type: :development
|
104
64
|
prerelease: false
|
105
65
|
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
none: false
|
107
66
|
requirements:
|
108
|
-
- -
|
67
|
+
- - "~>"
|
109
68
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
69
|
+
version: '1.16'
|
111
70
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
71
|
+
name: rake
|
113
72
|
requirement: !ruby/object:Gem::Requirement
|
114
|
-
none: false
|
115
73
|
requirements:
|
116
|
-
- - ~>
|
74
|
+
- - "~>"
|
117
75
|
- !ruby/object:Gem::Version
|
118
|
-
version:
|
76
|
+
version: '10.4'
|
119
77
|
type: :development
|
120
78
|
prerelease: false
|
121
79
|
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
none: false
|
123
80
|
requirements:
|
124
|
-
- - ~>
|
81
|
+
- - "~>"
|
125
82
|
- !ruby/object:Gem::Version
|
126
|
-
version:
|
83
|
+
version: '10.4'
|
127
84
|
- !ruby/object:Gem::Dependency
|
128
|
-
name:
|
85
|
+
name: minitest
|
129
86
|
requirement: !ruby/object:Gem::Requirement
|
130
|
-
none: false
|
131
87
|
requirements:
|
132
|
-
- - ~>
|
88
|
+
- - "~>"
|
133
89
|
- !ruby/object:Gem::Version
|
134
|
-
version:
|
90
|
+
version: '5.7'
|
135
91
|
type: :development
|
136
92
|
prerelease: false
|
137
93
|
version_requirements: !ruby/object:Gem::Requirement
|
138
|
-
none: false
|
139
94
|
requirements:
|
140
|
-
- - ~>
|
95
|
+
- - "~>"
|
141
96
|
- !ruby/object:Gem::Version
|
142
|
-
version:
|
97
|
+
version: '5.7'
|
143
98
|
- !ruby/object:Gem::Dependency
|
144
|
-
name:
|
99
|
+
name: mocha
|
145
100
|
requirement: !ruby/object:Gem::Requirement
|
146
|
-
none: false
|
147
101
|
requirements:
|
148
|
-
- -
|
102
|
+
- - "~>"
|
149
103
|
- !ruby/object:Gem::Version
|
150
|
-
version: 1.
|
104
|
+
version: '1.1'
|
151
105
|
type: :development
|
152
106
|
prerelease: false
|
153
107
|
version_requirements: !ruby/object:Gem::Requirement
|
154
|
-
none: false
|
155
108
|
requirements:
|
156
|
-
- -
|
109
|
+
- - "~>"
|
157
110
|
- !ruby/object:Gem::Version
|
158
|
-
version: 1.
|
111
|
+
version: '1.1'
|
159
112
|
- !ruby/object:Gem::Dependency
|
160
|
-
name:
|
113
|
+
name: shoulda
|
161
114
|
requirement: !ruby/object:Gem::Requirement
|
162
|
-
none: false
|
163
115
|
requirements:
|
164
|
-
- - ~>
|
116
|
+
- - "~>"
|
165
117
|
- !ruby/object:Gem::Version
|
166
|
-
version: '3.
|
118
|
+
version: '3.5'
|
167
119
|
type: :development
|
168
120
|
prerelease: false
|
169
121
|
version_requirements: !ruby/object:Gem::Requirement
|
170
|
-
none: false
|
171
122
|
requirements:
|
172
|
-
- - ~>
|
123
|
+
- - "~>"
|
173
124
|
- !ruby/object:Gem::Version
|
174
|
-
version: '3.
|
125
|
+
version: '3.5'
|
175
126
|
- !ruby/object:Gem::Dependency
|
176
|
-
name:
|
127
|
+
name: awesome_print
|
177
128
|
requirement: !ruby/object:Gem::Requirement
|
178
|
-
none: false
|
179
129
|
requirements:
|
180
|
-
- -
|
130
|
+
- - ">="
|
181
131
|
- !ruby/object:Gem::Version
|
182
|
-
version: 0
|
132
|
+
version: '0'
|
183
133
|
type: :development
|
184
134
|
prerelease: false
|
185
135
|
version_requirements: !ruby/object:Gem::Requirement
|
186
|
-
none: false
|
187
136
|
requirements:
|
188
|
-
- -
|
137
|
+
- - ">="
|
189
138
|
- !ruby/object:Gem::Version
|
190
|
-
version: 0
|
191
|
-
description:
|
192
|
-
|
193
|
-
|
194
|
-
executables:
|
195
|
-
- bio-statsample-timeseries
|
139
|
+
version: '0'
|
140
|
+
description: Various functions for time series analysis.
|
141
|
+
email:
|
142
|
+
- sameer.deshmukh93@gmail.com
|
143
|
+
executables: []
|
196
144
|
extensions: []
|
197
|
-
extra_rdoc_files:
|
198
|
-
- LICENSE.txt
|
199
|
-
- README.rdoc
|
145
|
+
extra_rdoc_files: []
|
200
146
|
files:
|
201
|
-
- .document
|
202
|
-
- .
|
147
|
+
- ".document"
|
148
|
+
- ".gitignore"
|
149
|
+
- ".travis.yml"
|
203
150
|
- Gemfile
|
151
|
+
- History.md
|
204
152
|
- LICENSE.txt
|
205
|
-
- README.
|
153
|
+
- README.md
|
206
154
|
- Rakefile
|
207
|
-
- VERSION
|
208
|
-
- bin/bio-statsample-timeseries
|
209
|
-
- features/acf.feature
|
210
|
-
- features/pacf.feature
|
211
|
-
- features/step_definitions/bio-statsample-timeseries_steps.rb
|
212
|
-
- features/step_definitions/step_definitions.rb
|
213
|
-
- features/step_definitions/step_definitions_acf.rb
|
214
|
-
- features/support/env.rb
|
215
155
|
- lib/statsample-timeseries.rb
|
216
156
|
- lib/statsample-timeseries/arima.rb
|
217
157
|
- lib/statsample-timeseries/arima/kalman.rb
|
218
158
|
- lib/statsample-timeseries/arima/likelihood.rb
|
219
|
-
- lib/statsample-timeseries/
|
159
|
+
- lib/statsample-timeseries/daru_monkeys.rb
|
220
160
|
- lib/statsample-timeseries/timeseries/pacf.rb
|
221
161
|
- lib/statsample-timeseries/utility.rb
|
162
|
+
- lib/statsample-timeseries/version.rb
|
163
|
+
- statsample-timeseries.gemspec
|
222
164
|
- test/fixtures/stock_data.csv
|
223
165
|
- test/helper.rb
|
166
|
+
- test/test_acf.rb
|
224
167
|
- test/test_arima_ks.rb
|
225
168
|
- test/test_arima_simulators.rb
|
226
169
|
- test/test_matrix.rb
|
227
170
|
- test/test_pacf.rb
|
228
|
-
- test/test_tseries.rb
|
229
171
|
- test/test_wald.rb
|
230
|
-
homepage:
|
231
|
-
licenses:
|
172
|
+
homepage: ''
|
173
|
+
licenses:
|
174
|
+
- BSD-2
|
175
|
+
metadata: {}
|
232
176
|
post_install_message:
|
233
177
|
rdoc_options: []
|
234
178
|
require_paths:
|
235
179
|
- lib
|
236
180
|
required_ruby_version: !ruby/object:Gem::Requirement
|
237
|
-
none: false
|
238
181
|
requirements:
|
239
|
-
- -
|
182
|
+
- - ">="
|
240
183
|
- !ruby/object:Gem::Version
|
241
184
|
version: '0'
|
242
|
-
segments:
|
243
|
-
- 0
|
244
|
-
hash: 903118733
|
245
185
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
246
|
-
none: false
|
247
186
|
requirements:
|
248
|
-
- -
|
187
|
+
- - ">="
|
249
188
|
- !ruby/object:Gem::Version
|
250
189
|
version: '0'
|
251
190
|
requirements: []
|
252
191
|
rubyforge_project:
|
253
|
-
rubygems_version:
|
192
|
+
rubygems_version: 2.4.6
|
254
193
|
signing_key:
|
255
|
-
specification_version:
|
256
|
-
summary:
|
257
|
-
|
194
|
+
specification_version: 4
|
195
|
+
summary: statsample-timeseries is a statsample extension which includes many functions
|
196
|
+
for time series analysis.
|
197
|
+
test_files:
|
198
|
+
- test/fixtures/stock_data.csv
|
199
|
+
- test/helper.rb
|
200
|
+
- test/test_acf.rb
|
201
|
+
- test/test_arima_ks.rb
|
202
|
+
- test/test_arima_simulators.rb
|
203
|
+
- test/test_matrix.rb
|
204
|
+
- test/test_pacf.rb
|
205
|
+
- test/test_wald.rb
|
206
|
+
has_rdoc:
|
data/README.rdoc
DELETED
@@ -1,72 +0,0 @@
|
|
1
|
-
= statsample-timeseries
|
2
|
-
|
3
|
-
{<img
|
4
|
-
src="https://secure.travis-ci.org/AnkurGel/statsample-timeseries.png"
|
5
|
-
/>}[http://travis-ci.org/#!/AnkurGel/statsample-timeseries]
|
6
|
-
|
7
|
-
Statsample-Timeseries is an extension to [Statsample](https://github.com/clbustos/statsample), a suite of advance statistics in Ruby.
|
8
|
-
|
9
|
-
* {sciruby.com}[http://sciruby.com]
|
10
|
-
* {Google+}[https://plus.google.com/109304769076178160953/posts]
|
11
|
-
* {Ankur Goel}[http://ankurgoel.com]
|
12
|
-
* {Statsample}[https://github.com/SciRuby/statsample]
|
13
|
-
|
14
|
-
|
15
|
-
== Description
|
16
|
-
|
17
|
-
Statsample-Timeseries is extension of Statsample, and incorporates helpful timeseries functions, estimations and modules such as:
|
18
|
-
|
19
|
-
* ACF
|
20
|
-
* PACF
|
21
|
-
* ARIMA
|
22
|
-
* KalmanFilter
|
23
|
-
* LogLikelihood
|
24
|
-
* Autocovariances
|
25
|
-
* Moving Averages
|
26
|
-
|
27
|
-
Statsample-Timeseries was created by Ankur Goel as part of Google's Summer of Code 2013. It is the part of {SciRuby}[http://sciruby.com]
|
28
|
-
|
29
|
-
|
30
|
-
== Dependency
|
31
|
-
|
32
|
-
Please install [`rb-gsl`](http://rb-gsl.rubyforge.org/) which is a Ruby wrapper over GNU Scientific Library. It enables us to use various minimization techniques during estimations.
|
33
|
-
|
34
|
-
|
35
|
-
== Installation
|
36
|
-
|
37
|
-
gem install statsample-timeseries
|
38
|
-
|
39
|
-
== Usage
|
40
|
-
|
41
|
-
To use the library
|
42
|
-
|
43
|
-
require 'statsample-timeseries'
|
44
|
-
|
45
|
-
You can also go through the blog-posts on {my blog}[http://ankurgoel.com] for descriptive explanation and examples.
|
46
|
-
|
47
|
-
|
48
|
-
== Documentation
|
49
|
-
|
50
|
-
The API doc is {online}[http://rubygems.org/gems/statsample-timeseries]. For more code examples see also the test files in the source tree.
|
51
|
-
|
52
|
-
|
53
|
-
== Contributing
|
54
|
-
|
55
|
-
* Fork the project.
|
56
|
-
* Create your feature branch
|
57
|
-
* Add/Modify code.
|
58
|
-
* Write equivalent documentation and **tests**.
|
59
|
-
* Run `rake test` to verify that all test case passes.
|
60
|
-
* Push your branch.
|
61
|
-
* Pull request. :)
|
62
|
-
|
63
|
-
== Project home page
|
64
|
-
|
65
|
-
Information on the source tree, documentation, issues and how to contribute, see
|
66
|
-
|
67
|
-
{http://github.com/AnkurGel/statsample-timeseries}[git@github.com:AnkurGel/statsample-timeseries.git]
|
68
|
-
|
69
|
-
== Copyright
|
70
|
-
|
71
|
-
Copyright (c) 2013 Ankur Goel. See LICENSE.txt for further details.
|
72
|
-
|