Basit Doğrusal Regresyon (Simple Linear Regression)

flat-vector-illustration-web-analytics-vectflat-information-development-website-statistic-44869327Linear Regression, en basit supervised learning algoritmalarından biridir. Tahmin etmeye çalıştığımız Y değişkeni ile tahminleyici değişkenlerimiz X1,X2,…,Xn arasında doğrusal bir ilişki olduğunu var sayar. Ancak bir önceki yazıda da belirttiğimiz üzere gerçek regresyon fonksiyonu azaltılamaz hatalar yüzünden hiçbir zaman doğrusal bir metotla tam olarak modellenemez. Aşağıdaki grafikte mavi çizgi linear regression metodu sonucunda tahminlediğimiz fonksiyonu gösteriyor. Kırmızı eğri ise gerçek fonksiyonu gösteriyor. Biz X ve Y değişkeni arasında doğrusal bir ilişki olduğunu var sayarken gerçekte X ve Y arasında düzgün doğrusal bir ilişki olmadığını görüyoruz. Ancak yine de doğrusal bir metotla gerçek fonksiyona oldukça yaklaşabiliyoruz.

1

Bu metot aşırı derecede basitmiş gibi gözükse de hem kavramsal olarak hem de pratiklik açısından son derece yararlı bir metottur.

Aşağıdaki görsele bakıp biraz düşünelim ve şu soruları yanıtlamaya çalışalım:

  • Reklam bütçesiyle satışlar arasında bir ilişki var mı?
  • Reklam bütçesiyle satışlar arasındaki ilişki ne kadar güçlü?
  • Hangi medya satışlara katkıda bulunuyor?
  • Gelecek satışları ne kadar net ve doğru tahminleyebiliyoruz?
  • Aradaki ilişki doğrusal mı?
  • Reklam mecraları arasında bir sinerji var mı?

2

Basit Doğrusal Regresyon (Simple Linear Regression)

Şöyle bir modelimiz olduğunu var sayalım:

3

Burada olduğu gibi bir cevap değişkenini (Y) tek bir tahminleyici değişken ile (X) hesaplamaya çalıştığımız modeller basit doğrusal regresyon olarak adlandırılır. Cevap değişkenini birden fazla tahminleyici değişken kullanarak tahminlemeye çalıştığımız doğrusal regresyona ise çoklu doğrusal regresyon (multiple linear regression) denir. Bunu bir sonraki yazıda inceleyeceğiz. Bu yazıdaki ana konumuz basit doğrusal fonksiyon. Bu formülde 8 ve 9 bilinmeyen sabitlerdir ve sırasıyla intercept ve slope‘u temsil ediyor. Aynı zamanda bunlar regresyon katsayıları/parametreleri (regression coefficients/parameters) olarak da adlandırılır. 7 ise hata terimini temsil ediyor. Normalde 8 ve 9‘i bilmeyiz. Linear regression metodunu kullanarak bunları tahminlemeye çalışırız. Diyelim ki metodu uyguladık ve gerçek katsayılar için tahminimiz olan 5 ve 6‘i hesapladık. O zaman satışları şu şekilde tahminleyebiliriz:

4
Burada 10,  X=x iken gerçek Y değeri için tahminimizi gösteriyor. Üzerinde şapka olan miktarlar bizim tahminimizi temsil ediyor.

Peki bu katsayıları nasıl hesaplayacağız?

Diyelim ki 11 Y’nin i.ci x değeri için tahmini değeri olsun. O zaman 12 i.ci artığı (residual) göstersin.

O zaman residual sum of squares (RSS)‘i şu şekilde tanımlarız:

13

veya e terimlerini açacak olursak:

14

Least squares yaklaşımı RSS‘i minimize edecek 5 ve 6 katsayılarını seçer. RSS denkleminin sırasıyla  5 ve 6 için ayrı ayrı kısmi türevlerini (partial derivative) alıp sıfıra eşitlersek RSS‘i minizime eden değerlerin şunlar olduğunu görürüz:

15

Burada  16ve 17 ; yani sırasıyla y ve x nin ortalama değerlerini temsil ediyor.

Aşağıdaki grafik least squares uydurması(fitting) ile satışların TV reklam bütçesi üzerinden regresyonunu gösteriyor. Kırmızı noktalar gerçek satışları gösterirken mavi çizgi tahminimiz olan satışları gösteriyor. Herhangi bir nokta için gerçek değer olan kırmızı nokta ile tahminimiz olan mavi çizgi arasındaki dik uzaklık(gri çizgiler) 12‘yi veriyor. Dolayısıyla bu dik uzaklıkların karelerinin toplamını minimize etmek hatayı minimize etmek anlamına geliyor.

18

Hesaplanan Katsayıların Netliğini ve Kesinliğini Belirleme

Bir tahminleyicinin (estimator) standart hatası (standard error or SE), farklı örneklemeler (sampling) için o tahminleyicinin ne kadar değişiklik göstereceğini söyler.

Bunu anlamak için Merkezi Limit Teoremi (Central Limit Theorem)‘i bilmemiz gerekir. Bu teorem der ki, bir değişkenin dağılımı normal bir dağılım sergilemese bile bu değişkenden elde edilecek örneklemlerin ortalamalarının (veya oranlarının) dağılımları normal dağılıma yaklaşır. Bu şu anlama geliyor:

Bir veri setinden yeteri kadar veri içeren, çok sayıda örneklem (sample) oluşturuyoruz. İlgili değişkenin her bir örneklemdeki ortalamasını buluyoruz. Bu ortalamalar ilgili değişkenin gerçek dağılımından bağımsız olarak her zaman normal bir dağılım (normal distribution) sergiler. Daha sonra bu bulduğumuz ortalamaların ortalamasını alıyoruz. Ortalamalar normal dağıldığından bu bulduğumuz ortalama veri setinin bilmediğimiz gerçek ortalamasına çok yakın olması yani az miktarda sapması beklenir.

Bu sapmanın ne kadar olacağını hesaplamak için standart hata (standard error) formülünü kullanırız:

19

SE bize, hesapladığımız ortalama değerin gerçek değerden ne derece sapacağını söyler. Yukarıdaki formülden de görebileceğimiz üzere n arttıkça SE düşecektir. Yani ne kadar çok örneklem üretirsek SE düşer, sapma azalır, dolayısıyla tahminimiz gerçek değere daha çok yaklaşır.

Bu mantığı hesapladığımız regresyon katsayılarına uygulayacak olursak katsayılarımızın SE’lerinin şu şekilde olduğunu görürüz:

20

Burada  21 yani hatanın varyansını gösteriyor. Bu standart hatalar güven aralıklarını (confidence intervals) hesaplamak için kullanılabilir. En yaygın kullanılan güven aralığı %95’tir. %95 güven aralığını şu şekilde hesaplıyoruz:

22

Peki bu ne demek oluyor? Aynı popülasyondan farklı veri setleri (yani örneklemleri) alıp her bir veri seti için 6 regresyon katsayısını ve standart hatasını hesapladığımızda, yukarıdaki formülle her bir veri seti için elde ettiğimiz güven aralıklarının %95’i gerçek 9 katsayısını içerir. Burada tek bir güven aralığının %95 olasılıkla gerçek katsayıyı içerdiği kanısına varmaktır en sık yapılan hatalardan biridir. Güven aralığı veri setiyle değil örnekleme(sampling) ile ilgili bir hesaplamadır. Örneğin elimizdeki Satışlar ve TV Reklam bütçeleri verisinden yeteri kadar büyüklükte 100 örneklem ürettiğimizi varsayalım ve diyelim ki bu örneklemlerin her biri için 6‘in güven aralığını hesapladık. %95 güven aralığı demek oluyor ki bu 100 güven aralığından 95’i gerçek 9 katsayısını içeriyor. Dolayısıyla gerçek katsayıyı içermeyen bir güven aralığı oluşturma ihtimalimiz %5.

Hipotez Testi (Hypothesis Testing)

Standart hata aynı zamanda katsayıların hipotez testinde de kullanılabilir. En yaygın hipotez testi null hipotez testidir:

H0:    X ve Y değişeki arasında bir ilişki yoktur. (null hypothesis)

HA:    X ve Y değişkeni arasında bir ilişki vardır.(alternative hypothesis)

Bunu matematiksel olarak şöyle ifade edebiliriz:

H0 : β1 = 0  

vs

HA : β1 <> 0,

Böyle ifade ediyoruz çünkü eğer 9 = 0 ise model Y = 8 + 7 ‘ye indirgenir ve bu da X ile Y arasında ilişki olmadığı anlamına gelir.

