Class: OpenTox::Algorithm::Regression

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

Overview

Regression algorithms

Class Method Summary collapse

Class Method Details

.weighted_average(dependent_variables:, independent_variables: nil, weights:, query_variables: nil) ⇒ Hash

Weighted average

Parameters:

Returns:

  • (Hash)


11
12
13
14
15
16
17
18
19
20
21
# File 'lib/regression.rb', line 11

def self.weighted_average dependent_variables:, independent_variables:nil, weights:, query_variables:nil
  # TODO: prediction_interval
  weighted_sum = 0.0
  sim_sum = 0.0
  dependent_variables.each_with_index do |v,i|
    weighted_sum += weights[i]*dependent_variables[i]
    sim_sum += weights[i]
  end if dependent_variables
  sim_sum == 0 ? prediction = nil : prediction = weighted_sum/sim_sum
  {:value => prediction}
end