全部产品
机器学习PAI

统计分析

更新时间:2017-08-30 17:39:50   分享:   


统计分析


目录


百分位

对一个存在的表,单列数据计算百分位

参数设置

选择需要分析的字段,仅支持double类型和bigint类型

运行结果,如下screenshot

PAI 命令

  1. PAI -name Percentile -project algo_public -DoutputTableName="pai_temp_666_6014_1"\
  2. -DcolName="euribor3m" -DinputTableName="bank_data";
  • name: 组件名字
  • project: project名字,用于指定算法所在空间。系统默认是algo_public,用户自己更改后系统会报错
  • outputTableName: 系统执行百分位运算后自动分配的结果表
  • colName:要计算百分位的列,仅支持数字型
  • inputTableName: 输入表的名字

全表统计

对一个存在的表,进行全表基本统计,或者仅对选中的列做统计

PAI 命令

  1. PAI -name stat_summary
  2. -project algo_public
  3. -DinputTableName=test_data
  4. -DoutputTableName=test_summary_out
  5. -DinputTablePartitions="ds='20160101'"
  6. -DselectColNames=col0,col1,col2
  7. -Dlifecycle=1

参数说明

参数名称 参数描述 参数值可选项 默认值
inputTableName 必选,输入表名 - -
outputTableName 必选,推荐结果的输出表名 - -
inputTablePartitions 可选,输入表的分区 - “”
selectColNames 可选,指定需要统计的列名 - “”
lifecycle 可选,输出结果表的生命周期 - 不设生命周期
coreNum 可选,指定instance的总数 - -1
memSizePerCore 可选,指定memory大小,范围在100~64*1024之间 - -1

输入格式:选择输入列框中可选择需要进行统计的列,默认情况下统计全部列

输出格式:输出统计结果的全部字段如下

列名 描述
colname 列名
datatype 类型
totalcount 总数
count 非NULL数量
missingcount NULL数量
nancount NAN数量
positiveinfinitycount 正无穷数量
negativeinfinitycount 负无穷数量
min 最小值
max 最大值
mean 平均值
variance 方差
standarddeviation 标准差
standarderror 标准误差
skewness 偏度
kurtosis 峰度
moment2 二阶矩
moment3 三阶矩
moment4 四阶矩
centralmoment2 二阶中心距
centralmoment3 三阶中心距
centralmoment4 四阶中心距
sum 总和
sum2 平方和
sum3 立方和
sum4 四次方和

实例

测试数据

新建数据SQL

  1. drop table if exists summary_test_input;
  2. create table summary_test_input as
  3. select
  4. *
  5. from
  6. (
  7. select 'a' as col1, 1 as col2, 0.001 as col3 from dual
  8. union all
  9. select 'b' as col1, 2 as col2, 100.01 as col3 from dual
  10. ) tmp;

运行命令

  1. PAI -name stat_summary
  2. -project algo_public
  3. -DinputTableName=summary_test_input
  4. -DoutputTableName=summary_test_input_out
  5. -DselectColNames=col1,col2,col3
  6. -Dlifecycle=1;

运行结果

  1. | colname | datatype | totalcount | count | missingcount | nancount | positiveinfinitycount | negativeinfinitycount | min | max | mean | variance | standarddeviation | standarderror | skewness | kurtosis | moment2 | moment3 | moment4 | centralmoment2 | centralmoment3 | centralmoment4 | sum | sum2 | sum3 | sum4 |
  2. | col1 | string | 2 | 2 | 0 | 0 | 0 | 0 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL |
  3. | col2 | bigint | 2 | 2 | 0 | 0 | 0 | 0 | 1 | 2 | 1.5 | 0.5 | 0.7071067811865476 | 0.5 | 0 | -2 | 2.5 | 4.5 | 8.5 | 0.25 | 0 | 0.0625 | 3 | 5 | 9 | 17 |
  4. | col3 | double | 2 | 2 | 0 | 0 | 0 | 0 | 0.001 | 100.01 | 50.0055 | 5000.900040500001 | 70.71704207968544 | 50.00450000000001 | 2.327677906939552e-16 | -1.999999999999999 | 5001.000050500001 | 500150.0150005006 | 50020003.00020002 | 2500.45002025 | 2.91038304567337e-11 | 6252250.303768232 | 100.011 | 10002.000101 | 1000300.030001001 | 100040006.0004 |

皮尔森系数

对输入表或分区的2列(必须为数值列),计算其pearson相关系数,结果存入输出表。

使用说明

  1. 组件的仅两个参数:输入列1、输入列2;将需要计算相关系数的两列的列名填入即可;

  2. 运行后,组件右击菜单—> 查看分析报告,如下image最后一列皮尔森系数值

pai命令示例

  1. pai -name pearson
  2. -project algo_test
  3. -DinputTableName=wpbc
  4. -Dcol1Name=f1
  5. -Dcol2Name=f2
  6. -DoutputTableName=wpbc_pear;

算法参数

参数key名称 参数描述 取值范围 是否必选,默认值/行为
inputTableName 输入表的表名 表名 必选
inputTablePartitions 输入表中指定哪些分区参与计算 格式为: partition_name=value。如果是多级格式为name1=value1/name2=value2;如果是指定多个分区,中间用’,’分开 输入表的所有partition
col1Name 输入列1 列名 必选
col2Name 输入列2 列名 必选
outputTableName 输出结果表 表名 必选

直方图

对一个存在的表,单列数据计算直方图

参数设置

选择需要分析字段,支持double类型和bigint类型

查看分析报告,如下screenshot可调节步长大小,以及滑动查看直方图


离散值特征分析

离散值特征分析统计离散特征的分布,gini,entropy,gini gain,infomation gain,infomation gain ratio等指标。其中计算每个离散值对应的gini,entropy,计算单列对应的gini gain,infomation gain,infomation gain ratio。

gini index: image

entropy: image

pai命令示例

  1. PAI
  2. -name enum_feature_selection
  3. -project algo_public
  4. -DinputTableName=enumfeautreselection_input
  5. -DlabelColName=label
  6. -DfeatureColNames=col0,col1
  7. -DenableSparse=false
  8. -DoutputCntTableName=enumfeautreselection_output_cntTable
  9. -DoutputValueTableName=enumfeautreselection_output_valuetable
  10. -DoutputEnumValueTableName=enumfeautreselection_output_enumvaluetable;

算法参数

