序列非线性最小二乘问题

信息处理 优化 最小二乘 非线性 参数估计
2022-02-23 19:30:07

我有以下非线性函数, 具有未知(但确定的)参数

s(x;Ak,μk,σk)=k=12Akexp((xμk)2σk2)
Ak,μk,σk

接收到的信号如下:其中是标准高斯白噪声,

r(x;Ak,μk,σk)=ts(x;Ak,μk,σk)+n(x)
nt0

任务是在下一个数据点到达时在线估计/更新模型参数Ak,μk,σk

这里的数据点不会从模型中随机到达。它们按照模型给定的顺序到达。即,输入点首先在零水平附近,然后它们增加,达到峰值,然后减少,第二个指数也是如此。

我们知道允许两个不同的峰值可见。允许在整个数据由于内存限制,位于此窗口后面的所有数据点都将丢失。σ12σ22μ2μ15%

我正在考虑使用迭代非线性最小二乘算法,但这种方法没有考虑数据点是如何到达的。它假设数据点是随机到达的。然而,在我的例子中,有一些来自第一个指数的数据点,如果我知道这些点来自左尾,例如,噪音水平很低,我什至可以几乎完全知道但这对于常规的非线性最小二乘法是不可能的。因此,我的问题如下:A1μ1σ12

解决这个问题的最佳方法是什么?

1个回答

我有以下非线性函数 [...]

这将是一个双峰分布,具有两种不同的均值和偏差()、两个子种群大小和一个调节的额外参数μ1,σ1,μ2,σ2A1,A2tA1,A2

这里的数据点不会从模型中随机到达。它们按照模型给定的顺序到达。即,输入点首先在零水平附近,然后它们增加,达到峰值,然后减少,第二个指数也是如此。

您所描述的是将某些曲线与数据点进行简单的曲线拟合,而不是将数据拟合到分布

典型的拟合场景涉及使用牛顿法找到那些使误差函数值最小化的参数,并且在这里可以区分高斯的总和相对于参数(这是线性和非-线性方法)。

下面是几个实际的例子:三(不同平台)

如果您可以使用问题的细节来确定拟合的起点,它将极大地帮助收敛。例如,在某些情况下,该方法会收敛,但是当您查看拟合时,一条曲线只是简单地吸收了另一条曲线。

可以用在线算法完成吗?不,在这种情况下不是。

一般来说,有一些在线算法可以“逐个样本”地“学习”模型的系数。但这是指计算模型的参数以最小化误差函数评估误差,意味着要拟合的内容的完整“快照”(即,获得一个估计值的所有数据)。s

在这里,无法预测接下来会出现什么样本以及 6 参数模型的哪个可能实现。但是,如果您可以应用额外的约束条件,您可能会在少数情况下做出推断。

您可能会将此问题视为跟踪分类问题的组合,您可以说“我知道曲线应该如何演变,我所要做的就是跟踪它的演变并在不确定性低于某个水平时发出标记",但话说回来,你真的不知道要跟踪哪个 6 参数实现。这就是你想要推断的。

除非有一定的限制,否则不可能“猜测未来” 。

前几个“...传入点首先在零级附近,...”告诉您的值是什么?没有。您仍然可以尝试“适合”(批量或在线),但您会得到无意义的结果和巨大的错误。因此,我们必须等待更多数据。但是话又说回来,如果我们等待足够长的时间以确保我们有一条曲线“进入”,那么,如果我们知道 A_1+A_2 通常是什么(另一个约束),我们可能可以猜测 s . 但是,这仍然让我们无法猜测会是什么。我们仍然需要等待更多数据。A1,μ1,σ1,A2,μ2,σ2AA1+A2μ2,σ2

如果您正在处理的问题已经可以告知您 6 个参数的无意义值,或者至少它们应该处于的范围,或者两个三元组参数之间的某种关系,或者任何其他可以用来减少的大量实现,然后在新样本进入时跟踪每个参数组合的演变。这基本上是最接近的邻居分类。s

但是,您可能需要几乎等待整个曲线“进入”才能做出某个决定。

如果您开始用眼睛跟踪单个高斯曲线,在轨迹开始弯曲以开始形成峰值之前,您无法真正分辨出再加上噪音,你就有不止一条可能的曲线可以从相同的数据中传递出来。因此,您可能必须等待至少的数据“输入”,然后才能做出有效的估计。A,μ,σ34

希望这可以帮助。