İçeriğe geç

L02-P05-M04-D03

İç Doğrulama

Fonksiyonel Tıp Akademisi — L02, Matematik, İstatistik, Kimya ve Biyofizik Temelleri · 2.011 kelime · 1 kanıt kartı · ≈ 9 dk okuma · 15 dk dinleme

Açılış sahnesi

Aralığın üçüncü cuması, öğleden sonra dört. Üniversite hastanesinin Afyonkarahisar'daki kan merkezinde yıl sonu bağış çağrısı var, koltukların hepsi dolu. Makbule Hanım sol kolu uzatılmış, avucunda yumuşak bir top sıkıyor; bağış hemşiresi torbanın dolmasına on dakika kaldığını söyleyip yanından ayrılıyor. Şeyma, sırası gelmeyi bekleyen bağışçıların sandalyesinde, dizüstü bilgisayarında bir ilerleme çubuğunu izliyor.

Makalenin yazarlarına geçen hafta e-posta atmışlar, veriyi isteyip isteyemeyeceklerini sormuşlardı. Cevap nazik ama kesindi: hasta verisi kurum dışına çıkamıyor. Şeyma bu yüzden aynı büyüklükte bir tablo üretmiş ve makalenin tarif ettiği yolu adım adım uygulamış. "Bizim hastalarımızda eğim 0,62 çıktı," diyor Makbule Hanım, topu sıkmayı bırakmadan. "Yazarlar bunu o bin hastanın içinden görebilir miydi, yoksa illa bizim gibi bir yıl mı beklemeleri gerekirdi?" Şeyma ilerleme çubuğunu gösteriyor: iki yüz turun yüz altmışıncısında.

Bu derste ne olacak

Bir modelin kendi verisinde ölçülen başarısına bir ad vereceksin, ardından o başarının ne kadarının yeni hastalara taşınacağını, yeni hasta beklemeden kestirmenin üç yolunu karşılaştıracaksın. Veriyi ikiye bölmenin neden pahalı olduğunu olay sayısıyla hesaplayacak, bootstrap ile iyimserlik düzeltmesini tek bir turunu elle izleyerek kuracaksın. Değişken seçimini döngünün dışında bırakmanın düzeltmeyi nasıl yarısının altına indirdiğini göreceksin. Sonunda kalibrasyon eğimini katsayıları küçülten bir çarpan olarak okuyacak ve iç doğrulamanın göremediği şeyi adlandıracaksın.

Metin

Görünen performans

Aşırı uyum dersinde (L02-P05-M02-D08) iyimserliği, bir modelin kurulduğu verideki başarısı ile yeni verideki başarısı arasındaki fark olarak tanımlamıştın. O derste yeni veri elindeydi: Nevşehir'de sonraki altmış gün gelmişti. Makbule Hanım'ın sorusu, yeni veri henüz yokken bu farkı kestirip kestiremeyeceğimiz.

Şeyma'nın tablosunda 1.012 hastanın 176'sı bir yıl içinde acile başvurmuş; oran 176 ÷ 1.012 ≈ 0,17, makaleninkine yakın. Şeyma makalenin yöntemini aynen uyguluyor: 23 adayı önce tek tek sınayıp p değeri 0,20'nin altında kalanları tutuyor, sonra çoklu modelden en büyük p değerli değişkeni birer birer atarak her birinin 0,05'in altında kaldığı noktada duruyor. Yöntem yedi değişken seçiyor. Altısı gerçek etkili değişkenlerin hepsi, yedincisi ise gürültüden seçilmiş bir yolcu. Modelin aynı 1.012 hastadaki C istatistiği 0,789.

Benzetimin bir avantajı var: tabloyu üreten kural bilindiği için, aynı kuraldan 200.000 yeni hasta çekip modelin gerçekte ne yaptığına bakılabiliyor. Yeni hastalarda C 0,736, kalibrasyon eğimi 0,75. Görünen C'nin yeni hastalardaki değeri aşan payı 0,789 − 0,736 = 0,053. Gerçek bir hastanede bu 200.000 hasta yoktur; iç doğrulamanın bütün işi, bu farkı eldeki 1.012 hastadan kestirmektir.

Bölmek ve kaybetmek