参数key名称 参数描述 取值范围 默认值
inputTableName 必选,输入表名 - -
inputTablePartitions 可选,输入表选择的分区 - 默认选择全表
featureColNames 可选,输入表选择的列名 - 默认选择除label外的其他列,如果输入表为KV格式,则默认选择所有的string类型的列
labelColName 必选,label所在的列 - -
enableSparse 可选,输入表是否是KV格式 - 默认为表
kvFeatureColNames 可选,KV格式的特征 - 默认选择全表
kvDelimiter 可选,KV之间的分隔符 - 默认为:
itemDelimiter 可选,K和V的分隔符 - 默认为,
outputCntTableName 必选,输出离散特征的枚举值分布数表 - -
outputValueTableName 必选,输出离散特征的gini,entropy表 - -
outputEnumValueTableName 必选,输出离散特征枚举值gini,entropy表 - -
lifecycle 可选,输入表的声明周期 - 默认不设置声明周期
coreNum 可选,总得core个数 - 默认自动设置
memSizePerCore 可选,单个core对应的内存数量,单位为M - 默认为自动设置

示例

测试数据

新建数据SQL

  1. drop table if exists enum_feature_selection_test_input;
  2. create table enum_feature_selection_test_input
  3. as
  4. select
  5. *
  6. from
  7. (
  8. select
  9. '00' as col_string,
  10. 1 as col_bigint,
  11. 0.0 as col_double
  12. from dual
  13. union all
  14. select
  15. cast(null as string) as col_string,
  16. 0 as col_bigint,
  17. 0.0 as col_double
  18. from dual
  19. union all
  20. select
  21. '01' as col_string,
  22. 0 as col_bigint,
  23. 1.0 as col_double
  24. from dual
  25. union all
  26. select
  27. '01' as col_string,
  28. 1 as col_bigint,
  29. cast(null as double) as col_double
  30. from dual
  31. union all
  32. select
  33. '01' as col_string,
  34. 1 as col_bigint,
  35. 1.0 as col_double
  36. from dual
  37. union all
  38. select
  39. '00' as col_string,
  40. 0 as col_bigint,
  41. 0.0 as col_double
  42. from dual
  43. ) tmp;

输入数据说明

  1. +------------+------------+------------+
  2. | col_string | col_bigint | col_double |
  3. +------------+------------+------------+
  4. | 01 | 1 | 1.0 |
  5. | 01 | 0 | 1.0 |
  6. | 01 | 1 | NULL |
  7. | NULL | 0 | 0.0 |
  8. | 00 | 1 | 0.0 |
  9. | 00 | 0 | 0.0 |
  10. +------------+------------+------------+

运行命令

  1. drop table if exists enum_feature_selection_test_input_enum_value_output;
  2. drop table if exists enum_feature_selection_test_input_cnt_output;
  3. drop table if exists enum_feature_selection_test_input_value_output;
  4. PAI -name enum_feature_selection -project algo_public -DitemDelimiter=":" -Dlifecycle="28" -DoutputValueTableName="enum_feature_selection_test_input_value_output" -DkvDelimiter="," -DlabelColName="col_bigint" -DfeatureColNames="col_double,col_string" -DoutputEnumValueTableName="enum_feature_selection_test_input_enum_value_output" -DenableSparse="false" -DinputTableName="enum_feature_selection_test_input" -DoutputCntTableName="enum_feature_selection_test_input_cnt_output";

界面

image

参数界面

image

界面运行结果

image

运行结果

enum_feature_selection_test_input_cnt_output

  1. +------------+------------+------------+------------+
  2. | colname | colvalue | labelvalue | cnt |
  3. +------------+------------+------------+------------+
  4. | col_double | NULL | 1 | 1 |
  5. | col_double | 0 | 0 | 2 |
  6. | col_double | 0 | 1 | 1 |
  7. | col_double | 1 | 0 | 1 |
  8. | col_double | 1 | 1 | 1 |
  9. | col_string | NULL | 0 | 1 |
  10. | col_string | 00 | 0 | 1 |
  11. | col_string | 00 | 1 | 1 |
  12. | col_string | 01 | 0 | 1 |
  13. | col_string | 01 | 1 | 2 |
  14. +------------+------------+------------+------------+

enum_feature_selection_test_input_value_output

  1. +------------+------------+------------+------------+------------+---------------+
  2. | colname | gini | entropy | infogain | ginigain | infogainratio |
  3. +------------+------------+------------+------------+------------+---------------+
  4. | col_double | 0.3888888888888889 | 0.792481250360578 | 0.20751874963942196 | 0.1111111111111111 | 0.14221913160264427 |
  5. | col_string | 0.38888888888888884 | 0.792481250360578 | 0.20751874963942196 | 0.11111111111111116 | 0.14221913160264427 |
  6. +------------+------------+------------+------------+------------+---------------+

enum_feature_selection_test_input_enum_value_output

  1. +------------+------------+------------+------------+
  2. | colname | colvalue | gini | entropy |
  3. +------------+------------+------------+------------+
  4. | col_double | NULL | 0.0 | 0.0 |
  5. | col_double | 0 | 0.22222222222222224 | 0.4591479170272448 |
  6. | col_double | 1 | 0.16666666666666666 | 0.3333333333333333 |
  7. | col_string | NULL | 0.0 | 0.0 |
  8. | col_string | 00 | 0.16666666666666666 | 0.3333333333333333 |
  9. | col_string | 01 | 0.2222222222222222 | 0.4591479170272448 |
  10. +------------+------------+------------+------------+

T检验

单样本T检验是检验某个变量的总体均值和某指定值之间是否存在显著差异。T检验的前提是样本总体服从正态分布。

pai命令示例

  1. pai -name t_test -project algo_public
  2. -DxTableName=pai_t_test_all_type
  3. -DxColName=col1_double
  4. -DoutputTableName=pai_t_test_out
  5. -DxTablePartitions=ds=2010/dt=1
  6. -Dalternative=less
  7. -Dmu=47
  8. -DconfidenceLevel=0.95

算法参数

参数名称 参数描述 取值范围 是否必选,默认值/行为
xTableName 输入表x 表名 必选
xColName 需要做t检验的列 列名,只能是double或者bigint 必选
outputTableName 输出表 不存在的表名 必选
xTablePartitions 输入表x的分区列表 分区列表 可选, 默认值:””
alternative 对立假设 two.sided, less, greater” 可选, 默认值: two.sided
mu 假设的均值 double 可选,默认值:0
confidenceLevel 置信度 0.8,0.9,0.95,0.99,0.995,0.999 可选,默认值:0.95

输出说明

输出是一个表,只有一行一列,是json格式。

  1. {
  2. "AlternativeHypthesis": "mean not equals to 0",
  3. "ConfidenceInterval": "(44.72234194006504, 46.27765805993496)",
  4. "ConfidenceLevel": 0.95,
  5. "alpha": 0.05,
  6. "df": 99,
  7. "mean": 45.5,
  8. "p": 0,
  9. "stdDeviation": 3.919647479510927,
  10. "t": 116.081867662439
  11. }

卡方检验

卡方拟合性检验是检验单个多项分类名义型变量各分类间的实际观测次数与理论次数之间是否一致的问题,其零假设是观测次数与理论次数之间无差异。

