normalization of methods

This commit is contained in:
Miha Kralj
2026-02-10 21:33:16 -08:00
parent 915d7a007b
commit 6d6259a47d
527 changed files with 10525 additions and 2123 deletions
+2 -2
View File
@@ -292,7 +292,7 @@ public class MapdTests
predicted.Add(now.AddMinutes(i), 110);
}
var results = Mapd.Calculate(actual, predicted, 3);
var results = Mapd.Batch(actual, predicted, 3);
Assert.Equal(10, results.Count);
// |100-110|/110 * 100 = 9.0909...%
@@ -315,7 +315,7 @@ public class MapdTests
predicted.Add(DateTime.UtcNow, i + 1);
}
Assert.Throws<ArgumentException>(() => Mapd.Calculate(actual, predicted, 3));
Assert.Throws<ArgumentException>(() => Mapd.Batch(actual, predicted, 3));
}
[Fact]
+9 -2
View File
@@ -48,7 +48,7 @@ public sealed class Mapd : BiInputIndicatorBase
/// <summary>
/// Calculates Mean Absolute Percentage Deviation for two time series.
/// </summary>
public static TSeries Calculate(TSeries actual, TSeries predicted, int period)
public static TSeries Batch(TSeries actual, TSeries predicted, int period)
{
if (actual.Count != predicted.Count)
{
@@ -104,6 +104,13 @@ public sealed class Mapd : BiInputIndicatorBase
ErrorHelpers.ApplyRollingMean(errors, output, period);
}
public static (TSeries Results, Mapd Indicator) Calculate(TSeries actual, TSeries predicted, int period)
{
var indicator = new Mapd(period);
TSeries results = Batch(actual, predicted, period);
return (results, indicator);
}
/// <summary>
/// Computes MAPD errors (percentage errors divided by predicted).
/// </summary>
@@ -164,4 +171,4 @@ public sealed class Mapd : BiInputIndicatorBase
: 0.0;
}
}
}
}