docs: def identity_factor(self):
          """
          Returns the identity factor.
  
          Def: The identity factor of a factor has the same scope and cardinality as the original factor,
               but the values for all the assignments is 1. When the identity factor is multiplied with
               the factor it returns the factor itself.
  
          Returns
          -------
          DiscreteFactor: The identity factor.
  
          Examples
          --------
          >>> from pgmpy.factors.discrete import DiscreteFactor
          >>> phi = DiscreteFactor(['x1', 'x2', 'x3'], [2, 3, 2], range(12))
          >>> phi_identity = phi.identity_factor()
          >>> phi_identity.variables
          ['x1', 'x2', 'x3']
          >>> phi_identity.values
          array([[[ 1.,  1.],
                  [ 1.,  1.],
                  [ 1.,  1.]],
  
                 [[ 1.,  1.],
                  [ 1.,  1.],
                  [ 1.,  1.]]])
          """
          return DiscreteFactor(self.variables, self.cardinality, np.ones(self.values.size))