问题标签 [data-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 投票
7 回答
8907 浏览

math - 正弦波频率拟合

这个问题是基于之前的一个类似问题。

我有以下等式和调整后的(一些随机数据):0.44*sin(N* 2*PI/30)

我正在尝试使用 FFT 从生成的数据中获取频率。然而,频率最终接近但不等于频率(这使得波比预期的大一点)

FFT 的最大频率为 7hz,但预期频率为 (30/2PI) 4.77hz。

我已经包含了 FFT 和绘制值的图表。

替代文字

我正在使用的代码是:

正 FFT 可以在这里找到。基本上它使 FFT 图居中并切断负信号。

我的问题是如何让 FFT 更准确,而不必仅对频率使用最小二乘法?

0 投票
3 回答
3245 浏览

java - 将 3D 线拟合到 Java 中的 3D 点数据?

我花了相当多的时间试图寻找一种简单的方法来做到这一点 - 理想情况下,一个神奇的库存在于某个地方,它将获取我的一组 3D 数据点并使用任一正交在最佳拟合线上返回 2 个点回归或最小二乘,并返回拟合线的误差。这样的事情是否存在,如果存在,在哪里?

0 投票
4 回答
2903 浏览

python - 大量数据,插值

我正在寻找一种“方法”来获取公式,该公式来自拟合一组数据(3000 点)。我使用的是勒让德多项式,但对于 > 20 点,它给出的值不准确。我可以写chi2测试,但是算法需要大量时间来计算N个参数,而且一开始我不知道函数长什么样,所以需要时间。我在考虑样条曲线......也许......

所以输入是:3000品脱

输出:f(x) = ... 某事

我想有一个适合的公式。在 python 中执行此操作的最佳方法是什么?

让原力与我们同在!尼康

0 投票
3 回答
968 浏览

math - 创建一个有效的函数来拟合数据集

基本上我有一个大的(可以得到多达 100,000-150,000 个值)4 字节输入及其相应的 4 字节输出的数据集。不能保证输入是唯一的(这不是真正的问题,因为我认为我可以生成伪随机数来添加或异或输入,以便它们变得唯一),但不能保证输出也是唯一的(因此两组不同的输入可能具有相同的输出)。

我正在尝试创建一个函数来有效地模拟我的数据集中的值。我不需要它来有效地插值,甚至根本不需要它(我的意思是我永远不会向它提供不包含在这个静态数据集中的输入)。但是,它确实需要尽可能高效。我研究了插值,发现它并不真正适合我正在寻找的东西。例如,大量值意味着样条插值不起作用,因为它会为每个间隔创建一个多项式。

此外,根据我的理解,多项式插值在计算上过于昂贵(n 值意味着多项式可以包含高达 pow(x,n-1) 的项。对于 x= 4 字节数和 n=100,000 它只是不是可行的)。我已经尝试在网上寻找一段时间了,但我的数学不是很强大,而且我一定不知道要搜索的正确术语,因为到目前为止我还没有遇到过类似的东西。

我可以看到这并不完全(委婉地说)一个编程问题,我提前道歉。我不是在寻找确切的解决方案,甚至不是完整的答案。我只需要关于我需要阅读的主题的指针,这样我就可以自己解决这个问题。谢谢!

TL;DR - 我需要一种插值变体,它只需要适合最初给定的数据点,但计算效率很高。

编辑:一些澄清 - 我确实需要输出准确而不是近似值。这是对我目前正在做的一些研究工作的一种优化,我需要在没有输出的实际字节出现在我的程序中的情况下实现这个查找。目前我真的不能说太多,但我会说,就我的工作而言,加密(或压缩或任何其他形式的混淆)不是隐藏表格的选项。我需要一个数学函数,只要它可以访问输入,它就可以重新创建输出。我希望这能把事情弄清楚一点。

0 投票
1 回答
2277 浏览

gnuplot - gnuplot,不包括数据拟合中的一行

我有一个按以下格式创建的 .dat 文件:

第一行数据与拟合无关。将 xrange 设置为不包含不需要的点是否意味着该值不会用于拟合?

0 投票
1 回答
15629 浏览

python - SciPy LeastSq 拟合优度估计器

我有一个使用 SciPyleastsq函数拟合的数据表面。

我想对leastsq退货后的合身质量进行一些估计。我希望这将作为函数的返回包含在内,但是,如果是这样,它似乎没有明确记录。

是否有这样的回报,或者,除非有一些函数,我可以传递我的数据,返回的参数值和拟合函数会给我一个拟合质量的估计(R^2 或类似的)?

谢谢!

0 投票
1 回答
1266 浏览

matlab - MATLAB:多功能拟合

我有一个函数,三个指数的总和:

确切地:

其中 f1, f2, f3 是分数,每个 exp 有一个参数,称为 a1, a2 和 a3。

因此,将此函数拟合到实验数据会给出六个参数(f1、f2、f3、a1、a2、a3)。

注意

拟合完成了几个时滞(称为 t1、t2、t3....)。因此,对于每个时间延迟,都有一组六个参数。

参数 a1、a2 和 a3 以线性方式随时间延迟增加(a1(t1) < a1(t2) < a1(t3)... 等等)。每个时滞的分数都是相同的。

我需要的是 a1(t)、a2(t)、a3(t) 和分数的斜率。问题是,当我为每个时滞拟合函数时,我经常遇到 a1 和 a2 很好地上升(完美的线性拟合)但 a3 下降的情况。我也有分数的问题 - 我不能取每个分数的平均值,因为当我添加 f1(t) + f2(t) + f3(t) 时,它永远不会等于 1。

有没有(简单的)方法可以“一次”全部安装?怎么做?谢谢!

0 投票
4 回答
1766 浏览

matlab - 在 MATLAB 中以特殊方式拟合多项式数据

我有一些数据让我们说以下向量:

[1.2 2.13 3.45 4.59 4.79]

我想得到一个多项式函数,比如f拟合这个数据。因此,我想使用类似polyfit. 但是,polyfit所做的是最小化最小二乘误差之和。但是,我想要的是拥有

f(1)=1.2 f(2)=2.13 f(3)=3.45 f(4)=4.59 f(5)=4.79

也就是说,我想操纵拟合算法,以便它会给我已经给出的精确点以及一些没有给出精确值的拟合值。我怎样才能做到这一点?

0 投票
1 回答
1157 浏览

opencv - opencv cvfitline 给出了令人怀疑的结果

我正在使用 OpenCV 的函数 cvFitLine,它给出的结果让我非常怀疑。基本上,您可以看到我输入的点坐标几乎沿着一条有 2 个异常值的线。我正在使用 Huber 距离测量来忽略异常值。然而,得到的拟合线是一条对角线,似乎非常考虑了异常值。难道我做错了什么?有人得到类似的结果吗?

(编辑)结果显然应该是一条类似于 {vx,vy,x0y0} = {0,1,531,0} 的直线,但 openCV 给了我 {0.85, -0.53, 453,144} 这不是远程垂直的。

0 投票
6 回答
189 浏览

linear-algebra - 如果我不知道 f(x) = y 的形式,如何对 x、y 值对列表进行盲拟合?

如果我有一个我不知道其形式的函数 f(x) = y,并且如果我有一长串 x 和 y 值对(可能有数千个),那么是否有一个程序/包/库会产生 f(x) 的潜在形式吗?

显然,任何 f(x) 的可能形式都存在很多歧义,因此产生许多非平凡的唯一答案(以简化的形式)的东西是理想的,但可以产生至少一个答案的东西也很好。

如果 x 和 y 来自观察数据(即实验结果),是否有程序可以创建 f(x) 的近似形式?另一方面,如果您事先知道 x 和 y 之间存在完全确定的关系(如伪随机数生成器的输入和输出),是否有程序可以创建 f(x) 的精确形式?