Null hipotezi test etmek için bir t-statistic hesaplarız:

24

Bu t-statistic null hipotezin doğru olduğu varsayılarak hesaplanır. Yani X ve Y değişkeni arasında bir ilişki olmadığını, diğer bir deyişle 9‘in 0 olduğunu varsayıyoruz. Bu varsayımlar altında 6 katsayısının 0’dan ne kadar saptığını hesaplıyoruz. Bu hesaplama n-2 serbestlik dereceli(degree of freedom) t-dağılımına (t-distribution) sahiptir. Herhangi bir istatistiksel yazılımı kullanarak hesapladığımız t değerine eşit veya bundan büyük bir değer elde etme olasılığının kaç olduğunu bulabiliriz. Bu olasılığı p-value olarak adlandırırız. p-value t-statistic üzerinden hesaplandığı için t-statistic için varsayımlarımızın hepsi p-value için de geçerli. Yani bu iki değer null hipotezin doğru olduğu varsayılarak hesaplanır.

25

Yukarıdaki tabloda TV’yi kullanarak Satışları tahmin etmeye çalıştığımızda linear regression‘ın ürettiği sonuçları görüyoruz. Coefficient kolonuna baktığımızda regresyonun TV’ye 0.0475 katsayısını(6) atadığını görüyoruz. TV’nin SE‘si de 0.0027 olarak hesaplanmış. Bu değerin küçük olması gerçek katsayında sapmanın az olduğu anlamına gelir. t-statistic değeri ise coefficient’ın SE’ye bölünmesiyle elde edilir. Bu durumda TV için t-statistic 0.0475/0.0027 = 17.67 olarak hesaplanır. Bu da p-value değerinin çok düşük olduğunu söylüyor. Yani bu t-statistic değerini gözlemlemek o kadar düşük bir olasılığa sahip ki böyle bir değer elde ettiğimizde TV ve Satışlar arasında bir ilişki olmadığı hipotezini (null) TV ve Satışlar arasında bir ilişki olduğu hipotezininin (alternatif) lehine olacak şekilde reddederiz. Hipotez testindeki amacımız null hipotezi reddetmeye çalışmaktır. Elimizdeki veriler eşliğinde null hipotezi ya reddedemeyiz ya da reddederiz. Veriler null hipotezi reddetmemizi söylemiyorsa alternatif hipotezimizin bir önemi kalmaz; anca null hipotezi reddebiliyorsak alternatif hipotezimizin geçerli olduğunu varsayarız. Yani bir hipotezi ya reddedebiliriz ya da reddedemeyiz; hipotezi kabul etmek diye bir şey yoktur.

Modelin Genel Netliğini ve Kesinliğini Belirleme

Null hipotezi alternatif hipotezin lehine reddettiğimizde, modelimizin elimizdeki veriye ne kadar uyduğunu(fit) ölçümlememiz gerekir.

Aşağıdaki tabloda TV reklam bütçesini kullanarak Satışları hesaplmaya çalışan linear regression fonksiyonunun ürettiği bazı değerleri görüyoruz.

28

Şimdi bunları teker teker açıklayalım.

Residual Standard Error (RSE)

Her gözlem için bir hata terimi her zaman mevcuttur. Bu hataların varlığından dolayı, X ve Y arasındaki gerçek regresyon fonksiyonunu bilsek bile X’i kullarak Y’yi mükemmel bir şekilde tahminleyemeyiz. RSE hataların standard sapmasının bir hesaplamasıdır. Yani cevap değişkeninin gerçek regresyon fonksiyonundan ortalama olarak ne kadar sapacağını söyler.  RSE aşağıdaki formülle hesaplanır:

26

Formülde RSS’in  27 olduğunu hatırlayalım.

Yukarıdaki tabloda RSE değerinin 3.26 olduğunu görüyoruz. Bu demek oluyor ki her pazardaki gerçek satış adetleri gerçek regresyon fonksiyonundan yaklaşık olarak 3,260 adet sapıyor. Diğer bir deyişte, ürettiğimiz model doğru olsa ve 9 ve8 gerçek katsayıları bilinse bile TV reklamları üzerinden hesaplanan satış adetlerinde ortalama olarak 3,260 adet sapma olacaktır. Sapma miktarının kabul edilebilir olup olmadığı elimizdeki probleme göre değişiklik gösterebilir.

RSE modelin veriye uyum eksikliğinin (lack of fit) bir ölçümüdür aslında. Bu değer ne kadar küçükse model veriye o kadar iyi uyum sağlamıştır, ya da bu değer ne kadar büyükse model veriye o kadar az uyum sağlamıştır.

R-squared Statistic

RSE modelimizin veriye mutlak olarak uyum eksikliğinin bir ölçümüdür. Fakat RSE değeri Y’nin birim değerinde ölçüldüğünden iyi bir RSE değerinin ne olduğunu her zaman net değildir. R-squared statistic uyum için alternatif bir ölçümdür.  Her zaman bir oranı(proporsiyonu) temsil eder. Bu proporsiyon X kullanılarak Y’de açıklanabilen varyansın proporsiyonudur ve Y’nin biriminden bağımsız olarak her zaman 0 ile 1 arasında bir değer alır. 

R-squared‘i hesaplamak için şu formülü kullanırız:

29

Burada TSS (total sum of squares) 30 formülüyle hesaplanır. Buradaki 31 bütün y değerlerinin ortalamasıdır. Bu hesaplama bize şunu veriyor: eğer regresyon metoduyla y’yi tahminlemeye çalışmasayıp her bir değer için tahmini değer olarak ortalama değeri verseydik hatalarımızın karelerinin toplamı bu olacaktı.

RSS ise regresyon metoduyla hesapladığımız Y değişkenlerinin gerçek değerlerden farkının karelerinin toplamıydı.

TSS ile RSS arasındaki fark ne kadar büyükse regresyondan o kadar fayda sağlarız. RSS hiçbir zaman TSS’ten büyük olamaz. Bu durumda RSS‘in TSS‘den mümkün olduğunca küçük olması gerekir. Yani regresyon sonucu elde ettiğimiz hataların karelerinin toplamının daha düşük olması gerekir. Bu durumda r-square 1’e ne kadar yakınsa regresyon o kadar iyi sonuç vermiştir. Basit doğrusal regresyonda R-square X ve Y değişkenleri arasındaki korelasyona (correlation) eşittir. Ancak sonraki yazılarda ele alacağımız çoklu doğrusal regresyon (multiple linear regression) durumunda R-square’in çok daha dikkatli yorumlanması ve buna bağlı olarak bazı düzeltmelerin yapılması gerektiğini göreceğiz. Bu durumda model uyumunu ölçümlerken tek başına R-square’e bakmak yerine başka göstergelere de bakmamız gerektiğini göreceğiz.

Yukarıdaki tabloda bu örnek için R-square değerinin  0.612 olduğunu görüyoruz. Bu da demek oluyor ki satış değerindeki değişikliğin üçte ikisini TV değişkenini kullanarak açıklayabiliyoruz. Ancak R-squared 1’e yakın olmadığından tek başına TV değişkeninin satışlardaki değişikliği iyi derecede açıklayabildiğini söyleyemeyiz.

Kaynaklar:

İstatistiksel Öğrenme II – Modelin Netliğini Değerlendirme

15statistik ne yazık ki kesin kuralları olan bir disiplin değil. Herhangi bir metot bir veri setinde çok iyi sonuçlar üretebilirken başka bir veri seti üzerinde çok kötü sonuçlar üretebilir. Bu yüzden belirli bir veri seti üzerinde en iyi performansı veren metodu bulabilmek çok önemli bir konu. Pratikte istatistiksel öğrenmenin en çetrefilli olayı da tam olarak budur: doğru yaklaşımı ve metodu belirlemek. Bu yazıda, belirli bir veri seti için en iyi sonucu üreten istatistiksel öğrenme prosedürünü seçmemizde bize yol gösterecek birkaç önemli konsepti inceleyeceğiz.

Uyum Kalitesinin Ölçümü 

Bir istatistiksel öğrenme metodunun belirli bir veri seti üzerindeki performansını değerlendirmek için metodun ürettiği tahminlerin gerçek sonuçlarla ne kadar örtüştüğünü ölçümlememize yarayacak yöntemlere ihtiyacımız var. Yani, belirli bir gözlem için tahmin edilen cevap(reponse) değerin o gözlemin gerçek cevap(reponse) değerine ne kadar yakın olduğunu sayısallaştırmamız gerekiyor. Regresyon için, en yaygın olarak kullanılan ölçüm Ortalama Karesel Hata (Mean Squared Error-MSE)‘dır ve şu şekilde ifade edilir:

