From b073da5da0c1d9d215cc37143989d877ba91e2e3 Mon Sep 17 00:00:00 2001 From: Alain Quartier-la-Tente Date: Thu, 28 Dec 2023 13:29:03 +0100 Subject: [PATCH 1/2] LocalPolynomialFilters correction for DAF and CN --- .../jdplus/filters/base/r/LocalPolynomialFilters.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jdplus-incubator-base/jdplus-filters-base-parent/jdplus-filters-base-r/src/main/java/jdplus/filters/base/r/LocalPolynomialFilters.java b/jdplus-incubator-base/jdplus-filters-base-parent/jdplus-filters-base-r/src/main/java/jdplus/filters/base/r/LocalPolynomialFilters.java index d3ab7f4..7b01509 100644 --- a/jdplus-incubator-base/jdplus-filters-base-parent/jdplus-filters-base-r/src/main/java/jdplus/filters/base/r/LocalPolynomialFilters.java +++ b/jdplus-incubator-base/jdplus-filters-base-parent/jdplus-filters-base-r/src/main/java/jdplus/filters/base/r/LocalPolynomialFilters.java @@ -105,13 +105,13 @@ public ISymmetricFiltering filters(int horizon, int degree, String kernel, Strin IFiniteFilter[] afilters; if (endpoints.equals("DAF")) { afilters = new FiniteFilter[horizon]; - for (int i = 0; i < afilters.length; ++i) { - afilters[i] = jdplus.toolkit.base.core.math.linearfilters.LocalPolynomialFilters.directAsymmetricFilter(horizon, i, degree, weights); + for (int i = 0, j=horizon-1; i < afilters.length; ++i, --j) { + afilters[j] = jdplus.toolkit.base.core.math.linearfilters.LocalPolynomialFilters.directAsymmetricFilter(horizon, i, degree, weights); } } else if (endpoints.equals("CN")) { afilters = new FiniteFilter[horizon]; - for (int i = 0; i < afilters.length; ++i) { - afilters[i] = AsymmetricFiltersFactory.cutAndNormalizeFilter(filter, i); + for (int i = 0, j=horizon-1; i < afilters.length; ++i, --j) { + afilters[j] = AsymmetricFiltersFactory.cutAndNormalizeFilter(filter, i); } } else { int u = 0; From 745cc14a03b143cf3826a54ce240c7da59037a10 Mon Sep 17 00:00:00 2001 From: Alain Quartier-la-Tente Date: Thu, 28 Dec 2023 14:44:10 +0100 Subject: [PATCH 2/2] formattingKernel added in more functions --- .../src/main/java/jdplus/filters/base/r/RKHSFilters.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jdplus-incubator-base/jdplus-filters-base-parent/jdplus-filters-base-r/src/main/java/jdplus/filters/base/r/RKHSFilters.java b/jdplus-incubator-base/jdplus-filters-base-parent/jdplus-filters-base-r/src/main/java/jdplus/filters/base/r/RKHSFilters.java index 8adb17b..7ba1f17 100644 --- a/jdplus-incubator-base/jdplus-filters-base-parent/jdplus-filters-base-r/src/main/java/jdplus/filters/base/r/RKHSFilters.java +++ b/jdplus-incubator-base/jdplus-filters-base-parent/jdplus-filters-base-r/src/main/java/jdplus/filters/base/r/RKHSFilters.java @@ -49,7 +49,7 @@ public ISymmetricFiltering filters(int horizon, int degree, String kernel, RKHSFilterSpec tspec=RKHSFilterSpec.builder() .filterLength(horizon) .polynomialDegree(degree) - .kernel(KernelOption.valueOf(kernel)) + .kernel(KernelOption.valueOf(formattingKernel(kernel))) .optimalBandWidth(optimalbw) .asymmetricBandWith(AsymmetricCriterion.valueOf(criterion)) .density(rwdensity ? SpectralDensity.RandomWalk : SpectralDensity.Undefined) @@ -68,7 +68,7 @@ public ISymmetricFiltering filters(int horizon, int degree, String kernel, RKHSFilterSpec tspec=RKHSFilterSpec.builder() .filterLength(horizon) .polynomialDegree(degree) - .kernel(KernelOption.valueOf(kernel)) + .kernel(KernelOption.valueOf(formattingKernel(kernel))) .optimalBandWidth(optimalbw) .asymmetricBandWith(AsymmetricCriterion.valueOf(criterion)) .density(rwdensity ? SpectralDensity.RandomWalk : SpectralDensity.Undefined)