title: Why is MCA so much slower than PCA?
body: <p>I have a large (50k rows, 2k columns) sparse binary dataset, and thus PCA isn't the best option for dimensionality reduction. I downloaded  <a href="https://github.com/esafak/mca/blob/master/docs/usage.rst" rel="nofollow noreferrer">this</a> mca package, and am running the following code:</p>
  
  <pre class="lang-py prettyprint-override"><code>import mca
  import pandas as pd
  data_dummy = mca.dummy(pd.DataFrame(data))
  mca_counts = mca.MCA(data_dummy)
  mca_components = mca_counts.fs_r(1)
  </code></pre>
  
  <p>I've let it run for over an hour, and still nothing. In comparison, sklearn's PCA implementation churns through the same dataset in under 30 seconds. Am I doing something horribly wrong? Or is MCA not a deterministic global optimization algorithm, unlike PCA which is. If so, is there another implementation I should be looking at? I'm just trying to find a fast, descent dimensionality reduction technique for sparse categorical (binary) data.</p>