通過洛倫茲曲線,您可以直觀地看到一個國家或地區收入分配狀況。洛倫茲曲線的彎曲程度反映了收入分配的不平等程度。彎曲程度越大,收入分配越不平等。
畫一個矩形,矩形的高用于衡量社會財富的百分比,將之分為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