code: def fit(self):
      self.mOutName = "MovingAverage(" + str(self.mWindow) + ")"
      self.mFormula = self.mOutName
      # real lag1
      target = self.mTrendFrame[self.mSignal].values
      self.mTrendFrame[self.mOutName] = (
          self.mTrendFrame[self.mSignal]
          .shift(1)
          .rolling(self.mWindow)
          .mean()
          .fillna(method="bfill")
      )
      mean = self.mSplit.getEstimPart(self.mTrendFrame)[
          self.mSignal
      ].mean()
      self.mTrendFrame[self.mOutName].fillna(mean, inplace=True)
      self.mTrendFrame[self.mOutName + "_residue"] = (
          target - self.mTrendFrame[self.mOutName].values
      )
  
imports: import pandas
  import numpy
  from .None import Time
  from .None import Perf
  from .None import Plots
  from .None import Utils
  import sklearn
  import sklearn.preprocessing
  import sklearn.linear_model
  from sklearn.feature_selection import RFE
  from sklearn.linear_model import LinearRegression
label_desc: Use image node_id 3 for calling the cMovingAverageTrend obj's underlying member method code with example usage: obj.fit() without return types