pai命令示例

  1. PAI -name chisq_test
  2. -project algo_public
  3. -DinputTableName=pai_chisq_test_input
  4. -DcolName=f0
  5. -DprobConfig=0:0.3,1:0.7
  6. -DoutputTableName=pai_chisq_test_output0
  7. -DoutputDetailTableName=pai_chisq_test_output0_detail

算法参数

参数名称 参数描述 取值范围 是否必选,默认值/行为
inputTableName 输入表 表名 必选
colName 需要做卡方检验的列 列名 必选
outputTableName 输出表 不存在的表名 必选
outputDetailTableName 输出detail表 不存在的表名 必选
inputTablePartitions 输入表的分区列表 分区列表 可选, 默认值:””
probConfig 类别概率配置 kv对,格式 类别:概率,类别:概率…所有概率和为1 可选, 默认为所有类别概率相等

示例

测试数据

  1. create table pai_chisq_test_input as
  2. select * from
  3. (
  4. select '1' as f0,'2' as f1 from dual
  5. union all
  6. select '1' as f0,'3' as f1 from dual
  7. union all
  8. select '1' as f0,'4' as f1 from dual
  9. union all
  10. select '0' as f0,'3' as f1 from dual
  11. union all
  12. select '0' as f0,'4' as f1 from dual
  13. )tmp;

pai命令

  1. PAI -name chisq_test
  2. -project algo_public
  3. -DinputTableName=pai_chisq_test_input
  4. -DcolName=f0
  5. -DprobConfig=0:0.3,1:0.7
  6. -DoutputTableName=pai_chisq_test_output0
  7. -DoutputDetailTableName=pai_chisq_test_output0_detail

输出说明

输出表outputTableName,只有一行一列,是json格式。

  1. {
  2. "Chi-Square": {
  3. "comment": "皮尔逊卡方",
  4. "df": 1,
  5. "p-value": 0.75,
  6. "value": 0.2380952380952381
  7. }
  8. }

输出表outputDetailTableName,对应列:类别,观察频率(observed),期望频率(expected),标准误差(residuals = (observed-expected) / sqrt(expected) )

chisq_p1


数据视图

一 组件功能

  • 提供数据透视功能,通过数据视图组件,用户可以可视化了解特征取值分布,特征与标签列的分布情况. 了解特征特点方便后续数据分析.支持稀疏和稠密.

二 PAI 命令

  1. PAI -name fe_meta_runner -project algo_public -DinputTable="pai_dense_10_10" -DoutputTable="pai_temp_2263_20384_1" -DmapTable="pai_temp_2263_20384_2" -DselectedCols="pdays,previous,emp_var_rate,cons_price_idx,cons_conf_idx,euribor3m,nr_employed,age,campaign,poutcome" -DlabelCol="y" -DcategoryCols="previous" -Dlifecycle="28"-DmaxBins="5" ;

三 算法参数说明

参数key名称 参数描述 必/选填 默认值
inputTable 输入数据表名 必填 -
inputTablePartitions 输入表分区 选填 -
outputTable 输出表名 必填 -
mapTable 输出映射表,数据视图对String类字符串会做一个统计映射成数字(转换成Int方便机器学习识别和训练) 必填 -
selectedCols 输入表选择列名类型 必填 -
categoryCols 把Int或者Double字段当做枚举特征,可选 “”
maxBins 连续性特征等距离划分最大区间数,可选 100
isSparse 是否是k:v的稀疏特征,可选,默认稠密数据 100
itemSpliter 稀疏特征item分隔符,可选,默认逗号 “,”
kvSpliter 稀疏特征item分隔符,可选,默认冒号 “:”
lifecycle 输出表生命周期(单位:天) 选填 28

四 建模示例

1. 输入数据
age workclass fwlght edu edu_num married c family race sex gail loss work_year country income
39 State-gov 77516 Bachelors 13 Never-married Adm-clerical Not-in-family White Male 2174.0 0.0 40.0 United-States <=50K
50 Self-emp-not-inc 83311 Bachelors 13 Married-civ-spouse Exec-managerial Husband White Male 0.0 0.0 13.0 United-States <=50K
38 Private 215646 HS-grad 9 Divorced Handlers-cleaners Not-in-family White Male 0.0 0.0 40.0 United-States <=50K
53 Private 234721 11th 7 Married-civ-spouse Handlers-cleaners Husband Black Male 0.0 0.0 40.0 United-States <=50K
28 Private 338409 Bachelors 13 Married-civ-spouse Prof-specialty Wife Black Female 0.0 0.0 40.0 Cuba <=50K
37 Private 284582 Masters 14 Married-civ-spouse Exec-managerial Wife White Female 0.0 0.0 40.0 United-States <=50K
49 Private 160187 9th 5 Married-spouse-absent Other-service Not-in-family Black Female 0.0 0.0 16.0 Jamaica <=50K
52 Self-emp-not-inc 209642 HS-grad 9 Married-civ-spouse Exec-managerial Husband White Male 0.0 0.0 45.0 United-States >50K
31 Private 45781 Masters 14 Never-married Prof-specialty Not-in-family White Female 14084.0 0.0 50.0 United-States >50K
42 Private 159449 Bachelors 13 Married-civ-spouse Exec-managerial Husband White Male 5178.0 0.0 40.0 United-States >50K

2. 建模DAG

建模DAG

image

  • 数据视图配置:勾选income为目标列,其他14个字段为特征列,其中bigint类型的edu_num字段做枚举值处理

image

3. 建模效果

  • 左边输入数据,你会发现原本是String字段的family,race,sex,income等都被映射成数值,这是 为了方便数据被机器学习算法训练(某种程度有数据格式转换的功能)
gail loss work_year age fwlght edu_num workclass edu married c family race sex country income
2174.0 0.0 40.0 39.0 77516.0 1.0 3.0 3.0 4.0 1.0 2.0 2.0 2.0 3.0 0.0
0.0 0.0 13.0 50.0 83311.0 1.0 2.0 3.0 2.0 2.0 1.0 2.0 2.0 3.0 0.0
0.0 0.0 40.0 38.0 215646.0 5.0 1.0 4.0 1.0 3.0 2.0 2.0 2.0 3.0 0.0
0.0 0.0 40.0 53.0 234721.0 4.0 1.0 1.0 2.0 3.0 1.0 1.0 2.0 3.0 0.0
0.0 0.0 40.0 28.0 338409.0 1.0 1.0 3.0 2.0 5.0 3.0 1.0 1.0 1.0 0.0
0.0 0.0 40.0 37.0 284582.0 2.0 1.0 5.0 2.0 2.0 3.0 2.0 1.0 3.0 0.0
0.0 0.0 16.0 49.0 160187.0 3.0 1.0 2.0 3.0 4.0 2.0 1.0 1.0 2.0 0.0
0.0 0.0 45.0 52.0 209642.0 5.0 2.0 4.0 2.0 2.0 1.0 2.0 2.0 3.0 1.0
14084.0 0.0 50.0 31.0 45781.0 2.0 1.0 5.0 4.0 5.0 2.0 2.0 1.0 3.0 1.0
5178.0 0.0 40.0 42.0 159449.0 1.0 1.0 3.0 2.0 2.0 1.0 2.0 2.0 3.0 1.0
  • 右边的输出是映射表.
