demo/regression.rb in statsample-0.3.3 vs demo/regression.rb in statsample-0.3.4

- old
+ new

@@ -1,55 +1,81 @@ require File.dirname(__FILE__)+'/../lib/statsample' require 'benchmark' tests=300 include Statsample -r = GSL::Rng.alloc(GSL::Rng::TAUS,Time.now.to_i) ds=Dataset.new(%w{a b c d y}) ds['a'].type=:scale ds['b'].type=:scale ds['c'].type=:scale ds['d'].type=:scale ds['y'].type=:scale + +if HAS_GSL +r = GSL::Rng.alloc(GSL::Rng::TAUS,Time.now.to_i) tests.times { a=r.ugaussian - b=r.ugaussian + b=a*2+r.ugaussian c=r.ugaussian d=r.ugaussian y=a*70+b*30+c*5+r.ugaussian*5 ds.add_case_array([a,b,c,d,y]) } +else + tests.times { + a=1-rand()*2.0 + b=1-rand()*2.0 + c=1-rand()*2.0 + d=1-rand()*2.0 + y=a*70+b*30+c*5+(1-rand()*2.0)*5 + ds.add_case_array([a,b,c,d,y]) +} + + +end ds.update_valid_data if !File.exists? "regression.dab" da=DominanceAnalysis::Bootstrap.new(ds,"y") else da=Statsample.load("regression.dab") end times=1 +if(true) Benchmark.bm(7) do |x| + if HAS_GSL x.report("GslEngine:") { da.lr_class=Regression::Multiple::GslEngine da.bootstrap(times) } + end + if(false) + if HAS_ALGIB x.report("AlglibEngine:") { da.lr_class=Regression::Multiple::AlglibEngine da.bootstrap(times) } + end + x.report("RubyEngine:") { + da.lr_class=Regression::Multiple::RubyEngine + da.bootstrap(times) + } + end end +end puts da.summary da.save("regression.dab") lr=Regression::Multiple.listwise(ds,"y") hr=HtmlReport.new("Regression") hr.add_summary("Regression",lr.summary(HtmlSummary)) hr.add_summary("Analisis de Dominancia ", da.da.summary(HtmlSummary)) - +hr.add_correlation_matrix(ds) hr.add_summary("Analisis de Dominancia (Bootstrap)", da.summary(HtmlSummary)) da.fields.each{|f| - hr.add_histogram("General Dominance #{f}",da.samples_ga[f].to_vector(:scale)) +# hr.add_histogram("General Dominance #{f}",da.samples_ga[f].to_vector(:scale)) } hr.save("Regression Dominance.html")