Class: Num4AnovaLib::Num4AncovaLib

Inherits:
Object
  • Object
show all
Defined in:
lib/num4anova.rb

Overview

共分散分析

Instance Method Summary collapse

Constructor Details

#initializeNum4AncovaLib

Returns a new instance of Num4AncovaLib.



304
305
306
# File 'lib/num4anova.rb', line 304

def initialize
    @ancova = Ancova.getInstance()
end

Instance Method Details

#difference_test(yi, xi, a) ⇒ boolean

水準間の差の検定

Examples:

yi = [
    [3, 5, 3],
    [3, 3, 8],
    [2, 2, 2],
    [3, 4, 2],
    [1, 2, 0],
]
xi = [
   [35, 38, 39],
   [36, 39, 54],
   [40, 45, 39],
   [47, 52, 48],
   [64, 80, 70],
 ]
 ancova = Num4AnovaLib::Num4AncovaLib.new
 ancova.difference_test(yi, xi, 0.05)
 => true

Returns 検定結果(boolean true:棄却域内 false:棄却域外).

Parameters:

Returns:

  • (boolean)

    検定結果(boolean true:棄却域内 false:棄却域外)



388
389
390
# File 'lib/num4anova.rb', line 388

def difference_test(yi, xi, a)
    @ancova.differenceTest(yi.to_java(Java::double[]), xi.to_java(Java::double[]), a)
end

#interval_estim(yi, xi, a) ⇒ Hash

区間推定

Examples:

yi = [
    [3, 5, 3],
    [3, 3, 8],
    [2, 2, 2],
    [3, 4, 2],
    [1, 2, 0],
]
xi = [
   [35, 38, 39],
   [36, 39, 54],
   [40, 45, 39],
   [47, 52, 48],
   [64, 80, 70],
 ]
 ancova = Num4AnovaLib::Num4AncovaLib.new
 ancova.interval_estim(yi, xi, 0.05)
 =>
    {:min=>4.466605469341916,  :max=>7.1909253948556096}
    {:min=>5.05699825110459,   :max=>6.386335082228742}
    {:min=>2.510804295684195,  :max=>4.250430272217034}
    {:min=>2.8089257316042135, :max=>2.9566298239513418}
    {:min=>-6.303283147572267, :max=>-0.6577045067487104}

Returns (min:下限信頼区間 max:上限信頼区間).

Parameters:

Returns:

  • (Hash)

    (min:下限信頼区間 max:上限信頼区間)



421
422
423
424
425
426
427
428
429
430
431
432
433
434
# File 'lib/num4anova.rb', line 421

def interval_estim(yi, xi, a)
    retRb = []
    retJava = @ancova.intervalEstim(yi.to_java(Java::double[]), xi.to_java(Java::double[]), a)
    sz = retJava.size
    sz.times do |i|
        retRb.push(
          {
            "min": retJava[i].getMin(),
            "max": retJava[i].getMax()
          }
        )
    end
    return retRb
end

#parallel_test(yi, xi, a) ⇒ boolean

回帰直線の平行性検定

Examples:

yi = [
    [3, 5, 3],
    [3, 3, 8],
    [2, 2, 2],
    [3, 4, 2],
    [1, 2, 0],
]
xi = [
   [35, 38, 39],
   [36, 39, 54],
   [40, 45, 39],
   [47, 52, 48],
   [64, 80, 70],
 ]
 ancova = Num4AnovaLib::Num4AncovaLib.new
 ancova.parallel_test(yi, xi, 0.05)
 => false

Returns 検定結果(boolean true:棄却域内 false:棄却域外).

Parameters:

Returns:

  • (boolean)

    検定結果(boolean true:棄却域内 false:棄却域外)



332
333
334
# File 'lib/num4anova.rb', line 332

def parallel_test(yi, xi, a)
    @ancova.parallelTest(yi.to_java(Java::double[]), xi.to_java(Java::double[]), a)
end

#significance_test(yi, xi, a) ⇒ boolean

回帰直線の有意性検定

Examples:

yi = [
    [3, 5, 3],
    [3, 3, 8],
    [2, 2, 2],
    [3, 4, 2],
    [1, 2, 0],
]
xi = [
   [35, 38, 39],
   [36, 39, 54],
   [40, 45, 39],
   [47, 52, 48],
   [64, 80, 70],
 ]
 ancova = Num4AnovaLib::Num4AncovaLib.new
 ancova.significance_test(yi, xi, 0.05)
 => true

Returns 検定結果(boolean true:棄却域内 false:棄却域外).

Parameters:

Returns:

  • (boolean)

    検定結果(boolean true:棄却域内 false:棄却域外)



360
361
362
# File 'lib/num4anova.rb', line 360

def significance_test(yi, xi, a)
    @ancova.significanceTest(yi.to_java(Java::double[]), xi.to_java(Java::double[]), a)
end