n*****3 发帖数: 1584 | 1 请教大家一下:
两组人, POSITIVE 和 Negative ,
say
POSITIVE 100K ppl,
Negative 900K ppl.
基本的数据结构 是 人的 ID 和 length of stay(待了几天)。
ID length of stay(days)
ppl-0000001 8
ppl-0000002 10
...
目的是 sample Negative 组 出来 100K 人 ,
which one-to-one match the Positive 组 人
的 length of stay(待了几天),
这样 match 完, 两组人的 100K 个 length of stay(待了几天)
完全一样.
当然如果 negative
组人 有多个 match 一个 POSITIVE 组人 , 任取一个就好了。
想用 c++ 写 ,use STL/Map hash,
不知有没好的算法哦 ,
or 更好的 STL 数据结构/算法 可用?
因为是 准备 写成 RCPP for R, 现在不考虑用
并行 Solution.
谢谢。 |
n*****3 发帖数: 1584 | 2 the for loop will take a long time to finish;
I want to figure out some good algorithm/Data strucute
to speed it up. Thanks.
【在 n*****3 的大作中提到】 : 请教大家一下: : 两组人, POSITIVE 和 Negative , : say : POSITIVE 100K ppl, : Negative 900K ppl. : 基本的数据结构 是 人的 ID 和 length of stay(待了几天)。 : ID length of stay(days) : ppl-0000001 8 : ppl-0000002 10 : ...
|
Y****a 发帖数: 243 | 3 为什么发在这里?发在统计或者数据科学版更合适吧。
我的问题是,这样取样的原因是什么?这样就相当于假设停留的时间和结果(正负)之间
是无关的。可总觉得这样假设有风险。有可能把重要的因子忽略了。
如果确实可以这样假设,那停留的时间是有限的吗?如果有,先n遍历一下数据计算分
布,然后,再跟据正负数据的分布,从每个bin里随机取相应个数的数据。
我不是搞算法的,这个只是一个可能的思路。 |
n*****3 发帖数: 1584 | 4
very good point; 但是我们需要 create some features based on the stop time(of
Position population), but there is NO stop time for negative population.
so we have to use this "case control" approach....
停留的时间是很有限的 一些; 但数据量不小,遍历再匹配 要很久啊。
【在 Y****a 的大作中提到】 : 为什么发在这里?发在统计或者数据科学版更合适吧。 : 我的问题是,这样取样的原因是什么?这样就相当于假设停留的时间和结果(正负)之间 : 是无关的。可总觉得这样假设有风险。有可能把重要的因子忽略了。 : 如果确实可以这样假设,那停留的时间是有限的吗?如果有,先n遍历一下数据计算分 : 布,然后,再跟据正负数据的分布,从每个bin里随机取相应个数的数据。 : 我不是搞算法的,这个只是一个可能的思路。
|