Ağlar ve Mikroplar… Ne alaka!?

Hayat tanımının en ilginç olanını Amerikalı bir arkadaşımdan, Lauren’dan almıştım. Hayatı iplikçiklerden oluşan bir sicime benzetmişti, sarmal halinde.. Her bir iplikçik bir kişi ile kurduğun ilişki. Her ilişki o sicimi daha da kalınlaştırıyor, hayatını zenginleştiriyor.. Bazı noktalarda sicimden iplikçikler kopuyor, bazı yerlerde inceliyor bazı yerlerde kalınlaşıyor.. Sonuç olarak hayat bir networkler bileşkesi.

Network dilinde, iki şey arasında kurulan herhangi bir ilişki bir bağ oluşturuyor, o bağa isim veriyoruz, yani ilişkiyi tanımlıyoruz. O şeylere de düğüm diyoruz.. Bazen ilişki bir düğümden diğerini takip ederek ilerlerken bazen de sadece birleştiricilik görevi görüyor.

Temel olarak bir ağın iki temel bileşeni vardır.

1- Düğüm

2- Kenar (yani ilişki)

Internet, web sayfaları birer düğüm ve aralanındaki bağlantılar da kenar olacak şekilde kocaman bir ağdır. Ulaşım ağı, her şehir bir düğüm, şehri birbirine bağlayan yollar kenar olacak şekilde bir ağdır. Sosyal ağlar, kişileri ve çeşitlli ilişkileri gözönüne alarak bir ağ oluşturur. Örneğin, fikir alış veriş ağı da bir çeşit sosyal ağdır, fikir değişimi yapılan kişiler düğüm, fikir danışma eylemi ise kenar olarak tanımlanabilir.

Düğüm ve Kenar dışında ilişkiler üzerine değerler, ağırlıklar (weight) konabilir. Değerli ilişkiler yüksek ağırlıklı tanımlanabilir.

İlişkiler yönlü de tanımlanabilir. Örneğin, ulaşım ağında tek yön olan yollar için yönlülük tanımlaması yapılmalıdır. (directed, undirected network)

Benim ilgi alanımın girdiği ağ çeşidi ise Biyolojik Ağlar. Gen ağları, Protein etkileşim ağları, Metabolik ağlar, Sinir ağları gibi biyolojik ağlar tanımlanmış. Benim derdim ise mikroplarla. Çünkü artık mikrop dediğimiz şey bir dna topluluğu yani ATCG’lerden oluşan bir biyolojik data. Bir veri bilimcisi için de data datadır! 🙂

Peki mikroplar için nasıl ilişkiler mevcut olabilir? Mikrobik ilişkiler (Microbial association), mikropların ortamda bulunurluluğu, ne kadar bulunduğu gibi özellikleri ile belirlenmeye çalışılmış. İki farklı mikrobun farklı örnekte birlikte bulunması üç farklı yol düşünülebilir:

1) Benzerlik: Örneklerdeki iki farklı mikrobun dağılımı incelenip, birlikte bulunurlukları üzerine bir ilişki tanımlanabilir. Fakat Gerçek hayatta, bir mikrobun bir ortamda bulunması, farklı diğer mikropların da o ortamda bulunmasına bağlı olabiliyor. Burda 2) regresyon bir çözüm üretebilir. Çünkü regresyon ile bir mikrobun diğerlerine bağlı olarak bulunurluk seviyesi tahmin edilebilir. 3) seçenek ise veri madenciliği tekniklerinden kural çıkarımı (rule mining) tekniği ile mikropların bulunurluluğu üzerine bir kurallar dizisi çıkarılabilir.

Tabi bu tanımlanan ilişkiler bize mikroplar üzerine de ağlar örmemize olanak verir. Her bir mikrop bir düğüm olarak almak mümkün olamaz.. QIIME‘da %97 benzer olan mikroplardan OTU’lar oluşturulur. Referans veritabanı sayesindede otu’lara bir filum, sınıf, takım, aile gibi biyolojik sınıflandırmalar atanır. Bu biyolojik sınıflandırma bir düğüm olarak kullanılabilir. Birlikte bulunurluluk durumu da kenar olarak alınabilir. Kenarlar üzerine bulunuşluk oranları ağırlık olarak verilebilir. Mikropların kendi arasında oluşturduğu bu tarz ağlara “microbial co-occurance network” deniyor ve bu ağları oluşturmak için literatürde 5 farklı yöntem buldum:

  • Correlation and Regression Based
  • Graphical Model Inference
  • Local Similarity Analysis
  • Bayesian Networks
  • Mutual Information

Co-occurrance ağı kurmak istiyorsanız, bunlara detaylı bakabilirsiniz.

Şimdi olaya farklı bir açıdan bakalım….

