parameters: (requestContext, seriesList, delta=3, bootstrapInterval='7d', seasonality='1d')
return_statement: return results
docstring: Performs a Holt-Winters forecast using the series as input data and plots the
    positive or negative deviation of the series data from the forecast.
docstring_summary: Performs a Holt-Winters forecast using the series as input data and plots the
    positive or negative deviation of the series data from the forecast.
docstring_tokens: Performs a Holt - Winters forecast using the series as input data and plots the positive or negative deviation of the series data from the forecast .
function: def holtWintersAberration(requestContext, seriesList, delta=3, bootstrapInterval='7d', seasonality='1d'):
    """
    Performs a Holt-Winters forecast using the series as input data and plots the
    positive or negative deviation of the series data from the forecast.
    """
    results = []
    confidenceBands = holtWintersConfidenceBands(requestContext, seriesList, delta, bootstrapInterval, seasonality)
    confidenceBands = {s.name: s for s in confidenceBands}
  
    for series in seriesList:
      lowerBand = confidenceBands['holtWintersConfidenceLower(%s)' % series.name]
      upperBand = confidenceBands['holtWintersConfidenceUpper(%s)' % series.name]
      aberration = list()
      for i, actual in enumerate(series):
        if series[i] is None:
          aberration.append(0)
        elif upperBand[i] is not None and series[i] > upperBand[i]:
          aberration.append(series[i] - upperBand[i])
        elif lowerBand[i] is not None and series[i] < lowerBand[i]:
          aberration.append(series[i] - lowerBand[i])
        else:
          aberration.append(0)
  
      series.tags['holtWintersAberration'] = 1
      newName = "holtWintersAberration(%s)" % series.name
      results.append(TimeSeries(newName, series.start, series.end
              , series.step, aberration, tags=series.tags, xFilesFactor=series.xFilesFactor))
    return results
function_tokens: def holtWintersAberration ( requestContext , seriesList , delta = 3 , bootstrapInterval = '7d' , seasonality = '1d' ) : results = [ ] confidenceBands = holtWintersConfidenceBands ( requestContext , seriesList , delta , bootstrapInterval , seasonality ) confidenceBands = { s . name : s for s in confidenceBands } for series in seriesList : lowerBand = confidenceBands [ 'holtWintersConfidenceLower(%s)' % series . name ] upperBand = confidenceBands [ 'holtWintersConfidenceUpper(%s)' % series . name ] aberration = list ( ) for i , actual in enumerate ( series ) : if series [ i ] is None : aberration . append ( 0 ) elif upperBand [ i ] is not None and series [ i ] > upperBand [ i ] : aberration . append ( series [ i ] - upperBand [ i ] ) elif lowerBand [ i ] is not None and series [ i ] < lowerBand [ i ] : aberration . append ( series [ i ] - lowerBand [ i ] ) else : aberration . append ( 0 ) series . tags [ 'holtWintersAberration' ] = 1 newName = "holtWintersAberration(%s)" % series . name results . append ( TimeSeries ( newName , series . start , series . end , series . step , aberration , tags = series . tags , xFilesFactor = series . xFilesFactor ) ) return results