İlk akla gelen yol, tabloyu ikiye ayırıp modeli bir parçada kurmak, öteki parçada sınamak. Şeyma hastaları rastgele üçte iki ile üçte bire bölüyor: 675 hasta geliştirme için, 337 hasta sınama için. Olaylar da bölünüyor; geliştirme parçasına 120, sınama parçasına 56 başvuru düşüyor. Tam tabloda aday başına 176 ÷ 23 ≈ 7,7 olay varken geliştirme parçasında 120 ÷ 23 ≈ 5,2 olay kalıyor. Model daha az veriyle, dolayısıyla daha kötü kuruluyor.

Sınama parçası da zayıf. Elli altı olayla ölçülen bir C'nin kendisi oynaktır. Bölmenin ilk denemesinde sınama C'si 0,764 çıkıyor. Şeyma aynı tabloyu iki yüz farklı rastgele bölüşle deniyor ve bölüşlerin ortadaki yüzde doksan beşinde sınama C'sinin 0,71 ile 0,81 arasında dolaştığını görüyor. Aynı veri, aynı yöntem; yine de C yalnız hangi hastanın hangi parçaya düştüğüne göre on puan kadar oynuyor. Üstelik sonunda yazılan model tam tabloda yeniden kurulursa, sınanan model artık o değildir.

Ewout Steyerberg ve arkadaşları 2001'de J Clin Epidemiol'de yayımlanan "Internal validation of predictive models: efficiency of some procedures for logistic regression analysis" çalışmasında bölme, çapraz doğrulama ve bootstrap türlerini aynı lojistik model üzerinde karşılaştırdı. Bölmenin verimsiz olduğunu, bootstrap'in iç doğrulama için önerilebileceğini bildirdiler. Bölmenin bir akrabası, veriyi on parçaya ayırıp her parçayı sırayla dışarıda bırakan k-katlı çapraz doğrulamadır; olayların hepsi hem kurmada hem sınamada kullanılır. Onu çapraz doğrulama dersinde ayrıntısıyla kuracaksın.

Bootstrap: bir turu elle izlemek

Bootstrap'in fikri, 1.012 hastayı nüfusun elimizdeki en iyi resmi saymaktır. Nüfustan yeni bir örneklem çekemiyoruz, ama bu resmin içinden, geri koyarak, yine 1.012 hasta çekebiliriz. Bazı hastalar iki üç kez gelir, bazıları hiç gelmez. Yöntemin genel çerçevesi Bradley Efron ile Robert Tibshirani'nin 1993 tarihli An Introduction to the Bootstrap kitabında toplanmıştır.

Şeyma'nın ilk turunda çekilen 1.012 kişilik örneklemde 643 farklı hasta var. Oran 643 ÷ 1.012 ≈ 0,64; büyük örneklemlerde bu pay kabaca üçte ikiye oturur. Bu örneklemde Şeyma yöntemin tamamını baştan çalıştırıyor: 23 adayın ön elemesi, geriye doğru ayıklama, son modelin katsayıları. Bu kez yöntem dokuz değişken seçiyor; gerçek etkili altı değişkenden biri düşmüş, gürültüden üç yolcu binmiş. Ardından aynı modeli iki yerde ölçüyor. Kurulduğu bootstrap örnekleminde C 0,792; özgün 1.012 hastada 0,775. Bu turun iyimserliği 0,792 − 0,775 = 0,017.

Tek tur, tek bir bölüş gibi şansa açık. Şeyma iki yüz tur çalıştırıyor, her turda aynı beş adımı tekrarlıyor ve farkların ortalamasını alıyor. Ortalama iyimserlik 0,023. Düzeltilmiş C, görünen C'den bu ortalamanın çıkarılmasıyla bulunuyor: 0,789 − 0,023 = 0,766. Kalibrasyon eğimi için aynı yol işliyor. Her turun modeli özgün veride ölçüldüğünde eğimi 1'in altında kalıyor, iki yüz turun ortalaması 0,88. Görünen eğim 1 olduğu için düzeltilmiş eğim doğrudan 0,88.

