问题标签 [least-squares]

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 投票
3 回答
6721 浏览

matlab - levenberg marquardt 曲线拟合 MATLAB

在此处输入图像描述我不知道如何在 MATLAB 中选择lbandub以及如何将我的函数与数据相匹配,我的意思是我有一些输出,但它们不正确,lsqcurvefitx0

这是我的数据:

然后我将 myfunc 放在一个单独的 m 文件中:

我有x(1)x(2),我想在拟合我的数据后估计未知,并且我知道 kx(2)不会是负值。

所以我这样设置lsqcurvefit

这是结果:

x = 1.5000 -0.4945
resnorm = 52.1739

它显示了一个负值x(2)

请你帮助我好吗?

非常感谢您回答我的问题,现在在命令计算了 x 和 resnorm 之后,我在函数中使用了结果,这意味着我使用了 x(1)=92.8054 x(2)=0.7427

所以;

F=92.8054*(1-(0.7427)^2)./((1-0.7427)^2+2*(0.7427)*cosd(xdata)).^1.5;

现在我有向量 F ,当我绘制我的数据和结果时, plot(xdata, ydata, 'o', xdata, F, '*')

我不明白为什么 y 轴的范围如此不同!也许我需要将 x(3) 添加到我的函数中。

我附上了图。在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
1027 浏览

scipy - 在 Scipy LeastSq - 如何添加惩罚项

如果目标函数是 在此处输入图像描述

如何在python中编码?我已经编写了正常的代码: 在此处输入图像描述

0 投票
2 回答
14756 浏览

matlab - 需要使用切比雪夫多项式基础拟合多项式

polyfit我一直在使用 matlab中的函数将线性最小二乘多项式拟合到数据中。根据我的阅读,这使用标准多项式基础(单项式基础)。我已经读过使用切比雪夫多项式基础进行拟合会导致更大的数值稳定性,所以我想这样做。matlab有这个选项吗?

0 投票
1 回答
320 浏览

machine-learning - 如何评估来自不完整数据的预测,其中并非所有数据都不完整

我正在使用非负矩阵分解和非负最小二乘法进行预测,并且我想根据给定的数据量评估预测的好坏。例如原始数据是

现在我想看看当给定数据不完整时我能重建原始数据有多好:

我想对大数据集中的每个示例都这样做。现在的问题是,原始数据的正数据量不同,在上面的原始数据中有 4 个,但对于数据集中的其他示例,它可能或多或少。假设我进行了一轮评估,给出了 4 个正例,但我的数据集的一半只有 4 个正例,另一半有 5,6 或 7 个。我应该排除有 4 个正例的那一半,因为它们没有丢失数据使“预测”更好?另一方面,如果我排除数据,我会更改训练集。我能做些什么?或者在这种情况下我根本不应该用 4 进行评估?

编辑:

基本上我想看看我能重建输入矩阵有多好。为简单起见,假设“原始”代表观看了 4 部电影的用户。然后我想知道我能预测每个用户有多好,仅基于用户实际观看的一部电影。我得到了很多电影的预测。然后我绘制 ROC 和 Precision-Recall 曲线(使用预测的 top-k)。我将用用户实际观看的 n 部电影重复所有这些。对于每个 n,我都会在我的图中得到一条 ROC 曲线。当我使用例如用户实际观看的 4 部电影来预测他观看的所有电影时,但他只看了这 4 部电影,结果变得太好了。

我这样做的原因是为了看看我的系统需要多少“观看电影”才能做出合理的预测。如果它在已经观看了 3 部电影时只返回好的结果,那在我的应用程序中就不会那么好了。

0 投票
2 回答
5456 浏览

matlab - MATLAB中的正交距离回归

给定两个随机变量/测量值 ( x , y ),均测量有误差(变量误差情况),
MATLAB 中是否有一个例程来计算回归线y ( i )= a的估计量 ( a , b ) · x ( i )+ b使用正交距离回归的方法?

这是我对最大似然估计器的实现:


编辑(发给 EitanT):

这是我的估计器和你的估计器的比较:

比较

0 投票
1 回答
721 浏览

algorithm - 从图像中估计曲率

我有这样的图像:

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

在这张图片中,红线是我想从图片中得到的。原始图像没有那条红线,只有那条绿线。

我想要的是以方程的系数形式从图像中估计曲线:A x ^ 2 + B x + C = 0。在图像中可能存在噪声(如您在上面看到的边缘上的黑洞)。

