问题标签 [nls]

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 回答
1975 浏览

r - 防止 nls-fit 低于零

我正在尝试在 R 中拟合一个函数,因此我使用 nls()。有没有办法防止拟合函数低于零?

一个简单的解决方法是b0在拟合后提高目标函数中的参数,但这实际上不是我想要的,因为我希望真正的拟合与积极的约束会导致更好的结果。

0 投票
1 回答
1643 浏览

r - 我可以将单个变量的任意函数的参数拟合到数据中吗?

我在 R 工作。我有一个函数 (F),将一个变量 (X) 与另一个变量 (Y) 关联起来。(F) 有 3 个可变参数 (A, B, C),使得 Y == F(X) == G(X, A, B, C)。我想将此函数拟合到一个数据集,该数据集通过找到最佳 (A, B, C) 来给出 N (X, Y) 对。

(X) 和 (Y) 之间的关系既不是多项式,也不是某种概率分布。我很好奇是否有办法对上面定义的任意 (F) 执行此操作。

0 投票
2 回答
210 浏览

regex - Oracle 等价类在正则表达式中不起作用

以下 Oracle 等价类正则表达式:

应该返回:

但相反,它返回:

我还尝试将以下内容放在它前面:

有人对我要去哪里有任何想法吗?

0 投票
1 回答
1548 浏览

r - nls 最佳拟合线 - 如何强制绘制线?

我正在尝试编写一个基本函数来添加一些最适合使用nls. 除非数据恰好由传递给nls. 我知道这些问题,并且这是此处报告的记录行为。

但我的问题是,无论模型准确描述的数据如何,我如何才能解决这个问题并强制绘制一条最佳拟合线?有没有办法检测数据完全匹配并绘制完美拟合曲线?我目前的狡猾的解决方案是:

失败并出现错误:

我应用的简单修复方法是jitter稍微处理数据,但这似乎有点破坏性和骇人听闻。

有没有更好的办法?

0 投票
1 回答
3534 浏览

r - R 中使用 nls() 和 SSlogis() 和 predict() 的未知错误消息

我正在使用 nls() 为多个鸟类种群的数据拟合一个逻辑模型(自启动;SSlogis)。我的目标是为数据拟合一个预期函数(仅使用每个数据集的一部分),并在图表上显示关于预期的方差的度量。然后,我想拟合并绘制观察到的函数(使用每个总体的整个数据集)以确定观察到的动态是否在期望的方差范围内。这是我目前为实现此目的而编写的代码:

哪里(来自“collapse.data”文件):

该代码工作正常并产生如下图:

牛背鹭塌陷分析

但是,如果我从代码的最后一行中删除“log()”,以便编写以下代码:

该线不会绘制,我收到此错误:

