Sha256: 6b93ac2da3acd2520b9c5ee4f8519a169ef739b8138e71088764c3688b474ecd
Contents?: true
Size: 1.02 KB
Versions: 1
Compression:
Stored size: 1.02 KB
Contents
require "statistic/version" module Statistic class Base def initialize(nums) @nums = nums end attr_reader :nums # 平均 def average nums.reduce(:+) / nums.length end # 偏差: 平均からの差異 def deviations nums.map {|num| num - average } end # 分散: 偏差の2乗和の平均 def variances results = deviations.map {|dev| dev ** 2 } results.reduce(:+) / results.length end private # 二乗平方根: 絶対値取得 def square_and_square_root(num) (num ** 2) ** (1 / 2.0) end end # 正規表現 class StandardDeviation < Statistic::Base # 正規分布 def calc variances ** (1 / 2.0) end # 95%信頼区間: 正規分布の2倍の範囲内に入るかどうか def within_95_percent?(data) within_n_deviation?(2, data) end private def within_n_deviation?(n, data) data_deviation = data - average square_and_square_root(data_deviation) <= calc * n end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
statistic-0.1.2 | lib/statistic.rb |