Module: Statsample::Regression
- Defined in:
- lib/statsample/regression.rb,
lib/statsample/regression/simple.rb,
lib/statsample/regression/binomial.rb,
lib/statsample/regression/multiple.rb,
lib/statsample/regression/binomial/logit.rb,
lib/statsample/regression/binomial/probit.rb,
lib/statsample/regression/multiple/gslengine.rb,
lib/statsample/regression/multiple/baseengine.rb,
lib/statsample/regression/multiple/rubyengine.rb,
lib/statsample/regression/multiple/alglibengine.rb,
lib/statsample/regression/multiple/matrixengine.rb
Overview
Module for regression procedures.
Use the method on this class to generate analysis. If you need more control, you can create and control directly the objects who computes the regressions.
-
Simple Regression : Statsample::Regression::Simple
-
Multiple Regression: Statsample::Regression::Multiple
-
Logit Regression: Statsample::Regression::Binomial::Logit
-
Probit Regression: Statsample::Regression::Binomial::Probit
Defined Under Namespace
Modules: Binomial, Multiple Classes: Simple
Class Method Summary collapse
-
.logit(ds, y_var) ⇒ Object
Create a Binomial::Logit object, for logit regression.
-
.multiple(ds, y_var, missing_data = :listwise) ⇒ Object
Creates one of the Statsample::Regression::Multiple object, for OLS multiple regression.
-
.probit(ds, y_var) ⇒ Object
- Create a Binomial::Probit object, for probit regression * ds
- Dataset * y
-
Name of dependent vector Usage dataset=Statsample::CSV.read(“data.csv”) lr=Statsample::Regression.probit(dataset,‘y’).
-
.simple(x, y) ⇒ Object
Create a Statsample::Regression::Simple object, for simple regression * x: independent Vector * y: dependent Vector Usage: x=100.times.collect {|i| rand(100)}.to_scale y=100.times.collect {|i| 2+x*2+rand()}.to_scale sr=Statsample::Regression.simple(x,y) sr.a => 2.51763295177808 sr.b => 1.99973746599856 sr.r => 0.999987881153254.
Class Method Details
.logit(ds, y_var) ⇒ Object
Create a Binomial::Logit object, for logit regression.
- ds
-
Dataset
- y
-
Name of dependent vector
Usage
dataset=Statsample::CSV.read("data.csv")
lr=Statsample::Regression.logit(dataset,'y')
49 50 51 |
# File 'lib/statsample/regression.rb', line 49 def self.logit(ds,y_var) Statsample::Regression::Binomial::Logit.new(ds,y_var) end |
.multiple(ds, y_var, missing_data = :listwise) ⇒ Object
Creates one of the Statsample::Regression::Multiple object, for OLS multiple regression. Parameters:
-
ds: Dataset.
-
y: Name of dependent variable.
-
missing_data: Could be
-
:listwise: delete cases with one or more empty data (default).
-
:pairwise: uses correlation matrix. Use with caution.
-
Usage:
lr=Statsample::Regression::multiple(ds,'y')
76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/statsample/regression.rb', line 76 def self.multiple(ds,y_var, missing_data=:listwise) if missing_data==:pairwise RubyEngine.new(ds,y_var) else if Statsample.has_gsl? Statsample::Regression::Multiple::GslEngine.new(ds,y_var) else ds2=ds.dup_only_valid Statsample::Regression::Multiple::RubyEngine.new(ds2,y_var) end end end |
.probit(ds, y_var) ⇒ Object
Create a Binomial::Probit object, for probit regression
- ds
-
Dataset
- y
-
Name of dependent vector
Usage
dataset=Statsample::CSV.read("data.csv")
lr=Statsample::Regression.probit(dataset,'y')
60 61 62 |
# File 'lib/statsample/regression.rb', line 60 def self.probit(ds,y_var) Statsample::Regression::Binomial::Probit.new(ds,y_var) end |
.simple(x, y) ⇒ Object
Create a Statsample::Regression::Simple object, for simple regression
-
x: independent Vector
-
y: dependent Vector
Usage:
x=100.times.collect {|i| rand(100)}.to_scale
y=100.times.collect {|i| 2+x[i]*2+rand()}.to_scale
sr=Statsample::Regression.simple(x,y)
sr.a
=> 2.51763295177808
sr.b
=> 1.99973746599856
sr.r
=> 0.999987881153254
39 40 41 |
# File 'lib/statsample/regression.rb', line 39 def self.simple(x,y) Statsample::Regression::Simple.new_from_vectors(x,y) end |