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

r - 使用具有多个拟合参数的 nls 模型绘制平滑且外推的曲线

我觉得我已经接近找到我的问题的答案,但不知何故我无法做到。我已经使用 nls 函数来拟合 3 个参数,该函数使用一个相当复杂的函数来描述在一系列精子浓度(x 轴)中卵子的受精成功(y 轴)(Styan 模型[1][2])。拟合参数效果很好,但我无法使用predict函数绘制平滑的外推曲线(见本文末尾)。我想这是因为我使用了一个未安装在 x 轴上的值。我的问题是如何根据nls在 x 轴上使用非拟合参数拟合函数的模型绘制平滑和外推曲线?

这是一个例子:

在此处输入图像描述

我在这里尝试了 joran 的示例,但它没有效果,可能是因为我不适合S0

0 投票
1 回答
2399 浏览

r - R nls 以拟合自定义 gompertz 曲线

我正在尝试将我的数据拟合到用户定义的 Gompertz 方程。但是,我收到如下错误:

nls (Eq, data = GPdata, start = list(K = 1), algorithm = "default", : 奇异梯度中的错误

我知道这可能意味着我的起始值不足以收敛,但是除了猜测之外还有什么办法吗?我还尝试使用 nls2 函数(蛮力),扩展可能的 K 值的巨大向量以尝试但收到相同的错误。

这是我的代码,包括示例数据。

任何帮助或建议将不胜感激。

谢谢!

0 投票
1 回答
4258 浏览

r - 在 R 中计算 nls() 的问题

我正在尝试用程序 R 中的多项式函数拟合点数据,并想看看哪个顺序最适合。我使用非线性回归模型nls(function, data, start),函数为y~a*(x+c)^b.

我想做的是计算填谷矿床的横截面积。出于这个原因,我需要对底层山谷底部的样子进行建模。我已经有了线性场景,现在想尝试一些多项式场景。

我的数据集代表山谷剖面,看起来像这样(x_combsl 是距离,y_combsl 是高程):

当我尝试生成模型时,我收到以下错误消息:

任何想法可能导致问题?多项式的峰值很可能在 c=35 左右,因此起始参数似乎不会引起问题。可能是点的线性对齐吗?我尝试了更少的数据点 [24:31],但我收到了相同的错误消息。

我在使用 R 编程方面不是很有经验,所以具体的答案会很棒。

0 投票
3 回答
8592 浏览

dojo - Dojo 1.9 在加载语言环境时构建“multipleDefine”错误

我的 dojo 应用程序在构建后中断,在加载应用程序期间,抛出“multipleDefine”并给出此错误:

错误{src:“dojoLoader”,信息:对象}

消息:多重定义

信息:对象{pid:“dojo”,mid:“dojo/nls/dojo_en-us”,pack:对象,url:“dojo/nls/dojo_en-us.js”,执行:5…}

这是我的个人资料:

}

这是 src/ 中的 index.html

注意:build.sh负责在部署到生产环境时删除“isDebug”标志。如果您完全修改此标志,您将破坏构建!

这是在 dist/ 中生成的 index.html

我检查以确保 dojo/nls/dojo_en-us.js 存在并且没问题。我被困在这一点上,没有任何线索!

任何解决此问题的帮助表示赞赏。

0 投票
2 回答
1704 浏览

r - 在 R 中使用“nls.lm”时如何处理边界约束

我前段时间问过这个问题。我不确定是否应该将此作为答案或新问题发布。我没有答案,但我通过nls.lm在 R 中应用 Levenberg-Marquardt 算法“解决”了这个问题,当解决方案在边界处时,我运行 trust-region-reflective 算法(TRR,在 R 中实现)步骤远离它。现在我有新的问题。

根据我的经验,这样做程序会达到最佳状态,并且对起始值不那么敏感。但这只是一种实用的方法,可以避开我在使用nls.lmR 中遇到的问题以及其他优化函数。我想知道为什么nls.lm在具有边界约束的优化问题上表现得这样,以及nls.lm在实践中使用时如何处理边界约束.

下面我举了一个例子来说明这两个问题nls.lm

  1. 它对起始值很敏感。
  2. 当某个参数到达边界时它会停止。

一个可重现的例子:焦点数据集 D

LM 贴合与 TRR 贴合

描述模型/系统的微分方程是:

左图是带有初始值的模型,中间是使用“TRR”的拟合模型(类似于Matlablsqnonlin函数中的算法),右图是使用“LM”的拟合模型nls.lm。查看拟合参数(Fit.LM$par),您会发现一个拟合参数(f_parent_to_m1)位于边界处1。如果我将一个参数的起始值M0_parent从 0.1 更改为 100,那么使用nls.lm和得到相同的结果lsqnonlin。我有很多这样的情况。