Araştırmalarda, mikropların kendi içlerindeki ilişkileri dışında, çevreleri ve coğrafik konumları ile de ilişki içerisinde oldukları görüldü. Her yüzeyin kendine has bir mikrobik yapısı olduğu bunun da rastgele oluşmadığı görülmüş. Ayrıca her coğrafik konuma göre mikrobik toplulukların farklılaştığı görülmüş. Dolayısıyla, örnekler ve onların mikropları üzerine bir ilişki tanımlanabilir. Öyleki, İnsan Mikrobiyom Projesi ile görüldü ki insanın deri, ağız, dışkı, mide gibi farklı bölgelerinde karakteristik mikroplar yer almakta. Çevresel Mikrobiyom çalışmaları da çevre ile mikrobiyomu arasındaki ilişkiyi araştırmakta. Şimdi sorumuz şu: Çevresel Mikrobiyomdaki ağ yapısı nasıldır acaba?

811 total views, 1 views today

QIIME ile 16S rRna Analizi Örnek Çalışma

QIIME ve QIIME ile ne nasıl çalışılacağına dair daha önceden iki yazı yazmıştım. Artık öğrendiklerimizi uygulayacağımız bir veriseti bulalım ve işe koyulalım.

Hastane Mikrobiyom Projesinden bahsetmiştim yine. Bu projenin verilerini nasıl indirebileceğimizi de bir yazımda bahsetmiştim. Şimdi indirilen veri üzerinde OTU seçimi yapacağız ve Beta ve Alfa uzaklıklarını belirleyeceğiz. QIIME kullanarak örnekleri birbiri ile karşılaştırıp, hangi tür mikropları içerdiğini görsel olarak ifade edeceğiz. Doküman ingilizce olarak hazırlandı. Aşağıdaki başlıkları içermektedir.

QIIME ile 16S rRNA Veri Analizi Örnek Çalışması

16S rRNA SEQUENCING DATA ANALYSIS TUTORIAL WITH QIIME
How to Obtain Microbiome Data
How to Setup QIIME
Essential files for QIIME
Sequence File (.fna)
Quality File (.qual)
Mapping File
Basic Statistics on Sequence Data
Otu Picking
Basic Statistics on OTU Table
OTU Heatmap
Data Analysis
Summarize Communities by Taxonomic Composition
Investigating Alpha Diversity
Identifying Differentially Abundant OTUs
Normalizing OTU Table
Beta-diversity and PCoA
Jackknifed Beta Diversity Analysis
Make Bootstrapped Tree
Comparing Categories

924 total views, 1 views today

“Sağlam” Temel Bileşenler Analizi -Robust PCA

PCA bir şekli, görüntüyü ve ya hareketi tanımlamada kullanılan yaygın bir yöntem. PCA küçük kareler yöntemini kullandığı için aykırı noktalar işim içine girdiğinde iyi sonuç vermeyebilir. Sonucu çarptırabilir. PCA veriyi temsil etmek için rank’ı k olan alt uzay oluşturur.

Gerçek hayattada genelde resimler önünde “noise” yada “outlier” denecek bozulmalar -mesela resimdeki yüzün önünde el resminin olması gibi – olabilir. Bu gibi durumları göz önüne alarak bu noise veriden düşük boyutlu bir lineer alt uzay oluşturarak- Robust PCA – yöntemi geliştirilmiştir.

RPCA yönteminde birveri matirisini M = L + S şeklinde ikiye bölmek istiyoruz, öyle ki L low rank, S sparse matris (yani, çoğu 0 olan matris) olacak şekilde.

Uygulama:

1- Videodaki arkaplan ve öndeki nesnelerin ayrıştırılması için, arkaplan low rank matris olarak tanımlanabilir.

 

 

 

 

 

 

2- Yüz fotograflarındaki parlamayı silmek için kullanılabilir.

 

 

 

 

 

İlginç bir şekilde, fotograftaki kontrast değiştirildiğinde düşük boyutlu matris yüzü tanınacak şekilde ortaya çıkarabilir

 

 

 

 

 

 

Kaynak:

https://statweb.stanford.edu/~candes/math301/Lectures/rpca.pdf

http://perception.csl.illinois.edu/matrix-rank/introduction.html

866 total views, no views today

Veri Madenciliği : Özellik Seçimi için Temel Bileşenler Analizi (PCA)

Veri Madenciliği:  Boyutun Laneti yazısında belirttiğimiz gibi gerçek hayatta verideki özellikler genelde birbiri ile ilişkilidir. Örneğin, resimler üzerinde bir sınıflandırma yapacağımız zaman piksellerin r (kırmızı),g (green),b (blue) değerlerini kullanmak isteriz. Fakat kırmızı ışığa çok duyarlı olan kameralar bile biraz mavi ve biraz yeşil yakalar. Aynı şekilde, mavi ve yeşile duyarlı olanlar belli oranda kırmızı ışık yakalar. Dolayısıyla, kırmızı özelliğini veri setinden silmek, biraz mav ive yeşil verininide silinmesi demektir.