MSE

Burada 6(xi) 6‘in i numaralı gözlem için ürettiği tahmini gösteriyor. Tahmin edilen değerler gerçek değerlere ne kadar yakınsa MSE o kadar küçük olur; gerçek değerlerden ne kadar uzaklaşırsa MSE o kadar büyük olur. Yukarıda MSE, modeli uydurmak(model fitting) için kullanılan training veri seti kullanılarak hesaplanır ve training MSE olarak ifade edilmelidir. Fakat genellikle, metodumuzun training veri seti üzerinde ne kadar iyi sonuçlar ürettiğiyle ilgilenmeyiz. Bilakis training veri seti dışındaki verilerde(test) modelin ne kadar kesin sonuçlar ürettiğiyle ilgileniriz. Peki neden durum böyle?

Düşünün ki geçmişteki stok getirilerini kullanarak gelecekteki stok getirilerini tahminlemeye yaracak bir algoritma yaratmaya çalışıyoruz. Metodu geçtiğimiz 6 ay içindeki stok getirilerini kullanarak eğitiyoruz(train). Ancak metodumuzun geçtiğimiz haftaki stok getirilerini ne kadar iyi tahminlediğiyle ilgilenmeyiz pek. Daha ziyade gelecek hafta veya aydaki stok getirilerini ne kadar iyi tahmin edebileceğiyle ilgileniriz. Veya düşünün ki elimizde birçok hastanın klinik ölçüm verileriyle (kilo, kan basıncı, boy, yaş, aile geçmişi, vb.) diyabet olup olmadığına dair veriler olsun. Bu hastaların verilerini bir hastanın klinik verilerini kullanıp diyabet olup olmadığını tahminlemeye yarayacak bir istatistiksel öğrenme metodunu eğitmek(train) için kullanabiliriz. Pratikte, bu metodu belirli bir hastanın klinik verilerinden yola çıkarak diyabete yakalanma riskini tahmin etmede kullanabiliriz. Bu metodun, metodu eğitmek için kullandığımız hastaların diyabet olup olmadığını ne kadar iyi tahmin ettiğiyle ilgilenmeyiz çünkü zaten bu hastaların gerçekten diyabet olup olmadığını biliyoruz. Daha matematiksel ifade etmek gerekirse, düşünün ki istatistiksel öğrenme metodumuzu training veri setine uydurduk(fit) ve bir 6 tahmini ürettik. Bu 6‘i kullanarak 6(x1), 6(x2),…..,6(xn)‘i hesapladık. Eğer bunlar gerçek y1, y2,…..,yn değerlerine yaklaşık olarak eşitse MSE değeri o kadar küçük olacaktır. Fakat gerçekten 6(xi)~yi olup olmadığıyla ilgilenmeyiz. Daha önce görmediğimiz bir veri üzerinde(x0) modelimizin ne kadar gerçeğe yakın tahmin yaptığıyla ilgileniriz: 6(x0)~y0. Peki test MSE değerini minimum yapacak metodu nasıl bulacağız? Bazı durumlarda test veri seti hazır olarak verilmiş olabilir. O zaman modelimizi training veri setini kullanarak uydururuz(fit) ve sonrasında test veri seti üzerinde çalıştırarak sonuçlarına bakıp MSE’i hesaplarız; mininum test MSE değerini üreten metodu seçeriz. Fakat eğer test veri seti yoksa ne yapacağız? Bu durumda, training MSE değerini minimize edecek istatistiksel metodu seçmeyi düşünebiliriz. Genellikle training MSE ile test MSE yakından alakalı olduğu düşünüldüğü için oldukça mantıklı bir yöntem gibi gözüküyor olabilir. Ne yazikki bu stratejiyle ilgili temel bir problem var: minimum training MSE değerini üreten metodun minimum test MSE değerini üreteceğine dair hiçbir garanti yok. Açık olmak gerekirse çoğu istatistiksel öğrenme metodu özellikle training MSE değerini minimize edecek katsayılar(coefficients) üretecek şekilde optimize edilmiş ve tasarlanmıştır. Bu metotların düşük trainin MSE değerleri üretmesi gayet normal, ancak sıklıkla test veri seti üzerine uygulandıklarında daha büyük test MSE değerleri üretirler.

Örnek 1

Örnek 1

Yukarıdaki grafiği inceleyerek bu durumu açıklayalım. Sol taraftaki grafikte siyah ile çizilmiş eğri bizim gerçek 7 fonksiyonumuzu gösteriyor. Turuncu çizgi ile mavi ve yeşil eğriler ise bizim gerçek 7 fonksiyonu için tahminlerimizi göstersin ve bunların esnekliği(flexibility) sırasıyla artıyor olsun; yani mavi turuncudan, yeşil de maviden daha esnek olsun. Turuncu çizgi “linear regression” metodu ile elde edilen tahmindir; yani esnekliği görece azdır. Mavi ve yeşil eğriler ise ilerideki konularda ayrıntılı ele alacağımız “smoothing splines” metodu kullanılarak elde edilen tahminlerdir ve bu eğriler farklı düzleme seviyeleri (level of smoothing) kullanılarak üretilmişlerdir. Grafiğe dikkatli baktığımızda göreceğimiz üzere esneklik seviyesi arttıkça eğri gözlemlenen veriye daha çok uyum sağlar (fit). Yeşil eğri en esnek olan eğridir ve gözlemlenen veriye en çok uyumu sağlamıştır. Fakat, bu eğrinin gerçek 7 eğrisine çok da benzemediğini görüyoruz; çünkü gereğinden fazla kıvrımlı. Smoothing spline fit metodunun esneklik seviyesini değiştirerek aynı veriye bir çok farklı eğri uydurabiliriz.

Sağ taraftaki grafikte gri eğri ortalama training MSE değerini esnekliğin  bir fonksiyonu olarak göstermekte. Burada esneklik kavramı istatistiki jargonda serbestlik derecesi(degree of freedom) olarak adlandırılır. Turuncu, mavi ve yeşil kareler sol taraftaki ilgili eğrinin MSE değerlerini belirtmekte. Daha kısıtlayıcı ve dolayısıyla daha düz(smooth) eğriler daha kıvrımlı olanlara nazaran daha az serbestlik derecesine (degree of freedom) sahiptir. Training MSE değeri esneklik arttıkça monoton olarak azalır. Bu örnekte gerçek 7 doğrusal değil, ve bu yüzden turuncu çizgi gerçek 7‘i yeterince iyi tahminleyecek esnekliğe sahip değil. Yeşil eğri en düşük training MSE değerine sahip çünkü içlerinden en esnek olanı o. Bu örnekte gerçek 7 fonksiyonunu biliyoruz ve böylece test MSE değerlerini çeşitli esneklik seviyeleri için hesaplayabiliyoruz. (Elbette pratikte gerçek 7 fonksiyonu genellikle bilinmez; dolayısıyla bu örnekte yapacağımız hesaplamayı yapmak mümkün olmaz). Test MSE değeri sağ tarafta kırmızı eğri ile gösterilmekte. Esneklik seviyesi arttıkça training MSE değerine paralel olarak test MSE değeri en başta azalmakta, belli bir noktada test MSE değeri minimum olmakta ve o noktadan sonra test MSE değeri tekrar artmakta. Bu nedenle, turuncu ve yeşil eğriler yüksek test MSE değerine sahip. Mavi eğri test MSE değerini minimize etmekte ve sol taraftaki görselde de görülebileceği üzere zaten görsel olarak gerçek 7‘i en iyi tahmin eden de bu. Yatay kesikli çizgi azaltılamayan hatayı (irreducible error) Var(e) gösteriyor ve bu da bütün metotların ulaşabileceği minimum test MSE değeri anlamına geliyor. Dolayısıyla, mavi eğri ile gösterilen smoothing spline tahmini optimuma yakın bir tahmin.

