Bu araç, I-EWS'in 6 girdisini sonucu bilinen verilerle eşleştirir; doğru ağırlıkları
veriden buldurur (lojistik regresyon), AUROC ve kalibrasyon ile sınar, eşikleri ROC'tan önerir.
Şu an sentetik (cevabı bilinen) veriyle çalışıyor — motorun gerçek ağırlıkları geri bulabildiğini görürsün; sonra kendi verini yüklersin.
Rapor tarihi: · fitto.work I-EWS Kalibre Motoru · Araştırma amaçlıdır
Mekanizma
Kalibrasyon 4 adımda
01
Veri
Her satır = 1 kişi: 6 girdi + bilinen sonuç (0/1).
02
Böl & Öğret
%70 öğretme verisinde ağırlıklar buldurulur.
03
Sına
%30 sınamada AUROC + kalibrasyon ölçülür.
04
Eşikle
ROC'tan yeşil/sarı/kırmızı sınırları önerilir.
1 · Veri kaynağı
Veriyi hazırla
1500
%15
Sentetik veri, klinik açıdan makul gerçek ağırlıklarla üretilir; motorun bunları geri bulup bulamadığını sonuç tablosunda görürsün.
Başlık satırı zorunlu. Beklenen sütunlar (sıra önemsiz):
cp, neu, met, hrr, wbgt, sleep, sb, y — y = sonuç (1 = olay/112 gerekliydi, 0 = gerekmedi).
Veri özeti
Ne ile çalışıyoruz
Kişi
—
toplam satır
Olay (y=1)
—
—
Öğretme / Sınama
—
%70 / %30
Olay/değişken
—
EPV (≥10 ideal)
2 · Veriden bulunan ağırlıklar
Lojistik regresyon katsayıları
Her katsayı, o girdinin sonuç log-odds'una etkisi. OR>1 → riski artırır. Sentetik modda "gerçek" sütunu, veriyi üretirken kullandığımız doğru değerdir — tahminin ona ne kadar yaklaştığı motorun doğruluğunu kanıtlar.
Girdi
Tahmin β
OR (birim başına)
Gerçek β
Geri bulundu mu?
Çarpma mı toplama mı? Lojistik regresyon log-odds'ta toplamsaldır, olasılık (odds) ölçeğinde çarpımsaldır — yani bu model, "neyi çarpalım neyi toplayalım" sorusunu felsefeyle değil, etkileşim terimi ekleyip test ederek otomatik çözer.
Tahmin edilen risk gerçekle uyuşuyor mu? Noktalar köşegene yakınsa model dürüst.
ROC eğrisi
Eğri sol-üste ne kadar yakınsa o kadar iyi. Nokta = Youden-optimal eşik.
Karar eğrisi (net fayda)
Mavi (model) üstte olduğu eşik aralığında, modeli kullanmak "herkesi sevk et" (gri) ve "kimseyi sevk etme" (yatay 0) stratejilerinin ikisinden de iyidir. — Vickers 2006
Bu grafikler ne diyor?
Kalibrasyon: noktalar köşegende → "%30 risk" dediğinde gerçekten ~%30 olay var. ROC: sol-üst köşeye yakınlık = iyi ayrım. Karar eğrisi: modelin klinik faydası — sadece istatistik değil, "sevk kararında işe yarıyor mu" sorusu.
4½ · Derinlemesine doğrulama (TRIPOD)
"AUROC 0.91" yetmez — ne kadar güvenilir?
Tek bir sayı yanıltıcı olabilir. Burada modelin ne kadar oynak (güven aralığı),
tek bölmeye mi bağlı (çapraz doğrulama), yeni veride ne kadar kötüleşir (optimism),
ve olasılıkları dürüst mü (Brier + Hosmer-Lemeshow) sorularını yanıtlıyoruz.
Brier skoru
—
0 = kusursuz · küçük iyi · taban-oranı geçmeli
Hosmer-Lemeshow
—
p > 0.05 → kalibrasyon reddedilmiyor (iyi)
5-katlı çapraz doğrulama
—
AUROC ortalama ± std (tek bölmeye bağlı değil)
Optimism düzeltmesi
bas →
apparent − optimism = düzeltilmiş (yeni veri tahmini)
Etkileşim (sinerji) testi:—
Not: Bootstrap güven aralığı ve optimism düzeltmesi 400 + 120 yeniden-örnekleme yapar; küçük gecikme normaldir. Sonuçlar yukarıdaki AUROC kutularına ve Optimism hücresine yazılır.
5 · Eşik ve karar bölgeleri
Sınırı veriden seç, teorik aralıktan değil
0.50
Doğru Negatif (TN)
—
Yanlış Pozitif (FP)
—
Yanlış Negatif (FN) — kaçan!
—
Doğru Pozitif (TP)
—
Duyarlılık (sensitivity)
—
Özgüllük (specificity)
—
Pozitif kestirim (PPV)
—
Doğruluk (accuracy)
—
Youden-optimal eşik
—
İşçi sağlığında kaçan olay (FN) çok maliyetli → kırmızı sınırı yüksek duyarlılığa ayarla.
Hekimin hesap makinesi olmadan kullanabilmesi için, veriden bulunan ağırlıkları tam sayı puanlara döküyoruz (Framingham yöntemi). Bu, "terazinin yeni ayarlı hali".
Girdi
Birim başına puan
Örnek
7 · Gerçek vaka katkısı
Bir kişiyi kaydet, terazi yarın daha iyi ayarlansın
Her gerçek vaka (6 ölçüm + bilinen sonuç), modeli sentetikten saha gerçekliğine bir adım yaklaştırır.
Kayıtlar kimliksizleştirilmiş olarak Firebase Firestore'a yazılır — ad, TC, doğum tarihi, çalışan no asla istemiyoruz.
Toplam kayıt
—
Olay (y=1)
—
Son kayıt
—
Hazır skor girmeyin — her ölçütü ham klinik veriden tek tek girin, sistem NEWS2, %HRR ve diğer skorları otomatik hesaplasın.
A · Yaşamsal bulgular → NEWS2 (RCP 2017) otomatik hesaplanır
B · Yaş & kalp rezervi → %HRR (Karvonen / Tanaka)
%HRR = (güncel nabız − dinlenme) / (HRmax − dinlenme) × 100 · HRmax = 208 − 0.7×yaş = —. Güncel nabız olarak yukarıdaki "Nabız" değeri kullanılır.
D · STOP-BANG (apne taraması) → evet olanları işaretle
NEWS2-CP
—
0–14
NEWS2-NEU
—
0–6
%HRR
—
kalp rez.
WBGT
—
band
Uyku
—
band
STOP-BANG
—
0–8
B · Bilinen sonuç (hekimin kararı + sahada doğrulanmış)
Neden override? Modelin "kırmızı" dediği ama yine de çalıştırılan vakalar, "olmasaydı ne olurdu" sorusunu gözlemlememizi sağlayan tek durumdur — doğrulama yanlılığını (verification bias) kısmen kırar.
KVKK · açık rıza: Bu kayıt sağlık verisidir (özel nitelikli kişisel veri).
İçinde kimlik bilgisi yoktur; yalnızca 6 ölçüm + sonuç + zaman damgası + (opsiyonel) sektör saklanır.
Bu kutuyu işaretleyerek kayıt yapma yetkisi olduğunuzu (işyeri hekimi/yetkili) ve çalışandan rıza alındığını
veya verinin tam kimliksizleştirildiğini onaylıyorsunuz.
Şu anki tahmin: —
Son kayıtlar (en çok 20)
Zaman
CP
NEU
MET
HRR
WBGT
Uyku
SB
Sektör
Model p
Sonuç
Yöneticiye not: Yazma izinleri Firestore Security Rules ile kısıtlanmalı (auth-only, App Check zorunlu, rate-limit).
Yapılandırma firebase-config.js dosyasında — bu dosya yoksa form yalnızca JSON indirir.
Önerilen koleksiyon: cases · doc alanları: cp, neu, met, hrr, wbgt, sleep, sb, y, severity, overridden, sector, ts, modelPred, predLow, predHigh. Not: yeni alanlar (severity, overridden, predLow/High) için firestore.rules güncellendi — Console'a yeniden yapıştır.
Liste görünmüyorsa: okuma izni yöneticiyle sınırlı (Security Rules · auth.token.admin) — bu normaldir; yazma yine çalışır.
Dürüst sınır: Bu sayfadaki sonuçlar sentetik veriyle motorun doğru çalıştığını gösterir — klinik geçerlilik gerçek hasta verisi ister. Bunlar sağlık verisidir (KVKK · özel nitelikli kişisel veri): açık rıza, şifreleme, mümkünse kimliksizleştirme gerekir. Klinik kullanım öncesi prospektif validasyon + TRIPOD raporlaması şart.
Bilinen mantıksal sınırlar (dürüstçe)
Doğrulama yanlılığı
Model "kırmızı" deyip işçi eve gönderilirse, "olay yaşar mıydı" asla bilinemez. Override (yine de çalıştı) vakaları bu yüzden değerli — formda yakalıyoruz.
Korelasyon ≠ nedensellik
Model "bu profil olayla ilişkili" der; "sebep oldu" demez. "İşe almazsam önlenir mi" sorusunu yalnızca prospektif deneme cevaplar.
Statik — zaman yok
Skor tek bir ana aittir. Risk vardiya içinde değişir; tekrarlı ölçüm/trend henüz modellenmiyor. Yüksek riskte vardiya ortası yeniden ölçüm önerilir.
Eklenen düzeltmeler: her tahmin artık %95 belirsizlik aralığı ile gelir (kovaryans→delta yöntemi); eksik veri sıfır sayılmaz, uyarılır; sonucun şiddeti (ordinal) ve override durumu kaydedilir; etkileşim/sinerji testi otomatik raporlanır.
Yöntem: çok değişkenli lojistik regresyon (IRLS, ridge λ ile ayrılma önlenir) · AUROC (sıra-tabanlı) · desil kalibrasyonu · Hosmer-Lemeshow · bootstrap %95 GA · Harrell optimism · karar eğrisi · tahmin belirsizliği (delta) · etkileşim testi · Sullivan puan dönüşümü.
Kaynaklar: TRIPOD (Collins 2015) · Sullivan, Massaro, D'Agostino (2004) · NEWS2 (RCP 2017) · Vickers (2006) · Harrell (2015).