Özellikleri versetinden silmeden önce, özellikler tamamen ilişkisiz olacak şekilde başka bir boyuta transfer edilmelidir.

Örneğin, sol üstteki verisetinde (D olsun) köşede belirtilen korelasyon matrisi ile x ve y koordinantları birbiri ile ilişkilidir. Kovaryans Matrisi yazısında belirtildiği gibi kovaryans matrisi , ilişikisiz bir veri üzerinde döndürme ve ölçekleme fonksiyonları olarak parçalanabilir ve Korelasyon matrisin eigen vektörleri (V olsun) döndürme operatörü olarak tanımlanır. Sağ alttaki veriseti gibi (D’) ilişkisiz hale getirilebilir. Bu da Kovaryans matris ile eigen Vektörün çarpılması ile elde  edilir. 
D’ = V.D

Böylece D’ verisinde x’ ve y’ koordinantları ilişkisizdir. Birinin silinmesi diğerini etkilemez. Daha sonra eigen vektörler sayesinde veri eski haline dönüştrülebilir.

 

 

 

PCA en ilginç özelliğin en geniş varyansa ve yayılıma sahip olan olduğunu kabul eder. Bu enformasyon teorisine dayanır: geniş varyanslı özellik , o özellik için entropi’nin fazla olması bu da o özellikte bilginin fazla olması anlamındadır. Büyük eigen vektörler veriyi temsil ederken, küçük eigen vektörler, “noise” temsil eder. Büyük eigen vektörlere de “temel bileşen” adı verilir.  PCA ile boyu azaltma tekniği, veriyi kovaryans matirisinin en büyük eigen vektörü üzerine yansıtarak olur.

Verinin ilişkisiz özelliklerini bulmaktan vazgeçelim. Veriyi, verinin içinde bir alt uzaya yansıtmak isteyelim. Tabiki bu yansıtmayı yaparken, gerçek veri noktaları ile yansıtılmışlar arasındaki uzaklıkların minimize edilmesi, yani verimiz için hata payının en az hale getirilmesi hedeflenmelidir. Buna küçük kareler yöntemi denir.

Verileri alt uzaya yansıtacak en optimal vektör yine orjinal verinin kovaryans matirisinin en büyük eigen vektörü çıkar 🙂

Hadi hayırlı olsun yine döndük dolaştık olsun temel bileşeni bulduk 🙂

PCA Uygulaması

Bir yüz tanıma uygulaması için, bir dizi fotoğraf öğrenme verisi olarak sisteme verilir. Bir fotograftaki her pikselin parlaklığı özellik olarak alınabilir. Eğer her bir resim 32×32 ise 1024 boyutlu bir matrisimiz olur. Bir resim ile öğrenme dizisi içindeki resimlerim tek tek benzerliklerini hesaplamak, bu 1024 boyut üzerinden yapılır. Fakat uzaklık metrikleri bu yüksek boyutlarda etkisini kaybeder ve sağlıklı sonuçlar döndürmez, yani sınıflandırmada başarılı olunmaz. Boyut düşürmek için PCA uygulanır ise, istenilen sayıda temel bileşen alınarak, her 1024 -boyutlu eigenvektörler tekrar 32×32 resimlere dönüştürülebilir. Öğrenme setindeki diğer resimler bu eigenvektörlerden elde edilen resimlerin belli oranlarda katsayılar ile çarpılıp toplanması ile yani onların lineer kombinasyonundan oluşmaktaadır. İşte bu elde edilen resimler, veriseti içindeki resimlerdeki en bilgilendirici, tanımlayıcı bölgeleri gösteren resimlerdir.

Geriye kalan bir sorud aşu ki acaba kaç tane eigenvektör seçmeliyiz?  Fazla eigenvektör seçmek, overfitting denilen veriye çok benzeme durumu oluştururken, az seçmek de tanımlayıcı bilgi kaybına sebep olabilir. Bunun için net bir cevap yoktur fakat, çapraz validasyon yöntemi (cross-validation) parametre seçimi için kullanılabilir. Diğer yandan, seçilen eigen vektörler ile orjinal verideki varyansın ne kadarı açıklanabiliyor bunu gözlemlemeli. Bu da alınan eigen değerlerin tüm eigen değerlere bölünmesi ile bulunur.