Yukarıdaki görselin sağ tarafındaki grafikte görebileceğiniz üzere istatistiksel öğrenme metodunun esnekliği arttıkça training MSE değerinde monoton bir azalma gözlemlerken test MSE değerinde U şekli gözlemliyoruz. Bu durum, eldeki veriden ve kullanılan istatistiksel metottan bağımsız olarak istatistiksel öğrenmenin temel bir özelliğidir. Model esnekliği arttıkça, training MSE hep azalır ancak test MSE hep azalmayabilir. Bir metot düşük training MSE değeri üretirken yüksek test MSE değeri üretiyorsa, bu durum elimizdeki veriye “aşırı uydurma” veya tam adıyla “overfitting” yapıyoruz demektir. Bunun sebebi elimizdeki istatistiksel öğrenme prosedürünün training veri setindeki örüntüyü (pattern) çok yakından takip etmesidir ve bu örüntülerden bazıları gerçek 7 fonksiyonunun özelliğinden kaynaklanmayıp tamamıyla şans eseri oluşan örüntülerdir. Training verisine “aşırı uydurma” yaptığımızda, test MSE değeri çok büyük olacaktır çünkü training verisinde bulduğumuzu sandığımız örüntüler(rastgele hatalardan kaynaklanan) test verisinde bulunmayacaktır. Şunu da not etmek gerekiyor ki aşırı uydurma yapalım ya da yapmayalım, neredeyse her zaman training MSE değerinin test MSE değerinden düşük olmasını bekleriz çünkü çoğu istatistiksel öğrenme metodu direkt ya da dolaylı olarak training MSE değerini minimize etmek için tasarlanmıştır. 

 1

Örnek 2

Yukarıdaki grafik gerçek 7‘in yaklaşık olarak doğrusal olduğu başka bir örneği gösteriyor. Gene esneklik arttıkça, training MSE değerinin monoton olarak azaldığını, test MSE değerinin ise U şekli çizdiğini görüyoruz. Fakat, gerçek 7 fonksiyonu doğrusala yakın bir fonksiyon olduğundan, test MSE artmadan önce çok az bir miktarda azalıyor; dolayısıyla turuncu least square fit yüksek miktarda esnek olan yeşil eğriden daha iyi tahminleme yapıyor.

Aşağıdaki figür ise gerçek 7 fonksiyonunun doğrusal olmadığı bir örneği gösteriyor. Training ve test MSE eğrileri aynı davranışı(yani training azalırken test MSE değeri U şekli çiziyor) gösteriyor fakat bu sefer test MSE değeri artmaya başlamadan önce her iki eğride de hızlı bir düşüş gözlemleniyor.

2

Örnek 3

Pratikte genellikle sadece training MSE değerini hesaplayabiliriz; test MSE değerini hesaplamak çok daha zordur çünkü genellikle test verisi elimizde yoktur. Yukarıdaki üç örnekten görebileceğiniz üzere, minimum test MSE değerini üreten modelin esneklik seviyesi veri setinden veri setine ciddi derecede farklılık gösterebiliyor. Bu minimum test MSE noktasını hesaplamak için bir çok yöntem var. Bunlardan en yaygını cross-validation. İleriki yazılarda ayrıntılı olarak inceleyeceğimiz için şimdilik burada duralım.

Taraflılık-Varyans Dengesi (Bias-Variance Trade-off)

Test MSE değerinde gözlemlediğimiz U şekli istatistiksel öğrenme metotlarının birbirleriyle rekabet içinde olan iki özelliğinden kaynaklanıyor. Matematiksel kanıtlamayı burada yapmaya kalkarsak yazının amacını çok aşmış oluruz, fakat beklenen(expected) test MSE değerinin her zaman üç temel miktarın toplamına eşit olduğunu söyleyelim:

3

Burada  4 beklenen(expected) test MSE değerini gösteriyor ve bu da bir sürü farklı training veri seti kullanılarak hesaplanan 6‘erin test setleri üzerindeki MSE değerlerinin ortalamasına tekabül ediyor.

Bu denklem bize şunu diyor aslında: beklenen test hatasını minimize etmek için, aynı anda hem düşük varyansa hem de düşük taraflılığa(bias) erişebilen bir istatistiksel öğrenme metodu seçmemiz gerekiyor. Dikkat edilmesi gereken konu şu ki varyans yapısı gereği her zaman sıfıra eşit ya da pozitiftir ve karesi alınmış taraflılık(bias) da hiçbir zaman negatif olamaz. Bu yüzden, beklenen test MSE değeri asla 5‘nin yani azaltılamaz hatanın (irreducible error) altına inemez.

Bir istatistiksel öğrenme metodunun taraflılığı ve varyansı derken tam olarak neden bahsediyoruz? Varyans 6‘in farklı training veri setleri kullanılarak hesaplandığında ne kadar değiştiği ile ilgilidir. Training veri seti istatistiksel öğrenme metodunu uydurmak(fit) için kullanıldığından, farklı training veri setleri farklı 6‘ler üretecektir. Fakat ideal olarak gerçek 7 için olan tahminimizin farklı training veri seti kullandığımızda çok fazla değişmemesi gerekir. Eğer bir metot yüksek varyansa sahipse o zaman training veri setindeki küçük değişiklikler bile tahminimiz olan 6‘te büyük değişikliklere sebep olur. Genel olarak, daha esnek istatistiksel metotlar daha yüksek varyanslara sahiptir. Örnek 1‘deki yeşil ve turuncu eğrileri gözlemleyin. Esnek yeşil eğri gözlemleri çok yakından takip ediyor. Bu eğri yüksek bir varyansa sahip çünkü gözlemlerden herhangi birini değiştirdiğimizde hesapladığımız 6 fonksiyonu ciddi derecede değişir. Diğer yandan, turuncu “least squares” çizgisi ise göreceli olarak daha az esnektir ve dolayısıyla daha düşük varyansa sahiptir çünkü herhangi bir gözlemi değiştirdiğimizde bu değişiklik fonksiyonumuzda çok çok ufak bir değişikliğe neden olacaktır.

Taraflılık(bias) ise gerçek hayattaki bir problemi yaklaşık olarak olarak modellediğimizde modelimizin sebep olduğu hatadır. Bu hata seçtiğimiz model basitleştikçe artış gösterir. Örneğin, linear regression Y ve X1,X2, . . . , Xp arasında doğrusal bir ilişki olduğunu var sayar. Gerçek hayatta karşılaştığımız herhangi bir problemin böylesine basit bir doğrusal ilişkiye sahip olması çok az rastlanılan bir durumdur. Dolayısıyla linear regression 7‘i tahminlemede şüphesiz bir biçimde bir miktar taraflılığa sebep olacaktır. Örnek 3‘te gerçek 7 doğrusal değildir, bu yüzden ne kadar training verisine sahip olursak olalım linear regression kullanarak net bir tahmin yapmamız mümkün değil. Diğer bir deyişle linear regression bu örnekte yüksek taraflılığa sebep oluyor. Fakat Örnek 2‘de gerçek 7 doğrusala çok yakın ve dolayısıyla elimizde yeterince veri olduğunda linear regression kullanarak net bir tahmin elde etmemiz mümkün. Genel olarak, daha esnek metotlar daha az taraflılığa sebep olur.

Genel bir kural olarak, daha esnek metotlar kullandığımızda varyans artarken taraflılık azalacaktır. Test MSE değerinin artmasını ya da azalmasını belirleyen etmen bu iki miktarın göreceli değişimidir. Esnekliği artırdığımızda taraflılık en başlarda varyansın artış hızından daha hızlı bir şekilde düşecektir. Sonuç olarak beklenen test MSE değeri de düşecektir. Ancak, belirli bir noktadan sonra esnekliği artırmak taraflılık üzerinde çok düşük miktarda etki gösterecektir ve varyansı ciddi derecede artırmaya başlayacaktır. Bu olduğunda test MSE değeri artış gösterir. Bu olay yukarıdaki 3 örneğin sağ tarafındaki grafiklerde gösteriliyor.

8

Yukarıdaki görseldeki üç grafik 1.,2. ve 3. örneklerimiz için beklenen test MSE değeri denklemimiz için sonuçlarını gösteriyor. Mavi eğri çeşitli esneklik seviyeleri için karesel taraflılığı (squared-bias), turuncu eğri de varyansı gösteriyor. Kesikli yatay çizgi ise azaltılamaz hatayı5, gösteriyor. Kırmızı eğri ise bu üç miktarın toplamını yani beklenen test MSE değerini gösteriyor. Her üç örnekte de metodun esnekliği arttıkça varyans artıyor ve taraflılık azalıyor. Fakat, minimum test MSE değerine karşılık gelen esneklik seviyesi her örnek için ciddi derecede farklılık gösteriyor çünkü karesel taraflılık ve varyans hepsinde farklı hızlarlarla değişiklik gösteriyor. Soldaki grafikte en başlarda taraflılık varyansın değişim hızına kıyasla çok hızlı bir şekilde azalıyor ve dolayısıyla test MSE değerinde düşüşe sebep oluyor. Fakat ortadaki grafikte gerçek 7 doğrusala yakın olduğundan esneklik arttıkça taraflılıkta çok az bir azalmaya neden oluyor ve test MSE değeri çok az miktarda azalıyor ve sonrasında varyans arttığı için hızla artmaya başlıyor. Ve sağ taraftaki grafikte ise esneklik arttıkça taraflılıkta çok ciddi bir azalma oluyor çüknü gerçek 7 bu örnekte doğrusal olmaktan çok uzak. Ayrıca esneklik arttıkça varyansta da çok az bir artış gözlemleniyor. Sonuç olarak, test MSE değeri çok ciddi miktarda azalıyor ve belirli bir noktadan sonra çok az artış gösteriyor.

