Sha256: 4de0ffd98b090275f4c371f54f7de6b7f06a194d74edaa592cf0d6b73578bde4
Contents?: true
Size: 1.72 KB
Versions: 1
Compression:
Stored size: 1.72 KB
Contents
$:.unshift(File.dirname(__FILE__)+"/../../") require 'spec_helper' describe Statsample::Bivariate::Polychoric::Processor do before do @matrix=Matrix[[58,52,1],[26,58,3],[8,12,9]] @alpha=[-0.027, 1.137] @beta=[-0.240, 1.1578] @rho=0.420 @processor=Statsample::Bivariate::Polychoric::Processor.new(@alpha,@beta,@rho,@matrix) end it "im_function method should return correct values according to index" do @processor.im_function(0,0,0).should==@processor.fd_loglike_cell_rho(0,0) @processor.im_function(1,0,0).should==@processor.fd_loglike_cell_a(0,0,0) @processor.im_function(2,0,0).should==@processor.fd_loglike_cell_a(0,0,1) @processor.im_function(3,1,0).should==@processor.fd_loglike_cell_b(1,0,0) @processor.im_function(4,0,1).should==@processor.fd_loglike_cell_b(0,1,1) lambda {@processor.im_function(5)}.should raise_error end it "should return informacion matrix" do @processor.information_matrix.inverse.should be_instance_of(::Matrix) end it "fd a loglike should be equal usign eq.6 and eq.13" do 2.times {|k| @processor.fd_loglike_a_eq6(k).should be_within(1e-10).of( @processor.fd_loglike_a_eq13(k)) } end it "fd b loglike should be equal usign eq.6 and eq.14" do 2.times {|m| @processor.fd_loglike_b_eq6(m).should be_within(1e-10).of( @processor.fd_loglike_b_eq14(m)) } end it "fd rho should be equal usign fd_loglike_cell_rho and fd_loglike_rho" do total=0 nr=@alpha.size+1 nc=@beta.size+1 nr.times do |i| nc.times do |j| pi=@processor.pd[i][j] + 1e-10 total+= (@matrix[i,j].quo(pi)) * @processor.fd_loglike_cell_rho(i,j) end end total.should==@processor.fd_loglike_rho end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
statsample-bivariate-extension-0.16.0 | spec/statsample/bivariate/polychoric_processor_spec.rb |