Cara melakukan transformasi box-cox di sas


Transformasi box-cox adalah metode yang umum digunakan untuk mengubah kumpulan data yang tidak terdistribusi normal menjadi kumpulan data yang lebih terdistribusi normal .

Ide dasar di balik metode ini adalah mencari nilai λ sedemikian rupa sehingga data yang ditransformasikan sedekat mungkin dengan distribusi normal, dengan menggunakan rumus berikut:

  • y(λ) = (y λ – 1) / λ jika y ≠ 0
  • y(λ) = log(y) jika y = 0

Kita dapat mengidentifikasi nilai optimal yang digunakan untuk λ di SAS menggunakan prosedur PROC TRANSREG .

Contoh berikut menunjukkan bagaimana menggunakan prosedur ini dalam praktiknya.

Contoh: Transformasi Box-Cox di SAS

Anggaplah kita memiliki kumpulan data berikut di SAS:

 /*create dataset*/
data my_data;
    input xy;
    datalines ;
7 1
7 1
8 1
3 2
2 2
4 2
4 2
6 2
6 2
7 3
5 3
3 3
3 6
5 7
8 8
;
run;

/*view dataset*/
proc print data =my_data;

Misalkan kita menggunakan PROC REG untuk menyesuaikan model regresi linier sederhana dengan kumpulan data ini, menggunakan x sebagai variabel prediktor dan y sebagai variabel respon.

 /*fit simple linear regression model*/
proc reg data =my_data;
    model y = x;
run ;

Dalam plot diagnostik keluaran, kita dapat menampilkan plot Residual versus Quantile (plot paling kiri di baris tengah) untuk melihat apakah residu kira-kira terdistribusi normal dalam model:

Jika residu terletak kira-kira sepanjang garis diagonal kanan grafik, secara umum kita berasumsi bahwa residu berdistribusi normal.

Dari grafik terlihat bahwa residunya tidak terlalu mengikuti garis lurus diagonal.

Hal ini menunjukkan bahwa variabel respon dalam model regresi kemungkinan besar tidak berdistribusi normal.

Karena variabel respon tidak berdistribusi normal, kita dapat menggunakan PROC TRANSREG untuk mengidentifikasi nilai λ yang dapat kita gunakan untuk mengubah variabel respon agar lebih terdistribusi normal:

 /*perform box-cox transformation*/
proc transreg data =my_data;
    model boxcox (y) = identity (x);
run ;

transformasi box-cox menjadi SAS

Outputnya memberitahu kita bahwa nilai yang dipilih untuk digunakan untuk λ adalah – 0.5 .

Jadi, kita dapat menyesuaikan model regresi linier sederhana dengan mengganti variabel respon asli y dengan variabel y = (y -0.5 – 1) / -0.5 .

Kode berikut menunjukkan cara melakukan ini:

 /*create new dataset that uses box-cox transformation to create new y*/
data new_data;
   set my_data;
   new_y = (y**(-0.5) - 1) / -0.5;
run ;

/*fit simple linear regression model using new response variable*/
proc reg data =new_data;
    model new_y = x;
run ;

Dalam Residu vs. Plot kuantil dari keluaran model ini, kita dapat melihat bahwa residunya terletak lebih dekat di sepanjang garis lurus diagonal:

Hal ini menunjukkan bahwa residu model transformasi box-cox jauh lebih terdistribusi normal, yang memenuhi salah satu asumsi utama regresi linier .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di SAS:

Cara Menggunakan Proc Univariate untuk Pengujian Normalitas di SAS
Cara Membuat Plot Sisa di SAS
Cara melakukan tes Levene di SAS

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *