title: How to apply cramer V on 2x2 matrix
body: <p>I want to find the association between variables and cramer V works like a treat for matrices of sizes greater than 2X2. However, for matrices with low frequencies, it does not work well. For the following contingency matrix, i get the result as 0.5. How can I account for the same? </p>
  
  <pre><code>  1 2  
  a 2 0  
  b 0 2  
  </code></pre>
  
  <p>Here is my code: </p>
  
  <pre><code>def cramers_stat(confusion_matrix):  
      chi2 = ss.chi2_contingency(confusion_matrix)[0]  
      n = confusion_matrix.sum().sum()  
      return np.sqrt(chi2 / (n*(min(confusion_matrix.shape)-1)))  
  result=cramers_stat(confusion_matrix)  
  print(result) 
  </code></pre>
  
  <p>confusion_matrix is my input, in this case the matrix i mentioned above. I understand for good results, i need a matrix frequency above 5, but for perfect association as the case above I expected the result to be 1. </p>