class_docstr: Transforms a time series into a differentiated time series of order n.
  It also reverts the differentiation.
  
  Parameters
  ----------
  order : int
      Order of differentiation.
  
  Attributes
  ----------
  order : int
      Order of differentiation.
  initial_values : list
      List with the initial value of the time series after each differentiation.
      This is used to revert the differentiation.
  last_values : list
      List with the last value of the time series after each differentiation.
      This is used to revert the differentiation of a new window of data. A new
      window of data is a time series that starts right after the time series
      used to fit the transformer.
class_docstr_tok: ["Transforms","a","time","series","into","a","differentiated","time","series","of","order","n.","It","also","reverts","the","differentiation",".","Parameters","--","--","--","--","--","order",":","int","Order","of","differentiation",".","Attributes","--","--","--","--","--","order",":","int","Order","of","differentiation",".","initial_values",":","list","List","with","the","initial","value","of","the","time","series","after","each","differentiation",".","This","is","used","to","revert","the","differentiation",".","last_values",":","list","List","with","the","last","value","of","the","time","series","after","each","differentiation",".","This","is","used","to","revert","the","differentiation","of","a","new","window","of","data",".","A","new","window","of","data","is","a","time","series","that","starts","right","after","the","time","series","used","to","fit","the","transformer","."]
docstr: Reverts the differentiation. To do so, the input array is assumed to be
  a differentiated time series of order n that starts right after the
  the time series used to fit the transformer.
  
  Parameters
  ----------
  X : numpy ndarray
      Differentiated time series.
  y : Ignored
      Not used, present here for API consistency by convention.
  
  Returns
  -------
  X_diff : numpy ndarray
      Reverted differentiated time series.
docstr_tok: ["Reverts","the","differentiation",".","To","do","so",",","the","input","array","is","assumed","to","be","a","differentiated","time","series","of","order","n","that","starts","right","after","the","the","time","series","used","to","fit","the","transformer",".","Parameters","--","--","--","--","--","X",":","numpy","ndarray","Differentiated","time","series",".","y",":","Ignored","Not","used",",","present","here","for","API","consistency","by","convention",".","Returns","--","--","--","-","X_diff",":","numpy","ndarray","Reverted","differentiated","time","series","."]
code: def inverse_transform(
      self, X: np.ndarray, y: Any = None
  ) -> np.ndarray:
      """
      Reverts the differentiation. To do so, the input array is assumed to be
      a differentiated time series of order n that starts right after the
      the time series used to fit the transformer.
  
      Parameters
      ----------
      X : numpy ndarray
          Differentiated time series.
      y : Ignored
          Not used, present here for API consistency by convention.
  
      Returns
      -------
      X_diff : numpy ndarray
          Reverted differentiated time series.
  
      """
  
      # Remove initial nan values if present
      X = X[np.argmax(~np.isnan(X)) :]
      for i in range(self.order):
          if i == 0:
              X_undiff = np.insert(X, 0, self.initial_values[-1])
              X_undiff = np.cumsum(X_undiff, dtype=float)
          else:
              X_undiff = np.insert(
                  X_undiff, 0, self.initial_values[-(i + 1)]
              )
              X_undiff = np.cumsum(X_undiff, dtype=float)
  
      return X_undiff
  
file_path: skforecast/skforecast/preprocessing/preprocessing.py
imports: import numpy
  from sklearn.base import BaseEstimator
  from sklearn.base import TransformerMixin
  from typing import Any
  from typing_extensions import Self
label_desc: Use image node_id 4 for calling the TimeSeriesDifferentiator obj's underlying member method code with example usage: obj.inverse_transform(X, y) and returns: X_undiff