全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
609 5
2023-07-19
请教厉害大神~~
比如一个有500条records的dataset里面需要按4个变量的值的出现频率比例筛选出25个records, 尽量满足各个变量中不同的值出现比率

比如说:
性别:男 68%
女 32%

地区:
东北: 10%
西北: 34%
华北: 51%
华南: 5%

年纪:
1- 30 岁:  23%
30 - 60 岁: 46%
60 - 90 岁: 20%
90+ : 11%

最高学历:
小学:9%
中学: 35%
大学: 39%
硕士以上:17%

我实际中的task有16个变量而且细分程度很高 , 想请教大神们有什么好的思路能选出25个records尽量满足这些百分比条件。



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2023-7-21 17:06:57
你是否希望在讨论因素A时,具体到每一个水平,因素B的构成比例都大致不变?
例如,你希望 1-30岁,30-60岁等不同年龄组中都有男性和女性的比例大致为68:32?否则,若保证年龄因素的构成比,故意选取 1-30岁、30-60岁全为男性,60-90岁、90岁以上都为女性,则此时男性与女性比例为 (23+46):(20+11),即 69:33,与预期的 68:32 接近。但男性与女性在不同年龄组的构成非常极端,这样能否被认同?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-7-21 17:23:48
若这4个分层因素都是独立的,你可以将其组合成1个大的分层因素,组合后,该分层因素共有2*4*4*4=128个水平,各水平值和构成比要求如下:
男, 东北, 1-30岁, 小学, 构成比=68% * 10% * 23% * 9%= 0.14076%
男, 东北, 1-30岁, 中学, 构成比=68% * 10% * 23% * 35%= 0.5474%
男, 东北, 1-30岁, 大学, 构成比=68% * 10% * 23% * 39%= 0.60996%
男, 东北, 1-30岁, 硕士以上, 构成比=68% * 10% * 23% * 17%= 0.26588%
男, 东北, 硕士以上, 小学, 构成比=68% * 10% * 46% * 9%= 0.28152%
...
之后,你再按照分层抽样执行即可。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-7-21 17:54:49
若这4个因素互相关联,比如希望在不同年龄组中也有近似 68:32 的男女比例,则提供一个思路如下:
1. 从总体中任意选取一位受试者;
2. 从总体剩下的受试者中,抽取一位受试者,与第1步的受试者构成一个包含两位受试者的样本;
3. 计算当前样本中,各因素的构成比与目标构成比的“相似程度”,将该“相似程度”记录下来;
4. 抽取下一位受试者,然后重复第2、3步,直到所有的受试者被抽取完毕;
5. 选取“相似程度”最高的样本,作为包含两位受试者的最终样本;
6. 重复第2-5步,依次构建包含3位、4位...直至25位受试者的最终样本;

只需要给出“相似程度”的清晰定义,就可以顺着这个思路解决问题了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-7-21 18:00:22
我想起来了,这类问题可以用“最小化随机”方法解决,相关的理论比我上面的思路要成熟得多,你试试搜索看。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-7-22 01:53:58
whymath 发表于 2023-7-21 18:00
我想起来了,这类问题可以用“最小化随机”方法解决,相关的理论比我上面的思路要成熟得多,你试试搜索看。 ...
我最后做出来了! 可以用最小误差法 还可以给不同列assign 不同权重!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群