【发布时间】:2018-07-04 19:38:00
【问题描述】:
假设我有一个 N 个人样本和一个随机变量 X 代表他们的外币年收入。 X 的示例如下:
15000
11000
9000
4000
4000
3900
3800
3600
3400
1000
900
800
700
700
400
300
300
300
200
100
现在我应该在 3 个“有序”子组中“采样”X 的 20 分量(不需要相同数量的分量),以便它们(大约)具有相同的基尼系数。
提醒一下基尼系数:只需计算每个收入占总收入的百分比(例如
p1=1500/(1500+1100+...)、p2=1100/(1500+1100+...)、...、p20=100/(1500+1100+...)),然后累积 % 值(例如c1=0+p1、c2=p1+p2、...、c20=p19+p20=1),然后计算累积的面积(A=(c1+...+c20-0.5)/(20)-0.5)和基尼系数G=2*A。
这可以通过蛮力轻松完成:将样本一分为三,计算三个样本的基尼系数,并尝试从/移到中间样本的上下分量,以确定基尼系数的差异是改善还是恶化离开。但是,手动完成非常耗时(例如在 Excel 上),尤其是当我有一个非常大的数据集时。
我怀疑有一个更优雅的解决方案。我对Python 和R 都开放。
其他细节
输出将是这样的:X
1 2 3
1500 3900 400
1100 3800 300
9000 3600 300
4000 3400 300
1000 200
900 100
800
700
700
对于G,三个子组的实际基尼系数
1 2 3
0.4 0.41 0.39
【问题讨论】:
-
你能正确写出你的公式吗?
-
@Onyambu 请给我一个提示。我无法弄清楚缺少什么。
-
这很有趣,我正在尝试。出于好奇,你为什么要这样做?
-
首先你现在有
prop.table(X),你需要3组还是2组? A的公式是什么??A=c1+c2+...+c20-0,5相加然后减去 0?减去零是没有意义的。,5是关于什么的?同样在分母/(20)-0,5)我不明白0,5是什么,或者你的意思是0.5?如果是0.5,你是先除然后减还是先减后除?你能把你的公式写正确吗? -
@Onyambu 抱歉,我放错了
,而不是.。意大利系统没有帮助......
标签: python r pandas optimization gini