问题标签 [modelr]

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

r - 如何从 R 中列出的模型中提取参数?

我正在尝试提取为我的工作设计的模型的参数,但在这样做时遇到了麻烦。我将使用 R 提供的虹膜数据作为示例数据集。

我拉入数据:

我设计了一个采用 Sepal Width 和 Length 的模型,并确定给定 Sepal Length 的最佳模型拟合来确定 Sepal Width (这可能是数据集的一个坏例子,我没有太注意起始参数,但我几乎可以肯定这不应该影响回答这个问题的难度)。为每个物种生产一个模型:

这会生成一个数据框,其中一列是 Species,另一列是模型。在模型列中,每个模型在每一行中都由一个大列表表示,我无法从中提取其基本数据。我想直接使用参数,作为使用这些模型表示和生成数据的更干净和可重复的方式。如何从这些模型中提取 a 和 b 参数?有没有这样做的功能,还是我需要深入研究每个模型的代码?此外,该列表中是否有任何数据将其与特定物种相关联,或者它是否仅与在同一行中发现的物种直接相关?

0 投票
1 回答
147 浏览

r - 使用 predictNLS 围绕 R 中的拟合值创建置信区间?

我想使用 R 中 propogate 包中的 predictNLS 围绕大量拟合值建立置信区间。例如,我将使用它们在函数描述中引用的数据集(https://rdrr.io/github/anspiess /propagate/man/predictNLS.html )、DNase,并构建一个将值 conc 和 density 作为特征的模型:

然后我想给每一行分配它的模型,以便可以添加预测:

添加预测:

然后,我想添加 predictNLS 似乎提供的置信区间数据,方法是为其提供相同的数据并要求它为 predict_density 列中的每个拟合点提供置信区间:

但是,会出现以下错误:

as.list(object$call$formula) 中的错误:缺少参数“object”,没有默认值

有谁知道这可能是什么原因造成的?我知道对你们中的一些人来说,它所调用的对象是什么似乎很明显,所以如果这是一个荒谬的问题,我深表歉意。我真的希望能够使用此功能围绕一系列拟合值创建置信区间。非常感谢您提前。

0 投票
1 回答
132 浏览

r - 在多个模型中使用 predict() 在 R 中生成置信区间

我的目标是从数据框中创建多个模型,然后围绕与这些不同模型对应的拟合值生成置信区间。

拉入库:

将 data_1 指定为来自 R 的 DNase 数据集:

为每次运行创建一个独特的模型:

然后,我想预测同一组数据的拟合和 95% 置信区间,但要对每个模型单独进行。当包括区间=“置信度”时,结果表应生成拟合值的“拟合”列,以及“upr”和“lwr”列,表示拟合值周围的置信范围。我试过这个,因为 spread_predictions 以前曾帮助将拟合值分布在多组数据中:

但是,会生成以下错误:

有谁知道产生这些数字的最佳方法是什么?我是否必须更改此函数处理数据的方式?或者是否有更好的功能可以使用,即直接使用 predict() ,这当然需要间隔作为参数(http://www.sthda.com/english/articles/40-regression-analysis/166-predict-in -r-model-predictions-and-confidence-intervals/)?

0 投票
1 回答
92 浏览

r - 为 R 中的拟合点生成多组预测和预测区间

我的目标是创建多个模型,然后使用新的数据集,为该新数据集创建预测值,并在每个新拟合点周围创建相应的预测区间。

拉入图书馆:

将 data_1 指定为来自 R 的 DNase 数据集:

为每次运行创建一个独特的模型:

然后我想用一个新的数据集预测一组点,我们称之为 data_2,对于每个模型,然后围绕每个拟合点建立预测区间(每个点的预测区间的上限和下限,由包含参数区间=“预测”时的函数预测()。我成功地生成了这样的拟合值:

但是随后很难为这些新拟合的值添加“upr”和“lwr”列。在拟合这些新点时,有没有办法同时“spread_prediction_intervals”?了解如何对多个数据集执行此操作将非常有帮助,并且如果给定用于生成预测值的模型和一组这些预测值,则能够生成 upr 和 lwr 边界预测区间。非常感谢您提前提供的帮助。

0 投票
0 回答
32 浏览

r - 在 R 中使用具有交互作用的模型添加预测

我正在使用建模器添加基于具有交互作用的线性回归模型的预测。问题是 add_predictions() 是否适用于交互?

从这个例子来看,它似乎有效。然而,问题是它总是有效吗?什么是三向交互?其他类型的模型(物流)呢?

0 投票
0 回答
25 浏览

r - modelr add_predictions 错误:在 model.frame.default(条款,newdata,na.action = na.action,xlev = object$xlevels)

我在使用modelr add_predictions函数时遇到以下错误。

modelr add_predictions 错误:在 model.frame.default(条款,newdata,na.action = na.action,xlev = object$xlevels)中:fe.lead.surgeon has new levels ....

据我了解,当您使用训练数据集制作预测模型并将模型应用于测试数据集时,这是一个常见问题,因为存在于训练数据集中的因子水平可能不存在于测试数据集中。但是,我使用相同的样本来创建模型并获取预测值,但仍然出现此错误。

具体来说,这是我正在使用的代码,如果您能深入了解为什么会发生此错误以及如何解决此问题,我将不胜感激。

根据@SimoneBianchi 的要求,我在这里提供了可重现的示例。

可重现的例子

更新和解决方法

我发现的一种解决方法是您不使用建模器功能,而是使用拟合功能。但是,我仍然想了解为什么回归会自动从因子变量中删除体因子水平。如果有人知道,请发表评论。

结束:数据集发现问题

我发现一些观察结果new levels在相应的因子变量中是不适用的——错误。在我修复了 NA 之后,原始代码运行良好。所以,这是数据集而不是代码的问题!

谢谢大家试图帮助我。