Inferensi Kausal

Intervensi

Ini adalah postingan kesembilan dalam seri yang kami kerjakan melalui “Inferensi Kausal Dalam Statistik”, sebuah Primer bagus yang ditulis bersama oleh Judea Pearl sendiri.

Anda dapat menemukan postingan sebelumnya di sini dan semua kode Python yang relevan di Repositori GitHub pendamping:



Meskipun saya akan melakukan yang terbaik untuk memperkenalkan konten dengan cara yang jelas dan mudah diakses, saya sangat menyarankan Anda untuk mendapatkan bukunya sendiri dan mengikutinya. Jadi, tanpa basa-basi lagi, mari kita mulai!

3.1 — Intervensi

Salah satu tujuan mendasar dari analisis kausal bukan hanya untuk memahami dengan pasti apa yang menyebabkan dampak tertentu, namun untuk mampu mengintervensi dalam proses dan mengendalikan apa yang akan terjadi dan mampu menjawab pertanyaan-pertanyaan. dari bentuk:

  • Apakah obat X membantu mengobati penyakit ini?
  • Apa yang terjadi jika kita mengubah warna Y bagian bawah?
  • Bisakah saya meningkatkan penjualan dengan mengubah harga widget saya sebesar Z?

Standar utama untuk mempelajari pengaruh intervensi adalah Uji Coba Kontrol Acak yang digunakan dalam aplikasi medis (juga dikenal sebagai tes A/B dan aplikasi online) di mana kami:

  • Bagilah populasi secara acak menjadi dua kelompok
  • Terapkan intervensi pada satu hal dan bukan pada yang lain
  • Analisis perbedaannya

Sayangnya, eksperimen acak semacam ini tidak selalu bisa dilakukan karena kendala etika, ekonomi, atau waktu, jadi kita perlu memahami kapan kita bisa mendapatkan hasil yang sama hanya dengan menggunakan data observasi murni.

Dalam bab ini, Pearl memandu kita melalui proses berpikir yang diperlukan untuk melakukan analisis ini menggunakan alat dan konsep yang dikembangkan di Bab 1 dan 2.

Langkah pertama adalah memahami perbedaan antara intervensi pada suatu variabel dan pengkondisian pada variabel tersebut. Buku ini menjelaskannya sebagai:

Saat kami mengintervensi variabel dalam model, kami menetapkan nilainya. Kita mengubah sistem dan akibatnya nilai variabel lain sering kali berubah. Saat kita mengkondisikan suatu variabel, tidak ada perubahan apa pun; kita hanya mempersempit fokus kita pada subkumpulan kasus yang variabelnya mengambil nilai yang kita minati.

Mari kita perhatikan contoh sederhana:

Katakanlah Z adalah kecepatan yang saya kendarai, X adalah kecepatan yang tercatat pada speedometer mobil saya, dan Y adalah apakah saya ditilang atau tidak. Saat saya mengemudi, yang bisa saya lihat hanyalah nilai X dan Y (apakah saya menepi atau tidak) jadi jika saya mengumpulkan data dalam jumlah besar dengan kecepatan berbeda, tidak ada jalan yang sama, saya akan memperhatikannya di atas nilai X tertentu saya akan mendapat tiket dan di bawah nilai itu saya tidak akan mendapat tiket.

Sekarang, katakanlah saya “mengintervensi” sistem dengan merusak speedometer saya sehingga hanya memberi saya nomor acak. Sekarang situasinya mungkin terlihat seperti ini:

Dari DAG ini kita melihat bahwa nilai X tidak lagi dipengaruhi oleh kecepatan sebenarnya yang saya kendarai, jadi kami secara efektif memotong tepi masuk menjadi X dan mengubah sistem secara mendasar. Dalam keadaan seperti ini, jika saya mengkompilasi ulang kumpulan data saya, saya tidak akan melihat pola apa pun antara kecepatan yang diukur dengan X dan tilang (tentu saja, dalam skenario mana pun saya akan kehilangan lisensi jauh sebelum mengumpulkan cukup data).

Saya pikir contoh ini memperjelas betapa berbedanya intervensi dari sekadar mengondisikan nilai variabel tertentu. Dengan mengintervensi suatu variabel:

  • Semua turunannya tetap beroperasi normal (saya masih mengemudi dengan cara yang sama)
  • Variabel itu sendiri tidak lagi merespons induknya
  • Orang tua dari variabel yang diintervensi tetap berfungsi normal.

Kita dapat menyamakan intervensi pada suatu sistem dengan melakukan operasi pada grafik asli untuk menghilangkan semua sisi yang masuk sambil mempertahankan semua sisi yang keluar:

Secara matematis, distribusi Y ketika kita melakukan intervensi pada X direpresentasikan sebagai:

untuk membedakannya dari P(Y|X) yang lebih umum.

Sekarang kita dapat dengan mudah melihat bahwa kunci untuk dapat memanfaatkan data asli adalah dengan menghubungkan kuantitas yang diamati di DAG baru dengan kuantitas di DAG asli. Dari gambar di atas, kita melihat bahwa P(Z) dan P(Y|X, Z)tidak berubah dengan intervensi kita pada X sehingga kita dapat menggunakan nilai yang dihitung dari kumpulan data asli. Namun yang berubah adalah nilai X yang dibolehkan, memaksa kita untuk menggunakan Pm(X) alih-alih P(X|Z) (yang mana subskrip m dimaksudkan untuk tekankan bahwa distribusi dihitung pada grafik yang dimodifikasi).

Perlu digarisbawahi bahwa dalam analisis ini kami membuat asumsi bahwa intervensi tidak mempunyai efek samping, artinya ketika kami mengubah nilai X kami tidak secara tidak sengaja mengubah nilai beberapa variabel lain seperti Sehat. Ini hanyalah pernyataan ulang dari asumsi umum kita bahwa DAG mencerminkan semua hubungan sebab-akibat yang berkepentingan, namun ada baiknya kita mengingat hal ini karena proses fisik dari intervensi terhadap sistem mungkin dapat mengubahnya. Contoh ilustratif sederhananya adalah memaksa orang sehat untuk minum obat mungkin akan memberikan hasil yang berbeda dari yang diharapkan.

Kami juga mencatat bahwa ada keseluruhan bangunan teoretis yang tersembunyi di balik operator do() yang tampaknya tidak berbahaya di atas, yang dikenal sebagai do-calculus yang hanya akan dibahas secara singkat dalam buku ini. namun saya mendorong Anda untuk menyelaminya karena ini mungkin merupakan alat yang paling ampuh dalam perangkat inferensi kausal.

Posting ini adalah langkah pertama menaiki tangga sebab-akibat seperti yang dijelaskan dalam buku. Selamat telah berhasil sejauh ini dan saya harap postingan ini terus bermanfaat dan menarik bagi Anda.

Postingan berikutnya dalam seri ini sudah tersedia:



Sekadar pengingat singkat bahwa Anda dapat menemukan kode untuk semua contoh di atas di repositori GitHub kami:



Dan jika Anda ingin diberi tahu saat postingan berikutnya diterbitkan, Anda dapat berlangganan buletin The Sunday Briefing: