protected ArrayList<Float> calculateVarianceRatios(DataSet... params)
    {
        ArrayList<Float> ratios = new ArrayList<Float>();
        
        for (int i = 0; i < params.length - 1; i++)
        {
            for (int j = i + 1; j < params.length; j++)
            {
                featuresName.add("RATIO_VARIANCE_" + params[i].getName() + "_" 
                        + params[j].getName());
                if (params[i].getVariance() != null && 
                        params[j].getVariance() != null)
                {
                    Float ratio = params[i].getVariance() / params[j].getVariance(); 
                    if (ratio.isInfinite() || ratio.isNaN())
                    {
                        ratio = 0.0F;
                    }
                    ratios.add(ratio);
                }
                else
                {
                    ratios.add(null);
                }
            }
        }
        
        return ratios;
    }