Bu durum taraflılık-varyans dengesi (bias-variance trade-off) olarak adlandırılıyor. Bir istatistiksel öğrenme metodunun düşük test MSE değeri üretebilmesi için hem düşük varyansa hem de düşük karesel taraflılığa sahip olması gerekiyor. Bu denge olarak ifade ediliyor çünkü son derece düşük taraflılığı olup son derece yüksek varyansa sahip bir metot veya tam tersini elde etmek kolay. Buradaki zorlayıcı nokta hem varyansı hem de karesel taraflılığı düşük olan bir metot bulmak.

Gerçek hayatta gerçek 7‘i genellikle bilmeyiz. Bu yüzden bir istatistiksel öğrenme metodunun test MSE değerini, taraflılığını ve varyansını hesaplamak çoğu zaman mümkün değildir. Yine de taraflılık-varyansa dengesini göz önünde bulundurmamız gerekiyor. Bunları nasıl hesaplayacağımıza dair metotları sonraki yazılarda ele alacağız.

Sınıflandırma (Classification) Olayı

Şimdiye kadar model netliğini tartışırken hep regresyona odaklandık. Fakat karşılaştığımız konseptlerin çoğu, mesela taraflılık-varyans dengesi, sınıflandırma metotları için de geçerli. Buradaki tek değişiklik tahmin etmeye çalıştığımız değişkenin artık sayısal bir değişken olmaması. Diyelim ki elimizdeki veri şöyle olsun: {(x1, y1), . . . , (xn, yn)} ve gerçek 7‘i hesaplamaya çalışalım. Burada y değişkeni kalitatiftir. Tahminimizin, 6, netliğini ölçmedeki en yaygın yaklaşım training hata oranıdır (training error rate) ve bu da tahmin ettiğimiz 6‘i training veri setine uyguladığımızda elde ettiğimiz hatalı tahminlerin tüm tahminlere oranıdır.

Capture

Üzerinde şapka olan y i.’ci gözlem için tahminimizi temsil ediyor. I fonksiyonu ise içindeki ifade doğru ise 1 değil ise 0 üretiyor. Dolayısıyla yukarıdaki fonksiyon bize yanlış sınıflandırılan gözlemlerin yüzdesini veriyor.

Burada da gene tahminimizin training veri seti üzerinde ne kadar iyi sonuçlar ürettiğinden ziyade test veri seti üzerinde ne kadar iyi sonuçlar ürettiğiyle ilgileniriz. İyi bir sınıflandırıcı(classifier) test MSE değeri minimum yapandır.

Bayes Sınıflandırıcısı (Bayes Classifier)

Test MSE değeri her bir gözlemi tahmin değişkenlerine bakarak en yüksek olasılıktaki sınıfa atayarak minimize edilir. Diğer bir deyişle x0 tahminleyici değişken vektörüne (yani X1,X2,…,Xp) sahip bir test gözlemini öyle bir j sınıfına atamalıyız ki

Pr(Y = j|X = x0)

değeri maksimum olsun. Bu ifade bir koşullu olasılık (conditional probability)‘dır ve şu şekilde ifade edilir: x0 verildiğinde Y’nin j’ye eşit olma olasılığı. Bu son derece basit sınıflandırıcı Bayes Sınıflandırıcısı(Bayes Classifier) olarak adlandırılır. Yalnızca iki sınıftan(sınıf1, sınıf2) oluşan problemlerde Bayes Sınıflandırıcısı bir gözlemi Pr(Y = 1|X = x0) > 0.5 ise birinci sınıfa değilse ikinci sınıfa atar.

9

Yukarıdaki grafik X1 ve X2 tahminleyici değişkenlerinden oluşan iki boyutlu bir uzaydaki bir örneği gösteriyor. Turuncu ve mavi halkalar iki farklı sınıfa ait olan training veri seti gözlemlerini gösteriyor. X1 ve X2‘nin her bir değeri için, cevap (response) değişkeninin turuncu veya mavi olma olasılığı farklılık gösteriyor. Bu örnek yapay olarak yaratıldığından verinin nasıl oluşturulduğunu biliyoruz ve X1 ve X2’nin her bir değeri için koşullu olasılık değerlerini hesaplayabiliyoruz. Turuncu alan Pr(Y = orange| X) > 0.5 olduğu alanı, mavi alan ise bu değerin 0.5’ten küçük olduğu alanı gösteriyor. Kesikli mor çizgi ise olasılığın tam olarak 0.5 olduğu yerleri gösteriyor. Bu çizgi Bayes Karar Sınırı (Bayes decision boundary) olarak adlandırılıyor. Bayes Sınıflandırıcısının tahminleri bu sınır tarafından belirleniyor: eğer bir gözlem bu çizginin turuncu tarafına düşerse turuncu sınıfa, mavi tarafında düşerse mavi sınıfa atanıyor.

Bayes Sınıflandırıcısı mümkün olabilecek en düşük test hata oranını üretiyor ve bu da Bayes hata oranı (Bayes error rate) olarak adlandırılıyor. Bu örnekte Bayes hata oranı 0.1304. Sıfırdan büyük çünkü sınıflar birbirleriyle bazı noktalarda çakışıyor. Bayes hata oranı regresyon ortamındaki azaltılamaz hataya denk geliyor. 

K-Nearest Neighbors

Teoride her zaman Bayes sınıflandırıcısını kullanmak isteriz. Ancak gerçek veriler için Y’nin X değerlerine bağlı koşullu olasılık dağılımını bilmeyiz; bu nedenle Bayes sınıflandırıcısını kullanmak imkansızdır. Bu yüzden, Bayes sınıflandırıcısı ulaşılamaz bir altın standarttır ve diğer metotlar bununla kıyaslanarak değerlendirilir. Y‘nin X‘e bağlı koşullu olasılık dağılımını hesaplamaya yönelik birçok yaklaşım var. Bunlardan biri de En Yakın K Komşu Sınıflandırıcısı(K-Nearest Neighbors or KNN)‘dır. Elimizde training ve test veri setleri olsun. Test verisetindeki bir gözlemin hangi sınıfa ait olacağını hesaplamak için KNN algoritması ilk olarak bu test gözlemine training veri setindeki  en yakın K gözlemi  (N0) bulur. Sonrasında bu en yakın K gözlemin sınıf dağılımını hesaplar.

10

Hesapladıktan sonra KNN sınıflandırıcısı Bayes kuralını uygular ve test gözlemini (x0) en yüksek olasılık değerine sahip sınıfa atar. 

11

Yukarıdaki görselle birlikte KNN metodunu açıklamaya çalışalım. Sol tarafta 6 mavi ve 6 turuncu gözlemden oluşan küçük bir training veri seti gösteriliyor. Amacımız x ile gösterilen gözlem için sınıf tahminlemek. Diyelim ki K değerini 3 olarak seçtik. KNN ilk olarak bu gözleme en yakın 3 gözlemi bulacaktır. En yakın üç gözlemden ikisi mavi biri ise turuncu sınıfa ait gözüküyor ve bu gözlem için tahminimiz 2/3 olasılıkla mavi sınıf 1/3 olasılıkla turuncu sınıf olarak hesaplanıyor. Dolayısıyla KNN bu gözlem için mavi sınıf tahminliyor. Sağ tarafta ise KNN metodunu K=3 ile mümkün olan bütün X1 ve X2 değerleri için uyguladık ve KNN karar sınırını (KNN decision boundary) belirledik.

Çok basit bir yöntem olmasına rağmen KNN şaşırtıcı bir şekilde çoğu zaman optimal Bayes Sınıflandırıcısına yakın sınıflandırıcı üretiyor.

