Module: TimeWise

Defined in:
lib/time_wise.rb,
lib/time_wise/base.rb,
lib/time_wise/errors.rb,
lib/time_wise/version.rb,
lib/time_wise/statistics.rb,
lib/time_wise/visualization.rb,
lib/time_wise/moving_average.rb

Overview

TimeWise is a comprehensive time series analysis library for Ruby applications It provides tools for basic statistical functions, moving averages, and visualization

Defined Under Namespace

Modules: Errors Classes: Base, MovingAverage, Statistics, Visualization

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.create(data, dates = nil) ⇒ TimeWise::Base

Create a new time series object from an array of values

Parameters:

  • data (Array)

    The time series data points

  • dates (Array) (defaults to: nil)

    Optional array of corresponding dates/timestamps

Returns:



18
19
20
# File 'lib/time_wise.rb', line 18

def create(data, dates = nil)
  Base.new(data, dates)
end

.load_csv(file_path, value_column, date_column = nil) ⇒ TimeWise::Base

Load time series data from a CSV file

Parameters:

  • file_path (String)

    Path to the CSV file

  • value_column (String, Integer)

    Column name or index for values

  • date_column (String, Integer) (defaults to: nil)

    Column name or index for dates

Returns:



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/time_wise.rb', line 27

def load_csv(file_path, value_column, date_column = nil)
  require "csv"

  dates = []
  values = []

  CSV.foreach(file_path, headers: true) do |row|
    if date_column
      date_val = row[date_column]
      dates << (date_val.is_a?(String) ? DateTime.parse(date_val) : date_val)
    end

    value = row[value_column].to_f
    values << value
  end

  create(values, dates.empty? ? nil : dates)
end