すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:2つのサンプルTテスト

最終更新日:Jul 22, 2024

Two Sample T Testコンポーネントは、統計の原理に基づいて、2つのサンプルからの母集団平均が互いに有意に異なるかどうかをチェックするために使用されます。 このトピックでは、Machine Learning Designer (旧称Machine Learning Studio) が提供する2つのサンプルTテストコンポーネントのパラメーターを設定する方法について説明します。 このトピックでは、Two Sample T Testコンポーネントの使用方法の例も示します。

コンポーネントの設定

次のいずれかの方法を使用して、Two Sample T Testコンポーネントを構成できます。

方法1: パイプラインページでコンポーネントを設定する

Machine Learning Platform for AI (PAI) のMachine Learning Designerのパイプラインページで、Two Sample T Testコンポーネントのパラメーターを設定できます。 Machine Learning Designerは、以前はMachine Learning Studioとして知られていました。 下表に、各パラメーターを説明します。

タブ

パラメーター

説明

フィールド設定

サンプル1列

サンプル1を含むカラム。

サンプル2列

サンプル2を含むカラム。

パラメーター設定

Tテストタイプ

実行するTテストのタイプ。 有効な値:

  • 独立T検定: 2つの独立したサンプルからの母集団平均が互いに有意に異なるかどうかを確認する。 試験される2つのサンプルは、互いに独立していなければならず、一般に正規分布を有する。

  • ペアT検定: 2つのペアサンプルからの母集団平均が互いに有意に異なるかどうかを確認する。

代替仮説タイプ

対立仮説のタイプ。 有効な値:

  • 両側: 母集団平均が仮定値よりも大きいか小さいかをチェックする。

  • less: 母集団平均が仮説値よりも小さいかどうかを確認します。

  • greater: 母集団平均が仮説値よりも大きいかどうかを確認します。

信頼レベル

テスト結果の信頼レベル。 有効な値: 0.8、0.9、0.95、0.99、0.995、0.999。

仮説平均

仮定された平均。 デフォルト値:0

2つの人口の分散は等しい

2つの母集団の分散が等しいかどうかを指定します。 有効な値は、true および false です。

コア

コアの数。 値は正の整数でなければなりません。 このパラメーターは、コアあたりのメモリサイズパラメーターと共に使用する必要があります。 有効な値: 1 ~ 9999

コアあたりのメモリサイズ

各コアのメモリサイズ。 単位:MB。 値は正の整数でなければなりません。 有効値: 1024〜65536

方法2: PAIコマンドを使用する

PAIコマンドを使用してコンポーネントパラメータを設定します。 SQLスクリプトコンポーネントを使用してPAIコマンドを呼び出すことができます。 詳細については、「SQLスクリプト」をご参照ください。

pai -name t_test 
    -project algo_public 
    -DxTableName=pai_t_test_all_type
    -DxColName=col1_double
    -DxTablePartitions=ds=2010/dt=1
    -DyTableName=pai_t_test_all_type
    -DyColName=col1_double
    -DyTablePartitions=ds=2010/dt=1 
    -DoutputTableName=pai_t_test_out
    -Dalternative=less
    -Dmu=47
    -DconfidenceLevel=0.95
    -Dpaired=false
    -DvarEqual=true

パラメーター

必須

説明

デフォルト値

xTableName

入力テーブルxの名前。

N/A

xTablePartitions

不可

Tテストで使用される入力テーブルxの1つ以上のパーティション。 次の形式がサポートされています。

  • Partition_name=value

  • name1=value1/name2=value2: マルチレベルパーティション

説明

複数のパーティションを指定する場合は、コンマ (,) で区切ります。

すべてのパーティション

xColName

Tテストで使用される入力テーブルxの列。 値はDOUBLEまたはINT型でなければなりません。

N/A

yTableName

入力テーブルyの名前。

N/A

yTablePartitions

不可