feature_name feature_value map_id
income <=50K
0
income >50K
1
edu_num 13 1
edu_num 14 2
edu_num 5 3
edu_num 7 4
edu_num 9 5
workclass Private 1
workclass Self-emp-not-inc 2
workclass State-gov 3
edu 11th 1
edu 9th 2
edu Bachelors 3
edu HS-grad 4
edu Masters 5
married Divorced 1
married Married-civ-spouse 2
married Married-spouse-absent 3
married Never-married 4
c Adm-clerical 1
c Exec-managerial 2
c Handlers-cleaners 3
c Other-service 4
c Prof-specialty 5
family Husband 1
family Not-in-family 2
family Wife 3
race Black 1
race White 2
sex Female 1
sex Male 2
country Cuba 1
country Jamaica 2
country United-States 3

协方差

在概率论和统计学中,协方差用于衡量两个变量的总体误差。而方差是协方差的一种特殊情况,即当两个变量是相同的情况。期望值分别为E(X) = μ 与 E(Y) = ν 的两个实数随机变量X与Y之间的协方差定义为:cov(X, Y) = E((X - μ) (Y - ν))

PAI命令行

  1. PAI -name cov
  2. -project algo_public
  3. -DinputTableName=maple_test_cov_basic12x10_input
  4. -DoutputTableName=maple_test_cov_basic12x10_output
  5. -DcoreNum=6
  6. -DmemSizePerCore=110;

参数说明

参数名称 参数描述 取值范围 是否必选,默认值
inputTableName 输入表 表名 必选
inputTablePartitions 输入表中指定哪些分区参与训练, 格式为: Partition_name=value. 如果是多级格式为name1=value1/name2=value2; 如果是指定多个分区, 中间用,分开 可选, 默认值选择所有分区
outputTableName 输出表名列表 表名 必选
selectedColNames 输入表选择列名类型 列名 可选默认选择全部列
lifecycle 可选,指定输出表的生命周期 正整数 没有生命周期
coreNum 节点个数 与参数memSizePerCore配对使用,正整数,范围[1, 9999] 可选, 默认自动计算
memSizePerCore 单个节点内存大小,单位M 正整数,范围[1024, 64*1024] 可选, 默认自动计算

经验概率密度图

经验分布是当无法得到精确的参数分布时,需要从数据中估计概率分布从而得到非参数分布。算法中采用内核分布估计样本数据的概率密度,和直方图类似都是产生函数描述样本数据的分布,区别是内核分布叠加各部分的贡献而产生连续平滑的分布曲线,而直方图是离散地描述,采用内核分布时,非样本的数据点概率密度并非0,而是各样本抽样点在某种内核分布下的概率密度加权叠加,在这版实现中,内核分布固定采用高斯分布。

  • 内核分布更详细介绍请见 wiki

  • 经验分布更详细介绍请见 wiki

PAI命令行
  1. PAI -name empirical_pdf
  2. -project algo_public
  3. -DinputTableName="test_data"
  4. -DoutputTableName="test_epdf_out"
  5. -DfeatureColNames="col0,col1,col2"
  6. -DinputTablePartitions="ds='20160101'"
  7. -Dlifecycle=1
  8. -DintervalNum=100
参数说明
参数名称 参数描述 取值范围 是否必选,默认值
inputTableName 输入表名 - 必选
outputTableName 输出表名 - 必选
featureColNames 输入列 可选多列,类型为double或bigint 必选
labelColName 输入label列,把feature列按照这一列所有的label值进行分组计算 只能选一列,类型为bigint或string,label值数量不能超过100 可选,“”
inputTablePartitions 输入表的分区 - 可选,””
intervalNum 计算频次区间数,越大精度越高 [1,1E14) 可选,-1,会根据各列数据的取值范围进行区间划分自动计算区间数
lifecycle 生命周期 - 可选,-1,不设生命周期
coreNum 核数目 >0 可选,-1,会根据输入数据量计算所起instance的数量
memSizePerCore 内存数 (100,64*1024) 可选,-1,会根据输入数据量计算所需内存大小
具体示例

数据生成

  1. drop table if exists epdf_test;
  2. create table epdf_test as
  3. select
  4. *
  5. from
  6. (
  7. select 1.0 as col1 from dual
  8. union all
  9. select 2.0 as col1 from dual
  10. union all
  11. select 3.0 as col1 from dual
  12. union all
  13. select 4.0 as col1 from dual
  14. union all
  15. select 5.0 as col1 from dual
  16. ) tmp;

PAI命令行

  1. PAI -name empirical_pdf
  2. -project algo_public
  3. -DinputTableName=epdf_test
  4. -DoutputTableName=epdf_test_out
  5. -DfeatureColNames=col1;

输入说明:选择需要计算的列,可选择多列,同时可选label列按照每个label值把这些列进行切分成多组,例如label列中包含label值0、1,需要计算的列会分成label=0的一组,和label=1的一组,分别画出概率密度。若不选label列,feature列则会一整列进行计算。

输出说明:图和结果表,结果表的字段如下,不选label列时,label字段输出NULL

列名 数据类型
colName string
label string
x double
pdf double

