Kazanimlar:
- Poliçe ve hasar verisindeki eksik değer, aykırı değer, maruz kalım (exposure) ve veri kalitesi sorunlarını yapay zeka desteğiyle tespit edip düzeltme taslağı üretebilme
- Özellik mühendisliği (yeni değişken türetme, gruplama, kodlama) ve maruz kalım normalizasyonunu yapay zekaya doğru bağlamla yaptırabilme
- Yapay zekanın önerdiği veri dönüşümlerinin veri sızıntısı (leakage) ve gizli önyargı riskine karşı aktüer tarafından denetlenmesi gerektiğini kavrayabilme
Aktüeryal işin en az konuşulan ama en çok zaman alan kısmı veri hazırlamadır. Deneyimli aktüerler bir modelleme projesinin süresinin çoğunun veriyi temizlemekle, birleştirmekle ve doğru hale getirmekle geçtiğini bilir. Model ne kadar zarif olursa olsun, girdi verisi bozuksa çıktı da bozuktur — kısaca "çöp girer, çöp çıkar". Bu ünitede poliçe ve hasar verisinin tipik sorunlarını, bunları YZ ile nasıl tespit ve düzeltme taslağı üreteceğinizi ve özellik mühendisliği (mevcut veriden daha bilgilendirici yeni değişkenler türetme) yaklaşımını göreceğiz.
Baştan bir uyarı: veri hazırlama görünüşte teknik ve masum bir adımdır, ama en tehlikeli hatalar burada gizlenir. Yanlış bir maruz kalım normalizasyonu, gizli bir veri sızıntısı veya farkında olmadan eklenen bir önyargı, sonraki tüm modelleri sessizce bozar. YZ bu adımı çok hızlandırır ama denetimsiz bırakılırsa riski de büyütür.
Aktüeryal verinin tipik sorunları
Poliçe ve hasar verisi neredeyse hiçbir zaman temiz gelmez. En sık karşılaşılan sorunlar şunlardır. Eksik değerler: bazı poliçelerde araç yaşı, meslek veya bölge boştur. Bunları körlemesine ortalama ile doldurmak önyargı yaratabilir; eksikliğin kendisi bazen bilgi taşır (eksik olanlar farklı bir gruptur). Aykırı değerler (outlier): negatif prim, 200 yaşında sigortalı, sıfır maruz kalımlı poliçe gibi mantıksız kayıtlar. Bunlar veri hatası mı yoksa gerçek uç durum mu, ayırt edilmelidir. Tutarsızlık: aynı bölgenin farklı yazımları ("İstanbul", "Istanbul", "34"), tarih formatı karışıklıkları. Yinelenen kayıtlar: aynı hasarın iki kez girilmesi.
Ama aktüeryaya özgü en kritik konu maruz kalım (exposure)dır. Bir poliçe yıl ortasında başlıyorsa o yıl için tam bir "poliçe-yıl" değil, kesirli bir maruz kalım (örneğin 0,5 yıl) sağlar. Frekans ve hasar oranları daima maruz kalıma göre normalize edilmelidir; aksi halde kısa süreli poliçeler yüksek riskli görünür. YZ maruz kalım hesabını kodlayabilir, ama tanımı ve iş kuralını siz vermelisiniz.
Şu tablo tipik sorunları ve doğru yaklaşımı özetler:
Sorun
Yanlış yaklaşım
Doğru yaklaşım
Eksik değer
Hepsini ortalamayla doldur
Eksikliği analiz et; bazen ayrı kategori aç
Aykırı değer
Otomatik sil
Veri hatası mı, gerçek uç mu ayır
Maruz kalım
Tüm poliçeleri 1 yıl say
Kesirli maruz kalımı hesapla
Kategori tutarsızlığı
Görmezden gel
Standart sözlükle eşle
Yinelenen hasar
Fark etme
Anahtar alanlarla tekilleştir
Özellik mühendisliği: veriden bilgi türetmek
Özellik mühendisliği (feature engineering), mevcut ham değişkenlerden modele daha yararlı yeni değişkenler türetme sanatıdır. Örnekler: doğum tarihinden "yaş", yaştan "yaş grubu" (gruplama/binning), araç marka-modelinden "risk segmenti", adres-poliçe kombinasyonundan "yıllık km tahmini". İyi bir özellik, ham veriden daha güçlü bir sinyal taşır ve modelin hem doğruluğunu hem yorumlanabilirliğini artırır.
Aktüeryada üç teknik sık kullanılır. Gruplama (binning): sürekli bir değişkeni (yaş) anlamlı gruplara ayırmak; bu, doğrusal olmayan ilişkileri yakalar ve tarifeyi okunabilir kılar. Kodlama (encoding): kategorik değişkenleri (bölge) modele uygun sayısal biçime çevirmek; risk temelli kodlama (her kategoriyi kendi hasar oranıyla temsil etmek) yaygındır ama dikkatli yapılmalıdır. Normalizasyon: her şeyi maruz kalıma bölerek karşılaştırılabilir hale getirmek. YZ bu dönüşümlerin kodunu hızlıca üretir; ama her dönüşümün mantığını siz onaylamalısınız.
İpucu: Risk temelli kodlama (target encoding) güçlüdür ama veri sızıntısına açıktır: bir kategorinin ortalama hasarını hesaplarken o satırın kendi hasarını dahil ederseniz model "hile" yapar. Bunu daima eğitim verisi içinde, çapraz doğrulama düzeninde yapın.
En sinsi tehlike: veri sızıntısı ve gizli önyargı
Veri sızıntısı (data leakage), modele tahmin anında gerçekte var olmayacak bir bilginin karışmasıdır. Klasik örnek: hasar tutarını tahmin eden bir modele "ödenen tazminat" gibi sonucu içeren bir değişken sokmak. Model test verisinde mükemmel görünür ama gerçek dünyada işe yaramaz, çünkü tahmin anında o bilgi yoktur. Sızıntı çoğu zaman gizlidir ve ancak dikkatli aktüeryal muhakemeyle yakalanır — YZ genellikle fark etmez, hatta bazen sızıntılı değişkeni "çok güçlü öngörücü" diye över.
İkinci sinsi tehlike gizli önyargıdır. Eğer geçmiş veri belli bir grubu adil olmayan biçimde temsil ediyorsa (örneğin bir bölgeye tarihsel olarak fazla poliçe reddedilmişse), o veriden türetilen özellikler bu önyargıyı taşır ve model onu geleceğe kopyalar. Özellik mühendisliği aşaması, bu önyargının fark edilip düzeltilebileceği en kritik andır.
Dikkat: Bir değişken "tahmin gücünü müthiş artırıyorsa" sevinmeden önce sorun: bu değişken tahmin anında gerçekten mevcut mu, yoksa geleceği mi içeriyor? Fazla iyi görünen sonuç çoğu zaman sızıntının işaretidir.
YZ'yi veri hazırlamada nasıl kullanırsınız
1) Veri kalitesi taraması:
Rolün: veri kalitesi asistanı.Aktüeryal poliçe verim var. Sütunlar: policy_id, start_date, end_date,age, region, vehicle_age, premium, claim_count, claim_amount.Bana bir kontrol listesi ve Python (pandas) kod taslağı ver:- Eksik değerleri sütun bazında say.- Mantıksız değerleri işaretle (negatif prim, age<16 veya >100, end<start).- Kesirli maruz kalımı (yıl olarak) start/end'den hesapla.Silme YAPMA; sadece raporla ki ben karar vereyim.
2) Özellik türetme:
Trafik verimden yeni özellikler türetmek istiyorum.Mevcut: age, vehicle_age, region, annual_km, usage_type.- Hangi yaş ve km gruplarını (binning) önerirsin, neden?- 'region' için risk temelli kodlamayı veri sızıntısı olmadan nasıl yaparım?- Denemem değerli 3 yeni özellik öner ve her birinin aktüeryal gerekçesini yaz.Kararı ben vereceğim.
3) Sızıntı denetimi:
Modelim şu değişkenlerle hasar OLASILIĞINI tahmin ediyor:age, region, vehicle_age, PAID_CLAIM_FLAG, SETTLEMENT_DAYS.Bu değişkenlerden hangileri veri sızıntısı (leakage) riski taşır?Her biri için tahmin anında mevcut olup olmayacağını değerlendir.Şüpheli olanları ve nedenini listele.
4) Maruz kalım normalizasyonu:
Poliçelerimin bir kısmı yıl ortası başlıyor. Frekansı doğru hesaplamak içinmaruz kalım (exposure) normalizasyonunu açıkla ve kodla:frekans = toplam claim_count / toplam exposure (poliçe-yıl).Yıl ortası başlayan poliçenin exposure'ını nasıl hesaplarım, örnekle göster.
Zayıf prompt / Güçlü prompt
Zayıf prompt:
Verimi temizle ve modele hazır hale getir.
YZ hangi sütunun ne olduğunu, iş kurallarını, maruz kalım tanımını bilmez; körlemesine silme ve doldurma yapıp veriyi bozabilir.
Güçlü prompt:
Rolün: aktüeryal veri hazırlama asistanı.Veri sözlüğü: policy_id (kimlik), start/end_date (poliçe dönemi),age (16-90 beklenir), premium (>0 olmalı), claim_count (>=0), claim_amount (>=0).Görev:1) Her sütun için makuliyet kuralı yaz ve ihlalleri RAPORLA (silme).2) Kesirli maruz kalımı hesaplayan kod ver.3) Eksik 'age' için 3 farklı stratejiyi (sil / ortalama / ayrı kategori) artı-eksisiyle sun; kararı bana bırak.4) Sızıntı riski taşıyabilecek sütun varsa uyar.Hiçbir kaydı otomatik silme; her kararı ben onaylayacağım.
Üç mini vaka
Vaka 1 — Maruz kalım hatası. Bir portföyde kısa süreli (3 aylık) seyahat poliçeleri tam yıl sayıldığından frekans olduğundan dört kat düşük göründü; fiyat yanlış düştü. Aktüer maruz kalımı kesirli hesaplayınca (0,25 poliçe-yıl) gerçek frekans ortaya çıktı ve tarife düzeltildi. YZ kesirli maruz kalım kodunu üretti; tanımı aktüer verdi.
Vaka 2 — Gizli sızıntı. Bir yardımcı, hasar olasılığı modeline "dosya kapanma süresi" değişkenini ekleyince doğruluk çarpıcı biçimde arttı. Sevinç kısa sürdü: bu değişken ancak hasar gerçekleştikten sonra bilinebiliyordu, yani tahmin anında yoktu. Sızıntılı değişken çıkarılınca model gerçekçi seviyeye indi. YZ değişkeni "güçlü öngörücü" diye övmüştü; aktüerin muhakemesi tuzağı yakaladı.
Vaka 3 — Önyargının kopyalanması. Bir şirket, geçmiş verisinden "başvuru reddi" örüntüsü türetip yeni modele koydu. Analiz, geçmiş retlerin belli bir mahalleye orantısız yoğunlaştığını, yani tarihsel bir önyargıyı içerdiğini gösterdi. Bu özellik modelden çıkarıldı ve daha nötr risk göstergeleriyle değiştirildi. YZ, örüntünün mahalleyle örtüşmesini ölçen analizi üretti; etik kararı aktüer ve uyum birimi verdi.
Sık yapılan hatalar
- Eksik değerleri düşünmeden ortalamayla doldurmak. Eksikliğin kendisi bilgi olabilir; körlemesine doldurmak önyargı yaratır.
- Aykırı değerleri otomatik silmek. Bazıları gerçek uç durumdur; veri hatası mı ayırmadan silmek bilgiyi yok eder.
- Maruz kalımı normalize etmemek. Kısa poliçeleri tam yıl saymak frekansı çarpıtır ve fiyatı bozar.
- Veri sızıntısını fark etmemek. Fazla iyi sonuç çoğu zaman geleceği içeren bir değişkenin işaretidir; her değişkenin tahmin anında mevcut olup olmadığını sorgulayın.
- Gizli önyargıyı geleceğe taşımak. Geçmiş verideki adaletsizlik türetilen özelliklere sızabilir; özellik aşamasında denetleyin.
Özetle
Aktüeryal modelleme büyük ölçüde veri hazırlamaktır; girdi bozuksa çıktı da bozuktur. Tipik sorunlar eksik değer, aykırı değer, tutarsızlık ve yinelemedir; aktüeryaya özgü kritik konu maruz kalım normalizasyonudur. Özellik mühendisliği — gruplama, kodlama, normalizasyon — veriden daha güçlü sinyaller türetir. En sinsi tehlikeler veri sızıntısı ve gizli önyargıdır; ikisi de ancak aktüeryal muhakemeyle yakalanır. YZ bu adımı büyük ölçüde hızlandırır: tarama, kod ve öneri üretir. Ama hiçbir kaydı otomatik sildirmeyin, sızıntı ve önyargı denetimini insan yapsın, her dönüşümü siz onaylayın.
Uygulama görevi
Küçük, anonim bir poliçe veri sözlüğü hazırlayın (5-7 sütun, her birinin makul aralığı). YZ'den (a) her sütun için makuliyet kuralı ve ihlal raporu kodu, (b) kesirli maruz kalım hesabı, (c) denenecek 3 yeni özellik önerisini isteyin. Ardından listeye bilinçli bir "sızıntı tuzağı" değişkeni (örneğin "ödenen tazminat") ekleyip YZ'nin bunu sızıntı olarak yakalayıp yakalamadığını test edin.
Kontrol listesi
- [ ] Eksik ve aykırı değerleri silmeden önce nedenini analiz ettim mi?
- [ ] Maruz kalımı kesirli ve doğru şekilde normalize ettim mi?
- [ ] Her yeni türetilmiş özelliğin aktüeryal gerekçesini yazdım mı?
- [ ] Her değişkenin tahmin anında gerçekten mevcut olup olmadığını (sızıntı) sorguladım mı?
- [ ] Türetilen özelliklerde gizli önyargı taraması yaptım mı?
- [ ] YZ'ye hiçbir kaydı otomatik sildirmeyip her kararı kendim onayladım mı?