Class: Statsample::Regression::Binomial::BaseEngine
- Inherits:
-
Object
- Object
- Statsample::Regression::Binomial::BaseEngine
- Defined in:
- lib/statsample/regression/binomial.rb
Overview
Base Engine for binomial regression analysis. Use Statsample::Regression.logit and Statsample::Regression.probit for fast access methods.
Usage:
dataset=Statsample::CSV.read("data.csv")
y="y"
model=Statsample::MLE::Logit.new
lr=Statsample::Regression::Binomial::BaseEngine(dataset, y, model)
Instance Attribute Summary collapse
-
#iterations ⇒ Object
readonly
Returns the value of attribute iterations.
-
#log_likehood ⇒ Object
readonly
Returns the value of attribute log_likehood.
Instance Method Summary collapse
-
#assign_names(c) ⇒ Object
:nodoc:.
-
#coeffs ⇒ Object
Regression coefficients.
-
#coeffs_se ⇒ Object
Coefficients standard error.
-
#constant ⇒ Object
Value of constant on regression.
-
#constant_se ⇒ Object
Constant standard error.
-
#initialize(ds, y_var, model) ⇒ BaseEngine
constructor
Parameters * ds: Dataset * y_var: Name of dependent variable * model: One of Statsample::Regression::Binomial classes.
Constructor Details
#initialize(ds, y_var, model) ⇒ BaseEngine
Parameters
-
ds: Dataset
-
y_var: Name of dependent variable
-
model: One of Statsample::Regression::Binomial classes
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/statsample/regression/binomial.rb', line 19 def initialize(ds,y_var,model) @ds=ds @y_var=y_var @dy=@ds[@y_var] @ds_indep=ds.dup(ds.fields-[y_var]) constant=([1.0]*ds.cases).to_vector(:scale) @ds_indep.add_vector("_constant",constant) mat_x=@ds_indep.to_matrix mat_y=@dy.to_matrix(:vertical) @fields=@ds_indep.fields @model=model coeffs=model.newton_raphson(mat_x, mat_y) @coeffs=assign_names(coeffs.column(0).to_a) @iterations=model.iterations @var_cov_matrix=model.var_cov_matrix @log_likehood=model.log_likehood(mat_x, mat_y, coeffs) end |
Instance Attribute Details
#iterations ⇒ Object (readonly)
Returns the value of attribute iterations.
14 15 16 |
# File 'lib/statsample/regression/binomial.rb', line 14 def iterations @iterations end |
#log_likehood ⇒ Object (readonly)
Returns the value of attribute log_likehood.
14 15 16 |
# File 'lib/statsample/regression/binomial.rb', line 14 def log_likehood @log_likehood end |
Instance Method Details
#assign_names(c) ⇒ Object
:nodoc:
62 63 64 65 66 67 68 |
# File 'lib/statsample/regression/binomial.rb', line 62 def assign_names(c) # :nodoc: a={} @fields.each_index do |i| a[@fields[i]]=c[i] end a end |
#coeffs ⇒ Object
Regression coefficients
56 57 58 59 60 |
# File 'lib/statsample/regression/binomial.rb', line 56 def coeffs c=@coeffs.dup c.delete("_constant") c end |
#coeffs_se ⇒ Object
Coefficients standard error
37 38 39 40 41 42 43 44 45 |
# File 'lib/statsample/regression/binomial.rb', line 37 def coeffs_se out={} @fields.each_index{|i| f=@fields[i] out[f]=Math::sqrt(@var_cov_matrix[i,i]) } out.delete("_constant") out end |
#constant ⇒ Object
Value of constant on regression
47 48 49 |
# File 'lib/statsample/regression/binomial.rb', line 47 def constant @coeffs['_constant'] end |
#constant_se ⇒ Object
Constant standard error
51 52 53 54 |
# File 'lib/statsample/regression/binomial.rb', line 51 def constant_se i=@fields.index :_constant Math::sqrt(@var_cov_matrix[i,i]) end |