PCA ile boyut azaltmanın tarifini veriyorum

  • Veriyi orijin’e taşı
  • Normalize et
  • Eigen vektörlerini bul. Bunun için SVD en çok kullanılan yöntemdir.
  • Veriyi en büyük eigen vektör üzerine yansıt. V en büyük eigenvektöri içeren matrs olsun. D orjinal veri matrisi olsun. D’=transpose(V).D . V içinden N tanesini seçmiş olalım, bunlara karşılık gelen eigen değerler de ei’ler olsun. Bu durumda orjinal verinin ne kadarını temsil ediyoruz, Tüm ei’lerin, seçilen ei’ler oranına bakarak görebiliriz.

pca

1,405 total views, 1 views today

Veri Madenciliği: Boyutun Laneti

Bu yazıda “Curse of Dimensionality” olarak bilenen boyutun laneti ve bu laneti bertaraf edebilecek tekniklerden bahsedeceğiz. Sonrasında boyut değil de verinin kendisini nasıl azaltabiliriz bundan bahsedelim.

Curse of Dimensionality – Yüksek Boyut Laneti

Veri analizinde bir çok şeye lanet ederiz aslında ama o lanetlerden en derinden olanı da boyuta gelir. Biz verilerimizi temsil ederken nitelikler belirliyoruz. Diyoruz ki metinleri tek tek kelimeler ile ifade ediyoruz. Resimleri tek tek pikseller ile ifade ediyoruz. Bu durumda nitelikler örneklerden fazlaca olmakta ve bu da bu laneti getirmekte.

20×20 alana el yazısıyla yazılmış sayıları düşünelim. 20×20 alanı temsil edebilmek için toplam 400 piksel olmalı ve bu piksellerin herbiri bir boyuttur. Biraz dikkatli düşünürsek, aslında sayıları 20×20 ‘lik alana el yazısıyla yazmak için 400 pikselin çok az bir kısmını kullanıyoruz. Genelde hep aynı kısımlar beyaz kalıyor. Eğer ki 20×20’lik alan üzerinde random bir resim üretilse soldaki şekil gibi bir şekil elde ederiz, ki random üretilen resimler arasında bir sayı ihtimali oldukça azdır. Aslında 400 pikselin bu 20×20 alanda sayıları temsil etmesi çok da etkili bir kullanım değildir yani verinin bu kadar boyutlu olmasına gerek yoktur.

pca1

Örneğin bir boyutlu ve 3 farklı sınıf içeren veri, 1 boyutlu uzayda ise uzay 3 bölgeye ayrılarak bölgeye düşen veri miktarı ölçülür. 2 boyutlu uzayda ise uzay 9 bölgeye ayrılarak bölgeye düşen veri miktarı ölçülür. 3 boyutlu uzayda 27 bölgeye ayrılarak bölgeye düşen veri miktarı ölçülür. Veri miktarı az ve boyutta yüksek ise çoğu bölgeye hiç veri düşmez. Bir çıkarım da yapılamaz. İşte bu da boyutun lanetidir.

pca2

 

 

 

Curse of Dimensionality ile Başa çıkma yöntemleri:

  1. Verinin konu alanı göz önüne alınarak bazı niteliklerden önemli olanları özellik olarak belirlenebilir ve veriyi temsilen o özellikler (feature) kullanılır.
  2. Boyutlar üzerinde bazı kabuller kurabiliriz.

AMAÇ: Veriyi daha az değişkenle temsil edebilmek tabiki verinin yapısını bozmadan.

İki temel yöntem var:

  1. Özellik Seçme (Feature Selection): verinin sınıfını iyi tahmin eden özellikleri seçmek. Örneğin, Information Gain iyi bir değerdir özellik seçmek için.
  2. Özelik Çıkartma (Feature Extraction): Tamamen yeni bir özellik seti oluşturmak demektir. Bu özellik seti, tüm verilerin bir fonksiyonudur. Özellik seti içerisindeki özelliklerin lineer kombinasyonu diğer verileri elde etmek için kullanılır.

Özellik Seçme (Feature Selection) Teknikleri

  1. Nitelik Altkümesi Seçimi (Attribute Subset Selection): Verilerin dağılımını çok bozmadan genel gereksiz niteliklerin atılmasıdır. İstatistiksel yöntemler kullanılır.
  •  Best-Single Attribute: En iyi nitelik seçilir diğerlerinden bağımsız olarak. Örneğin karar ağacında “önemlilik (significance)” değerine göre information gain hesaplanır ve iyi nitelik olarak alma kararı verilir.
  • Best Step-Wise: Önce en iyi nitelik seçilir. Sonra diğerleri buna bağlı seçilir.Ör: Karar ağacı
  • Setp-wise: tekrarlı olarak en kötü niteliği siler. Ör: Karar ağacı prunning.
  • Diğer bazı heuristic metotlar: Forward Selection, Backward Selection, Decision Tree Induction gibi.