输出表

  1. +------------+------------+------------+------------+
  2. | colname | label | x | pdf |
  3. +------------+------------+------------+------------+
  4. | col1 | NULL | 1.0 | 0.12775155176809325 |
  5. | col1 | NULL | 1.0404050505050506 | 0.1304256933829622 |
  6. | col1 | NULL | 1.0808101010101012 | 0.13306325897429525 |
  7. | col1 | NULL | 1.1212151515151518 | 0.1356613897616418 |
  8. | col1 | NULL | 1.1616202020202024 | 0.1382173796574596 |
  9. | col1 | NULL | 1.202025252525253 | 0.1407286844875733 |
  10. | col1 | NULL | 1.2424303030303037 | 0.14319293014274642 |
  11. | col1 | NULL | 1.2828353535353543 | 0.14560791960033242 |
  12. | col1 | NULL | 1.3232404040404049 | 0.14797163876379316 |
  13. | col1 | NULL | 1.3636454545454555 | 0.1502822610772349 |
  14. | col1 | NULL | 1.404050505050506 | 0.1525381508819247 |
  15. | col1 | NULL | 1.4444555555555567 | 0.1547378654919243 |
  16. | col1 | NULL | 1.4848606060606073 | 0.1568801559764068 |
  17. | col1 | NULL | 1.525265656565658 | 0.15896396664681753 |
  18. | col1 | NULL | 1.5656707070707085 | 0.16098843325768245 |
  19. | col1 | NULL | 1.6060757575757592 | 0.1629528799404685 |
  20. | col1 | NULL | 1.6464808080808098 | 0.16485681490034038 |
  21. | col1 | NULL | 1.6868858585858604 | 0.16669992491584543 |
  22. | col1 | NULL | 1.727290909090911 | 0.16848206869138338 |
  23. | col1 | NULL | 1.7676959595959616 | 0.17020326912168932 |
  24. | col1 | NULL | 1.8081010101010122 | 0.17186370453638117 |
  25. | col1 | NULL | 1.8485060606060628 | 0.17346369900080946 |
  26. | col1 | NULL | 1.8889111111111134 | 0.17500371175692428 |
  27. | col1 | NULL | 1.929316161616164 | 0.17648432589456017 |
  28. | col1 | NULL | 1.9697212121212146 | 0.17790623634938396 |
  29. | col1 | NULL | 2.0101262626262653 | 0.1792702373286898 |
  30. | col1 | NULL | 2.050531313131316 | 0.18057720927022053 |
  31. | col1 | NULL | 2.0909363636363665 | 0.18182810544221673 |
  32. | col1 | NULL | 2.131341414141417 | 0.18302393829491406 |
  33. | col1 | NULL | 2.1717464646464677 | 0.18416576567472337 |
  34. | col1 | NULL | 2.2121515151515183 | 0.1852546770123305 |
  35. | col1 | NULL | 2.252556565656569 | 0.18629177959496213 |
  36. | col1 | NULL | 2.2929616161616195 | 0.18727818503109434 |
  37. | col1 | NULL | 2.33336666666667 | 0.18821499601297229 |
  38. | col1 | NULL | 2.3737717171717208 | 0.18910329347850022 |
  39. | col1 | NULL | 2.4141767676767714 | 0.18994412426940221 |
  40. | col1 | NULL | 2.454581818181822 | 0.19073848937711185 |
  41. | col1 | NULL | 2.4949868686868726 | 0.19148733286168018 |
  42. | col1 | NULL | 2.535391919191923 | 0.1921915315221827 |
  43. | col1 | NULL | 2.575796969696974 | 0.19285188538972659 |
  44. | col1 | NULL | 2.6162020202020244 | 0.19346910910630113 |
  45. | col1 | NULL | 2.656607070707075 | 0.19404382424446043 |
  46. | col1 | NULL | 2.6970121212121256 | 0.1945765526142701 |
  47. | col1 | NULL | 2.7374171717171762 | 0.19506771059517916 |
  48. | col1 | NULL | 2.777822222222227 | 0.19551760452158667 |
  49. | col1 | NULL | 2.8182272727272775 | 0.19592642714194602 |
  50. | col1 | NULL | 2.858632323232328 | 0.1962942551623821 |
  51. | col1 | NULL | 2.8990373737373787 | 0.1966210478770638 |
  52. | col1 | NULL | 2.9394424242424293 | 0.1969066468790639 |
  53. | col1 | NULL | 2.97984747474748 | 0.19715077683721793 |
  54. | col1 | NULL | 3.0202525252525305 | 0.19735304731663747 |
  55. | col1 | NULL | 3.060657575757581 | 0.19751295561309964 |
  56. | col1 | NULL | 3.1010626262626317 | 0.19762989056457925 |
  57. | col1 | NULL | 3.1414676767676823 | 0.19770313729675995 |
  58. | col1 | NULL | 3.181872727272733 | 0.19773188285349683 |
  59. | col1 | NULL | 3.2222777777777836 | 0.19771522265793107 |
  60. | col1 | NULL | 3.262682828282834 | 0.19765216774530828 |
  61. | col1 | NULL | 3.303087878787885 | 0.19754165270453194 |
  62. | col1 | NULL | 3.3434929292929354 | 0.19738254426210697 |
  63. | col1 | NULL | 3.383897979797986 | 0.19717365043938664 |
  64. | col1 | NULL | 3.4243030303030366 | 0.19691373021193162 |
  65. | col1 | NULL | 3.4647080808080872 | 0.1966015035982942 |
  66. | col1 | NULL | 3.505113131313138 | 0.19623566210464843 |
  67. | col1 | NULL | 3.5455181818181885 | 0.19581487945135703 |
  68. | col1 | NULL | 3.585923232323239 | 0.19533782250778076 |
  69. | col1 | NULL | 3.6263282828282897 | 0.1948031623623475 |
  70. | col1 | NULL | 3.6667333333333403 | 0.1942095854560816 |
  71. | col1 | NULL | 3.707138383838391 | 0.19355580470939734 |
  72. | col1 | NULL | 3.7475434343434415 | 0.19284057057394655 |
  73. | col1 | NULL | 3.787948484848492 | 0.19206268194364004 |
  74. | col1 | NULL | 3.8283535353535427 | 0.19122099686158253 |
  75. | col1 | NULL | 3.8687585858585933 | 0.19031444296253852 |
  76. | col1 | NULL | 3.909163636363644 | 0.1893420275936375 |
  77. | col1 | NULL | 3.9495686868686946 | 0.18830284755928747 |
  78. | col1 | NULL | 3.989973737373745 | 0.1871960984396676 |
  79. | col1 | NULL | 4.030378787878796 | 0.18602108343567092 |
  80. | col1 | NULL | 4.070783838383846 | 0.18477722169674377 |
  81. | col1 | NULL | 4.111188888888897 | 0.1834640560916829 |
  82. | col1 | NULL | 4.151593939393948 | 0.1820812603860928 |
  83. | col1 | NULL | 4.191998989898998 | 0.18062864579383914 |
  84. | col1 | NULL | 4.232404040404049 | 0.179106166873458 |
  85. | col1 | NULL | 4.272809090909099 | 0.17751392674406796 |
  86. | col1 | NULL | 4.31321414141415 | 0.17585218159888508 |
  87. | col1 | NULL | 4.353619191919201 | 0.17412134449794325 |
  88. | col1 | NULL | 4.394024242424251 | 0.1723219884250765 |
  89. | col1 | NULL | 4.434429292929302 | 0.17045484859762067 |
  90. | col1 | NULL | 4.4748343434343525 | 0.16852082402064342 |
  91. | col1 | NULL | 4.515239393939403 | 0.1665209782808102 |
  92. | col1 | NULL | 4.555644444444454 | 0.16445653957824907 |
  93. | col1 | NULL | 4.596049494949504 | 0.16232889999798905 |
  94. | col1 | NULL | 4.636454545454555 | 0.16013961402571825 |
  95. | col1 | NULL | 4.6768595959596055 | 0.1578903963157465 |
  96. | col1 | NULL | 4.717264646464656 | 0.15558311872216193 |
  97. | col1 | NULL | 4.757669696969707 | 0.1532198066072439 |
  98. | col1 | NULL | 4.798074747474757 | 0.1508026344442397 |
  99. | col1 | NULL | 4.838479797979808 | 0.14833392073462115 |
  100. | col1 | NULL | 4.878884848484859 | 0.14581612226291346 |
  101. | col1 | NULL | 4.919289898989909 | 0.1432518277151203 |
  102. | col1 | NULL | 4.95969494949496 | 0.1406437506896507 |
  103. | col1 | NULL | 5.00010000000001 | 0.13799472213247665 |
  104. +------------+------------+------------+------------+
