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
+3 -3
View File
@@ -212,7 +212,7 @@ public class MaapeTests
streamingResults[i] = maapeIterative.Update(actualArr[i], predictedArr[i]).Value;
}
var batchResults = Maape.Calculate(actualSeries, predictedSeries, DefaultPeriod);
var batchResults = Maape.Batch(actualSeries, predictedSeries, DefaultPeriod);
Assert.Equal(count, batchResults.Count);
for (int i = 0; i < count; i++)
@@ -256,7 +256,7 @@ public class MaapeTests
predictedArr[i] = pred;
}
var tseriesResult = Maape.Calculate(actualSeries, predictedSeries, DefaultPeriod);
var tseriesResult = Maape.Batch(actualSeries, predictedSeries, DefaultPeriod);
Maape.Batch(actualArr.AsSpan(), predictedArr.AsSpan(), output.AsSpan(), DefaultPeriod);
for (int i = 0; i < 100; i++)
@@ -305,7 +305,7 @@ public class MaapeTests
predicted.Add(DateTime.UtcNow.Ticks, 98);
Assert.Throws<ArgumentException>(() => Maape.Calculate(actual, predicted, DefaultPeriod));
Assert.Throws<ArgumentException>(() => Maape.Batch(actual, predicted, DefaultPeriod));
}
[Fact]
+9 -2
View File
@@ -49,7 +49,7 @@ public sealed class Maape : BiInputIndicatorBase
/// <summary>
/// Calculates Mean Arctangent Absolute Percentage Error 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)
{
@@ -116,6 +116,13 @@ public sealed class Maape : BiInputIndicatorBase
}
}
public static (TSeries Results, Maape Indicator) Calculate(TSeries actual, TSeries predicted, int period)
{
var indicator = new Maape(period);
TSeries results = Batch(actual, predicted, period);
return (results, indicator);
}
/// <summary>
/// Computes arctangent percentage errors.
/// </summary>
@@ -178,4 +185,4 @@ public sealed class Maape : BiInputIndicatorBase
output[i] = absActual > Epsilon ? Math.Atan(absError / absActual) : Math.PI / 2.0;
}
}
}
}