2- Regresyon ve Log-Linear Model: Veriye yaklaşmayı sağlar.

  • Regresyon : Veri düz bir doğru üzerinde modellenir. y= mx+b . m ve b least square method denilen en küçük kareler yöntemi ile bulunur.
  • Log-Lineer
  • Dağınık veride kullanılabilir.
  • Regresyon çarpık veride daha iyi sonuç verir. Fakat fazla boyutlu veride uygulamak pahalidır.

3-  Histogram

  • Eşit aralıklı
  • Eşit sıklıklı yöntemlerini kullanarak veriyi parçalara bölerek ayrıştırır.

4- Kümeleme (Clustering): Kümelenmiş veriler için, küme içinden bir temsilci gerçek veriler yerine kullanılarak boyut azaltımı yapılabilir.

5- Örnekleme (Sampling)

 

Eğer verideki özellikler istatistiksel olarak birbirinden bağımsız ise, özellik seçme yöntemleri ile en az ayırıcı (discriminative) olan özellikler elenerek boyut azaltılabilir. Ama gerçek hayattabu pek de mümkğn değildir, genelde bir özellik birden fazla değişkene bağlı olabilir ve onlardan birinin elenmesi, ciddi veri kaybına neden olabilir. Buna çözüm olarak verilerin yapısını bozmadan özellik çıkartma teknikleri tercih edilebilir.

Özellik Çıkartma (Feature Extraction) Teknikleri – Boyut Azaltma (Dimensionality Reduction) Teknikleri

  1. Wavelet Transformation : Wavelet transformation X vektörünü alır Wavelet baş katsayıları ile sayısal olarak başka bir vektöre dönüştürür. Vektörün güçlü olan Wavelet katsayılarını içeren kısmı alınıp diğerleri atılabilir, böylece boyut azaltılabilir.
  2. Principle Component Analysis (PCA): n boyutlu veri içinde k <n olacak şekilde ortagonal vektorler arar ve bunları veriyi temsil etmek için kullanır. Diğer vektörler ortagonal vektörlerin lineer kombinasyonu şekilde yazılabileceğinden bu vektorlere “temel bileşen (principle components)” denir. Bu komponentler önem sırasına göre sıralanıp, en zayıf olanlardan elenerek boyut azaltımına gidilebililir. Önem sırası, verinin vektörler üzerine izdüşümünün varyansı göz önüne alınarak bulunur. Varyans ne kadar yüksekse vektör o kadar güçlüdür. Kovaryans matrisi PCA bulmak için kullanılır. Kovaryans’ın anlamı: iki değişkenin birlikte ne kadar değiştiğinin ölçümüdür. Kovaryans matrisi ile verideki herhangi bir vektörü çarptığımızda, belli bir vektöre doğru yakınlaşır ve belli bir noktadan sonra sabit kalır. İşte o yakınlaşılan vektör aslında veri izdüşümlerinin varyansının en fazla olduğu vektördür, bu bir eigenvektördür. Eigendeğeri en yüksek olan vektör PCA’lardan bir tanesidir. det(E-&I)=0  ile eigendegerler (&) bulunur. Ee=&e ‘den ile de e (eigenvektor) bulunur. Eigenvektörler bulunduktan sonra veriyi bu vektörler üzerine izdüşümünü alınır. Eigendegerler, baglı oldugu eigenvektorlerin varyansın ne kadarını açıkladığının büyüklüğüdür. en büyük eigendegere sahip olan ilk m Eigenvektor, total varyansın %…sını acıklayacak şekilde şeçilir. (genelde %90 veya %95).

PCA yöntemi

  • Sıralı veya sırasız veriye uygulanabilir.
  • Dağınık ve çarpık veride kullanılabilir.
  • Dağınık veri de Wavelet yönteminden daha iyidir.

Yöntemi kısaca tekrar edersek: Birbiriyle ilişkili (correlated hi-data) var diyelim. Bu veri origin’e çekilir. (0,0) noktası orta noktası olacak şekilde. Varyansın en yüksek olduğu boyut bulunur. Burdan kovaryans matrisi bulunur ve bunun yardımıyla eigendeger ve vektorler bulunur. varyansı belirlenen kesim noktası (threshold) kadar açıklayacak ilk m eigenvektor seçilir. Bu eigenvektörler üzerine verinin izdüşümüm alınır. böylece veri daha az boyutlu veri haline gelmiş olur.
pca_example

pca

 

 

 

 

 

 

 

 

 

 

PCpca4A dağılımların lineer düzlemlerde olduğunu varsayar. Non-linear dağılımlarda başarılı olamaz. Veri düz bir çizgi boyunca ve ya bir düzlem boyunca dağılmıyor ise, PCA çalışmaz.

 Sınıflandırma için PCA ve LDA (Linear Discriminant Analysis)