Frank Harrell, Kerry Lee ve Daniel Mark 1996'da Statistics in Medicine'de yayımladıkları "Multivariable prognostic models: issues in developing models, evaluating assumptions and adequacy, and measuring and reducing errors" makalesinde bu yolu klinik öngörü modelleri için bir iş akışına dönüştürdüler. Makbule Hanım'ın sorusunun ilk yarısına cevap buradadır: yazarlar 1.012 hastadan çıkmadan kalibrasyon eğiminin 1'in altında kalacağını görebilirdi.

Seçim döngünün içinde kalmalı

Bootstrap'in kestirdiği şey, yöntemin iyimserliğidir, tek bir denklemin değil. Makalenin iyimserliği yalnız dokuz katsayıyı tahmin etmekten değil, 23 aday arasından o dokuzunu veriye bakarak seçmekten de geliyor. Seçim her turda tekrar edilmezse düzeltme bu ikinci kaynağı görmez.

Şeyma bunu aynı iki yüz örneklemde sınıyor. Bu kez yedi değişkeni tam tabloda bir kez seçiyor ve bootstrap örneklemlerinde yalnız katsayıları yeniden tahmin ediyor. Ortalama iyimserlik 0,009'a iniyor, düzeltilmiş C 0,789 − 0,009 = 0,780 çıkıyor, eğim 0,95. Seçimi döngünün içinde tutan düzeltmenin yarısından azı kalıyor. Seçimin ne kadar oynak olduğu da turlarda görünüyor: iki yüz turda seçilen değişken sayısı beş ile on üç arasında değişti.

Yaygın yanlış"Değişkenleri bütün veride seçtik, son modeli bootstrap ile doğruladık; iç doğrulama yapıldı".
Doğrusu

Seçim döngünün dışında kalırsa bootstrap yalnız katsayı tahmininin iyimserliğini ölçer; adayların arasından veriye bakarak yapılan seçimin payı düzeltmeye girmez ve model olduğundan iyi görünür.

Burada dürüst olunması gereken bir nokta var. Bu tablonun gerçek farkı 0,053'tü, bootstrap 0,023 dedi. Bootstrap, bu yöntemin ortalama iyimserliğini kestirir, bu tablonun kendine özgü şansını değil; Şeyma'nın tablosu 176 olayla şanslı bir çekilişti. Aynı kuraldan yüz ayrı tablo üretilip her birinde yüz turluk bootstrap çalıştırıldığında ortalamalar şöyle çıktı: görünen C 0,748, yeni hastalarda C 0,731, bootstrap ile düzeltilmiş C 0,719. Düzeltme ortalamada hedefin biraz altında, yani hafif temkinli kaldı.

Küçültme

Düzeltilmiş eğimin 0,88 çıkması yalnız bir uyarı değil, bir reçetedir. Eğim, modelin doğrusal öngörücüsünün yeni hastalarda ne kadar gerildiğini gösterir; 0,88 ise her katsayının yaklaşık yüzde on iki kısaltılması gerektiğini söyler. Katsayıların hepsini aynı oranda kısaltıp sabit terimi ortalama riski koruyacak biçimde yeniden kestirmek, bu fazlalığı önceden geri alır.

Makalenin tablosundaki bir satırla deneyelim. Makalede standart sapma başına verilen 1,48'lik odds oranının doğal logaritması 0,392. Makalenin yöntemine benzeyen bir tabloda iç doğrulama 0,88 verdiyse küçültülmüş katsayı 0,392 × 0,88 ≈ 0,345 olur, odds oranı da e^0,345 ≈ 1,41'e iner. Fark küçük görünür, ama dokuz katsayının hepsi aynı yönde kısalınca yüksek riskli hastaya söylenen risk belirgin biçimde aşağı çekilir. Bayesçi önsel dersinde (L02-P02-M03-D01) makul bir önselin aşırı büyük tahminleri gerçeğe doğru çektiğini görmüştün. Buradaki küçültme o fikrin kaba, tek çarpanlı bir akrabasıdır.

Bootstrap çalıştırmadan kaba bir çarpan veren bir formül de var. J. C. van Houwelingen ile S. le Cessie 1990'da Statistics in Medicine'deki "Predictive value of statistical models" makalesinde, olabilirlik oranı ki-karesi LR ve öngörücü parametre sayısı p iken çarpanı 1 − p ÷ LR olarak verdiler. Şeyma'nın son modelinde LR 159,8. Son modeldeki yedi değişkenle 1 − 7 ÷ 159,8 ≈ 0,96 çıkıyor, denenen 23 adayla 1 − 23 ÷ 159,8 ≈ 0,86. Seçim yapılmış bir modelde yediyi saymak, seçimin tükettiği serbestliği yok saymak demektir; bu yüzden 0,86 bootstrap'in 0,88'ine çok daha yakın.

