问题标签 [curve-fitting]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2993 浏览

r - 关于使用R进行时间序列自动拟合的问题

我们每个月必须拟合大约 2000 个或奇数的时间序列,特别是它们具有非常特殊的行为,有些是 arma/arima,有些是 ewma,有些是 arch/garch,有或没有季节性和/或趋势(唯一的共同点是时间序列方面)。

理论上可以使用 aic 或 bic 标准构建集成模型以选择最佳拟合模型,但社区是否知道任何试图解决此问题的库?

谷歌让我知道下面的 Rob J Hyndman 链接

但他们还有其他选择吗?

0 投票
7 回答
289422 浏览

r - 将密度曲线拟合到R中的直方图

R中是否有将曲线拟合到直方图的函数?

假设您有以下直方图

它看起来很正常,但它是歪斜的。我想拟合一条倾斜的正态曲线以环绕该直方图。

这个问题相当基本,但我似乎无法在互联网上找到 R 的答案。

0 投票
5 回答
5807 浏览

python - 拟合阶跃函数

我正在尝试使用 scipy.optimize.leastsq 拟合阶跃函数。考虑以下示例:

参数是台阶的位置和两侧的水平。奇怪的是,第一个自由参数永远不会改变,如果你运行 scipy 会给出

当第一个参数设置为 250 和第二个参数设置为 -10 时最佳。

有没有人知道为什么这可能不起作用以及如何让它起作用?

如果我跑

我发现:

其中第一个数字是最小平方找到的,第二个是它应该找到的实际最优函数的值。

0 投票
7 回答
7203 浏览

image-processing - 绘图数字化 - 从图形图像中提取样本值

这不是真正的“OCR”,因为它不能识别字符,但它与应用于曲线的想法相同。任何人都知道用于从(光栅)绘图图像中检索值的图像处理库或已建立的算法?例如,在此图中,我很难用眼睛读取确切的值,因为网格线之间存在这样的差距:

替代文字

我可以使用直尺或其他任何东西,但它仍然容易出错。如果有软件可以截取任何旧图并自动将其转换为值表或可以查询的函数,那就太好了。

好像叫“曲线识别”?也可用于从未公布基础数据的科学论文的曲线中提取数据。

并且可以有一些人工指导。例如,OCR 没有理由无法读取“100”并将其与线匹配,但是在机器提取曲线相对于网格线的路径后,让人类为线提供数值是可以的。我最感兴趣的是相对于网格跟踪曲线的功能,即使网格以非仿射方式倾斜、旋转或扭曲

更新:

现在有一篇 Wikipedia 文章,名为将扫描的图形转换为数据,链接中有一堆软件。还有一些在alternativeto.net 上的软件。我猜这个理论现在属于http://dsp.stackexchange.com,而软件解决方案属于http://superuser.com

0 投票
8 回答
746 浏览

statistics - 是否可以仅通过一次样本数据进行代数曲线拟合?

我想对 2D 数据点进行代数曲线拟合,但由于各种原因 - 一次在内存中存储大量样本数据是不可能的,并且迭代所有这些数据是一个昂贵的过程。

(这样做的原因是实际上我需要根据我从磁盘读取的千兆字节数据同时拟合数千条曲线,因此这很慢)。

请注意,多项式系数的数量将受到限制(可能是 5-10),因此完全拟合的可能性极小,但这没关系,因为我试图在具有大量随机噪声的数据中找到潜在模式。我了解如何使用遗传算法将曲线拟合到数据集,但这需要多次通过样本数据,因此对我的应用程序不实用。

有没有办法用单次数据拟合曲线,其中必须从样本到样本保持的状态是最小的?

我应该补充一点,数据的性质是这些点可能位于 X 轴上介于 0.0 和 1.0 之间的任何位置,但 Y 值将始终为 1.0 或 0.0。

因此,在 Java 中,我正在寻找具有以下接口的类:

实现这一点的类必须不需要在其实例字段中保留太多数据,即使对于数百万个数据点也不超过一千字节。这意味着您不能只存储数据,因为您稍后会对其进行多次传递。

编辑:有人建议在一次通过中找到最佳曲线可能是不可能的,但是不需要最佳拟合,就像我们可以在一次通过中获得它一样接近。

一种方法的基本原理可能是,如果我们有一种从曲线开始的方法,然后有一种方法对其进行修改,使其在新数据点进入时稍微接近新数据点——实际上是一种梯度下降的形式。希望有足够的数据(并且数据会很丰富),我们得到一个很好的曲线。也许这会激发某人找到解决方案。

0 投票
4 回答
9909 浏览

r - 黄土拟合和结果方程

我是俄勒冈州波特兰市的一名开发人员。我想知道是否有人可以提供帮助:

