2 標本 t 検定コンポーネントは、標準的な統計的仮説検定を用いて、2 つのサンプルの母集団平均に有意差があるかどうかを検定します。
検定タイプの選択
このコンポーネントは 2 種類の検定タイプをサポートしています。2 つのサンプルが互いにどのように関連しているかに基づいて選択します。
| テストタイプ | 使用ケース | 要件 |
|---|---|---|
| 対応のない t 検定 | 2 つのサンプルに関連性がない場合 (例:テストグループと対照群) | サンプルは独立している必要があり、データは正規分布に従う必要があります |
| 対応のある t 検定 | サンプル 1 の各観測がサンプル 2 の観測に対応する場合 (例:同一被験者に対する測定の前後の比較) | サンプルは同じサイズで、行ごとにペアになっている必要があります |
コンポーネントの設定
方法 1:パイプラインページでの設定
Machine Learning Designer のパイプラインページで、2 標本 t 検定コンポーネントのパラメーターを設定します。
| タブ | パラメーター | 説明 |
|---|---|---|
| [フィールド設定] | サンプル 1 列 | サンプル 1 を含む列。 |
| [フィールド設定] | サンプル 2 列 | サンプル 2 を含む列。 |
| [パラメーター設定] | T検定タイプ | 実行する t 検定のタイプ。有効値:Independent T Test、Paired T Test。 |
| [パラメーター設定] | 対立仮説タイプ | 対立仮説の方向。有効値:two.sided、less、greater。「対立仮説のタイプ」をご参照ください。 |
| [パラメーター設定] | [信頼度] | 結果の間隔の信頼度。有効値:0.8、0.9、0.95、0.99、0.995、0.999。 |
| [パラメーター設定] | [仮説平均] | 仮説平均。デフォルト:0。 |
| [パラメーター設定] | [2 つの母集団の分散が等しい] | 等分散を仮定するかどうか。有効値:true、false。不明な場合は、false に設定して、分散が異なる場合に頑健なウェルチの t 検定を使用します。デフォルト:false。 |
| [パラメーター設定] | [コア] | CPU コアの数。1 から 9999 までの正の整数である必要があります。[コアあたりのメモリサイズ] と一緒に使用します。 |
| [パラメーター設定] | [コアあたりのメモリサイズ] | コアあたりのメモリ (MB)。1024 から 65536 までの正の整数である必要があります。 |
対立仮説のタイプ
| 値 | 検定内容 |
|---|---|
two.sided | 母集団平均が仮説値より大きいか小さいか |
less | 母集団平均が仮説値より小さいか |
greater | 母平均が仮説値より大きい |
方法 2:PAI コマンドの使用
PAI コマンドで t_test アルゴリズムを呼び出して、2 標本 t 検定を実行します。SQL スクリプト コンポーネントを使用して、パイプラインで PAI コマンドを実行します。
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 の名前。 | — |
xColName | はい | テストで使用する入力テーブル x のカラム。DOUBLE 型または INT 型である必要があります。 | — |
xTablePartitions | いいえ | 含める入力テーブル x のパーティション。サポートされているフォーマット:partition_name=value (単一レベル)、name1=value1/name2=value2 (複数レベル)。複数のパーティションはカンマで区切ります。 | すべてのパーティション |
yTableName | はい | 入力テーブル y の名前。 | — |
yColName | はい | DOUBLEINT検定に使用する入力テーブル y の列。`DOUBLE` または `INT` 型である必要があります。 | — |
yTablePartitions | いいえ | 含める入力テーブル y のパーティション。xTablePartitions と同じフォーマットです。 | すべてのパーティション |
paired | いいえ | true 対応のあるt検定の場合; false 対応のないt検定の場合。 | false |
alternative | いいえ | 対立仮説の方向。有効値:two.sided、less、greater。 | two.sided |
mu | いいえ | DOUBLE仮説平均。`DOUBLE` 型である必要があります。 | 0 |
varEqual | いいえ | 等分散を仮定するかどうか。分散が異なる可能性がある場合は、false に設定してウェルチの t 検定を使用します。 | false |
confidenceLevel | いいえ | 結果の間隔の信頼度。有効値:0.8、0.9、0.95、0.99、0.995、0.999。 | 0.95 |
coreNum | いいえ | CPU コアの数。有効値:1 から 9999。memSizePerCore と一緒に使用します。 | システムのデフォルト値 |
memSizePerCore | いいえ | コアあたりのメモリ (MB)。有効値:1024 から 65536。 | システムのデフォルト値 |
lifecycle | いいえ | 出力テーブルのライフサイクル。 | — |
説明
非パーティション化テーブルの場合、coreNum と memSizePerCore を省略し、システムにリソース割り当てを決定させます。手動でリソースを計算するには、次の関数を使用します。
def CalcCoreNumAndMem(row, centerCount, kOneCoreDataSize=1024):
"""コア数とコアあたりのメモリサイズを計算します。
Args:
row: 入力テーブルの行数。
centerCount: 入力テーブルの列数。
kOneCoreDataSize: 各コアが処理できるデータ量 (MB)。デフォルト:1024。
Returns:
coreNum, memSizePerCore
"""
kMBytes = 1024.0 * 1024.0
# コア数
coreNum = max(1, int(row * 2 * 8 / kMBytes / kOneCoreDataSize))
# コアあたりのメモリ
memSizePerCore = max(1024, int(kOneCoreDataSize * 2))
return coreNum, memSizePerCore出力フィールド
出力テーブルには、JSON フォーマットの単一の行と列が含まれています。次の表に、各フィールドの説明を示します。
| フィールド | 説明 |
|---|---|
AlternativeHypthesis | 検定された対立仮説。 |
ConfidenceInterval | 指定された信頼度における母集団平均の差の信頼区間。 |
ConfidenceLevel | 使用された信頼度。 |
alpha | 有意水準 (1 − 信頼度)。たとえば、信頼度が 0.95 の場合、alpha は 0.05 です。 |
df | t 分布で使用される自由度。 |
mean of the differences | 観測された標本平均間の差。 |
p | p 値。p が alpha より小さい場合 (たとえば、信頼度が 0.95 の場合に p < 0.05)、差は統計的に有意であり、帰無仮説を棄却する必要があります。 |
t | t 統計量。 |
例
テストデータの準備
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出力
{
"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
}この例では、p = 0.008 < alpha = 0.05 であるため、平均の差は 95% の信頼度で統計的に有意です。帰無仮説を棄却します。