İç doğrulamanın görmediği

Makbule Hanım'ın polikliniğinde ölçülen eğim 0,62'ydi; Şeyma'nın tablosunun iç doğrulaması 0,88 diyor. Aradaki fark bootstrap'in bir kusuru değildir. Bootstrap, yeni hastaların modeli kuran hastalarla aynı nüfustan, aynı yıldan ve aynı kayıt alışkanlığıyla geldiğini varsayar. Poliklinik hastaları başka bir yılda, başka bir kurumda, belki başka bir izlem kuralıyla toplandı. Olgu karması ve taban risk farkının yarattığı kayma, iç doğrulamanın hiçbir turunda ortaya çıkmaz; çünkü turların hepsi aynı 1.012 hastadan çekilir.

Kan merkezine dönüş

Bağış hemşiresi torbayı kapatıp Makbule Hanım'ın koluna pamuğu bastırıyor. Makbule Hanım başhekimliğe gidecek notu kafasında kuruyor: makale 0,78'lik C'yi kendi verisinde bildirdi ve iç doğrulama yapmadı; aynı yöntemi benzer büyüklükte bir tabloya uygulayan iç doğrulama, C'nin yaklaşık 0,02'sinin iyimserlik olduğunu ve katsayıların yüzde on iki kadar kısaltılması gerektiğini gösterdi. Bu kadarını yazarlar da görebilirdi.

Şeyma bilgisayarını kapatmadan bir satır daha ekliyor. İç doğrulamanın 0,88'i ile polikliniğin 0,62'si arasındaki boşluk makalenin hastalarıyla bizim hastalarımız arasındaki farktan geliyor ve onu ancak başka bir yerin verisi gösterebilir. Makbule Hanım portakal suyunu alırken gülümsüyor: "Demek ki bir yıl beklememiz boşa değilmiş".

Kendini sına

  1. Görünen C 0,789, bootstrap iyimserliği ortalaması 0,023. Düzeltilmiş C nedir? Görünen kalibrasyon eğimi neden hep 1'dir?
  2. 1.012 hastanın 176'sında olay var. Üçte bire ayrılan sınama parçasına kaç olay düşmesi beklenir, geliştirme parçasında aday başına kaç olay kalır?
  3. Bir bootstrap turunda hangi beş adımı yaparsın? Hangi adımı atlamak düzeltmeyi yarıya indirir, neden?
  4. Standart sapma başına 1,48'lik odds oranı taşıyan bir katsayıyı 0,88 çarpanıyla küçült. Sabit terime ne yapman gerekir?
  5. LR 159,8 olan bir modelde çarpanı p = 7 ve p = 23 ile hesapla. Hangisi bu modele uygundur?
  6. Şeyma'nın tablosunda bootstrap 0,023 dedi ama gerçek fark 0,053 çıktı. Bu bootstrap'in yanlış olduğunu mu gösterir?
  7. İç doğrulama 0,88 derken bir başka hastanede eğim 0,62 çıkabilir mi? Hangi farklar buna yol açar?

Bir sonraki derse köprü

Bootstrap'in bütün turları aynı 1.012 hastadan çekiliyordu; bu yüzden makalenin hastanesi ile Makbule Hanım'ın polikliniği arasındaki farkı göremedi. Dış doğrulama dersi bu boşluğa bakacak: bir model başka bir merkezde ya da sonraki bir yılın hastalarında sınandığında ne ölçülür? Aynı hastanenin sonraki yılında yapılan zamansal doğrulama ile başka bir merkezde yapılan doğrulama neyi farklı sınar, ve bir modelin taşınabilir sayılması için C'nin ve kalibrasyonun hangisinin tutması gerekir?

Anlamadığın bir yer mi var?

Mentor yalnız bu dersin metnine dayanarak cevap verir. Metinde geçmeyen bir şey sorarsan uydurmaz, geçmediğini söyler.