通过洛伦兹曲线,您可以直观地看到一个国家或地区收入分配状况。洛伦兹曲线的弯曲程度反映了收入分配的不平等程度。弯曲程度越大,收入分配越不平等。
画一个矩形,矩形的高用于衡量社会财富的百分比,将之分为N等份,每一等分为1/N的社会总财富。在矩形的长上,将所有家庭从最贫者到最富者自左向右排列,也分为N等分,第一个等份代表收入最低的1/N的家庭。在这个矩形中,将每1/N的家庭所有拥有的财富的占比累积起来,并将相应的点画在图中,便得到了一条曲线就是洛伦兹曲线。
组件配置
您可以使用以下任意一种方式,配置洛伦兹曲线组件参数。
方式一:可视化方式
在Designer工作流页面配置组件参数。
页签 | 参数 | 描述 |
字段设置 | 选择字段列 | 无 |
参数设置 | 分位数 | 默认值为100。 |
执行调优 | 计算的核心数 | 计算的核心数,取值为正整数。 |
每个核心的内存(MB) | 每个核心的内存。 |
方式二:PAI命令方式
使用PAI命令方式,配置该组件参数。您可以使用SQL脚本组件进行PAI命令调用,详情请参见SQL脚本。
PAI -name LorenzCurve
-project algo_public
-DinputTableName=maple_test_lorenz_basic10_input
-DcolName=col0
-DoutputTableName=maple_test_lorenz_basic10_output -DcoreNum=20
-DmemSizePerCore=110;
参数名称 | 是否必选 | 描述 | 默认值 |
inputTableName | 是 | 输入表的名称。 | 无 |
outputTableName | 是 | 输出表名称列表。 | 无 |
ColName | 否 | 输入表选择列名称。支持选择多列,列之间使用英文逗号(,)分隔。 | 无 |
N | 否 | 分位数。 | 100 |
inputTablePartitions | 否 | 输入表中,参与训练的分区。系统支持以下格式:
说明 指定多个分区时,分区之间使用英文逗号(,)分隔。 | 无 |
lifecycle | 否 | 指定输出表的生命周期。取值为整数。单位:天。 | 28 |
coreNum | 否 | 与参数memSizePerCore配对使用,取值为正整数。系统会根据输入数据量计算所起instance的数量。 | 默认自动计算 |
memSizePerCore | 否 | 单个节点内存大小,单位MB。取值为正整数,取值范围建议为(1024, 64*1024)。 | 默认自动计算 |
示例
生成如下测试数据。
col0:double
4
7
2
8
6
3
9
5
0
1
10
执行如下PAI命令。
PAI -name LorenzCurve -project algo_public -DinputTableName=maple_test_lorenz_basic10_input -DcolName=col0 -DoutputTableName=maple_test_lorenz_basic10_output -DcoreNum=20 -DmemSizePerCore=110;
查看输出结果,如下表所示。
quantile
col0
0
0
1
0.01818181818181818
2
0.01818181818181818
3
0.01818181818181818
4
0.01818181818181818
5
0.01818181818181818
6
0.01818181818181818
7
0.01818181818181818
8
0.01818181818181818
9
0.01818181818181818
10
0.01818181818181818
11
0.05454545454545454
12
0.05454545454545454
13
0.05454545454545454
14
0.05454545454545454
...
...
85
0.8181818181818182
86
0.8181818181818182
87
0.8181818181818182
88
0.8181818181818182
89
0.8181818181818182
90
1
91
1
92
1
93
1
94
1
95
1
96
1
97
1
98
1
99
1
100
1