PCpca5A sınıf etiketini göz önüne almaz. Veriyi daha fazla temsil edebilmek için varyans çok olacak şekilde boyutunu azaltmaya çalışır. Başka bir doğru üzerine izdüşüm alındığında sınıfları ayrıştırmak daha kolay olabilir. Bu yönteme de LDA (Linear Disciriminant Analysis) denir. Mantık olarak çok PCA ile benzerdir. Öyle bir doğru bulunur ki iz düşümdeki sınıf ayrımı en yüksek olur. Sınıflandırmayı kolaylaştıracak şekilde veri boyutunu düşürmeye çalışır. Yandaki resimde kırmızı çizgi üzerine olan izdüşüm sınıfların ayırımı kolaylaştırmıştır.

pca6Ortalamaları farklı olan sınıflar için yukardaki şekil gibi izdüşümde ayrılma gerçekleşebilir. Fakat varyanları farklı ise LDA iyi sonuç veremez. Yani ortalamaları aynı olan iki farklı sınıf verileri için LDA doğrusu sınıflandırma için yardımcı olmaz. PCA daha iyi sonuç verir.  Ayrıca LDA dağılımları normal dağılım olarak varsayar.

Kaynaklar:

http://www.visiondummy.com/2014/04/curse-dimensionality-affect-classification/

416,281 total views, no views today

Kovaryans Matrisi

Kovaryans matrisi her bir değişkenin birbirleri ile  ilişkilerini anlatan simetrik bir matristir. Kovaryan birlikte hareket etmek anlamındadır. Matriste verilerin birbirlerine göre nasıl hareket ettiklerini göstermektedir.

Aşağıda 3 değişken için tanımlanmış kovaryans matrisi olsun.

300 400 200

400 100  0

200  0  400

Kovaryans matrisinin köşegenindeki sayılar her bir değişkenin varyansı ile aynıdır. Yani örnekler için en çok varyansa sahip olan 3. örnektir. Yani 3. örnektedeki veriler arasındaki ortalamadan sapma durumu, diğerlerinden daha fazladır.

Diğerleri ise kovaryans değerleridir. Örneğin, 2.örnek ile 3.örnek arasındaki kovaryans 0 çıkmıştır. Yani 2. örnekteki verilere bakılarak 3 örnekteki veriler  hakkında bir tahmin yapılamaz. 1.örnek ile 2.örnek arasındaki kovaryans,1.örnek ile 3.örnek arasındaki kovaryansın iki katı olduğundan, 2. örneğe bakarak – 3. örneğe nazaran – 1. örnek hakkında daha iyi bir tahmin yapılabilir. Kovaryans değerler arasındaki mesafeyi ve yönü göz önüne alır. Yani iki değer arasında farkın 10 olması veya 40 olması farklı kovaryans değerlerini işaret eder.

Lineer Dönüştürme

Herhangi bir data D, bir lineer dönüşüm ile D’ haline getirilebilir. Bu dönüşüm döndürme ve ölçekleme işlemleri ile yapılır. Yanı soldaki data lineer dönüşüm ile sağdaki hale getirilebilir. T bir lineer dönüşüm matrisi olsun.

T = RotatingMatrix(R).ScalingMatrix(S)     ve   Data= T.D’

 

 

 

 

 

Ölçekleme Matrisi eigen vektörler (v) ile yapılır. Dv = £.v ,    (£ eigendeğer)

 

Bir verinin kovaryan matrisi de döndürme ve ölçekleme olarak iki farklı matrise ayrıştırılabilir.

Kovaryans Matris = V.L.V’

V: Döndürme matrisi – Kolonları eigenvektörlerin oluşturduğu matris , V’: V’nin tersi

Kök (L): Ölçekleme Matrisi – Diagonal değerleri eigen değerlerden oluşan matris

Son Söz: Kovaryans matrisi verinin döndürülüp ölçeklenmiş bir lineer transformasyonunu ifade eder. En büyük eigen değere sahip eigen vektör varyansın çok olduğu yönü belirler.

Kaynak: http://www.visiondummy.com/2014/04/geometric-interpretation-covariance-matrix/

1,874 total views, 1 views today

Veri Madenciliği 1

dataVeri Madenciliği temelde iki amaç için kullanılır:

1- Tanımlayıcı (descriptive)

2- Tahmin Edici (predictive)

 

 

 

Veri Mandeciliği ile yapabilecekleri söyle listeleyebiliriz:

1- Karakterizyasyon (characterization): özelliklerin genel karakterizasyonu özetler.

2- Ayrımcılık (Discrimination): Özellikler arasındaki ayrımı ortaya koyar.

3- Sık tekrar eden desenler (frequent patterns): hangi özelliklerin bir arada var olduğunu ortaya koyar. Alışveriş sepeti analizi (market-basket analysis) gibi, hangi ürünlerin hangileri ile birlikte satıldığı gibi analizler yapılabilir.

