Komponen Two-Sample T-Test menguji apakah rata-rata populasi dari dua sampel berbeda secara signifikan melalui pengujian hipotesis statistik standar.
Pilih jenis uji
Komponen ini mendukung dua jenis uji. Pilih berdasarkan hubungan antara kedua sampel:
| Jenis uji | Gunakan saat | Persyaratan |
|---|---|---|
| Independent t-test | Kedua sampel tidak saling terkait—misalnya, kelompok uji versus kelompok kontrol | Sampel harus independen; data harus mengikuti distribusi normal |
| Paired t-test | Setiap observasi pada Sampel 1 berkorespondensi dengan satu observasi pada Sampel 2—misalnya, pengukuran sebelum dan sesudah pada subjek yang sama | Sampel harus memiliki ukuran yang sama dan dipasangkan per baris |
Konfigurasi komponen
Metode 1: Konfigurasi pada halaman pipeline
Konfigurasikan parameter untuk komponen Two Sample T Test pada halaman pipeline Machine Learning Designer.
| Tab | Parameter | Deskripsi |
|---|---|---|
| Fields setting | Sample 1 Column | Kolom yang berisi Sampel 1. |
| Fields setting | Sample 2 Column | Kolom yang berisi Sampel 2. |
| Parameters setting | T Test Type | Jenis uji t yang akan dijalankan. Nilai yang valid: Independent T Test, Paired T Test. |
| Parameters setting | Alternative Hypothesis Type | Arah hipotesis alternatif. Nilai yang valid: two.sided, less, greater. Lihat Jenis hipotesis alternatif. |
| Parameters setting | Confidence Level | Tingkat kepercayaan untuk interval hasil. Nilai yang valid: 0.8, 0.9, 0.95, 0.99, 0.995, 0.999. |
| Parameters setting | Hypothesized Mean | Rata-rata yang dihipotesiskan. Default: 0. |
| Parameters setting | Variances of Two Populations Are Equal | Apakah akan mengasumsikan varians sama. Nilai yang valid: true, false. Jika tidak yakin, atur ke false untuk menggunakan uji t Welch, yang robust ketika varians berbeda. Default: false. |
| Parameters setting | Cores | Jumlah core CPU. Harus berupa bilangan bulat positif dari 1 hingga 9999. Gunakan bersama dengan Memory Size Per Core. |
| Parameters setting | Memory Size Per Core | Memori per core dalam MB. Harus berupa bilangan bulat positif dari 1024 hingga 65536. |
Jenis hipotesis alternatif
| Nilai | Menguji apakah |
|---|---|
two.sided | Rata-rata populasi lebih besar atau lebih kecil daripada nilai yang dihipotesiskan |
less | Rata-rata populasi lebih kecil daripada nilai yang dihipotesiskan |
greater | Rata-rata populasi lebih besar daripada nilai yang dihipotesiskan |
Metode 2: Gunakan perintah PAI
Jalankan Two-Sample T-Test dengan memanggil algoritma t_test menggunakan perintah PAI. Gunakan komponen SQL Script untuk menjalankan perintah PAI dalam pipeline.
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| Parameter | Wajib | Deskripsi | Default |
|---|---|---|---|
xTableName | Ya | Nama tabel input x. | — |
xColName | Ya | Kolom dalam tabel input x yang digunakan untuk uji. Harus bertipe DOUBLE atau INT. | — |
xTablePartitions | Tidak | Partisi dalam tabel input x yang akan disertakan. Format yang didukung: partition_name=value (satu level), name1=value1/name2=value2 (multi-level). Pisahkan beberapa partisi dengan koma. | Semua partisi |
yTableName | Ya | Nama tabel input y. | — |
yColName | Ya | Kolom dalam tabel input y yang digunakan untuk uji. Harus bertipe DOUBLE atau INT. | — |
yTablePartitions | Tidak | Partisi dalam tabel input y yang akan disertakan. Formatnya sama seperti xTablePartitions. | Semua partisi |
paired | Tidak | true untuk paired t-test; false untuk independent t-test. | false |
alternative | Tidak | Arah hipotesis alternatif. Nilai yang valid: two.sided, less, greater. | two.sided |
mu | Tidak | Rata-rata yang dihipotesiskan. Harus bertipe DOUBLE. | 0 |
varEqual | Tidak | Apakah akan mengasumsikan varians sama. Atur ke false untuk menggunakan uji t Welch ketika varians mungkin berbeda. | false |
confidenceLevel | Tidak | Tingkat kepercayaan untuk interval hasil. Nilai yang valid: 0.8, 0.9, 0.95, 0.99, 0.995, 0.999. | 0.95 |
coreNum | Tidak | Jumlah core CPU. Nilai yang valid: 1 hingga 9999. Gunakan bersama memSizePerCore. | Default sistem |
memSizePerCore | Tidak | Memori per core dalam MB. Nilai yang valid: 1024 hingga 65536. | Default sistem |
lifecycle | Tidak | Siklus hidup tabel output. | — |
Untuk tabel non-partisi, abaikan coreNum dan memSizePerCore, dan biarkan sistem menentukan alokasi sumber daya. Untuk menghitung sumber daya secara manual, gunakan fungsi berikut:
def CalcCoreNumAndMem(row, centerCount, kOneCoreDataSize=1024):
"""Hitung jumlah core dan ukuran memori per core.
Args:
row: Jumlah baris dalam tabel input.
centerCount: Jumlah kolom dalam tabel input.
kOneCoreDataSize: Jumlah data yang dapat diproses setiap core, dalam MB. Default: 1024.
Returns:
coreNum, memSizePerCore
"""
kMBytes = 1024.0 * 1024.0
# Jumlah core
coreNum = max(1, int(row * 2 * 8 / kMBytes / kOneCoreDataSize))
# Memori per core
memSizePerCore = max(1024, int(kOneCoreDataSize * 2))
return coreNum, memSizePerCoreBidang output
Tabel output berisi satu baris dan satu kolom dalam format JSON. Tabel berikut menjelaskan setiap bidang:
| Bidang | Deskripsi |
|---|---|
AlternativeHypthesis | Hipotesis alternatif yang diuji. |
ConfidenceInterval | Interval kepercayaan untuk selisih rata-rata populasi pada tingkat kepercayaan yang ditentukan. |
ConfidenceLevel | Tingkat kepercayaan yang digunakan. |
alpha | Tingkat signifikansi (1 − tingkat kepercayaan). Misalnya, alpha bernilai 0.05 ketika tingkat kepercayaan adalah 0.95. |
df | Derajat kebebasan yang digunakan dalam distribusi t. |
mean of the differences | Selisih yang diamati antara rata-rata sampel. |
p | Nilai p. Jika p kurang dari alpha — misalnya, p < 0.05 ketika tingkat kepercayaan adalah 0.95 — maka selisih tersebut signifikan secara statistik dan Anda harus menolak hipotesis nol. |
t | Statistik t. |
Contoh
Siapkan data uji
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;Perintah 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=trueOutput
{
"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
}Pada contoh ini, p = 0,008 < α = 0,05, sehingga selisih rata-rata signifikan secara statistik pada tingkat kepercayaan 95%. Hipotesis nol ditolak.