使用半定规划的多项式回归

计算科学 凸优化 回归 条件数
2021-12-09 01:41:05

我正在尝试为低通滤波器设计频率响应函数。我需要函数是多项式并满足以下约束:系数必须总和为 1,函数必须位于区间 [0, 1] 并且其在 1 处的值必须为 1。

受此StackExchange答案的启发,我尝试使用 SDP 求解器解决此问题。该程序的唯一重要约束是多项式的界限。我通过要求多项式对应于由半正定矩阵定义的二次形式来实现它们。使用相同的方法,我可以通过对多项式的导数施加非负约束来要求多项式是单调的。

以下是上述解决方案的示例: 在此处输入图像描述

这里,多项式需要是单调的,并且需要通过图表上虚线交点处的两个控制点。后者应该对滤波器的过渡区域进行建模。

问题是图中的滤波器与理想的低通滤波器相差甚远。这是因为当我尝试缩小过渡区域时,SDP 求解器会失败。当我这样做时发生的另一件事是二次形式的矩阵条件数猛增。我怀疑这两件事是相关的。提高多项式的阶数没有帮助。

有关如何解决此问题的任何建议?

1个回答

通过迫使您的控制点彼此靠近,您的 Vandermonde 矩阵变得几乎是奇异的,因此条件数很差并且您的求解器失败。

为简单起见,您有,其中是您的控制点。两个对应的 Vandermonde 行是:x2=x1+ϵxi

(1x1x12x1n1x2x22x2n)=(1x1x12x1n1x1+ϵx12(1+O(ϵ))x1n(1+O(ϵ)))(1x1x12x1n1x1x12x1n)

理想的低通滤波器响应是不连续的。多项式近似总是会表现出吉布斯现象将多项式约束为单调性会加剧该问题。