title: Shapes not aligned in Python AutoImpute data imputation package?
body: <p>I'm trying to use the (relatively new) Python <a href="https://autoimpute.readthedocs.io/en/latest/" rel="nofollow noreferrer">AutoImpute</a> package, but I keep getting a shape mismatch error when trying to use a particular column as a predictor.</p>
  <p><a href="https://i.stack.imgur.com/A0Qgg.png" rel="nofollow noreferrer">This is what my pandas dataframe looks like</a></p>
  <p>I can impute using the 'sex', 'group', and 'binned_age' columns, but not using the 'experiment' column. When I try doing that, I get this error:
  <code>ValueError: shapes (9,) and (4,13) not aligned: 9 (dim 0) != 4 (dim 0)</code></p>
  <p>This is my code for actually fitting and running the imputer:</p>
  <pre><code>cat_predictors = ['experiment', 'sex', 'group', 'binned_age']
  
  si = SingleImputer(
      strategy={'FSIQ': 'default predictive'}, 
      predictors={'FSIQ': cat_predictors},
  )
  imputed_data = si.fit_transform(df2)
  </code></pre>
  <p>In trying to diagnose the problem, I found out that if I reduce the number of <em>unique strings</em> in the 'experiment' column to 3 or fewer, my problem goes away for some reason. But, I don't want to do that and lose some of my data. Any help?</p>
  <p>Full trace below:</p>
  <pre><code>ValueError                                Traceback (most recent call last)
  &lt;ipython-input-11-3d4388ba92e4&gt; in &lt;module&gt;
        1 si = SingleImputer(
        2     strategy={'FSIQ': 'pmm'}, imp_kwgs={'pmm': {'tune': 10000, 'sample':10000}})
  ----&gt; 3 data_imputed_once = si.fit_transform(df2)
  
  /om/user/agupta81/anaconda/envs/myenv/lib/python3.8/site-packages/autoimpute/imputations/dataframe/single_imputer.py in fit_transform(self, X, y)
      288             X (pd.DataFrame): imputed in place or copy of original.
      289         &quot;&quot;&quot;
  --&gt; 290         return self.fit(X, y).transform(X)
  
  /om/user/agupta81/anaconda/envs/myenv/lib/python3.8/site-packages/autoimpute/utils/checks.py in wrapper(d, *args, **kwargs)
       59             err = f&quot;Neither {d_err} nor {a_err} are of type pd.DataFrame&quot;
       60             raise TypeError(err)
  ---&gt; 61         return func(d, *args, **kwargs)
       62     return wrapper
       63 
  
  /om/user/agupta81/anaconda/envs/myenv/lib/python3.8/site-packages/autoimpute/utils/checks.py in wrapper(d, *args, **kwargs)
      124 
      125         # return func if no missingness violations detected, then return wrap
  --&gt; 126         return func(d, *args, **kwargs)
      127     return wrapper
      128 
  
  /om/user/agupta81/anaconda/envs/myenv/lib/python3.8/site-packages/autoimpute/utils/checks.py in wrapper(d, *args, **kwargs)
      171             err = f&quot;All values missing in column(s) {nc}. Should be removed.&quot;
      172             raise ValueError(err)
  --&gt; 173         return func(d, *args, **kwargs)
      174     return wrapper
      175 
  
  /om/user/agupta81/anaconda/envs/myenv/lib/python3.8/site-packages/autoimpute/imputations/dataframe/single_imputer.py in transform(self, X, imp_ixs)
      274 
      275             # perform imputation given the specified imputer and value for x_
  --&gt; 276             X.loc[imp_ix, column] = imputer.impute(x_)
      277         return X
      278 
  
  /om/user/agupta81/anaconda/envs/myenv/lib/python3.8/site-packages/autoimpute/imputations/series/pmm.py in impute(self, X)
      187         # imputed values are actual y vals corresponding to nearest neighbors
      188         # therefore, this is a form of &quot;hot-deck&quot; imputation
  --&gt; 189         y_pred_bayes = alpha_bayes + beta_bayes.dot(X.T)
      190         n_ = self.neighbors
      191         if X.columns.size == 1:
  
  ValueError: shapes (9,) and (4,13) not aligned: 9 (dim 0) != 4 (dim 0)
  </code></pre>