本文为您介绍PAI-Designer(原PAI-Studio)提供的卡方拟合性检验。卡方拟合性检验适用于变量为类别型变量的场景,旨在检验单个多项分类型变量在各分类间的实际观测次数与理论次数是否一致,其零假设为观测次数与理论次数无差异。

组件配置

您可以使用以下任意一种方式,配置卡方拟合性检验组件参数。

方式一:可视化方式

在PAI-Designer(原PAI-Studio)工作流页面配置组件参数。
参数 描述
检验列 进行训练的检验数据列。
类别概率 类别概率配置,格式为类别:概率,所有概率和为1。

方式二:PAI命令方式

使用PAI命令方式,配置该组件参数。您可以使用SQL脚本组件进行PAI命令调用,详情请参见SQL脚本
PAI -name chisq_test
    -project algo_public
    -DinputTableName=pai_chisq_test_input
    -DcolName=f0
    -DprobConfig=0:0.3,1:0.7
    -DoutputTableName=pai_chisq_test_output0
    -DoutputDetailTableName=pai_chisq_test_output0_detail
参数 是否必须 描述 默认值
inputTableName 输入表的名称。
colName 列名称
outputTableName 输出表名称
outputDetailTableName 输出详细表名称。
inputTablePartitions 输入表中,参与训练的分区。系统支持以下格式:
  • Partition_name=value
  • name1=value1/name2=value2:多级分区
说明 指定多个分区时,分区之间使用英文逗号(,)分隔。
默认为空
probConfig 类别概率配置,格式为类别:概率,所有概率和为1。 默认所有概率值相等

示例

  • 测试数据
    create table pai_chisq_test_input as
    select * from
    (
      select '1' as f0,'2' as f1 from dual
      union all
      select '1' as f0,'3' as f1 from dual
      union all
      select '1' as f0,'4' as f1 from dual
      union all
      select '0' as f0,'3' as f1 from dual
      union all
      select '0' as f0,'4' as f1 from dual
    )tmp;
  • PAI命令
    PAI -name chisq_test
        -project algo_public
        -DinputTableName=pai_chisq_test_input
        -DcolName=f0
        -DprobConfig=0:0.3,1:0.7
        -DoutputTableName=pai_chisq_test_output0
        -DoutputDetailTableName=pai_chisq_test_output0_detail
  • 输出说明
    • 输出JSON格式的表outputTableName,只有一行一列。
      {
          "Chi-Square": {
              "comment": "皮尔逊卡方",
              "df": 1,
              "p-value": 0.75,
              "value": 0.2380952380952381
          }
      }
    • 输出详细表outputDetailTableName,字段如下。
      column name comment
      参数colName 类别
      observed 观察频率
      expected 期望频率
      residuals 标准误差(residuals = (observed-expected) / sqrt(expected)
    • 数据展示卡方检验