算法规模

若选择label列,则label不能超过100个


箱线图

一 箱线图

  • 可视化多个连续值特征与某个枚举类特征的箱线图和扰动关系

二 PAI 命令

  1. PAI -name box_plot -project algo_public
  2. -DinputTable="boxplot"
  3. -DcontinueCols="age"
  4. -DcategoryCol="y"
  5. -DoutputTable="pai_temp_6075_97181_1"
  6. -DsampleSize="1000"
  7. -Dlifecycle="7";

三 参数说明

参数key名称 参数描述 必/选填 默认值
inputTable 输入数据表名 必填 -
inputTablePartitions 输入表分区 选填 -
outputTable 输出表名,存放箱线图和采样的样本 必填 -
continueCols 必选,连续值特征,支持多选 必填 -
categoryCol 必选,枚举特征列,单选 必填 -
sampleSize 绘制每个特征的扰动情况是的样本采样数 1000
lifecycle 输出表生命周期(单位:天) 选填 28

四 实例

输入数据

  1. create table boxplot as select age, y from bank_data limit 100;
age y
50 0
53 0
28 1
39 0
55 1
30 0
37 0
39 0
36 1
27 0
34 0
41 0
55 1
33 0
26 0
52 0
35 1
27 1
28 0
26 0
41 0
35 0
40 0
32 0
41 0
34 0
49 0
37 0
35 0
38 0
47 0
46 0
27 0
29 1
32 0
36 0
29 0
47 0
44 0
54 0
36 0
42 0
44 0
72 1
48 0
36 0
35 0
43 0
56 0
42 0
31 0
32 0
33 0
31 0
39 0
30 0
24 0
24 0
38 0
26 0
41 0
34 0
30 1
37 0
68 0
31 0
48 0
33 0
59 0
44 0
28 0
50 0
33 0
45 0
40 0
45 0
43 0
54 0
53 0
35 0
30 0
25 0
35 0
54 1
30 0
38 0
35 0
47 0
32 0
27 0
40 1
31 0
42 0
40 0
31 0
57 0
38 1
39 0
37 0
44 0

参数配置

选择age为连续类型特征,y为枚举类特征,其他默认

运行效果

箱线图分布情况

boxplot

扰动点

raodong


散点图

一 组件功能说明

在回归分析中,数据点在直角坐标系平面上的分布图

二 PAI 命令

  1. PAI -name scatter_diagram -project algo_public
  2. -DselectedCols=emp_var_rate,cons_price_rate,cons_conf_idx,euribor3m
  3. -DsampleSize=1000
  4. -DlabelCol=y
  5. -DmapTable=pai_temp_2447_22859_2
  6. -DinputTable=scatter_diagram
  7. -DoutputTable=pai_temp_2447_22859_1;

三 参数说明

参数key名称 参数描述 必/选填 默认值
inputTable 输入数据表名 必填 -
inputTablePartitions 输入表分区 选填 -
outputTable 输出表名,存放采样样本 必填 -
mapTable 输出信息表,存放每个特征的最小最大值,枚举取值等 必填 -
selectedCols 输入表选择列名类型,用于绘制两两特征之间的散点图,最多勾选5个特征 必填 -
labelCol 把Int或者String字段当做枚举标签列,可选 “”
sampleSize 对输入数据进行采样,可选 1000
lifecycle 输出表生命周期(单位:天) 选填 28

四 实例

输入数据

  1. create table scatter_diagram as select emp_var_rate,cons_price_rate, cons_conf_idx,euribor3m,y from pai_bank_data limit 10
emp_var_rate cons_price_rate cons_conf_idx euribor3m y
1.4 93.918 -42.7 4.962 0
-0.1 93.2 -42.0 4.021 0
-1.7 94.055 -39.8 0.729 1
-1.8 93.075 -47.1 1.405 0
-2.9 92.201 -31.4 0.869 1
1.4 93.918 -42.7 4.961 0
-1.8 92.893 -46.2 1.327 0
-1.8 92.893 -46.2 1.313 0
-2.9 92.963 -40.8 1.266 1
-1.8 93.075 -47.1 1.41 0
1.1 93.994 -36.4 4.864 0
1.4 93.444 -36.1 4.964 0
1.4 93.444 -36.1 4.965 1
-1.8 92.893 -46.2 1.291 0
1.4 94.465 -41.8 4.96 0
1.4 93.918 -42.7 4.962 0
-1.8 93.075 -47.1 1.365 1
-0.1 93.798 -40.4 4.86 1
1.1 93.994 -36.4 4.86 0
1.4 93.918 -42.7 4.96 0
-1.8 93.075 -47.1 1.405 0
1.4 94.465 -41.8 4.967 0
1.4 93.918 -42.7 4.963 0
1.4 93.918 -42.7 4.968 0
1.4 93.918 -42.7 4.962 0
-1.8 92.893 -46.2 1.344 0
-3.4 92.431 -26.9 0.754 0
-1.8 93.075 -47.1 1.365 0
-1.8 92.893 -46.2 1.313 0
1.4 93.918 -42.7 4.961 0
1.4 94.465 -41.8 4.961 0
-1.8 92.893 -46.2 1.327 0
-1.8 92.893 -46.2 1.299 0
-2.9 92.963 -40.8 1.268 1
1.4 93.918 -42.7 4.963 0
-1.8 92.893 -46.2 1.334 0
1.4 93.918 -42.7 4.96 0
-1.8 93.075 -47.1 1.405 0
1.4 94.465 -41.8 4.96 0
1.4 93.444 -36.1 4.962 0
1.1 93.994 -36.4 4.86 0
1.1 93.994 -36.4 4.857 0
1.4 93.918 -42.7 4.961 0
-3.4 92.649 -30.1 0.715 1
1.4 93.444 -36.1 4.966 0
-0.1 93.2 -42.0 4.076 0
1.4 93.444 -36.1 4.965 0
-1.8 92.893 -46.2 1.354 0
1.4 93.444 -36.1 4.967 0
1.4 94.465 -41.8 4.959 0
-1.8 92.893 -46.2 1.354 0
1.4 94.465 -41.8 4.958 0
-1.8 92.893 -46.2 1.354 0
1.4 94.465 -41.8 4.864 0
1.1 93.994 -36.4 4.859 0
1.1 93.994 -36.4 4.857 0
-1.8 92.893 -46.2 1.27 0
1.1 93.994 -36.4 4.857 0
1.1 93.994 -36.4 4.859 0
1.4 94.465 -41.8 4.959 0
1.1 93.994 -36.4 4.856 0
-1.8 93.075 -47.1 1.405 0
-1.8 92.843 -50.0 1.811 1
-0.1 93.2 -42.0 4.021 0
-2.9 92.469 -33.6 1.029 0
1.4 93.918 -42.7 4.962 0
-1.8 93.075 -47.1 1.365 0
1.1 93.994 -36.4 4.857 0
-1.8 92.893 -46.2 1.259 0
1.1 93.994 -36.4 4.857 0
1.4 94.465 -41.8 4.866 0
-2.9 92.201 -31.4 0.883 0
-0.1 93.2 -42.0 4.076 0
1.1 93.994 -36.4 4.857 0
1.4 93.918 -42.7 4.96 0
1.4 93.444 -36.1 4.962 0
1.1 93.994 -36.4 4.858 0
1.1 93.994 -36.4 4.857 0
1.1 93.994 -36.4 4.856 0
1.4 93.918 -42.7 4.968 0
1.4 93.444 -36.1 4.966 0
1.4 94.465 -41.8 4.962 0
1.4 93.444 -36.1 4.963 0
-1.8 92.843 -50.0 1.56 1
1.4 93.918 -42.7 4.96 0
1.4 93.444 -36.1 4.963 0
-3.4 92.431 -26.9 0.74 0
1.1 93.994 -36.4 4.856 0
1.4 93.918 -42.7 4.962 0
1.1 93.994 -36.4 4.856 0
-0.1 93.2 -42.0 4.245 1
1.1 93.994 -36.4 4.857 0
-1.8 93.075 -47.1 1.405 0
-1.8 92.893 -46.2 1.327 0
-0.1 93.2 -42.0 4.12 0
1.4 94.465 -41.8 4.958 0
-1.8 93.749 -34.6 0.659 1
1.1 93.994 -36.4 4.858 0
1.1 93.994 -36.4 4.858 0
1.4 93.444 -36.1 4.963 0

