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
@@ -241,7 +241,7 @@ public class MaseTests
iterativeResults.Add(maseIterative.Update(actual[i], predicted[i]).Value);
}
var batchResults = Mase.Calculate(actual, predicted, Period);
var batchResults = Mase.Batch(actual, predicted, Period);
Assert.Equal(iterativeResults.Count, batchResults.Count);
for (int i = 0; i < iterativeResults.Count; i++)
@@ -282,7 +282,7 @@ public class MaseTests
double[] predictedArr = predictedSeries.Values.ToArray();
double[] output = new double[100];
var tseriesResult = Mase.Calculate(actualSeries, predictedSeries, Period);
var tseriesResult = Mase.Batch(actualSeries, predictedSeries, Period);
Mase.Batch(actualArr.AsSpan(), predictedArr.AsSpan(), output.AsSpan(), Period);
for (int i = 0; i < 100; i++)
@@ -303,7 +303,7 @@ public class MaseTests
}
// 1. Batch Mode (static method)
var batchSeries = Mase.Calculate(actualSeries, predictedSeries, Period);
var batchSeries = Mase.Batch(actualSeries, predictedSeries, Period);
double expected = batchSeries.Last.Value;
// 2. Span Mode
+10 -3
View File
@@ -162,7 +162,7 @@ public sealed class Mase : AbstractBase
public override TSeries Update(TSeries source)
{
throw new NotSupportedException("MASE requires two inputs. Use Calculate(actualSeries, predictedSeries, period).");
throw new NotSupportedException("MASE requires two inputs. Use Batch(actualSeries, predictedSeries, period).");
}
public override void Prime(ReadOnlySpan<double> source, TimeSpan? step = null)
@@ -179,7 +179,7 @@ public sealed class Mase : AbstractBase
Last = default;
}
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)
{
@@ -352,4 +352,11 @@ public sealed class Mase : AbstractBase
}
}
}
}
public static (TSeries Results, Mase Indicator) Calculate(TSeries actual, TSeries predicted, int period)
{
var indicator = new Mase(period);
TSeries results = Batch(actual, predicted, period);
return (results, indicator);
}
}