除了上述问题,经常会出现由返回的 Hessiannls.lm是不可逆的(特别是当某些参数在边界上时),所以我无法得到协方差矩阵的估计。另一方面,“TRR”算法(在 Matlab 中)几乎总是通过计算解点处的雅可比来给出估计。我认为这很有用,但我也确信 R 优化算法(我尝试过的那些)没有这样做是有原因的。我想知道我是否错了,通过使用 Matlab 计算协方差矩阵的方法来获得参数估计的标准误差。

最后一点,我在一篇文章中声称,Matlablsqnonlin在几乎所有情况下都优于 R 的优化功能。我错了。从上面的示例中可以看出,如果在 R 中也实现,则 Matlab 中使用的“信任区域反射”算法实际上更慢(有时慢得多)。但是,它仍然比 R 的基本优化算法更稳定并达到更好的解决方案。

0 投票
1 回答
726 浏览

r - 使用 R 函数“nls”估计 GEV 参数

我想使用加权最小二乘法估计 GEV(广义极值)分布的参数。我使用 R,并且我发现了一个名为 nls 的函数,我认为它可以用于此目的。它要求一个公式和一个可选的数据集。我想 GEV 公式和年度最大值系列应该在这里,但我不确定如何。有没有人使用过 nls 并且对如何做到这一点有任何想法?

该错误表明 y 丢失。y 是我们优化 GEV 参数时得到的,因此对于所有 x(也取决于权重),y 变得尽可能接近 x。所以 y 在我们估计 GEV 参数之前是未知的……

0 投票
0 回答
267 浏览

r - 将 nls 函数与 R 中的 apply 函数一起使用

感谢您的初步回复。

假设,我有一个矩阵;

如果我想使用 apply 函数将以下 nls 函数应用于每一行。

我该如何编程?同样,由于k响应变量直观地是上述矩阵的行。

0 投票
1 回答
12668 浏览

oracle11g - 未使用动态 SQL 设置 NLS_DATE_FORMAT 参数

我有一个带有动态 SQL 的存储过程,它创建一个表并调用另一个过程将一些值插入到表中。存储过程还设置了一些会话设置,其中之一是NLS_DATE_FORMAT.

程序运行时,此参数不起作用。我已经尝试在SYSTEM(所有者)和ADMIN具有 DBA、Connect 和 Resource 权限的用户下运行该过程,但它总是以格式DD-MON-RR而不是所需的MM/DD/YYYY. 在 SQL Developer 中,在 DBA->Database Configuration->Current Database Properties 下,NLS_DATE_FORMAT也以DD-MON-RR.

有没有办法为整个数据库改变这个?我找到并尝试了以下方法,但它根本不起作用(这包括停止和重新启动数据库):

我查看了 SPFILE 和 init.ora 的答案,但我发现最好的是一个触发器,它会在每个用户登录后设置值。我不反对这一点,但我想知道是否有一种更全局的方式来设置参数一次,而无需创建设置以下会话参数的触发器:

这是我的存储过程的相关部分:

一旦过程运行(并调用后续过程来插入值),当我打开表时,对于任何用户,NLS_DATE_FORMAT都没有改变(即它仍然是格式DD-MON-RR而不是MM/DD/YYYY)。

谢谢。

0 投票
2 回答
11481 浏览

oracle - 如何获取一周的第一天,取决于 NLS

我想获取一周第一天的日期,但我希望它依赖于 NLS 参数。说,当我在美国运行它时,它应该给我星期天的日期,但在土耳其它应该给我星期一..

我怎样才能让它依赖?

0 投票
3 回答
848 浏览

r - 如何计算 R 中的圆拟合的预测区间

我希望用公式 > r² = (xh)²+(yk)² 计算圆拟合的半径的预测区间。r-圆的半径,x,y,是高斯坐标,h,k,标记拟合圆的中心。

问题是,predict()不适用于 nls.lm,因此我正在尝试使用 nlsLM 计算圆拟合。(我可以手动计算,但在创建我的 Designmatrix 时遇到了麻烦)。

所以这就是我接下来尝试的:

这导致:

问题 1a:如何nlsLM()使用圆形拟合?(优点是泛型predict()可用。问题 1b:如何获得我的圆拟合的预测区间?

线性回归的例子(这就是我想要的圆形回归)

亲切的问候

编辑摘要:

Edit1:重新排列 nlsLM 中的公式,但参数 (h,k,r) 结果现在在 out 和 out1 中有所不同...

Edit2:添加了 2 个维基百科链接,用于澄清所用术语的 puprose:(参见下文)

置信区间

预测区间

Edit3:问题的一些改写

Edit4:添加了线性回归的工作示例