Dalam analisis klasifikasi SVM (linear kernel) dari kumpulan data ekspresi gen (~ 400 variabel / gen) untuk ~ 25 setiap kasus dan kontrol, saya menemukan bahwa pengklasifikasi berbasis ekspresi gen memiliki karakteristik kinerja yang sangat baik. Kasus dan kontrol tidak berbeda secara signifikan untuk sejumlah variabel klinis / demografis variabel kategoris dan kontinu (sesuai dengan uji Fisher atau t), tetapi mereka berbeda secara signifikan untuk usia.
Adakah cara untuk menunjukkan bahwa hasil analisis klasifikasi tidak dipengaruhi oleh usia?
Saya berpikir untuk mengurangi data ekspresi gen menjadi komponen utama, dan melakukan analisis korelasi Spearman terhadap komponen terhadap usia.
Apakah ini pendekatan yang masuk akal? Sebagai alternatif, dapatkah saya memeriksa korelasi antara usia dan nilai probabilitas kelas-keanggotaan yang diperoleh dalam analisis SVM.
Terima kasih.
sumber
Jawaban:
Setidaknya ada dua kemungkinan untuk data ini. Satu kemungkinan adalah bahwa microarray Anda tidak mengandung penanda penyakit apa pun. Tapi, mereka memang berisi informasi tentang usia, dan karena dalam kasus Anda populasi yang sakit dan kontrol dari usia yang berbeda, Anda mendapatkan ilusi kinerja klasifikasi yang baik. Kemungkinan lain adalah bahwa microarray memang mengandung penanda penyakit, dan, lebih lanjut, penanda ini adalah apa yang menjadi fokus SVM.
Sepertinya komponen utama dari data dapat dikorelasikan dengan usia dalam kedua kemungkinan ini. Dalam kasus pertama, itu karena usia adalah apa yang diungkapkan oleh data. Dalam kasus kedua itu karena penyakit adalah apa yang diungkapkan oleh data, dan penyakit ini sendiri berkorelasi dengan usia (untuk dataset Anda). Saya tidak berpikir ada cara mudah untuk melihat nilai korelasi dan menyimpulkan kasusnya.
Saya dapat memikirkan beberapa cara untuk menilai efeknya secara berbeda. Salah satu opsi adalah untuk membagi set pelatihan Anda ke dalam kelompok dengan usia yang sama. Dalam hal ini, untuk usia 'muda' kelas normal akan memiliki lebih banyak contoh pelatihan daripada kelas penyakit, dan sebaliknya untuk usia yang lebih tua. Tetapi selama ada cukup contoh, ini seharusnya tidak menjadi masalah. Pilihan lain adalah melakukan hal yang sama dengan set tes, yaitu melihat apakah classifier cenderung mengatakan 'sakit' lebih sering untuk pasien yang lebih tua. Kedua opsi ini mungkin sulit karena Anda tidak memiliki banyak contoh.
Satu lagi opsi adalah melatih dua pengklasifikasi. Di yang pertama, satu-satunya fitur adalah usia. Tampaknya ini memiliki AUC 0,82. Yang kedua, akan ada usia dan data microarray. (Tampaknya saat ini Anda melatih classifier berbeda yang hanya menggunakan data microarray, dan itu memberi Anda AUC 0,95. Menambahkan fitur usia secara eksplisit kemungkinan akan meningkatkan kinerja, sehingga AUC akan lebih tinggi.) Jika classifier kedua berkinerja lebih baik daripada yang pertama, ini menunjukkan bahwa usia bukan satu-satunya hal yang menarik dalam data ini. Berdasarkan komentar Anda, peningkatan AUC adalah 0,13 atau lebih, yang tampaknya adil.
sumber