即使我使用 nls.controls 并更改“minFactor”值,我也无法更改。我还在为某些人群定义 mod(##.mod 部分)的初始行之后收到此错误消息。

此外,对于某些人群,我在报告此问题的最后一行代码之后收到一条错误消息:

我想不出自然对数转换数据的合理性,我只能假设我只是以允许 predict() 和 SSlogis() 的方式更改了数据(在这种情况下是任意记录的)功能正常,但我不知道为什么。对于此类问题,我无法在任何论坛中找到任何合适的答案。任何帮助将不胜感激。

*更新:我已尝试按照 Roland 的建议实现 nlsLM 功能(如下)。这确实清理了使用令人​​困惑的 log() 的代码部分:

但是,对于其他人群,我在初始模型规范中遇到了与上述相同的错误消息:

切换到:

在哪里

虽然此开关确实避免了错误消息,但 nlsLM 评估函数但不评估梯度。如果没有梯度评估,我无法使用 se.fit 代码,因此无法获得用于绘图的方差估计。

0 投票
3 回答
3652 浏览

r - 具有二元运算符的非线性最小二乘拟合 nls 非数字参数的问题

我刚开始使用 R 并希望得到一个非线性最小二乘拟合 nls(...) 到公式 y=A(1-exp(-bL))+R。我通过以下方式定义我的函数 g

并希望通过

我以以下错误消息结束。

我想这只是另一个初学者犯的一个愚蠢的基本错误,但如果有人能帮助我,我会非常高兴。

下一个问题是,我是否可以将拟合曲线实现到我的图表中

感谢大家花时间阅读并希望回答我的问题!

详细信息:我有一个包含 x 值(Light.intensity)和 y 值(例如 VI.20.29)的表

0 投票
1 回答
496 浏览

nls - 为曲线设置 nls 参数

我是 R 的相对新手,不是数学家,而是遗传学家。我有很多组多对数据点。当它们被绘制出来时,它们会产生一条平坦的 S 曲线,其中大多数数据点最终都接近零标记。少数数据点飞得很远,形成了几乎两条 J 曲线,一条向下,一条向上。我需要找到数据急剧向上或向下变化的拐点。这可能是我的数学问题,但在我看来,如果我可以平滑曲线并将曲线拟合到直线并得到一个方程,那么我可以取曲线的二阶导数并确定二阶导数变化的拐点符号。我在 excel 中尝试过,并使用曲线来获得近似拟合以获得起始公式,但数据有点“摆动” 因此,即使我想手动完成所有操作(我不这样做),也无法确定任何一个拐点。我必须在其中找到这两个拐点的数百个数据集中的每一个都将产生大约相同的曲线,但拐点会略有不同,而精确地确定这些拐点对于问题来说绝对是至关重要的。因此,如果我可以在应该这样做的方程式中正确设置一次。为简单起见,我想将它们分成正曲线和负曲线,并分别进行。(也许 s 曲线有一些更简单的公式,这不是一个好主意?)我必须在其中找到这两个拐点的数百个数据集中的每一个都将产生大约相同的曲线,但拐点会略有不同,而精确地确定这些拐点对于问题来说绝对是至关重要的。因此,如果我可以在应该这样做的方程式中正确设置一次。为简单起见,我想将它们分成正曲线和负曲线,并分别进行。(也许 s 曲线有一些更简单的公式,这不是一个好主意?)我必须在其中找到这两个拐点的数百个数据集中的每一个都将产生大约相同的曲线,但拐点会略有不同,而精确地确定这些拐点对于问题来说绝对是至关重要的。因此,如果我可以在应该这样做的方程式中正确设置一次。为简单起见,我想将它们分成正曲线和负曲线,并分别进行。(也许 s 曲线有一些更简单的公式,这不是一个好主意?)

我已经尝试阅读手册,但由于我的数学能力较弱,这可能有点难以理解。我也找不到任何可以学习的类似例子。

这是我的数据集的头部: xy [1,] 1 0.00000000 [2,] 2 0.00062360 [3,] 3 0.00079720 [4,] 4 0.00085100 [5,] 5 0.00129020

(X 只是将 1 编号为许多数据点,并且 X 的数量会因单个集合而有所不同。)

据我所知,这是解决曲线拟合部分的问题:

pos_curve1 <- nls(curve_fitting ~ (scal*x^scal),data = cbind.data.frame(curve_fitting), + start = list(x = 0, scal = -0.01)) numericDeriv 错误(form[[3L] ], names(ind), env) :评估模型时产生的缺失值或无穷大另外:警告消息:1:在 min(x) 中:min 没有非缺失参数;返回 Inf 2:在 max(x) 中:max 没有非缺失参数;返回-Inf

我只是在艰难地做数学吗?我在 nls 上做错了什么?任何帮助将不胜感激。

0 投票
1 回答
8694 浏览

r - R 中的 nls() 函数

混合新凯恩斯菲利普斯曲线是:

模型

经过几次操作,我们得到以下可估计模型:

新模式

其中π是通货膨胀率,x是衡量产出缺口的指标(= 使用 Hodrick-Prescott 滤波器的 GDP 的周期性成分)。模型πx的解释变量是可观察的。

我需要使用非线性最小二乘估计这个模型;然而,这个模型在我看来是线性的。此外,我nls()在 R 中使用该函数的尝试失败了。

此外,我对非线性回归的研究使我实现了逻辑人口增长,但我无法找到一种方法将我学到的知识与这个练习联系起来,尤其是在推导起始值时。

0 投票
1 回答
1477 浏览

r - 如何将一长串参数传递给R中的`nls`函数

nls功能正常工作如下:

因为我使用的模型有很多参数,或者我事先不知道参数列表中会包含什么,所以我想要如下

有谁知道如何修改nls函数以便它可以接受公式中的参数向量参数而不是许多单独的参数?

0 投票
0 回答
894 浏览

windows - 如何从给定的 LANGID 中正确查询语言名称字符串?

在输入时,我有一个语言 ID。 在输出时,我确实期望语言的完整本地化名称

GetLocaleInfo(..., LOCALE_SLANGUAGE, ... )用来填充字符串。在我收到0输入和GetLocaleInfo用用户默认语言填充字符串而不是指示中性语言(预期)。据我所知,没有特殊的 LOCALE_XXX_DEFAULT 常量等于0.

这是一个测试用例:

  • 我在这里做错了什么?
  • 如何正确检索语言名称?