class_docstr: _dlm includes all basic functions for building dlm model.
  
  Attributes:
      data: the observed time series data
      n: the length of the time series data
      result: the inner class that records the filtered and smoothed results
      builder: the @builder that is used for providing the modeling
      functionality. For details please refer to @builder
      Filter: the filter used for filtering time series data using the model.
              For details please refer to @kalmanFilter
      initialized: indicates whether the dynamic linear model has been
                   initialized
      options: model options, including initial guess of the observational
               variance.
               More is going to be added (plot options and shrinkage options)
      time: the time label, used for plotting
  
  
  Methods:
      _initialize: initialize the dlm (builder and kalmanFilter)
      _forwardFilter: run forward filter for a specific start and end date
      _backwardSmoother: run backward smooth for a specific start and end
                         date
      _predictInSample: predict the latent state and observation for a given
                        period of time (deprecated)
      _resetModelStatus: reset the model status to its prior status
      _setModelStatus: set the model status to a specific date
      _defaultOptions: a class to store and set default options
      _result: a class to store the results
      _copy: copy the result from the model to the _result class
      _reverseCopy: copy the result from the _result class to the model
      _checkFeatureSize: check whether the features's n matches the data's n
      _checkComponent: check whether a component is in dlm
      _checkPlotOptions: set the correct options according to the fit
      _checkAndGetWorkingDates: get the correct filtering dates
docstr: Predict the model's status based on the model of a specific day
  
  Args:
      date: the date the prediction is based on
      day: number of days forward that need to be predicted.
  
  Returns:
      A tuple. (Predicted observation, variance of the predicted
      observation)
docstr_tok: ["Predict","the","model","'s","status","based","on","the","model","of","a","specific","day","Args",":","date",":","the","date","the","prediction","is","based","on","day",":","number","of","days","forward","that","need","to","be","predicted",".","Returns",":","A","tuple",".","(","Predicted","observation",",","variance","of","the","predicted","observation",")"]
code: def _predictInSample(self, date, days=1):
      """Predict the model's status based on the model of a specific day
  
      Args:
          date: the date the prediction is based on
          day: number of days forward that need to be predicted.
  
      Returns:
          A tuple. (Predicted observation, variance of the predicted
          observation)
  
      """
  
      if date + days > self.n - 1:
          raise ValueError("The range is out of sample.")
  
      predictedObs = [None] * days
      predictedObsVar = [None] * days
      # reset the date to the date we are interested in
      self._setModelStatus(date=date)
      self.builder.model.prediction.step = 0
      for i in range(1, days):
          # update the evaluation vector
          if (
              len(self.builder.dynamicComponents) > 0
              or len(self.builder.automaticComponents) > 0
          ):
              self.builder.updateEvaluation(date + i, self.padded_data)
  
          self.Filter.predict(self.builder.model)
          predictedObs[i - 1] = self.builder.model.prediction.obs
          predictedObsVar[i - 1] = self.builder.model.prediction.obsVar
  
      return (predictedObs, predictedObsVar)
  
imports: from pydlm.base.kalmanFilter import kalmanFilter
  from pydlm.modeler.builder import builder
  from numpy import var
  import logging
label_desc: Use image node_id 7 for calling the _dlm obj's underlying member method code with example usage: obj._predictInSample(date, days) and returns: predictedObs,  predictedObsVar