code: def test_options(self):
      pc = PCA(self.x)
      pc_no_norm = PCA(self.x, normalize=False)
      assert_allclose(
          pc.factors.dot(pc.coeff),
          pc_no_norm.factors.dot(pc_no_norm.coeff),
      )
      princomp = pc.factors
      assert_allclose(princomp.T.dot(princomp), np.eye(100), atol=1e-5)
      weights = pc_no_norm.coeff
      assert_allclose(weights.T.dot(weights), np.eye(100), atol=1e-5)
  
      pc_10 = PCA(self.x, ncomp=10)
      assert_allclose(pc.factors[:, :10], pc_10.factors)
      assert_allclose(pc.coeff[:10, :], pc_10.coeff)
      assert_allclose(pc.rsquare[: (10 + 1)], pc_10.rsquare)
      assert_allclose(pc.eigenvals[:10], pc_10.eigenvals)
      assert_allclose(pc.eigenvecs[:, :10], pc_10.eigenvecs)
  
      pc = PCA(self.x, standardize=False, normalize=False)
      mu = self.x.mean(0)
      xdm = self.x - mu
      xpx = xdm.T.dot(xdm)
      val, vec = np.linalg.eigh(xpx)
      ind = np.argsort(val)
      ind = ind[::-1]
      val = val[ind]
      vec = vec[:, ind]
      assert_allclose(xdm, pc.transformed_data)
      assert_allclose(val, pc.eigenvals)
      assert_allclose(np.abs(vec), np.abs(pc.eigenvecs))
      assert_allclose(np.abs(pc.factors), np.abs(xdm.dot(vec)))
      assert_allclose(pc.projection, xdm + mu)
  
      pc = PCA(self.x, standardize=False, demean=False, normalize=False)
      x = self.x
      xpx = x.T.dot(x)
      val, vec = np.linalg.eigh(xpx)
      ind = np.argsort(val)
      ind = ind[::-1]
      val = val[ind]
      vec = vec[:, ind]
      assert_allclose(x, pc.transformed_data)
      assert_allclose(val, pc.eigenvals)
      assert_allclose(np.abs(vec), np.abs(pc.eigenvecs))
      assert_allclose(np.abs(pc.factors), np.abs(x.dot(vec)))
  
imports: from statsmodels.compat.platform import PLATFORM_WIN32
  import warnings
  import numpy
  import pandas
  import pytest
  from numpy.testing import assert_allclose, assert_equal, assert_raises
  from statsmodels.multivariate.pca import PCA, pca
  from statsmodels.multivariate.tests.results.datamlw import data, princomp1, princomp2
  from statsmodels.tools.sm_exceptions import EstimationWarning
label_desc: Use image node_id 4 for calling the TestPCA obj's underlying member method code with example usage: obj.test_options() without return types