Sayfalar

Cumartesi, Nisan 16, 2016

Poincare Plot Feature Extraction 1

Nasettin hocaya sormuşlar hocam sizin bir icadınız varmı ?
hoca ;
 Karla ekmek yemeği icat ettim ama sonra bende beğenmedim bıraktım 
demiş.
Feyiz kaynağımız Nasrettin hocamızdan çok şeyler öğrenmdiğimizi blog'umuzu takip edenler bilir.
Bizimde naçizane bir icadımız oldu. Zaman serisi tipindeki veriler için bir öznitelik çıkarma metodu. Aslında EEG verileri için kullandıkda
Yapay Sinir Ağları ile Epilepsi İçin Otomatik EEG analizi

Yazıya okuduysanız işimizi görmüş bir öznitelik çıkarma olarak görünüyor. Fakat tabii ki genelleştirmek için kesinlikle yetersiz. Aradan epey bir vakit geçti, hep bir bakayım diyorum bir türlü vakit bulamıyorduk. Bu günlerde biraz vakit bulunca ucundan kıyısında anlatmaya ve kodu pythona çevirmeye başladık.

Öncelikle Zaman serisi tipindeki veriler çok yaygın ve çok çeşitli. Bu yüzden envai çeşit  öznitelik çıkarma metodlarıda mevcut elbette. Bir kısmından bahsetmiştik
Zihin Egzersizleri 2 


Konuya geçelim denemeler yapmak için önce seriler oluşturalım.



resimlerden çizilmiş bu serileri görünüşleri ile ayrıştırabiliyoruz. Bu haliyle kullanımı pek mümkün değildir. Elbette sabit bir genişlikteki veriyi seçip kullanabiliriz fakat verinin seçeceğimiz kısmına göre veri bir ileri veya geri gitmek bile veri vektörünü nerdeyse tamamen değiştirir.

Poicare Plot  adını fransız matematikçi H. Poincare den alan bir metoddur.  Basitçe anlatırsak

X1, X2,... Xn 
şeklindeki bir zaman serisinin  2 boyutlu bir koordinat sisteminde  sırayla
 (X1, X2 ) ,   (X2, X3 ) ,  (X3, X4) , .... ,   (Xn-1, Xn )

noktalarının  çizilmesidir.

 Yukardaki serilerin Poincare Plot metoduyla çizimlerini görelim

belki bir parça daha kolay ayrıştırılacak halde . Bu haliyle kullanımını görmekteyiz. Mesela tıp alanında  kalp atım hızı değişkenliği - Heart Rate Variability -  analizlerinde kullanılıyor

İnternette ufak bir aramayla pek çok makaleye ve çalışmaya rastlaya bilirsiniz
bir örnek verip geçiyoruz.

Poincare Plot Used As Confirmative Tool In Diagnosis Of Left Ventricular Diastolic Dysfunction For Diabetic Patients With And Without Myocardial Ischemia

Biz burdakilerden farklı metodla bu grafik üzerinden öznitelik çıkarmayı deneyeceğiz. İlk aşamada noktalar arasında vektöreler oluşturacağız. Vektör büyüklüğü ve yönü üzerinden histogramlar çıkaracağız. Sonrasında bir birini takip eden vektörler üzerinden iki boyutlu histogram çıkaracağız.

Yukardaki kadarıyla kodu

github.com/birolkuyumcu/Poincare-Plot

adresinden IPython notebook olarak inceleyebilirsiniz.

Şimdilik bu kadarını yazalımbırakalım. Devamını yazmaya kudretimiz ve dahi şevkimiz olursa devam edecek İnşallah

1 yorum:

Unknown dedi ki...

Birol abi epeydir yazmıyodun her hafta bakıyodum bikaç haftadır bakmadım gelmiş iki yazı :) baya heycanlandım abi emeğine sağlık harika olmuş yazı hele pythonla olunca daha bi harika olmuş :) keşke senin gibi hocalarımız olsaymış okulda