test/test_statistics.rb in statsample-1.4.1 vs test/test_statistics.rb in statsample-1.4.2

- old
+ new

@@ -1,77 +1,79 @@ -require(File.expand_path(File.dirname(__FILE__)+'/helpers_tests.rb')) -class StatsampleStatisicsTestCase < MiniTest::Unit::TestCase - +require(File.expand_path(File.dirname(__FILE__) + '/helpers_tests.rb')) +class StatsampleStatisicsTestCase < Minitest::Test def initialize(*args) super end + def test_p_using_cdf - assert_equal(0.25, Statsample::Test.p_using_cdf(0.25, tails=:left)) - assert_equal(0.75, Statsample::Test.p_using_cdf(0.25, tails=:right)) - assert_equal(0.50, Statsample::Test.p_using_cdf(0.25, tails=:both)) - assert_equal(1, Statsample::Test.p_using_cdf(0.50, tails=:both)) - assert_equal(0.05, Statsample::Test.p_using_cdf(0.025, tails=:both)) - assert_in_delta(0.05, Statsample::Test.p_using_cdf(0.975, tails=:both),0.0001) - + assert_equal(0.25, Statsample::Test.p_using_cdf(0.25, tails = :left)) + assert_equal(0.75, Statsample::Test.p_using_cdf(0.25, tails = :right)) + assert_equal(0.50, Statsample::Test.p_using_cdf(0.25, tails = :both)) + assert_equal(1, Statsample::Test.p_using_cdf(0.50, tails = :both)) + assert_equal(0.05, Statsample::Test.p_using_cdf(0.025, tails = :both)) + assert_in_delta(0.05, Statsample::Test.p_using_cdf(0.975, tails = :both), 0.0001) end + def test_recode_repeated - a=%w{a b c c d d d e} - exp=["a","b","c_1","c_2","d_1","d_2","d_3","e"] - assert_equal(exp,a.recode_repeated) + a = %w(a b c c d d d e) + exp = %w(a b c_1 c_2 d_1 d_2 d_3 e) + assert_equal(exp, a.recode_repeated) end - def test_is_number - assert("10".is_number?) - assert("-10".is_number?) - assert("0.1".is_number?) - assert("-0.1".is_number?) - assert("10e3".is_number?) - assert("10e-3".is_number?) - assert(!"1212-1212-1".is_number?) - assert(!"a10".is_number?) - assert(!"".is_number?) + def test_is_number + assert('10'.is_number?) + assert('-10'.is_number?) + assert('0.1'.is_number?) + assert('-0.1'.is_number?) + assert('10e3'.is_number?) + assert('10e-3'.is_number?) + assert(!'1212-1212-1'.is_number?) + assert(!'a10'.is_number?) + assert(!''.is_number?) end + def test_estimation_mean - v=([42]*23+[41]*4+[36]*1+[32]*1+[29]*1+[27]*2+[23]*1+[19]*1+[16]*2+[15]*2+[14,11,10,9,7]+ [6]*3+[5]*2+[4,3]).to_vector(:scale) - assert_equal(50,v.size) - assert_equal(1471,v.sum()) - #limits=Statsample::SRS.mean_confidence_interval_z(v.mean(), v.sds(), v.size,676,0.80) + v = ([42] * 23 + [41] * 4 + [36] * 1 + [32] * 1 + [29] * 1 + [27] * 2 + [23] * 1 + [19] * 1 + [16] * 2 + [15] * 2 + [14, 11, 10, 9, 7] + [6] * 3 + [5] * 2 + [4, 3]).to_vector(:scale) + assert_equal(50, v.size) + assert_equal(1471, v.sum) + # limits=Statsample::SRS.mean_confidence_interval_z(v.mean(), v.sds(), v.size,676,0.80) end + def test_estimation_proportion # total - pop=3042 - sam=200 - prop=0.19 + pop = 3042 + sam = 200 + prop = 0.19 assert_in_delta(81.8, Statsample::SRS.proportion_total_sd_ep_wor(prop, sam, pop), 0.1) # confidence limits - pop=500 - sam=100 - prop=0.37 - a=0.95 - l= Statsample::SRS.proportion_confidence_interval_z(prop, sam, pop, a) - assert_in_delta(0.28,l[0],0.01) - assert_in_delta(0.46,l[1],0.01) + pop = 500 + sam = 100 + prop = 0.37 + a = 0.95 + l = Statsample::SRS.proportion_confidence_interval_z(prop, sam, pop, a) + assert_in_delta(0.28, l[0], 0.01) + assert_in_delta(0.46, l[1], 0.01) end + def test_ml - if(true) - #real=[1,1,1,1].to_vector(:scale) + if true + # real=[1,1,1,1].to_vector(:scale) - #pred=[0.0001,0.0001,0.0001,0.0001].to_vector(:scale) + # pred=[0.0001,0.0001,0.0001,0.0001].to_vector(:scale) # puts Statsample::Bivariate.maximum_likehood_dichotomic(pred,real) end end - def test_simple_linear_regression - a=[1,2,3,4,5,6].to_vector(:scale) - b=[6,2,4,10,12,8].to_vector(:scale) - reg = Statsample::Regression::Simple.new_from_vectors(a,b) - assert_in_delta((reg.ssr+reg.sse).to_f,reg.sst,0.001) - assert_in_delta(Statsample::Bivariate.pearson(a,b),reg.r,0.001) - assert_in_delta(2.4,reg.a,0.01) - assert_in_delta(1.314,reg.b,0.001) - assert_in_delta(0.657,reg.r,0.001) - assert_in_delta(0.432,reg.r2,0.001) + a = [1, 2, 3, 4, 5, 6].to_vector(:scale) + b = [6, 2, 4, 10, 12, 8].to_vector(:scale) + reg = Statsample::Regression::Simple.new_from_vectors(a, b) + assert_in_delta((reg.ssr + reg.sse).to_f, reg.sst, 0.001) + assert_in_delta(Statsample::Bivariate.pearson(a, b), reg.r, 0.001) + assert_in_delta(2.4, reg.a, 0.01) + assert_in_delta(1.314, reg.b, 0.001) + assert_in_delta(0.657, reg.r, 0.001) + assert_in_delta(0.432, reg.r2, 0.001) end end