参数配置

散点图参数配置:特征列选择select emp_var_rate,cons_price_rate, cons_conf_idx,euribor3m, 可选的标签列选择y

运行效果

image

可以直观的看出特征与特征直接,分类标签的分布情况


相关系数矩阵

相关系数算法用于计算一个矩阵中每一列之间的相关系数,范围在[-1,1]之间。计算的时候,count数按两列间同时非空的元素个数计算,两两列之间可能不同。

PAI命令行

  1. PAI -name corrcoef
  2. -project algo_public
  3. -DinputTableName=maple_test_corrcoef_basic12x10_input
  4. -DoutputTableName=maple_test_corrcoef_basic12x10_output
  5. -DcoreNum=1
  6. -DmemSizePerCore=110;

参数说明

参数名称 参数描述 取值范围 是否必选,默认值
inputTableName 输入表 表名 必选
inputTablePartitions 输入表中指定哪些分区参与训练, 格式为: Partition_name=value. 如果是多级格式为name1=value1/name2=value2; 如果是指定多个分区, 中间用,分开 可选, 默认值选择所有分区
outputTableName 输出表名列表 表名 必选
selectedColNames 输入表选择列名类型 列名 可选默认选择全部列
lifecycle 可选,指定输出表的生命周期 正整数 没有生命周期
coreNum 节点个数 与参数memSizePerCore配对使用,正整数,范围[1, 9999] 详细介绍 可选, 默认自动计算
memSizePerCore 单个节点内存大小,单位M 正整数,范围[1024, 64*1024] 详细介绍 可选, 默认自动计算

具体示例

数据生成

col0:double col1:bigint col2:double col3:bigint col4:double col5:bigint col6:double col7:bigint col8:double col9:double
19 95 33 52 115 43 32 98 76 40
114 26 101 69 56 59 116 23 109 105
103 89 7 9 65 118 73 50 55 81
79 20 63 71 5 24 77 31 21 75
87 16 66 47 25 14 42 99 108 57
11 104 38 37 106 51 3 91 80 97
84 30 70 46 8 6 94 22 45 48
35 17 107 64 10 78 53 34 90 96
13 61 39 1 29 117 112 2 82 28
62 4 102 88 100 36 67 54 12 85
49 27 44 93 68 110 60 72 86 58
92 119 0 113 41 15 74 83 18 111

PAI命令行

  1. PAI -name corrcoef
  2. -project algo_public
  3. -DinputTableName=maple_test_corrcoef_basic12x10_input
  4. -DoutputTableName=maple_test_corrcoef_basic12x10_output
  5. -DcoreNum=1
  6. -DmemSizePerCore=110;

输出表

columnsnames col0 col1 col2 col3 col4 col5 col6 col7 col8 col9
col0 1 -0.2115657251820724 0.0598306259706561 0.2599903570684693 -0.3483249188225586 -0.28716254396809926 0.47880162127435116 -0.13646519484213326 -0.19500158764680092 0.3897390240949085
col1 -0.2115657251820724 1 -0.8444477377898585 -0.17507636221594533 0.40943384150571377 0.09135976026101403 -0.3018506374626574 0.40733726912808044 -0.11827739124590071 0.12433851389455183
col2 0.0598306259706561 -0.8444477377898585 1 0.18518346647293102 -0.20934839228057014 -0.1896417512389659 0.1799377498863213 -0.3858885676469948 0.20254569203773892 0.13476160753756655
col3 0.2599903570684693 -0.17507636221594533 0.18518346647293102 1 0.03988018649854009 -0.43737887418329147 -0.053818296425267184 0.2900856441586986 -0.3607547910075688 0.4912019074930449
col4 -0.3483249188225586 0.40943384150571377 -0.20934839228057014 0.03988018649854009 1 0.1465605209246875 -0.5016030364347955 0.5496024325711117 0.013743256115394122 0.07497231559184887
col5 -0.28716254396809926 0.09135976026101403 -0.1896417512389659 -0.43737887418329147 0.1465605209246875 1 0.16729809310873522 -0.29890655828796964 0.3618518101014617 -0.1713960957286885
col6 0.47880162127435116 -0.3018506374626574 0.1799377498863213 -0.053818296425267184 -0.5016030364347955 0.16729809310873522 1 -0.8165019880156462 -0.11173420918721436 -0.10363860378347944
col7 -0.13646519484213326 0.40733726912808044 -0.3858885676469948 0.2900856441586986 0.5496024325711117 -0.29890655828796964 -0.8165019880156462 1 0.07435907471544469 0.11711976051999162
col8 -0.19500158764680092 -0.11827739124590071 0.20254569203773892 -0.3607547910075688 0.013743256115394122 0.3618518101014617 -0.11173420918721436 0.07435907471544469 1 -0.18463012549540175
col9 0.3897390240949085 0.12433851389455183 0.13476160753756655 0.4912019074930449 0.07497231559184887 -0.1713960957286885 -0.10363860378347944 0.11711976051999162 -0.18463012549540175 1

