【问题标题】:Interpolating and estimating uncertainty插值和估计不确定性
【发布时间】:2013-11-07 11:48:14
【问题描述】:

假设我有一个时间序列x,具有特定的时间测量。我还测量了不确定性sx(比如x 在特定时间间隔的标准偏差)。我基本上只是想填补时间序列的空白,但我想传播测量不确定性,并希望传播插值不确定性。过去,我使用 Tikhonov 正则化来实现这一点(即添加平滑约束),但我宁愿只使用 scipy 的开箱即用例程。我可以看到 scipy 样条插值例程采用平滑参数(将在此处为 sx 导出),但它不计算插值序列的不确定性。

我之所以问,是因为我认为这不是一个简单的计算,并且看看是否有人知道此功能是否可用。

【问题讨论】:

  • 一种方法是使用高斯过程。看看 scikits.learn:scikit-learn.org/stable/modules/gaussian_process.html(另外,克里金法是一种特定类型的高斯过程,它是您在插值领域经常会遇到的一种方法)
  • 使用 scikit-learn 的完整示例:scikit-learn.org/stable/auto_examples/gaussian_process/…
  • 是的,我知道这一点,但我希望 scipy spline 例程可以提供“开箱即用”的不确定性。
  • OpenTURNS 可能会有所帮助。正如他们所说,OpenTURNS 是一个科学库,可用作 Python 模块,专门用于处理不确定性。。它由 Innovation Works EADS 开发,非常可靠。至少它有一个可以给你提示的文档。

标签: python numpy scipy interpolation


【解决方案1】:

我不确定您所说的“传播测量不确定性,并希望传播插值不确定性”是什么意思,但如果我理解正确,您会得到一个嘈杂的测量结果和关于不确定性的附加信息。如果噪声是白噪声,或者可以被白噪声,那么您可以使用Kalman filter 来平滑常规测量并估计间隙中的测量。

卡尔曼滤波器使用状态模型来预测未来的测量结果,并使用协方差矩阵对信号的白噪声分量进行建模。可以应用不确定性度量来修改滤波器在预测和测量之间的“信任”权重。您可以使用协方差矩阵来确定临时的不确定性度量。

【讨论】:

  • 好吧,事实上,我宁愿让卡尔曼平滑而不是滤波器,但我在问 scipy 的样条插值例程是否确实考虑了不确定性(我想你可以计算它,但可能不会微不足道!)
  • 对不起,我帮不了你,从来没用过。卡尔曼平滑器是更一般的卡尔曼滤波器概念的特殊操作条件。
猜你喜欢
  • 2016-03-12
  • 2015-12-09
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 2011-12-30
  • 1970-01-01
  • 2019-09-04
相关资源
最近更新 更多