Class: Num4RegAnaLib::OLSMultRegAnaLib

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

Overview

重回帰分析(最小2乗法:等分散性checkあり)

Instance Method Summary collapse

Constructor Details

#initializeOLSMultRegAnaLib

Returns a new instance of OLSMultRegAnaLib.



72
73
74
# File 'lib/num4regana.rb', line 72

def initialize
    @multana = MultRegAna.getInstance()
end

Instance Method Details

#getadjr2(yi, xij) ⇒ double

自由度調整済み決定係数

Examples:

olsyi = [45, 38, 41, 34, 59, 47, 35, 43, 54, 52]
olsxij = [
    [17.5, 30],
    [17.0, 25],
    [18.5, 20],
    [16.0, 30],
    [19.0, 45],
    [19.5, 35],
    [16.0, 25],
    [18.0, 35],
    [19.0, 35],
    [19.5, 40],
]
regana = Num4RegAnaLib::OLSMultRegAnaLib.new
regana.getadjr2(yi, xij)
=> 0.8176

Returns 決定係数.

Parameters:

Returns:

  • (double)

    決定係数



160
161
162
# File 'lib/num4regana.rb', line 160

def getadjr2(yi, xij)
    return @multana.getAdjR2(yi.to_java(Java::double), xij.to_java(Java::double[]))
end

#getr2(yi, xij) ⇒ double

決定係数

Examples:

olsyi = [45, 38, 41, 34, 59, 47, 35, 43, 54, 52]
olsxij = [
    [17.5, 30],
    [17.0, 25],
    [18.5, 20],
    [16.0, 30],
    [19.0, 45],
    [19.5, 35],
    [16.0, 25],
    [18.0, 35],
    [19.0, 35],
    [19.5, 40],
]
regana = Num4RegAnaLib::OLSMultRegAnaLib.new
regana.getr2(yi, xi)
=> 0.858

Returns 決定係数.

Parameters:

Returns:

  • (double)

    決定係数



134
135
136
# File 'lib/num4regana.rb', line 134

def getr2(yi, xij)
    return @multana.getR2(yi.to_java(Java::double), xij.to_java(Java::double[]))
end

#line_reg_ana(yi, xij) ⇒ Hash

重回帰分析

Examples:

olsyi = [45, 38, 41, 34, 59, 47, 35, 43, 54, 52]
olsxij = [
    [17.5, 30],
    [17.0, 25],
    [18.5, 20],
    [16.0, 30],
    [19.0, 45],
    [19.5, 35],
    [16.0, 25],
    [18.0, 35],
    [19.0, 35],
    [19.5, 40],
]
regana = Num4RegAnaLib::OLSMultRegAnaLib.new
regana.line_reg_ana(olsyi, olsxij)
=> 
  {
     "intercept":  -34.71,           # 定数項
     "slope":      [3.47, 0.53],     # 回帰係数
  }

Returns (intercept:定数項 slope:回帰係数).

Parameters:

Returns:

  • (Hash)

    (intercept:定数項 slope:回帰係数)



102
103
104
105
106
107
108
109
110
# File 'lib/num4regana.rb', line 102

def line_reg_ana(yi, xij)
    multRet = @multana.lineRegAna(yi.to_java(Java::double), xij.to_java(Java::double[]))

    retRb = {
        "intercept":  multRet.getIntercept(), # 定数項
        "slope":      multRet.getSlope().to_a,     # 回帰係数
    }
    return retRb
end