Tテストで使用される入力テーブルyの1つ以上のパーティション。 次の形式がサポートされています。

  • Partition_name=value

  • name1=value1/name2=value2: マルチレベルパーティション

説明

複数のパーティションを指定する場合は、コンマ (,) で区切ります。

すべてのパーティション

yColName

Tテストで使用される入力テーブルyの列。 値はDOUBLEまたはINT型でなければなりません。

N/A

ペア

不可

  • true: ペアTテスト

  • false: 独立したTテスト

false

代替

不可

対立仮説のタイプ。 有効な値: two.sided、less、greater。

two.sided

ミュー

不可

仮定された平均。 値はDOUBLE型でなければなりません。

0

varEqual

不可

2つの母集団の分散が等しいかどうかを指定します。 有効な値は、true および false です。

false

confidenceLevel

不可

テスト結果の信頼レベル。 有効な値: 0.8、0.9、0.95、0.99、0.995、0.999。

0.95

coreNum

不可

コアの数。 値は正の整数でなければなりません。 このパラメーターは、memSizePerCoreパラメーターと共に使用する必要があります。 有効な値: 1 ~ 9999

システムによって決定される

memSizePerCore

不可

各コアのメモリサイズ。 単位:MB。 値は正の整数でなければなりません。 有効値: 1024〜65536

システムによって決定される

ライフサイクル

不可

出力テーブルのライフサイクル。

N/A

入力テーブルが通常のテーブルであり、パーティションテーブルではない場合は、coreNumおよびmemSizePerCoreパラメーターを設定しないことを推奨します。 代わりに、システムによって決定されたデフォルト値を使用します。 十分なコンピューティングリソースがない場合は、次のコードを使用して、必要なコンピューティングリソースの量を計算します。

def CalcCoreNumAndMem(row,centerCount,kOneCoreDataSize=1024):
    """Calculate the number of cores and memory size of each core.            
       Args:
           row: the number of rows in an input table. 
           centerCount: the number of columns in an input table. 
           kOneCoreDataSize: the amount of data that can be computed by each core. Unit: MB. The value must be a positive integer. Default value: 1024. 
       Return:
           coreNum,memSizePerCore                 
       Example:
           coreNum,memSizePerCore = CalcCoreNumAndMem(1000,99,100,kOneCoreDataSize=2048)

    """
    kMBytes = 1024.0 * 1024.0
    # The number of cores involved in computing. 
    coreNum = max(1, int(row * 2 * 8 / kMBytes / kOneCoreDataSize))
    # Memory size per core = Data amount. 
    memSizePerCore = max(1024,int(kOneCoreDataSize * 2))
    return coreNum,memSizePerCore

例:

  • テストデータ

    create table pai_test_input as
    select * from
    (
      select 1 as f0,2 as f1
      union all
      select 1 as f0,3 as f1
      union all
      select 1 as f0,4 as f1
      union all
      select 0 as f0,3 as f1
      union all
      select 0 as f0,4 as f1
    )tmp;
  • PAIコマンド

    pai -name t_test 
        -project algo_public 
        -DxTableName=pai_test_input
        -DxColName=f0
        -DyTableName=pai_test_input
        -DyColName=f1
        -DyTablePartitions=ds=2010/dt=1 
        -DoutputTableName=pai_t_test_out
        -Dalternative=less
        -Dmu=47
        -DconfidenceLevel=0.95
        -Dpaired=false
        -DvarEqual=true
  • Output

    出力テーブルはJSON形式で、1つの行と1つの列のみが含まれます。

    {
        "AlternativeHypthesis": "difference in means not equals to 0",
        "ConfidenceInterval": "(-2.5465, -0.4535)",
        "ConfidenceLevel": 0.95,
        "alpha": 0.05000000000000004,
        "df": 19,
        "mean of the differences": -1.5,
        "p": 0.008000000000000007,
        "t": -3
    }