【发布时间】:2021-09-03 19:13:55
【问题描述】:
我希望如果合适的话,我可以在 T-SQL 中解决这个问题。感谢您提供任何帮助,我也看到过其他类似的问题,但我为同一个人输入了多个条目,这使得它变得困难。
我有一个大型数据集,其中包含 2015-2020 年的 ID(每个人都是唯一的)。这是个人 (ID) 及其填写日期的处方数据,因此每个 ID 通常有多行 - 无论是在一年内还是跨多年。
我想根据以下比例/概率为每个 ID/人随机选择一个日期:5%-2015、10%-2016、10%-2017、15%-2018、20%-2019 和 40% 2020 年。每个人有 120 万个唯一 ID,而 2020 年大约有 300,000 人填满,这似乎是一个限制因素。
【问题讨论】:
-
如果一个人在某年[s]的表中没有行怎么办?
-
您是否要纵向跟踪离散的个人,因此需要每个人 5 年的数据?或者您是否希望随机抽取 2015 年所有客户的 5%、2016 年所有客户的 10% 等,而不用担心任何给定的个人是否出现在所有集合中?
-
这能回答你的问题吗? SQL - 5% random sample by group
-
每年不同的人的数量是否大致相等,或者您是否需要处理其他可能的限制?也就是说,假设 2020 年有 300,000 不同的人,那么你想要其中的 40%,即 120,000 人。这意味着您希望从 2019 年开始有约 60,000 人。如果 2019 年只有 30,000 人怎么办?您会从 2020 年开始减少人数以保持比例,还是从 2019 年开始尽可能多地增加?
-
我想另一个问题是:您是否希望总体上最大化样本量,即使这意味着需要在不同年份挑选一些相同的人?例如,假设 Bob 是 2015 年样本总体的成员。如果我们能够再次为 2016 年的人口挑选 Bob,那么我们可以从 2017 年以上的人口中挑选更多的人并保持我们的比例。如果我们在 2016 年不再选择 Bob,那么我们必须减少所有年份的总样本量以保持我们的比例。我们会在 2015 年和 2016 年都选择 Bob 吗?