通过洛伦兹曲线,您可以直观地看到一个国家或地区收入分配状况。洛伦兹曲线的弯曲程度反映了收入分配的不平等程度。弯曲程度越大,收入分配越不平等。
画一个矩形,矩形的高用于衡量社会财富的百分比,将之分为N等份,每一等分为1/N的社会总财富。在矩形的长上,将所有家庭从最贫者到最富者自左向右排列,也分为N等分,第一个等份代表收入最低的1/N的家庭。在这个矩形中,将每1/N的家庭所有拥有的财富的占比累积起来,并将相应的点画在图中,便得到了一条曲线就是洛伦兹曲线。
组件配置
您可以使用以下任意一种方式,配置洛伦兹曲线组件参数。
方式一:可视化方式
在PAI-Designer(原PAI-Studio)工作流页面配置组件参数。
页签 | 参数 | 描述 |
---|---|---|
字段设置 | 选择字段列 | 无 |
参数设置 | 分位数 | 默认值为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