Aşağıdaki figür KNN‘in K=10 ile 100 adet gözleme uygulandığında elde edilen karar sınırını gösteriyor. Gerçek dağılım KNN sınıflandırıcısı tarafından bilinmemesine rağmen, KNN karar sınırı Bayes karar sınırına çok yakın. Test  hata oranı KNN ile 0.1363. Bu oran Bayes hata oranı olan 0.1304’e son derece yakın!

K’nin seçimi KNN sınıflandırıcısı üzerinde son derece önemli etkilere sahip. Aşağıdaki görselde K = 1 ve K = 100 iken elde edilen KNN karar sınırını görebilirsiniz. K=1 iken karar sınırı son derece esnek ve Bayes karar sınırında olmayan bazı örüntüler bulmuş. Bu düşük taraflılığa fakat son derece yüksek varyansa sahip bir sınıflandırıcıya denk geliyor. K arttıkça, metot daha az esnek olmaya başlıyor ve doğrusala yakın karar sınırları üretmeye başlıyor. Bu düşük  varyanslı fakat yüksek taraflılıklı sınıflandırıcıya denk geliyor. 

12

Tıpkı regresyonda olduğu gibi, sınıflandırmada da training ve test hata oranları arasında güçlü bir ilişki yok.  K=1 olduğunda KNN training hata oranı 0 oluyor fakat test hata oranı oldukça fazla olabilir. Genel olarak, daha esnek sınıflandırma metotları kullandığımızda training hata oranı azalacaktır ancak test hata oranı azalmayabilir. Aşağıdaki figürde KNN test ve training hataları 1/K‘nin bir fonksiyonu olarak gösteriliyor.  1/K arttıkça yani K azaldıkça, metot daha çok esnekleşiyor. Regresyonda olduğu gibi, tranining hata oranı esneklik arttıkça hep azalıyor. Fakat test hata oranı gene U şeklini gösteriyor: en başta azalıyor(K=10 iken minimum oluyor) fakat belirli bir esneklik noktasından sonra tekrar artmaya başlıyor ve veriye aşırı uydurma (overfitting) gerçekleşiyor.

14

Hem regresyonda hem de sınıflandırmada, esneklik seviyesini doğru seçmek herhangi bir istatistiksel öğrenme metodunun başarısı için kritik derecede önemli. Taraflılık-varyans dengesi, ve bunun sonucunda oluşan U şeklinde test hata oranı bu seçimi zor bir işe dönüştürüyor. Test hata oranını hesaplamak ve optimum esneklik seviyesini seçmek için oluşturulan metotları ileriki yazılarda ayrıntılı olarak ele alacağız.

İstatistiksel Öğrenme – I

İstatistiksel öğrenme (Statistical Learning) veriyi anlamak için kullanılan birçok yönteme verilen genel bir addır.

Diyelim ki biz bir istatistik danışmanıyız ve bir müşteri tarafından belirli bir ürünün satışlarını artırmak için görevlendirildik. Elimizde Reklam (Advertising) adında bir veri olsun ve şunları içersin: bu ürünün 200 farklı marketteki satış verileriyle birlikte üç farklı medya (TV, radyo ve gazete) için reklam bütçeleri. Müşterimiz için ürünün satışlarını direkt olarak artırmak mümkün değil. Fakat bu üç farklı medya için ayrılan reklam bütçelerini kontrol edebilir. Bu yüzden, reklam ile satış arasında bir ilişki olduğunu belirleyebilirsek, müşterimizin reklam bütçesini bu üç medya için uygun bölüştürmesine ve bu sayede dolaylı olarak satışları artırmasına yardımcı olabiliriz.

Bu problemde reklam bütçeleri giriş değişkeni (input variable), satış ise çıkış değişkenidir (output variable). Giriş değişkenlerinin hepsi Xn ile gösterilir. Mesela X1 TV’yi, X2 radyoyu, X3 de gazeteyi göstersin. İngilizcede bu giriş değişkenleri birden fazla kelimeyle ifade edilebilir: predictors, independent variables, features, bazen de sadece variable. Çıkış değişkeni ise satış’tır ve genellikle cevap değişkeni (response variable) veya bağımlı değişken (dependent variable) olarak adlandırılır.

Aşağıdaki görsel her bir medyaya ayrılan bütçenin satış ile ilişkisini gösteriyor. Mavi çizgi ise simple least squares fit denilen yöntemle oluşturulan tahminlemeyi gösteriyor. Bu ve bunun gibi bir sürü yöntemi ayrıntılı olarak inceleyeceğiz.

1

Bu kavramı biraz genelleştirelim. Diyelim ki sayısal (quantitative) bir output değişkeni (Y)’ni gözlemledik ve elimizde p tane farklı input değişkeni var (X1, X2, X3, …, Xp).  Y ve X(X1, X2, X3, …, Xp) arasında bir ilişki olduğunu varsayıyoruz ve şu şekilde ifade ediyoruz:

2

Bu formülde f input değişkenlerinden oluşan bilinmeyen bir fonksiyonu ve sondaki E’ye benzeyen ifade ise input değişkenlerden bağımsız ve ortalaması sıfır olan rastgele hata terimini (random error term) temsil ediyor. Yani aslında f, X’lerin sağladığı sistematik bilgiyi temsil ediyor.

3

Yukarıdaki görselde sol taraftaki grafik 30 birey için Years of Education (yani eğitim derecesi) ve Income (gelir)‘ın nasıl ilişkili olduğunu gösteriyor. Years of Education arttıkça, yani eğitim seviyesi yükseldikçe, Income da artıyor. Ancak input değişkeni/değişkenlerini output değişkenine bağlayan gerçek f  fonksiyonu genellikle bilinmez. Bu durumda elimizdeki verilerden böyle bir f fonksiyonu hesaplamaya çalışırız. Öyle bir f fonksiyonu bulalım ki Years of Education verildiğinde Income’ı mümkün olduğunca doğru bir şekilde tahmin edebilsin. Bu örnekte Income tamamen bizim uydurduğumu bir veri olduğu için gerçek f fonksiyonunu aslında biliyoruz. Gerçek f fonksiyonu sağdaki grafikte mavi eğri ile gösterilmiş. Dikey çizgiler hata terimlerini (error terms) temsil ediyor. Hata terimlerinin bazıları çizginin altında ve bazıları çizginin üstünde kalıyor (yani f fonksiyonuna göre olması gereken output değerinden daha yüksek veya daha düşük oluyor), ve genel ortalamaları bu yüzden neredeyse sıfıra eşit oluyor. Bu örnekte gerçek f fonksiyonunu bilmemize rağmen tahminlemede hala hata terimlerinin olması en başta garip gelebilir, ama aslında hiç de garip değil. Bu konuya daha sonra geri döneceğiz.

Genellikle f fonksiyonu bir değil birden fazla input değişkeni içerir. Örneğin Income değişkeni Years of Education ve Seniority ile tahmin edilmeye çalışıldığında aşağıdaki gibi bir grafik ortaya çıkabilir:

4

Bu grafikte mavi yüzey tahminlemeye çalıştığımız f fonksiyonunu gösteriyor, kırmızı noktalar ise gerçek değerleri gösteriyor. Kırmızı noktalarla tahinlediğimiz f fonksiyonu arasındaki dikey çizgiler ise hata terimlerini temsil ediyor.

Sözün özü, istatistiksel öğrenme (statistical learning) aslında bu f fonksiyonunu tahminlemeyi sağlayan bir çok yöntemden oluşan bir disiplindir.

Neden f’i Hesaplamaya Çalışıyoruz ?

f’i hesaplamak istememizin iki ana sebebi var: tahminleme (prediction) ve çıkarsama (inference).

Tahminleme (Prediction)

Birçok durumda input değişkenleri (X) hazır olarak vardır, ancak output değişkeni (Y) kolaylıkla elde edilemeyebilir. Bu durumda, hata terimleri ortalama olarak sıfır olacağından, Y yi şu şekilde tahminleyebiliriz:

5

Bu formülte   6  gerçek f için tahminimizi, 7 ise gerçek Y için tahminimizi gösteriyor. Bu durumda 6 genellikle kara kutu (black box) gibi düşünülür çünkü tahminleme yaparken 6‘in tam olarak nasıl bir fonksiyon olduğuyla ilgilenmeyiz. Tahminlemede bizi ilgilendiren asıl şey hesapladığımız 6‘in ne kadar kesin ve doğru tahmin yaptığı.

Örneğin, X1,X2,X3…Xp bir hastanın kan örneğinin özelliklerini temsil eden değişkenler olsun ve Y de o hastanın belirli bir ilaca karşı ciddi derece olumsuz reaksiyon gösterme riskini belirten değişken olsun. Bu durumda X’leri kullanarak Y’yi doğru tahmin etmek ve yüksek Y’li (riskli) hastalara bu ilacı vermemek asıl amacımızdır.

