Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Train Model Page (16/11/2017) #18

Open
FireFlyTy opened this issue Nov 13, 2017 · 0 comments
Open

Train Model Page (16/11/2017) #18

FireFlyTy opened this issue Nov 13, 2017 · 0 comments
Assignees

Comments

@FireFlyTy
Copy link
Contributor

FireFlyTy commented Nov 13, 2017

CONTROLS:

  • Model Selection (Dynamic Thresholds (default), Prophet):
  • Model Train section
  • Model Tuning section

DYNAMIC THESHOLDS

Model Train section

  • Train Mode (Simple (default), Expert):
    • Simple Mode
      • Sensitivity (Low, Medium (default), High)
    • Expert Mode
      • Thresholds Aggregation Level [0.05, 0.9] (0.6 - default)
      • Local Trend Basis [0.05, 0.9] (0.3 - default)
      • Neighbours similarity [0.01, 0.99] (0.1 - default)
  • Train button

Model Tuning section

  • Low-type Anomalies (if Low or Both anomalies type)
    • Correction [-1, 1] (0 - default)
    • Scale [0.25, 4] (1 - default)
  • High-type Anomalies (if High or Both anomalies type)
    • Correction [-1, 1] (0 - default)
    • Scale [0.25, 4] (1 - default)
  • Auto-Tune button
  • Precent of anomaly cases for auto turning [0.001:0.05] (0.01 - default)

ACTIONS

Train execution - caused by Train button:

  1. Train Model:
    • Simple Mode:
      MODEL <- dynamicThreshold.train( ts.agg = list( data.agg = <aggregated time series>, ts_type=<aggregation type - days, hours, etc>, ts_val=<aggregation step>, ts_func = <aggregation function>), train.params = list(mode = 'simple', sensitivity = <Sensitivity>), type_th = 'Both')
    • Expert Mode:
      MODEL <- dynamicThreshold.train( ts.agg = list( data.agg = <aggregated time series - train set>, ts_type=<aggregation type - days, hours, etc>, ts_val=<aggregation step>, ts_func = <aggregation function>), train.params = list(mode = 'expert', params = list(agg_th = <Thresholds Aggregation Level >, local_trend = <Local Trend Basis>, similar = <Neighbours similarity>)), type_th ='Both')
  2. Apply Model:
    RES = dynamicThreshold.apply( ts.agg = list( data.agg = <aggregated time series - train set>, ts_type=<aggregation type - days, hours, etc>, ts_val=<aggregation step>, ts_func = <aggregation function>), model = MODEL, type_th = 'Both', correction =list("Low" = c(coef = 0, scale = 1), "High" = c(coef = 0, scale = 1)))
  3. Show Results with interpretation:
    • plot_time_series(RES, treshhold_type = 'both')
    • ANAYSIS.STAT = anomalies.stat(ad_results = RES, data, ts_type=<aggregation type - days, hours, etc>, ts_val=<aggregation step>)
    • anomalies.detail(ANAYSIS.STAT$ad_res[index,], data, ts_func = <aggregation function>)

Model Manual Tuning - caused by Correction and Scale sliders:

  1. RES = dynamicThreshold.apply( ts.agg = list( data.agg = <aggregated time series - train set>, ts_type=<aggregation type - days, hours, etc>, ts_val=<aggregation step>, ts_func = <aggregation function>), model = MODEL, type_th = 'Both', correction =list("Low" = c(coef = <Low-type Anomalies: Correction>, scale = <Low-type Anomalies: Scale>), "High" = c(coef = < High-type Anomalies: Correction >, scale = <High-type Anomalies: Scale>)))
  2. Show Results with interpretation

Model Auto Tuning - caused by Auto-Tune button:

  1. Calculate correcting coefficients:
    COEF = dynamicThreshold.autoturn( ts.agg = list( data.agg = <aggregated time series - train set>, ts_type=<aggregation type - days, hours, etc>, ts_val=<aggregation step>, ts_func = <aggregation function>), model = MODEL, type_th = 'Both', p_anomalies = <Precent of anomaly cases for auto turning>)
  2. Set values for corresponded sliders:
    • <Low-type Anomalies: Correction> = COEF$Low[1]
    • <Low-type Anomalies: Scale> = COEF$Low[2]
    • <High-type Anomalies: Correction> = COEF$High[1]
    • <High-type Anomalies: Scale> = COEF$High[2]
  3. Apply Model:
    RES = dynamicThreshold.apply( ts.agg = list( data.agg = <aggregated time series - train set>, ts_type=<aggregation type - days, hours, etc>, ts_val=<aggregation step>, ts_func = <aggregation function>), model_ = MODEL, type_th = 'Both', correction =list("Low" = c(coef = < Low-type Anomalies: Correction >, scale = < Low-type Anomalies: Scale >), "High" = c(coef = <High-type Anomalies: Correction>, scale = <High-type Anomalies: Scale>)))
  4. Show Results with interpretation

PROPHET
Model Train section

  • Train Mode (Simple (default), Expert):
    • Simple Mode
    • Expert Mode
      • yearly seasonality ('auto', TRUE, FALSE)
      • weekly seasonality ('auto', TRUE, FALSE)
      • daily seasonality ('auto', TRUE, FALSE)
      • uncertainty intervals [0.6, 0.99] (0.9 - default)
  • Train button

Model Tuning section

  • Low-type Anomalies (if Low or Both anomalies type)
    • Scale [-100, 100] (0 - default)
  • High-type Anomalies (if High or Both anomalies type)
    • Scale [-100, 100] (0 - default)

ACTIONS
Train execution - caused by Train button:

  1. Train Model:
    • Simple Mode:
      MODEL <- model_prophet_train_test(< aggregated time series - train >, < aggregated time series - test>, method = 'train')
    • Expert Mode:
      MODEL = model_prophet_train_test( < aggregated time series - train >, < aggregated time series - test>, yearly=< yearly seasonality >, weekly=< weekly seasonality >, daily=< daily seasonality >, interval_width=< uncertainty intervals > method = 'train')
  2. Apply Model:
    • RES <- model_prophet_new_interval(MODEL$data_train, method='Both')
  3. Tuning Model:
    • RES_tune <- model_prophet_new_interval(RES, percent_up=< Scale UP>, percent_low=< Scale LOW>, method='Both')
  4. Show Results with interpretation:
    • plot_time_series(RES, treshhold_type = 'both') or
      plot_time_series(RES_tune, treshhold_type ='both')
    • ANAYSIS.STAT = anomalies.stat(ad_results = RES, data, ts_type=< aggregation type - days, hours, etc >, ts_val=< aggregation step >)
    • anomalies.detail(aANAYSIS.STAT$ad_res[index,], data, ts_func = < aggregation function >)

Model Manual Tuning - caused by Scale sliders:

  1. RES <- model_prophet_new_interval( MODEL$data_train, percent_up= < Low-type Anomalies Scale >, percent_low= < High-type Anomalies Scale >, method='Both')
  2. Show Results with interpretation
@FireFlyTy FireFlyTy changed the title Train Model Page Train Model Page (15/11/2017) Nov 13, 2017
@FireFlyTy FireFlyTy changed the title Train Model Page (15/11/2017) Train Model Page (16/11/2017) Nov 13, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants