(requestContext, seriesList, delta=3, bootstrapInterval='7d', seasonality='1d')
return results
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.
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.
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 .
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
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