7‘nin gerçek Y‘yi tahminlemedeki kesinliği (accuracy) iki miktara bağlıdır: azaltılabilir hata (reducible error) ve azaltılamaz hata (irreducible error). Genellikle bulduğumuz 6 gerçek f için mükemmel bir tahminleme olmaz ve bu kesin olmama durumu (inaccuracy) tahminlememizde hataya neden olur. Bu durumda oluşan hata azaltılabilir (reducible) hatadır çünkü 6‘in kesinliğini en uygun istatistiksel öğrenme tekniğini kullanarak iyileştirebiliriz. Fakat, gerçek f için mükkemmel bir tahminleme oluşturabilsek bile ( yani 7 = f(X) olsa ), tahminlememiz hala bir takım hatalar içerecektir. Çünkü Y aynı zamanda hatanın, 8, bir fonksiyonudur ve bu hata X’leri kullanarak tahminlenemez. Bu yüzden, 8‘nin değişkenliği tahminlememizi kesinliğini etkileyecektir. Bu azaltılamaz hata (irreducible error) olarak adlandırılır çünkü f’i ne kadar mükemmel tahminleyebilirsek tahminleyelim, 8‘den dolayı kaynaklanan hatayı azaltamayız.

Azaltılamayan hata neden hep sıfırdan büyüktür? 8 miktarı Y’yi tahminlemeye yarayan fakat bizim hesaba katmadığımız değişkenleri içeriyor olabilir. Bunları ölçümlemediğimizden f fonksiyonumuz tahminleme yaparken bu değişkenleri doğal olarak kullanamayacaktır. 8 miktarı aynı zamanda ölçülemeyen değişkenlikleri de içeriyor olabilir. Örneğin, bir ilaca karşı olan olumsuz reaksiyon riski aynı hasta için günden güne, ilacın üretim değişkenliğine göre veya hastanın o günkü genel durumuna göre değişkenlik gösterebilir. İki kişinin aynı yemeği yiyip birinin zehirlenip diğerinin zehirlenmemesi gibi, bu tarz değişkenlikler genellikle ölçülemez.

9

Yukarıdaki formülde;

  • Y, gerçek output’u
  • 7, tahminlenen output’u

temsil ediyor.

Y‘nin gerçek fonksiyon olan f(X) + 8 ‘ye, 7‘nin ise 6(X)‘e eşit olduğuna dikkat edin.

Çıkarsama (Inference)

Genellikle ilgilendiğimiz bir diğer şey de Y‘nin X değişkenlerindeki değişimden nasıl etkilendiğidir. Bu durumda f’i hesaplamak isteriz, ancak amacımız genellikle Y için tahminleme (prediction) yapmak değildir. Daha ziyade X ve Y arasındaki ilişkiyi tespit etmeyi amaçlarız. Bu durumda 6 kara kutu (black box) olarak düşünülemez çünkü çıkarsamada 6‘in tam olarak nasıl bir fonksiyon olduğu bizim için önemlidir. Bu durumda şu tarz soruları cevaplayabiliriz:

  • Hangi X değişkenleri Y ile ilişkili
  • Y ile herbir X değişleni arasındaki ilişki nasıl
  • Y ile herbir X değişkeni arasındaki ilişki doğrusal bir denklemle (linear equation) yeterli oranda özetlenebilir mi yoksa aralarındaki ilişki daha mı kompleks (doğrusal olmayan ilişki (non linear) )

Örneğin, direkt pazarlama (direct marketing) kampanyası yapmak isteyen bir şirket düşünün. Amaç demografik verilere dayanarak kampanyaya pozitif cevap verebilecek bireyleri tespit etmek. Bu durumda demografik veriler X (predictors) ve kampanyaya cevap(pozitif ya da negatif) Y ile temsil edilir. Şirket her bir input değişkeninin Y ile olan ilişkisiyle ilgilenmez; input değişkenleriyle kampanyaya cevabı ne kadar doğru tahmin edebildiğiyle ilgilenir. Bu tahminlemeye bir örnektir.

Diğer taraftan, daha önceden bahsettiğim advertising probleminde ise tahminlemeden ziyada çıkarsama bizim için önemlidir. Bu durumda her bir input değişkeni X için output olan satış değişkeninin (Y) nasıl etkilendiğiyle ilgileniriz. Hangi medya satışlara katkıda bulunuyor? Hangi medyadaki bütçe artışı satışları daha çok etkiliyor ?, Satıştaki ne kadar artış TV reklamlarındaki artışla ilişkili? gibi soruların cevabını bu şekilde verebiliriz. Başka bir örnek olarak bir müşterinin belirli marka bir ürünü alma ihtimalinin fiyat, mağaza lokasyonu, indirim oranı, rekabet fiyatı vb. gibi değişkenlerce nasıl etkilendiğini belirlemeye etmeye çalışalım. Bu durumda her bir input değişkeninin output değişkeni olan alma ihtimalini nasıl etkilediğiyle ilgileniriz. Örneğin fiyattaki bir değişim müşterinin alma ihtimalini nasıl ve ne derece etkiler ? Bunun cevabını bu şekilde verebiliriz.

Son olarak bazı modellemelerde amacımız hem tahminleme yapmak hem de çıkarsama yapmak olabilir. Örneğin gayrimenkul sektöründe bir evin fiyatını lokasyonu, o lokasyondaki suç oranı, sahile olan uzaklığı, hava kalitesi, okula yakınlığı, o civardaki gelir düzeyi, evin büyüklüğü, vb.  gibi değişkenlerce tahmin etmeye çalışabiliriz. Herbir input değişkeninin fiyatı nasıl etkilediğiyle ilgileniyor olabiliriz. Bu bir çıkarsama problemidir. Ama aynı zamanda bir evin özellikleri verildiğinde o evin fiyatını tahmin etmeye çalışıyor da olabiliriz. Bu da bir tahminleme problemidir.

Nihai amacımızın tahminleme mi, çıkarsama mı, yoksa her ikisi de mi olduğuna göre f’i tahminlemede farklı metotlar kullanırız. Örneğin lineer modeller (linear models) göreceli olarak daha basit ve yorumlanabilir çıkarsamalar sağlarken, diğer yöntemlere nazaran daha az kesinlikte tahminlemeler üretebilirler. Aksine doğrusal olmayan modeller (non-linear models) daha kesin tahminlemeler sağlarken, lineer modellere göre çok daha karmaşık olduklarından yorumlanmaları ve çıkarsama için kullanılmaları çok daha zordur.

Peki f’i Nasıl Hesaplayacağız?

Bu yazıda ve bundan sonraki yazılarda f’i hesaplamamızı sağlayan birçok doğrusal (linear) ve doğrusal olmayan (non-linear) yöntemlerden bahsedeceğiz. Fakat bütün bu yöntemlerin bazı ortak özellikleri var. Bunları inceleyelim.

Öncelikle elimizdeki veriyi her zaman training ve test olmak üzere iki parçaya bölüyoruz. Hangi yöntemi uygularsak uygulayalım yöntemimize f‘i nasıl hesaplayacağını öğretmek(train veya teach) için training veri setini kullanırız. Metodumuz bu veri setinden bilmediğimiz f‘i öğrenmeye çalışır ve bunun sonucunda tahmini bir f fonksiyonu üretir. Bu tahmini f fonksiyonu 6 ile ifade edilir. Yani öyle bir 6 bulmalıyız ki ürettiği tahmini 7 değerleri gerçek Y değerlerine mümkün olduğunca yakın olsun. 6‘i hesaplamada kullanılan bir çok istatistiksel öğrenme metodu parametrik (parametric) ya da parametrik olmayan (non-parametrik) olarak iki gruba ayrılabilir.

Parametrik Metodlar ( Parametric Methods)

Parametric metodlar model tabanlı iki adımdan oluşur:

1. İlk olarak, gerçek f‘in fonksiyonel formu ya da şekli ile ilgili bir varsayımda bulunuruz. Örneğin, f‘in doğrusal (linear) bir fonksiyon olduğunu varsayarsak tahminlemeye çalıştığımız fonksiyon şu şekli alır:

f(X) = β0 + β1×X1 + β2×X2 + . . . + βp×Xp

