Introduction:
Statsample is a basic and advance statistics suite on Ruby. It is majorly supported by many Ruby 1.8.7, 1.9.1, 1.9.2, 1.9.3 and 2.0.0.
Statsample is perfect library for anyone who is interested in exploring statistical aspects and even a little familiar(or interested) in Ruby.
It had very rich API; except that of TimeSeries and Generalized linear models, which was rather basic.
So, in this Google Summer of Code 2013 program, with SciRuby, I released two extensions - Statsample TimeSeries and Statsample GLM. These gems aim to take Statsample further and incorporate various functionalities and estimation techniques on continuous data.
Statsample TimeSeries
TimeSeries is equipped with wide amount of operations, which are directly available on Series
object. Few of those functionalities are:
- Autocorrelation of series
- Partial autocorrelation with yule walker
- Levinson Durbin estimation
- AutoRegressive and Moving Average(ARIMA)
- KalmanFiltering, Log Likelihood estimation
- Moving averages, differences and autocovariances.
To get your hands dirty,
- Install
statsample
withgem install statsample
- Now, simply install timeseries gem by
gem install statsample-timeseries
.
Now, let’s make a simple TimeSeries
object:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
You can go through the documentation and API, here
Statsample-GLM
Statsample GLM includes many helpful regression techniques, which can be used for regression analysis on data.
Some of those techniques are:
- Poisson Regression
- Logistic Regression
- Exponential Regression
- Iteratively Reweighted Least Squares
The toplevel module for Regression techniques is Statsample::Regression
Using it as simple as ever,
* First, install `statsample` by `gem install statsample`
* Now, install GLM by `gem install `statsample-glm`
Let’s get quickly started:
1 2 3 4 5 6 7 8 9 10 11 |
|
The documentation and API details is available here
We have some more plans for GLM module. First in list is to make the algorithms work with SVD, because manual inversion of matrices is not cool for larger values in Poisson Regression.
I have blogged about most of the functionalities on my blog - www.ankurgoel.com.
Please explore and use the libraries; I will be waiting for your inputs, suggestions and questions. Feel free to leave your questions on Github issues.
Had an amazing summer!
Stay tuned and Enjoy. :)
- Ankur Goel