class MoreMath::LinearRegression
def tvalue(alpha = 0.05)
def tvalue(alpha = 0.05) df = @image.size - 2 return 0.0 if df <= 0 sse_y = 0.0 @domain.zip(@image) do |x, y| f_x = a * x + b sse_y += (y - f_x) ** 2 end mean = @image.inject(0.0) { |s, y| s + y } / @image.size sse_x = @domain.inject(0.0) { |s, x| s + (x - mean) ** 2 } t = a / (Math.sqrt(sse_y / df) / Math.sqrt(sse_x)) t.nan? ? 0.0 : t end