4-  İlişkilendirme (association) : hangi özelliklerin hangileriyle daha ilişkili olduğunu ortaya koyar. E-ticaret sitelerinde ürün tavsiye etme sistemleri bu yöntem ile geliştirilebilir.

5- Regresyon (regression): sürekli bir fonksiyon modeli veya tahmini yapabilir.

6- Kümeleme (Clustering): Bir grup veriyi bir araya getirebilir, o küme için etiket üretebilir. Bir sitenin kullanıcılarını profilleri üzerinden kümeleme algoritmaları yardımı ile birbirine benzeyenler birarada gruplanabilir.

7- Sıradışılılık Analizi (Outlier Analysis): Nadir olan noktalar, sıradan bir nokta olmaktan daha ilginç bir şey olabilir. Kredi kartı sahtekarlığı tesbiti, ağ saldırısı tesbiti gibi uygulamaları

dm

 

 

 

 

kdd

771 total views, 1 views today

Kovaryans , Korelasyon , Regresyon

İki değişken “birlikte” nasıl davranıyor? Kovaryans, Korelasyon ve lineer regresyon bu soruya cevap olacak istatistiksel yöntemlerdir.

Korelasyon değişkenlerin hareket yönünü ve ilişkinin güçlülüğünü gösterirken, kovaryans iki değişkenin birbirine ne kadar benzerlikte hareket ettiğini gösterir.

Verimizi Scaterplot ile gösterdiğimizde x koordinatı bir değişkeni y ise diğerini gösterir. Grafikte nasıl bir desen görüyoruz? Bir doğruyu mu takip ediyor yoksa bir eğriyi mi? Eğer aşağıdaki ilk iki şekil gibi bir doğruyu takip ediyor ise burada korelasyondan bahsedebiliriz. İlk iki şekilde gösterilen veriler için Korelasyon vardır deriz. 3. şekil için ise korelasyon yoktur deriz. Korelasyon sadece lineer ilişkiler için kullanılır.

 

Değişkenler arasında korelasyon olmasa bile aralarında farklı bir ilişki olabilir.
nonlinear rel

 

 

 

 

 

Eğer korelasyon var ise, bu şu demektir: bir değişken artar/azalır iken diğeri de artıyor/azalıyor! İşte bu birlikte değişim “kovaryans” ile ölçülür. Kovaryans  birlikte değişmek anlamındadır ve değişkenler arasındaki ilişkinin yönünü analiz etmek için kullanılır.

Kovaryans formülü sonucu hesaplanan değer pozitif ise pozitif bir ilişki olduğu anlamına gelir, negatif ise negatif bir ilişki olduğu anlamındadır. Kovaryans değerinin büyüklüğü bir anlam ifade etmez, tamamen veriye bağlı olarak değişir.

Kovaryans vs. Korelasyon

  • Kovaryans iki değişken arasındaki yönü belirler. +, – ya da 0 olabilir.
  • Hesaplanan Kovaryans değeri için üst-alt sınırı yoktur, tamamen verisetindeki değerlere bağlıdır.
  • Korelasyon iki değişken arasındaki yön ve ilişkinin güçlülüğünü belirler.
  • Korelasyon, kovaryansın standartlaştırılmış halidir. Her zaman (-1,+1) aralığındadır.
  • Korelasyon Neden-Sonuç ilişkisi belirlemez! Örneğin, dondurma tüketimi ile suç oranlarının artılı arasında bir korelasyon bulunabilir. Fakat, dondurma tüketimi artışı ile şuç oranları artar diyemeyiz. Bunun altında yatan farklı bir neden, örneğin sıcaklıkların artması olabilir.
  • Korelasyonun yüksek olması bunun istatistiksel olarak geçerli olduğunu göstermez. Veri setinin büyüklüğüne göre bu test edilmelidir.

n: örneklem sayısı olsun. Korelasyon katsayısı = r = kovaryans (x,y)/std(x)*std(y)

Eğer | r |>= 2/kök(n) ise, gerçekten x ve y arasında bir ilişki olduğunu söyletebiliriz.

Regresyon

  • y=b0+b1x+e , x: bağımsız değişken , y: bağımlı değişken , e: hata
  • En küçük kareler yöntemi ile hata en az olacak şekilde b0 ve b1 değerleri hesaplanır.
  • Rkare (association of dependence) –>1 e yakınlaşmaası beklenir.
  • X: sıcaklık Y: dondurma tüketimi olsun. Dondurma tüketimi artışı ve sıcaklık arasındaki ilişki için Rkare =0.8 ise  Dondurma tüketiminin %80’ini sıcaklık ile açıklayabiliriz deriz.
  • Farklı bağımsız değişkenler ekleyerek multivariate regression yapılabilir. (Sıcaklık, ekonomik durum. vb.. dondurma tüketimi arasındaki ilişki)
  • NEDEN – SONUÇ ilişkisi belirlemez.