我试图通过使用最小二乘法(LSM)来解决这个问题,但是这种方法有两个问题:

  1. 该方法即使在PC上也太慢,因为点数很高。

  2. 在以下情况下道路太宽:

左侧图像上的曲线被正确识别,但右侧的曲线被错误识别。原因是路太宽太短,我想。 输入图片

作为这两种情况的解决方案,我想让道路变窄。在理想情况下,它是上图中的一条红线。或者我想使用 LSM 进行线检测 (A x + B = 0) 以优化处理时间。

我试过侵蚀图像 - 这是错误的方法。骷髅也不是正确的解决方案。

关于如何达到预期结果(使道路变窄)的任何想法?或者对解决这个问题的另一种方法有什么想法?

0 投票
1 回答
932 浏览

r - 线性最小二乘拟合

东风

DF2

DF 是一个更大的数据框的示例,它实际上具有数百个“a”、“b”和“s”值的组合,这些组合会产生不同的“ex”值。我想要做的是找到“a”、“b”和“s”的组合,其“ex”值(DF)在等效“时间”最适合“平均值”(DF2)。该拟合将一次比较 8 个值(即,times == c(0,20,40,60,120,180,240,360)。

在此示例中,我希望 59、140 和 1e-4 用于“a”、“b”和“s”值,因为这些“ex”值 (DF) 最适合“平均值”值 (DF2) .

我想要那些“ex”(DF)最适合“mean”(DF2)的值的“a”、“b”和“s”值

因为我想要“a”、“b”和“s”值的一种可能组合,所以最好使用线性最小二乘拟合模型。我将一次比较 8 个值——其中 'times' == 0 - 360。我不希望 'a'、'b' 和 's' 值最适合每个单独的时间点。我想要所有 8 个“ex”(DF)最适合所有 8 个“平均”值(DF2)的“a”、“b”和“s”值,这就是我需要帮助的地方。

我从未使用过线性最小二乘拟合,但我认为我正在尝试做的事情是可能的。

0 投票
6 回答
35555 浏览

python - 平面拟合到 4 个(或更多)XYZ 点

我有 4 个点,它们非常接近一个平面 - 它是 1,4-二氢吡啶循环。

我需要计算从 C3 和 N1 到由 C1-C2-C4-C5 组成的平面的距离。计算距离是可以的,但拟合平面对我来说相当困难。

1,4-DHP 循环:

1,4-DHP 循环

1,4-DHP循环,另一种说法:

1,4-DHP循环,另一种观点

如何使总和(平方)最小化?我尝试过最小二乘,但它对我来说太有用了。

0 投票
3 回答
14102 浏览

algorithm - 将穿过原点 (0,0) 的线拟合到数据

我有一组点(x,y),我需要使用 MATLAB 找到穿过原点的最佳拟合线。

0 投票
1 回答
2581 浏览

matlab - Matlab非线性、多参数曲线拟合问题

我正在尝试实施一个例程来拟合我的实验中的电泳数据。

目的是根据数据集中峰的面积,从电泳图中峰的相对面积推导出生物分子相互作用的动力学参数。

由于所有相关的微分方程都是已知的,并且方程组具有解析解,如下所述:

解析解手稿

我开始在 matlab 中输入相关方程(来自参考手稿的 6、8、13,...)。

这样创建的函数有效,我可以用它来模拟相互作用物种的电泳图。

显然,我现在想使用该函数来拟合实验数据并检索参数(总共 8 个,Va、Vc、MUa、MUc、k、A0、C0、基线噪声)。

其中一些显然是相关的。示例值可能是(以了解它们的大小):

我的问题是,如果我提供实验数据并尝试类似 lsqcurvefit 的方法:

我经常得到非常糟糕的结果,因为我要么用完了迭代,要么达到了一些(显然拟合不佳)局部最小值或其他什么......

只有当我对起始值和允许的间隔进行大量修改(即因为我通过其他实验知道可能的值)时,我才会或多或少地得到合适的拟合,但即便如此,拟合也不如原始报告中报道的那么好手稿(图 3)。

该手稿的作者使用 Excel 求解器,并且非常友好地提供了图 3 中使用的原始数据,但如果没有几乎字面上提供几乎正确的起始值,我似乎仍然无法得到与他们一样好的拟合。

我没有足够的经验知道我可以调整什么来减少这个过程的反复试验。

像全局优化工具箱这样的东西对我有帮助吗?

欢迎任何提示...