时间序列中的随机性

时间:2012-09-23 10:18:57

标签: r time-series

如何在每日时间序列中引入随机性?我有什么选择?

dataset = data.frame(days = as.Date(seq(from = as.Date("2021-01-01"),
                                        to   = as.Date("2025-12-31"), by = 1)),
                     obs  = rnorm(1826, mean = 1, sd = 2))

虽然这个时间序列是用rnorm创建的,但我每天都有一个观察值的数据集。

1 个答案:

答案 0 :(得分:1)

如果你想用给定的最小值或最大值进行采样,我会使用runif从统一分布中进行采样。如果这是不可能的,你可以从正态分布中绘制,然后在两侧切断。但是,截断样本的均值和sd保持与rnorm中指定的平均值和sd相同并不是微不足道的。另外,正态分布实际上没有最小值和最大值,尽管在大距离处概率变小。

这个R-Help线程为使用min和max的正态分布生成数字提供了一些很好的指针:

http://r.789695.n4.nabble.com/how-to-generate-a-normal-distribution-with-mean-1-min-0-2-max-0-8-td3481450.html

这表明生成大量数字和截断是一个糟糕的解决方案,并且效率低下。