Bu bir doğrusal modeldir. f‘in doğrusal olduğunu varsaydıktan sonra, f‘i hesaplama problemini büyük ölçüde basitleştirmiş oluruz. Rastgele p boyutlu bir f(X) fonksiyonu hesaplamak zorunda kalmaktansa, sadece p+1 katsayıyı (coefficients, β0,β1,β2,…,βp) hesaplamaya çalışırız.

2. Modeli seçtikten sonra, training verisini kullanarak modeli eğiten (train) bir prosedüre ihtiyaç duyarız. Yukarıdaki doğrusal model örneğinde β0,β1,…βp parametrelerini modeli eğiterek(training veya fittin g olarak adlandırılır) hesaplamak isteriz. Bu parametreler için öyle değerler bulmalıyız ki tahminimiz gerçek Y değerine mümkün olduğunca eşit olsun:

Yβ0 + β1×X1 + β2×X2 + . . . + βp×Xp

Bu uydurma (fitting) işlemi için en yaygın yaklaşım ordinary least squares olarak adlandırılan bir yaklaşımdır. Fakat bunun dışında daha bir sürü yaklaşım vardır. Hepsini ileriki yazılarda ayrıntılı olarak işleyeceğiz.

Model tabanlı yaklaşımlar parametrik olarak adlandırılır: parametrik modeller f‘i hesaplama problemini sadece bazı parametreleri hesaplama problemine indirger. Bir miktar parametreyi hesaplamak, tamamen rastgele bir f fonksiyonu bulmaktan çok daha kolaydır. Fakat parametrik metotların en büyük potansiyel dezavantajı seçtiğimiz modelin genellikle bilmediğimiz gerçek f’le tam olarak eşleşmemesidir. Eğer seçtiğimiz model gerçek f’ten çok farklıysa o zaman tahminlememiz sağlıklı ve güvenilir olmayacaktır. Bu problemi çözmek için daha esnek (flexible) modelleri kullanabiliriz çünkü bu modeller f‘e bir çok farklı şekilde uydurulabilir (fitting). Fakat genel olarak, daha esnek bir modele fit etmek daha çok parametre hesaplamayı gerektirir ve bu modeller verideki hatayı (error) ve gürültüyü (noise) çok yakından takip etmesinden dolayı overfitting denilen duruma yol açabilir.

Örneğin elimizdeki income verisine parametrik bir metot uygulayalım ve aşağıdaki gibi doğrusal bir fonksiyona uyduralım (fitting):

income ≈ β0 + β1×education + β2×seniority.

İki input değişkeni ile output değişkeni arasında doğrusal bir ilişki olduğunu varsaydığımızdan, uydurma (fitting) problemi β0, β1 ve β2′yi hesaplama problemine indirgenmiş olur ve bunları da least squares linear regression metoduyla hesaplarız. Aşağıdaki grafik veriye uygulanan least squares fit‘i gösteriyor.

12

Yukarıdaki grafikten görülebileceği üzere modelimiz tam olarak istediğimiz gibi bir tahminleme yapmıyor çünkü gerçek f doğrusal olmayan, eğrisel bir forma sahip ve bu da doğrusal modellerle yakalanamaz. Gerçek f‘in doğrusal olmadığını aynı verinin yazının başlarında paylaşılan doğrusal olmayan model grafiğinden görebilirsiniz.

Parametrik Olmayan Metotlar ( Non-parametric Methods)

Parametrik olmayan metotlar gerçek f‘in fonksiyonel formuyla ilgili bir varsayımda bulunmazlar. Bunun yerine veriye mümkün olduğunca uyacak (fitting) bir f fonksiyonu hesaplamaya çalışırlar ve bunu yaparken mümkün olduğunca az keskin hatlı ve kıvrımlı fonksiyonlar üretmeye çalışırlar. Bu metotların parametrik metotlara kıyasla en büyük avantajı veriye daha düzgün ve net bir şekilde uyan (fitting) bir f fonksiyonu hesaplayabilmeleridir. Fakat bu metotlar iki büyük dezavantaja sahip: f’i hesaplama problemini parametrik metotlar gibi daha az sayıda parametre hesaplamaya indirgemedikleri için, net ve doğru bir şekilde f’i hesaplayabilmek için çok daha büyük boyutta veriye ihtiyaç duyarlar.

13

Yukarıdaki grafik parametrik olmayan bir metotla aynı veriye fit etmeyi gösteriyor.  Thin-plate spline olarak adlandırılan bu metot, f hakkında bir varsayımda bulunmuyor. Eldeki veriye en çok fit edecek şekilde bir f fonksiyonu hesaplamaya çalışıyor ve bu da yukarıdaki şekilde sarı ile gösteriliyor. Doğrusal fit ile karşılaştırıldığında bu metot gerçek f‘e çok daha yakın bir hesaplama sağlıyor. Doğrusal olmayan bir fit için smoothness düzeyini belirlememiz gerekiyor. Aşağıdaki grafik aynı metotun daha az smooth bir versiyonunu gösteriyor. Daha az smooth daha fazla fit‘e sebep oluyor ve hesaplanan f eldeki veriye daha net bir şekilde uyuyor. Bu istenmeyen bir durum aslında çünkü eldeki veriye mümkün olduğunca yakın bir hesaplama yaptığımız için yeni bir veri üzerinde hesaplamamız o kadar da net sonuçlar vermeyebilir! Genellikle f’i training veri setini kullanarak hesaplamaya çalıştığımızdan hesapladığımız 6 fonksiyonu training veri setindeki verilere en çok uyacak şekilde hesaplanacaktır ve bu da 6 fonksiyonunun test veri setinde (yani yeni veri setinde) hatalı tahminler yapmasına sebep olacaktır.

14

Tahminlemenin Kesinliği ile Modelin Yorumlanabilirliği Arasındaki Dengeyi Doğru Belirleme

f’i hesaplamak için kullanılan bazı metotlar, f‘i hesaplamada daha az farklı şekil oluşturduklarından, daha az esnek (less flexible) tirler. Örneğin linear regression göreceli olarak daha az esnek bir metottur çünkü sadece doğrusal fonksiyonlar üretebilir. Thin plate splines gibi metotlar ise daha fazla esnektir çünkü f‘i hesaplamada daha çok sayıda farklı şekil oluşturabilirler.

Peki esnek modeller f’i daha iyi hesaplayabiliyorsa neden esnek olmayan modelleri kullanıyoruz ? Bunun birkaç sebebi var. Eğer amacımız çıkarsama (inference) ise, daha az esnek (inflexible, restrictive) modeller daha kolay yorumlanabildiğinden tercih sebebimiz olabilir. Eğer ana amacımız tahminleme (prediction) yapmak ise, o zaman daha esnek bir modeli tercih edebiliriz. Ancak bazen esnek olmayan modeller daha kesin tahminlemeler yapabilir! Çünkü daha esnek modeller potansiyel olarak overfitting problemine sebep olabilirler.

Gözetimli (Supervised) vs. Gözetimsiz (Unsupervised) Öğrenme

Çoğu istatistiksel öğrenme problemi iki kategoriye ayrılır: gözetimli (supervised) ve gözetimsiz (unsupervised).

Gözetimli öğrenmede, output değişkenimiz(Y) belirlidir ve input değişkenleriyle bu Y output değişkeni arasında bir ilişki bulmaya çalışırız. Y output değişkeni öğrenme işleminde bize yol gösterir (supervising). Linear regression, logistic regression, generalized additive models, boosting ve support vector machines(SVM) gözetimli öğrenme kategorisinde yer alır.

Ancak gözetimsiz öğrenme daha zorlu bir süreçtir. Bu durumda Y output değişkeni yoktur. Dolayısıyla öğrenme sırasında modele yol gösterecek bir değişken yoktur. Clustering gözetimsiz öğrenme kategorinde yer alır. Aşağıdaki grafik bir clustering grafiğini gösteriyor. Eldeki verilere dayanarak bir entity’nin hangi kategoriye gireceğini tahmin etmeye çalışıyoruz. Aşağıdaki üçgen, artı ve daire farklı grupları gösteriyor.15

Bütün bu metotları ileriki yazılarda ayrıntılı olarak işleyeceğiz.

Regresyon (Regression) vs. Sınıflandırma (Classification) Problemleri

Değişkenler niceliksel (quantitative) ve niteliksel (qualitative) olmak üzere iki ana grupta toplanabilir. Output değişkenimiz niceliksel bir değişkense problemimiz regresyon problemi, niteliksel bir değişkense sınıflandırma problemi olarak adlandırılır.

Kaynaklar:

  • Data Mining and Analysis: Fundamental Concepts and Algorithms
  • An Introduction to Statistical Learning: with Applications in R