0

我有一个数据集,用于计算(近似)非线性函数的参数。

原始数据点及时分散,目前我的求解器能够计算出最佳参数集,这些参数对给定时间段内的数据项的函数进行建模。当我合并更大的数据集时,函数逼近的准确性会提高。然而,与此同时,我不希望数据项太旧而无法在很大程度上影响函数逼近。我现在计划及时使用处于预定义窗口内的数据项。这个预定义的窗口将随着时间的推移而移动,合并新数据项并丢弃旧数据项。然而,要包含或排除数据元素,我总是必须从修改过的数据集开始处理,这是一个耗时且不适合实时操作的过程。

我试图解决的问题是如何将额外数据项的学习融入到近似函数中,而不必遍历整个原始数据集。最初的想法是通过子集中的总数据项与所有子集中的总数据项的比率,对从每个数据子集学习到的函数参数进行加权。有人能想到更好的方法吗?对任何可能的解决方案的提示将不胜感激。

4

1 回答 1

0

借用一些时间序列技术,一种简单(启发式)的方法是使用模型参数的指数平滑,计算新学习参数(基于最近数据)和旧参数(权重值必须使用某种交叉验证/回测进行调整)。如果新数据中的信噪比不会随时间发生显着变化,这通常会很好地工作。

另一种方法是根据早期数据为您的模型参数施加“先验” - 最简单的方法之一(不需要完整的贝叶斯学习)是对您的损失函数添加二次惩罚,以惩罚偏离较旧的参数值(使用交叉验证/回测调整惩罚系数) 应注意确保在构建惩罚时考虑较旧模型参数的方差-协方差矩阵。这大致相当于基于旧模型参数强加高斯先验。

于 2011-12-29T17:19:02.700 回答