我正在使用 R 研究 Loess 拟合模型,一旦我完成拟合,我希望退出拟合非线性曲线的方程,想知道是否有办法在 R 中确定这个方程?我一直在寻找,但找不到任何文献。对我来说,函数的图表很棒,但是没有图表的方程,我有点死在水中了。

0 投票
4 回答
1828 浏览

bezier - 贝塞尔曲线和法式曲线

我正在使用贝塞尔曲线在我正在制作的程序中绘制曲线。我有五分。这是我正在尝试创建的曲线的粗略草图。我正在尝试制作一条穿过 A、B、C、D 的曲线。但是,C 不是一个确定的点,它是曲线应该经过的位置以使其看起来像法国曲线的建议。C在45度从E出来。

这说明了我正在尝试做的事情。

有没有人对如何近似通过这些点的法国曲线有任何建议?

0 投票
2 回答
5808 浏览

algorithm - 在c ++中将高斯曲线拟合到某个直方图峰值

我有两个关于将高斯曲线拟合到直方图峰值的问题。我的第一个问题是一个非常基本的问题:

  1. 如何将高斯曲线拟合到整个直方图?这是否仅意味着我必须找出并计算直方图的平均值(μ)和偏差(ϭ)并将它们放入高斯曲线的公式中?

以下示例是否正确?:假设(仅作为示例)我有一个具有 5 个颜色值的图像的直方图。在 X 轴上有这 5 个颜色值,在 Y 轴上有每个值的频率。IE:

价值1:1次

价值2:4倍

价值3:7倍

价值4:3倍

价值5:2倍

现在平均值 (µ) 将是 3(µ = 3)。

偏差 (ϭ) 将是 0.9 (ϭ = 0.9)。公式:

现在我在密度函数的公式中使用这些值来计算我的高斯曲线?

那是对的吗?不幸的是,我对数学背景有点不安全。

  1. 我的第二个问题有点棘手:这一次,我有一个有几个峰值的直方图,但我只想将高斯曲线拟合到最高峰。所以,我用一个简单的 for 循环遍历直方图的所有 bin,并在 x 轴上找到一个强度值(包含图像的强度),频率最高(显示在 y 轴上)。这将是最高峰。但是我如何找出偏差呢?特别是,因为我不知道我应该在计算中包含哪些强度值。据我所知,高斯曲线的转折点位于 µ+ϭ 和 µ-ϭ。能不能帮助解决问题。

很抱歉这个问题有点数学,但我没有找到更好的地方来问这个问题。我还阅读了一些类似的主题,但不幸的是,他们最终没有回答我的问题。

谢谢你的帮助!

问候马克

0 投票
4 回答
321 浏览

math - 平滑的局部修边功能

我有一个灰度图像,我想做一个函数

  1. 紧跟图像
  2. 总是比它更好的形象
  3. 在给定的尺度上平滑。

换句话说,我想要一个平滑函数,它近似于局部区域中另一个函数的最大值,同时在所有点高估该函数。

有任何想法吗?


我在这方面的第一遍相当于选择“高点”(通过将图像与高阶二维多项式的最小二乘拟合进行比较)并将二维多项式与它们及其斜率相匹配。由于第一次安装所需的工作空间比我的地址空间多,我认为它不会起作用,我将不得不想出别的东西......


我做了什么

我的最终目标是对图像进行平滑调整,以便每个局部区域都使用全范围的值。关键的实现是“几乎完美”的功能对我来说就很好。

以下过程(从未明确具有 max 函数)是我最终得到的:

  • 使用类似“模糊”的函数查找每个点的局部均值和标准差。
  • 偏移图像以获得零均值。( image -= mean;)
  • 将每个像素除以其标准差。( image /= stdev;)
  • 现在应该是最多[-1,1]的图像(奇怪的是,我的大多数测试图像在该范围内都超过了 99%,而不是预期的 67%)
  • 求整幅图像的标准差。
  • 将一些跨度 +/- n*sigma 映射到您的输出范围。

通过一些操作,可以将其转换为找到我所询问的 Max 函数。

0 投票
4 回答
1179 浏览

macos - 任何(免费)工具来计算函数的泰勒级数展开?

经过痛苦的反复试验,我得到了一个怪诞的函数,它的行为方式符合我的期望:

我只关心范围 0 <= x <= 1 和 x = 1 处的斜率的值。在此区间内,0 <= y <= 1 也是如此。

是否有任何免费工具(基于 Web 或 MAC OS X)可以为此生成泰勒级数扩展?(我找到了一个,但它被如此复杂的公式窒息并且不支持 abs。)

我生成级数扩展的目的是计算起来可能更有效。(这个函数在 Javascript 中会被调用数十万次,所以性能是个问题。)

或者,如果我有曲线拟合工具,我可以对这些点进行采样并进行曲线拟合。(唉,我没有 MS Excel。)知道任何免费的非线性曲线拟合工具(基于 Web 或 MAC OS X)吗?