VERİ BİLİMİNDE NEDEN – SONUÇ İlişkisi 

Neden-Sonuç ilişkisi 2. sınıftan beri türkçe derslerinde gördüğümüz bir konu.

Yoğun kar yağışı yüzünden yolda kaldık. Gitmedim çünkü beni çağırmadı. Dikkat etmediğim için sütü taşırdım.

Cümlelerindeki anahtar kelimeler sayesinde bunun neden sonuç cümlesi olduğunu görüyoruz. Veri biliminde ise bu kadar basit değil neden-sonuç ilişkisi belirlemek. Bir şeyin bir şeye sebep olduğunu söylemek için bunların birbiri ile olan ilişkisinden emin olmamız gerekir. “A, B’ye neden oldu” denildiği zaman A ile B arasında bir dizi etkileşim olması gerekir ve bu etkileşimlerin tamamen tanımlanması gerekir. Örneğin, günümüzde küresel ısınmanın arttığını biliyoruz fakat buna nelerin sebep olduğunu tam olarak bilmiyoruz, Karbondiyoksit oranının artımıyla pozitif bir ilişkisi olduğunu biliyoruz mesela.

Son söz: Korelasyon, kovaryans ve regresyon bize yanlızca ilişkileri tanımlamak için yardımcı olan tekniklerdir, direk neden -sonuç ilişkisi tanımlamaz.

 

3,131 total views, 1 views today

Sevgili Bakteri Bulutumuz ile tanışalım..

Amsterdamda Micropia adlı bir müze açılmış ve mikrobiyoloji bilimini halk ile buluşturancak aktiviteler ve gösteriler yapılmakta:

Oregon universitesinde yapılan araştırmada, tamamen temizlenmiş bir odada oturan kişinin ortamın mikrobiyomunu nasıl değiştirdiği üzerine çalışmalar yapılmış..

Californiya Universitesi Davis’de ki mikrobiyom grubunun lideri olan Jonathan’ın konuşması Ted talk’ta:

Kaynak: http://labiotech.eu/micropia-museum-microbes-amsterdam/

269 total views, 1 views today

Mikrobiyom verileri için UniFrac Metriği

UniFrac filogenetik temelli uzaklık metriğidir.

Bir kişinin bağırsaklarındaki mikrobik canlılar ile başka bir kişinin bağırsaklarındaki mikrobik canlılar birbirinden tamamen farklıdır. Aslında bu canlılar evrimsel açıdan birbirlerine oldukça benzer yapıdadırlar, çünkü hepsi bağırsakta yaşayan bakterilerdir. Böyle bir durumda, bu iki mikrobiyom birbirinden tamamen farklı demek istemiyoruz. Bu açıdan daha duyarlı bir test için UniFrac metriği kullanılır. UniFrac ile beta uzaklık ölçümünde dendrogram ağacının diğer örneklerde var olamayan kısmı yani o ağaca özel olan kısmı hesaplamalarda kullanılır.

unifrac

  1. resimde iki topluluk da aynıdır. Uzaklık 0’dır.
  2. resimde iki topluluk arasında birbirinden biraz farklılık vardır. Farklılık cins ve filum seviyesinde değil, OTU ve ya tür seviyesindedir. Çünkü mor çizgiler iki topluluk için de ortaktır ve bunun anlamı evrimsel geçmiş olarak ortak özelliklere sahiplerdir demektir. D=0.5
  3. resimde iki topluluk birbirinden tamamen farklıdır.  D=1.0

Ağırlıklı Unifrac (Weighted Unifrac) metriği göreceli bolluk miktarını hesaba katar. Böylelikle her dal için hangi türlerin olduğunun yanında ne kadar olduğu bilgisi de vardır. Fazlaca bulunan türleri vurgular.

Ağırlıksız Unifrac (Unweighted Unifrac) yanlıza türlerin varlığı ve yokluğu bilgisini hesaba katar. Örnekler arasında aynı olan türleri vurgular.

QIIME’de toplulular arasındaki Beta uzaklığı hesaplayıp sonra veri PCoA kullanılarak 3 boyutlu bir şekilde görselleştirilir. PCA ile PCoA arasındaki fark, PCA öklit metriği ile yapılır, PCoA daha genel halidir ve istenilen herhangi bir metrik ile yapılır.

betadiv

  1. Tüm örneklerdeki tüm mikropları içeren filogenetik ağaç ile başlıyoruz.
  2. Her iki örnek arasındaki unifrac uzaklığı hesaplanır ve uzaklık matriksi kurulur.
  3. Bu uzaklık matrisi ile PCoA yapılır ve veri görüntülenir.

376 total views, 1 views today