Exemplo n.º 1
0
        public static double Calculation(double[] realValue, double[] forecastValue)
        {
            double[] newReal = ArrayBased.ShortenRealValueArray(realValue, forecastValue);
            int      n       = newReal.Length;
            int      m       = forecastValue.Length;

            if (0 == n || 0 == m)
            {
                return(-1);           // throw new EmptyParameterArray();
            }
            //Sum of square differences
            double sumOfDifferences =
                newReal.Zip(forecastValue, (r, f) => Math.Pow(r - f, 2)).Sum();

            return(sumOfDifferences / n);
        }
Exemplo n.º 2
0
        public static double Calculation(double[] realValue, double[] forecastValue)
        {
            double[] newReal = ArrayBased.ShortenRealValueArray(realValue, forecastValue);
            int      n       = newReal.Length;
            int      m       = forecastValue.Length;

            if (0 == n || 0 == m)
            {
                return(-1);           // throw new EmptyParameterArray();
            }
            //Check if there's any 0 on the realValue array
            if (newReal.Contains(0.0))
            {
                return(-1);                 // throw new ZeroInputArray();
            }
            //Sum of absolute differences
            double sumOfDifferences = newReal.Zip(forecastValue, (r, f) => Math.Abs(r - f) / Math.Abs(r)).Sum();

            return(sumOfDifferences / n);
        }