问题标签 [splines]

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

r - 用R画一条通过给定点(样条)的线

给了我x = c(50, 37, 25, 0)y = c(30, 52, 65, 70)。这些是包含四个点的 x 和 y 坐标的向量。我需要通过所有四个点绘制一条平滑曲线,并得到这个函数的实际方程。

我如何做到这一点R

我正在阅读样条曲线的文档,但由于我不熟悉这背后的数学,我很困惑。

0 投票
2 回答
1634 浏览

c++ - 如何将 Eigen 用于 B-Splines 来处理嘈杂的序列数据

在下图中,Matlab 中使用了spap2函数来平滑噪声数据。结果非常好。Eigen库支持此功能 Splines。我正在寻找 Eigen 中的示例以获得类似的结果。对于 Matlab,我用过spap2(4, 4, time, noisyY);

在此处输入图像描述

数据以这种格式提供time noisyData

0 投票
2 回答
7373 浏览

lme4 - 尝试从模型矩阵中提取信息时,来自 lmer 的不符合参数错误

我有一些纵向数据,我想从中获得指定时间的预测均值。该模型包括 2 项,它们的交互作用和时间变量的样条项。当我尝试获得预测的平均值时,我得到“错误在 mm %*% fixef(m4) : non-conformable arguments”

我使用了 lmer 的 sleep 数据集来说明我的问题。首先,我导入数据并为我的交互创建一个变量“年龄”

然后我运行我的 lmer 模型

最后,我创建了获得预测均值所需的数据和矩阵

正是在这一点上,我得到了错误: mm %*% fixef(m4) 中的错误:不合格的参数

我可以使用 predict 来获取手段

效果很好,但我希望能够计算置信区间,所以我需要一个一致的矩阵。

我在某处读到问题可能是 lmer 创建了别名(我找不到那个帖子)。此评论是关于无法将 effect() 用于类似任务的问题。我不太明白如何克服这个问题。此外,我记得那个帖子有点旧,希望别名问题可能不再相关。

如果有人对我可能做错的事情提出建议,我将不胜感激。谢谢。

0 投票
1 回答
1258 浏览

r - 使用 ggplot2 绘制受限三次样条时出错

我想ggplot2使用受限三次样条来说明拟合,geom_smooth()但它似乎工作不正确。这是一个简短的例子:

这将产生以下图像: 样条曲线的比较 我不确定为什么geom_smooth()没有给出正确的结果。显然有一种解决方法(如上图所示),但有没有办法geom_smooth()产生正确的结果?

0 投票
1 回答
981 浏览

r - 如何将样条曲线添加到 rjags 模型

我在使用 rjags 拟合样条曲线时很难找到信息(我的动机是尝试在 jags 中重新创建一个 glm 以估算缺失的依赖值)。无论如何,我只能在交叉验证的这个答案上找到关于这个发现的很少信息:https ://stats.stackexchange.com/questions/79973/how-to-analyze-this-data-using-rjags-or-any-其他方式/80650#80650。但是,我无法理解那里的样条代码(并且在那里没有提出问题的声誉!)。一方面,我不明白为什么该代码会在 S & G 上循环。

因此,我在jags中做了一个玩具线性模型:

我的问题是:如何在线性模型中的“b”估计中添加受限三次样条?

0 投票
0 回答
367 浏览

r - gamm4 中的张量平滑

我正在尝试扩展一个类似于 Gavin Simpson 在这里描述的模型,以包括随机效应。 https://stats.stackexchange.com/questions/32730/how-to-include-an-interaction-term-in-gam

whereloc被一个 4 级因子代替。固定效应是两个分类变量(A 和 B)和两个连续变量(C1 和 C2),具有所有成对的交互作用。响应为 1 和 0。

例如

试图运行它我得到了错误
Error in X %*% diag(diagU[indi]) : non-conformable arguments

从潜伏在代码中gamm4()gamm()它似乎与惩罚随机效应的每个级别内的平滑有关?

我目前正在运行模型,其中包含 4 个个体(最终可能有 40 个左右),并且最终也应该在几年内嵌套个体。

