mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-08-25 05:48:06 +00:00
normalization of methods
This commit is contained in:
@@ -320,7 +320,7 @@ public class WrmseTests
|
||||
predicted.Add(now.AddMinutes(i), i * 10 + 5);
|
||||
}
|
||||
|
||||
var results = Wrmse.Calculate(actual, predicted, 3);
|
||||
var results = Wrmse.Batch(actual, predicted, 3);
|
||||
|
||||
Assert.Equal(10, results.Count);
|
||||
// All errors are 5, MSE = 25, RMSE = 5
|
||||
@@ -342,7 +342,7 @@ public class WrmseTests
|
||||
weights.Add(now.AddMinutes(i), 2.0); // Weight = 2
|
||||
}
|
||||
|
||||
var results = Wrmse.Calculate(actual, predicted, weights, 3);
|
||||
var results = Wrmse.Batch(actual, predicted, weights, 3);
|
||||
|
||||
Assert.Equal(10, results.Count);
|
||||
// Weighted error = 2 * 100 = 200 per point, sum weights = 6 (period=3)
|
||||
@@ -366,7 +366,7 @@ public class WrmseTests
|
||||
}
|
||||
}
|
||||
|
||||
Assert.Throws<ArgumentException>(() => Wrmse.Calculate(actual, predicted, 3));
|
||||
Assert.Throws<ArgumentException>(() => Wrmse.Batch(actual, predicted, 3));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -387,7 +387,7 @@ public class WrmseTests
|
||||
}
|
||||
}
|
||||
|
||||
Assert.Throws<ArgumentException>(() => Wrmse.Calculate(actual, predicted, weights, 3));
|
||||
Assert.Throws<ArgumentException>(() => Wrmse.Batch(actual, predicted, weights, 3));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
@@ -197,7 +197,7 @@ public sealed class Wrmse : AbstractBase
|
||||
/// <inheritdoc/>
|
||||
public override TSeries Update(TSeries source)
|
||||
{
|
||||
throw new NotSupportedException("WRMSE requires two inputs. Use Calculate(actualSeries, predictedSeries, period) or Calculate(actualSeries, predictedSeries, weightsSeries, period).");
|
||||
throw new NotSupportedException("WRMSE requires two inputs. Use Batch(actualSeries, predictedSeries, period) or Batch(actualSeries, predictedSeries, weightsSeries, period).");
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
@@ -221,7 +221,7 @@ public sealed class Wrmse : AbstractBase
|
||||
/// <summary>
|
||||
/// Calculates WRMSE for entire series with uniform weights.
|
||||
/// </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)
|
||||
{
|
||||
@@ -246,7 +246,7 @@ public sealed class Wrmse : AbstractBase
|
||||
/// <summary>
|
||||
/// Calculates WRMSE for entire series with custom weights.
|
||||
/// </summary>
|
||||
public static TSeries Calculate(TSeries actual, TSeries predicted, TSeries weights, int period)
|
||||
public static TSeries Batch(TSeries actual, TSeries predicted, TSeries weights, int period)
|
||||
{
|
||||
if (actual.Count != predicted.Count || actual.Count != weights.Count)
|
||||
{
|
||||
@@ -332,4 +332,11 @@ public sealed class Wrmse : AbstractBase
|
||||
ErrorHelpers.ComputeWeightedErrors(actual, predicted, weights, weightedErrors);
|
||||
ErrorHelpers.ApplyRollingWeightedMeanSqrt(weightedErrors, weights, output, period);
|
||||
}
|
||||
}
|
||||
|
||||
public static (TSeries Results, Wrmse Indicator) Calculate(TSeries actual, TSeries predicted, int period)
|
||||
{
|
||||
var indicator = new Wrmse(period);
|
||||
TSeries results = Batch(actual, predicted, period);
|
||||
return (results, indicator);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user