0

假设我有一个数据集 S,其中包含不同工作的服务时间,例如S={t1,t2,t3,...,tn},其中 ti 是第 i 个工作的服务时间;和 n 我的数据集中的总数。这个 S 只是总体中的一个样本。这里是 300k。我想研究长时间服务的影响,因为有些工作需要很长时间,有些则不需要。我的直觉是根据从真实系统中收集的数据来研究这种影响。研究中的系统有数以百万计的工作,这个数字每几秒钟就会增加 100 个新工作。此外,服务时间是通过对本地机器上的作业进行基准测试来衡量的。因此,实际上不断扩展数据集的成本很高。因此,我决定随机拿起 300k。

我正在进行模拟实验,我必须使用它们的服务时间(比如数百万)生成大量工作,然后进行一些其他计算。

如何在我的模拟中使用 S 作为总体,我遇到了以下问题:

1-使用 S 本身。我可以使用引导“带替换的样本”或“不带替换的样本”。

2-将理论分布模型拟合到S,然后从中得出。

我对么?哪种方法最好(优点和缺点)?第一种方法似乎很简单,每次只需从 S 中选择一个随机服务时间?可靠吗?任何建议都值得赞赏,因为我没有得到统计数据。

4

1 回答 1

1

在 2007 年冬季模拟会议上引用本教程:

乍一看,跟踪驱动的模拟似乎很有吸引力。这就是直接使用历史数据作为输入的地方。当您的模型中使用来自真实世界系统的真实数据时,很难争论分布的有效性。然而,在实践中,由于几个原因,这往往是一个糟糕的解决方案。历史数据可能很昂贵或无法提取。它肯定不会无限量提供,这会大大减少可能的统计分析。存储要求很高。最后但并非最不重要的一点是,不可能评估“假设”?策略或尝试模拟预期系统,即尚不存在的系统。

  1. 模拟的主要用途之一是研究替代配置或策略,而跟踪数据不适合这样做——它只能向您展示您当前的操作方式。跟踪数据不能用于研究正在考虑但尚不存在的系统。
  2. Bootstrapping 对现有数据进行重新采样。这消除了数据数量的限制,但有潜在的成本。自举的前提是您的数据具有代表性和独立性。前者可能不是 300k 观察的问题,但由于成本或可用性问题,当您的样本量较小时经常出现。如果您的数据来自观察结果是序列相关或非同质的时间序列,则后者很重要。在这种情况下,独立随机采样(而不是顺序回放)可能会丢失有关正在研究的行为的重要信息。
  3. 如果需要顺序回放,您将回到被限制为 300k 的观察值,而这可能不像您认为的统计测量那样多。方差估计对于计算置信区间的误差范围至关重要,并且序列相关性对样本均值的方差有巨大影响。获得有效的置信区间估计可能需要比独立数据所需的多几个数量级的数据。

总之,分布拟合需要更多的前期工作,但从长远来看通常更有用。

于 2019-07-03T14:42:27.413 回答