可能是我的问题是针对特定情况的(阅读:我代表我的数据过于雄心勃勃),但gamm4()在某些问题上阅读仍然是“建设阶段”让我想知道我是否代表雄心勃勃gamm4()?

或者我可能只是完全错了,并且在一些死胡同中远足......

0 投票
1 回答
1071 浏览

r - 从R中的插值样条获取多项式系数

我有一组测量值,我想R用三次样条插值。由于这些只是分段多项式,我随后想以代数方式积分插值函数。因此我需要系数。有没有办法获得这些?
调用splines::interpSpline(foo, bar)$coef似乎不会返回实际的多项式系数。

0 投票
2 回答
2014 浏览

r - 评估(即预测)R 之外的平滑样条

我将平滑样条曲线拟合到 R 中的数据

我想采用拟合的样条曲线并评估它以获取外部代码(而不是 R)中的任意新数据。换句话说,做predict.smooth.spline函数所做的事情。我看了看Model对象:

我认为Model$fit$knotModel$fit$coef向量包含拟合的完整描述。请注意,节点有 20 个,而x每个节点y有 14 个元素:我一直认为平滑样条曲线的节点数与拟合点一样多。但是,由于前三个和后三个结是相同的,所以 20-6 = 14 这是有道理的。问题是我不知道如何在 R 之外使用Model$fit$knotModel$fit$coef做出预测。我试图看看predict.smooth.spline,但令人惊讶的是我得到了

编辑:由于显然有些用户误解了这个问题,我知道如何predict在 R 中使用,以获得我的平滑样条曲线的新值。问题是我想在外部代码中做出这些预测。因此我想看看函数的代码predict.smooth.spline,这样我就可以尝试在 R 之外重现算法。通常在 R 中,您只需在R 提示符。但是当我尝试这样做时predict.smooth.spline,我得到了上述错误。

EDIT2:感谢@r2evans 的大力帮助,我找到predictsmooth.spline. 我(想我)了解其中的大部分内容:

但是,我有两个困难:

  1. .Fortran()函数调用一个源代码非常简单bvalus的Fortran 子例程。但是,依次调用更复杂的调用,以及我找不到源的调用。坏消息:对我来说太复杂了(我绝对不是 Fortran 专家)。好消息:必须重现的外部代码也是 Fortran 代码。如果情况变得更糟,我可以要求我的同事在他的代码中包含源代码。然而,即使在这个公认的不太好的场景中,我仍然会错过源代码(我希望它不会调用别的东西!!!)。bvalusbvalueintervbvaluepredict.smooth.spline.fitbvalusbvalueinterv

  2. 我不明白这里做了什么(注意我只对这个deriv == 0案例感兴趣):

ķ

某种递归代码?这里有什么帮助吗?

0 投票
0 回答
303 浏览

r - r 中非多项式样条的 B 样条

我打算拟合一个二维坐标云,它类似于一个不完整的椭圆。当我尝试使用R 中“splines”包中的bs()函数来获取拟合曲线(用于生成多项式样条的 B 样条基矩阵)时,它看起来像这样

但我的意图是这样的。

要将参数提供给 bs() 并绘制它,我只是按照这个

有什么办法可以达到我的目的吗?

谢谢!

0 投票
0 回答
173 浏览

r - 拟合 LQMM 时出现 NA/NaN/Inf 错误

我正在尝试复制发表在“线性分位数混合模型”、Geraci M. 和 Bottai M. (2013) 中的一些结果。数据可从以下网址下载: http ://www.hsph.harvard.edu/fitzmaur/ala/tlc.txt

我正在使用线性分位数混合模型,具有自然三次样条曲线(df=3,断点 0、4、6)和随机效应。我已经使用创建了样条线

分位数混合模型是

这里.

当我对样条曲线和处理(交互和主效应)进行建模时,我可以设法获得输出,如下所示:

但是,一旦我尝试输入 T1 和治疗项(主效应和交互作用),如下所示,我得到一个错误。

我对 R 和分位数混合模型很陌生,所以我不确定这是否代表我的错误、编码或缺乏知识!