class_docstr: Singular Spectrum Analysis object
class_docstr_tok: ["Singular","Spectrum","Analysis","object"]
docstr: Perform the Singular Value Decomposition and identify the rank of the embedding subspace
  Characteristic of projection: the proportion of variance captured in the subspace
docstr_tok: ["Perform","the","Singular","Value","Decomposition","and","identify","the","rank","of","the","embedding","subspace","Characteristic","of","projection",":","the","proportion","of","variance","captured","in","the","subspace"]
code: def decompose(self, verbose=False):
      """Perform the Singular Value Decomposition and identify the rank of the embedding subspace
      Characteristic of projection: the proportion of variance captured in the subspace
      """
      X = self.X_com
      self.S = X * X.T
      self.U, self.s, self.V = linalg.svd(self.S)
      self.U, self.s, self.V = m(self.U), np.sqrt(self.s), m(self.V)
      self.d = np.linalg.matrix_rank(X)
      Vs, Xs, Ys, Zs = {}, {}, {}, {}
      for i in range(self.d):
          Zs[i] = self.s[i] * self.V[:, i]
          Vs[i] = X.T * (self.U[:, i] / self.s[i])
          Ys[i] = self.s[i] * self.U[:, i]
          Xs[i] = Ys[i] * (m(Vs[i]).T)
      self.Vs, self.Xs = Vs, Xs
      self.s_contributions = self.get_contributions(X, self.s, False)
      self.r = len(self.s_contributions[self.s_contributions > 0])
      self.r_characteristic = round(
          (self.s[: self.r] ** 2).sum() / (self.s**2).sum(), 4
      )
      self.orthonormal_base = {i: self.U[:, i] for i in range(self.r)}
  
imports: import numpy
  import pandas
  from numpy import matrix
  from scipy import linalg
  from matplotlib.pylab import rcParams
label_desc: Use image node_id 7 for calling the mySSA obj's underlying member method code with example usage: obj.decompose(verbose) without return types