R中的黄土功能模拟

问题描述

使用黄土(y〜x)进行预测,我发现R中一个随机变量的黄土估计。现在,我想执行100个蒙特卡洛模拟来找到标准误差。我使用了以下R代码,但在所有100个仿真中它都返回相同的值。请告诉我我哪里出问题了。

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

解决方法

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

第一:您正在使用的predict函数实际上是predict.loess包中的stats。它有一个参数se,如果调用predict(fit,...,se = TRUE),它将为每个预测值返回一个估计的标准误差。因此,请检查一下是否可以满足您的需要,而无需自己进行编程: cf. http://www.rdocumentation.org/packages/stats/versions/3.6.2/topics/predict.loess

第二:如果您希望从predict调用中获得不同的预测,则需要向其传递不同的fit对象。您可以通过引导输入到loess als Roland在评论中建议的数据来获取这些信息。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...