正态检验

正态性检验是检验观测值是否服从正态分布,本组件由三种检验方法组成,包括Anderson-Darling Test, 详见wiki,Kolmogorov-Smirnov Test,详见wiki 以及QQ图,详见wiki,用户可以自选某一种或多种检验方法。

算法说明

  • 原假设H0:观测值服从正态分布,H1:观测值不服从正态分布

  • KS的p值计算方法采用渐进计算KS分布的CDF,无论样本量多大都采用的是该方法,详见wiki

  • QQ图在样本量>1000时,会采样进行计算和画图输出,因此图中的数据点不一定覆盖所有样本

PAI命令行
  1. PAI -name normality_test
  2. -project algo_public
  3. -DinputTableName=test
  4. -DoutputTableName=test_out
  5. -DselectedColNames=col1,col2
  6. -Dlifecycle=1;
参数说明
参数名称 参数描述 取值范围 是否必选,默认值
inputTableName 输入表 - 必选
outputTableName 输出表 - 必选
selectedColNames 选择字段列 可选多列,类型为double或bigint 可选
inputTablePartitions 输入表分区 - 可选,””
enableQQplot 使用QQ图 - 可选,默认true
enableADtest Anderson-Darling检验 - 可选,默认true
enableKStest Kolmogorov-Smirnov检验 - 可选,默认true
lifecycle 生命周期 >=-1整数 可选,默认-1,不设生命周期
coreNum 核数目 >0整数 可选,默认-1,会根据输入数据量计算所起instance的数量
memSizePerCore 内存数 (100,64*1024) 可选,默认-1,会根据输入数据量计算所需内存大小
具体示例

数据生成

  1. drop table if exists normality_test_input;
  2. create table normality_test_input as
  3. select
  4. *
  5. from
  6. (
  7. select 1 as x from dual
  8. union all
  9. select 2 as x from dual
  10. union all
  11. select 3 as x from dual
  12. union all
  13. select 4 as x from dual
  14. union all
  15. select 5 as x from dual
  16. union all
  17. select 6 as x from dual
  18. union all
  19. select 7 as x from dual
  20. union all
  21. select 8 as x from dual
  22. union all
  23. select 9 as x from dual
  24. union all
  25. select 10 as x from dual
  26. ) tmp;

PAI命令行

  1. PAI -name normality_test
  2. -project projectxlib4
  3. -DinputTableName=normality_test_input
  4. -DoutputTableName=normality_test_output
  5. -DselectedColNames=x
  6. -Dlifecycle=1;

输入说明

  • 输入格式:选择需要计算的列,可选择多列,但类型必须为double或bigint。
  • 输出格式

  • 图和结果表,结果表的字段如下。结果表有两个分区,p=’test’的分区是AD检验或KS检验的结果,只当enableADtest为true或enableKStest为true时会输出数据。

  • p=’plot’是QQ图的数据,只当enableQQplot为true时会输出数据,并复用p=’test’的列,即当p=’plot’时,testvalue列记录原观测数据(QQ图的x轴),pvalue列记录如果服从正态分布的话预期的数据(QQ图的y轴)。
列名 数据类型 含义
colName string 列名
testname string 检验名
testvalue double 检验值/QQ图x轴
pvalue double 检验的p值/QQ图y轴
p double 分区名

输出表

  1. +------------+------------+------------+------------+------------+
  2. | colname | testname | testvalue | pvalue | p |
  3. +------------+------------+------------+------------+------------+
  4. | x | NULL | 1.0 | 0.8173291742279805 | plot |
  5. | x | NULL | 2.0 | 2.470864450785345 | plot |
  6. | x | NULL | 3.0 | 3.5156067948020056 | plot |
  7. | x | NULL | 4.0 | 4.3632330349313095 | plot |
  8. | x | NULL | 5.0 | 5.128868067945126 | plot |
  9. | x | NULL | 6.0 | 5.871131932054874 | plot |
  10. | x | NULL | 7.0 | 6.6367669650686905 | plot |
  11. | x | NULL | 8.0 | 7.4843932051979944 | plot |
  12. | x | NULL | 9.0 | 8.529135549214654 | plot |
  13. | x | NULL | 10.0 | 10.182670825772018 | plot |
  14. | x | Anderson_Darling_Test | 0.1411092332197832 | 0.9566579606430077 | test |
  15. | x | Kolmogorov_Smirnov_Test | 0.09551932503797644 | 0.9999888659426232 | test |
  16. +------------+------------+------------+------------+------------+

洛伦兹曲线

洛伦兹曲线研究的是国民收入在国民之间的分配问题。为了研究国民收入在国民之间的分配问题,美国统计学家(或说奥地利统计学家)M.O.洛伦兹(Max Otto Lorenz,1903- )1907年(或说1905年)提出了著名的洛伦兹曲线。意大利经济学家基尼在此基础上定义了基尼系数。

画一个矩形,矩形的高衡量社会财富的百分比,将之分为N等份,每一等分为1/N的社会总财富。在矩形的长上,将所有家庭从最贫者到最富者自左向右排列,也分为N等分,第一个等份代表收入最低的1/N的家庭。在这个矩形中,将每1/N的家庭所有拥有的财富的占比累积起来,并将相应的点画在图中,便得到了一条曲线就是洛伦兹曲线。

PAI命令行

  1. PAI -name LorenzCurve
  2. -project algo_public
  3. -DinputTableName=maple_test_lorenz_basic10_input
  4. -DcolName=col0
  5. -DoutputTableName=maple_test_lorenz_basic10_output -DcoreNum=20
  6. -DmemSizePerCore=110;

参数说明

参数名称 参数描述 取值范围 是否必选,默认值
inputTableName 输入表 表名 必选
outputTableName 输出表 必选 -
colName 列名,逗号分隔 可选选中全表
N 分位数 可选100
inputPartitions 输入表中指定哪些分区参与训练, 格式为: Partition_name=value. 如果是多级格式为name1=value1/name2=value2; 如果是指定多个分区, 中间用,分开 可选, 默认值选择所有分区
lifecycle 可选,指定输出表的生命周期 正整数 没有生命周期
coreNum 节点个数 与参数memSizePerCore配对使用,正整数,范围[1, 9999] [详细介绍]( 可选, 默认自动计算
memSizePerCore 单个节点内存大小,单位M 正整数,范围[1024, 64*1024] 可选, 默认自动计算

具体示例

数据生成

col0:double
4
7
2
8
6
3
9
5
0
1
10

PAI命令行

  1. PAI -name LorenzCurve
  2. -project algo_public
  3. -DinputTableName=maple_test_lorenz_basic10_input
  4. -DcolName=col0
  5. -DoutputTableName=maple_test_lorenz_basic10_output
  6. -DcoreNum=20
  7. -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
本文导读目录
本文导读目录
以上内容是否对您有帮助?