【问题标题】:LOESS FUNCTION SIMULATIONS IN RR中的黄土函数模拟
【发布时间】:2020-08-24 13:45:04
【问题描述】:

使用 loess(y~x) 和预测,我在 R 中找到了随机变量的 loess 估计值。现在,我想执行 100 次蒙特卡罗模拟来找到标准误差。我使用了以下 R 代码,但它在所有 100 次模拟中返回相同的值。请告诉我哪里出错了。

set.seed(6)
pn = replicate(100,predict(fit,data=data.frame(X=78)),simplify=FALSE)
plot(pn)
sd(pn)

【问题讨论】:

  • 如果您始终提供相同的 X(即 X=78)并且适合,您将获得相同的值。你到底想做什么
  • 如果您在同一点 data.frame(X=78) 预测模型,结果将是相同的。
  • 黄土估计是一个随机变量。我试图通过执行 1000 次蒙特卡罗模拟来找到黄土估计的标准误差。
  • 我怀疑你想找到预测的标准误?通常的方法是引导。

标签: r simulation loess


【解决方案1】:

正如 cmets 中所解释的:如果您给 predict 相同的 fit 对象和相同的 X 值,它将始终返回相同的答案。有两种明显的方法可以解决这个问题。

首先:您使用的predict 函数实际上是来自stats 包的predict.loess。它有一个参数se,如果您调用predict(fit, ..., se = TRUE),它将返回每个预测值的估计标准误差。所以检查一下,如果你没有自己编程就可以满足你的要求: 参看。 http://www.rdocumentation.org/packages/stats/versions/3.6.2/topics/predict.loess

第二个:如果你想从你的predict 调用中得到不同的预测,你需要传递不同的fit 对象。您可以通过引导您提供给 loess als Roland 在 cmets 中建议的数据来获得这些。

【讨论】:

  • 谢谢大家。非常感谢@Bernhard
猜你喜欢
  • 1970-01-01
  • 2013-03-11
  • 1970-01-01
  • 2022-01-23
  • 1970-01-01
  • 2012-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多