{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# AST416 Astronomide Sayısal Çözümleme - II #\n", "## Ders - 05 Model Karşılaştırması ve En İyi Modelin Seçimi ##" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Doç. Dr. Özgür Baştürk
\n", "Ankara Üniversitesi, Astronomi ve Uzay Bilimleri Bölümü
\n", "obasturk at ankara.edu.tr
\n", "http://ozgur.astrotux.org" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Bu derste neler öğreneceksiniz?#\n", "## Model Karşılaştırması ve En İyi Modelin Seçimi ##\n", "\n", "* [Merkezi Limit Teoremi](#Merkezi-Limit-Teoremi)\n", "* [Hipotez Testi](#Hipotez-Testi)\n", " * [Örnek: CoVid 19 aşısı](#Örnek:-CoVid-19-aşısı)\n", " * [Güven Aralığı ve Güven Düzeyi](#Güven-Aralığı-ve-Güven-Düzeyi)\n", " * [Örnek: Gaia Paralaksları](#Örnek:-Gaia-Paralaksları)\n", " * [p Değeri](#p-Değeri)\n", " * [Örnek:-p Değeri](#Örnek:-p-Değeri)\n", " * [Hipotez Testinde Tip I ve Tip II Hataları](#Hipotez-Testinde-Tip-I-ve-Tip-II-Hataları)\n", " * [İstatistiksel Anlamlılık Seviyesi](#İstatistiksel-Anlamlılık-Seviyesi)\n", "* [t Dağılımı](#t-Dağılımı)\n", " * [Örnek:-Gaia Paralaksları-t-dağılımı-Yaklaşımı](#Örnek:-Gaia-Paralaksları-t-dağılımı-Yaklaşımı)\n", "* [Serbestlik Derecesi](#Serbestlik-Derecesi)\n", "* [Model ve Artıkları](#Model-ve-Artıkları)\n", " * [Artıklarda Değişen Varyans](#Artıklarda-Değişen-Varyans)\n", "* [Bir Modelin Başarımına İlişkin Parametreler](#Bir-Modelin-Başarımına-İlişkin-Parametreler)\n", " * [Gecikme Grafikleri](#Gecikme-Grafikleri)\n", " * [Gecikme Grafikleriyle Model Uygunluğu Testi](#Gecikme-Grafikleriyle-Model-Uygunluğu-Testi)\n", " * [Çapraz Korelasyon ve Otokorelasyon](#Çapraz-Korelasyon-ve-Otokorelasyon)\n", " * [Verinin Rastgeleliğinin Testi](#Verinin-Rastgeleliğinin-Testi)\n", " * [Dönemli Değişimlerin Gecikme Grafikleri](#Dönemli-Değişimlerin-Gecikme-Grafikleri)\n", " * [Gecikme Grafiklerinde Aykırı Değer Yakalama](#Gecikme-Grafiklerinde-Aykırı-Değer-Yakalama)\n", "* [Durbin Watson İstatistiği İle Model Başarımı Testi](#Durbin-Watson-İstatistiği-İle-Model-Başarımı-Testi)\n", "* [$\\chi^2$ Dağılımı ve $\\chi^2$ Testi](#$\\chi^2$-Dağılımı-ve-$\\chi^2$-Testi)\n", " * [Örnek: $\\chi^2$ Testi](#Örnek:-$\\chi^2$-Testi)\n", " * [$\\chi^2$ Testinin İki Örnek Dağılımın Aynı Dağılımdan Türeyip Türemediğinin Kontrolü için Kullanılışı](#$\\chi^2$-Testinin-İki-Örnek-Dağılımın-Aynı-Dağılımdan-Türeyip-Türemediğinin-Kontrolü-için-Kullanılışı) \n", " * [Özet: $\\chi^2$ Testi](#Özet:-$\\chi^2$-Testi)\n", " * [Testin Uygulanışı](#Testin-Uygulanışı)\n", " * [Örnek: Doğru Uyumlama](#Örnek:-Doğru-Uyumlama)\n", "* [F Dağılımı ve F Testi](#F-Dağılımı-ve-F-Testi)\n", " * [Örnek 1: F Testi](#Örnek-1:-F-Testi)\n", " * [Örnek 2: Model Karşılaştırması İçin F Testi](#Örnek-2:-Model-Karşılaştırması-İçin-F-Testi)\n", "* [Varyans Analizi ANOVA](#Varyans-Analizi-ANOVA)\n", " * [Örnek Varyans Analizi](#Örnek-Varyans-Analizi)\n", "* [Akaike Bilgi Kriteri](#Akaike-Bilgi-Kriteri)\n", " * [Örnek: Akaike Bilgi Kriteriyle Model Karşılaştırması](#Örnek:-Akaike-Bilgi-Kriteriyle-Model-Karşılaştırması)\n", "* [Bayesian Bilgi Kriteri](#Bayesian-Bilgi-Kriteri)\n", "* [Kaynaklar](#Kaynaklar)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Merkezi Limit Teoremi #\n", "\n", "Olasılık teorisinde, Merkezi Limit Teoremi (ing. Central Limit Theorem, CLT), herhangi bir rastgele değişenin kendisi normal dağılıyor olması dahi, o rastgele değişenin olası tüm değerlerinden oluşturulan çok sayıdıa örnekleminin ortalamalarının (bu örneklemlerin kendisi de normal dağılmak zorunda değildir) normal dağılacağını söyler. Teorem olasılık teorisinde büyük önem taşır. Çünkü teoremden normal dağılımlar için geçerli olasılıksal ve istatistiksel yöntemlerin diğer dağılım türlerini de içeren birçok probleme uygulanabileceği sonucu çıkarılabilir. Diyelim ki seçilmiş 1000 Sefeid türü değişenin zonklama dönemleri normal dağılmıyor olabilir. Ancak çok sayıda (örneğin 100'er tane) Sefeid içeren çok sayıda örneklemin (örneğin 100 küresel kümenin) ortalama zonklama dönemlerinin dağılımına bakıldığında normal dağılım gösterdikleri görülür. Normal dağılım ve örnek için [bkz.](http://ozgur.astrotux.org/ast416/Ders_02/Ders02b_Temel_Istatistiksel_Kavramlar_Dagilimlar.html#Normal-Da%C4%9F%C4%B1l%C4%B1m-ve-Gauss-Fonksiyonu)\n", "\n", "Bir örnekle merkezi limit teoremini görselleştirerek anlamaya çalışalım. Pek çok sınıfa aynı anda uygulanan bir sınav düşünelim. Sınavda alınan notların sınıflar içinde ve sınıflarının ortalamasının da genelde nasıl dağıldığına bakalım. Öncelikle 50 öğrenciden oluşan bir sınıf için `numpy.randint()` fonksiyonuyla rastgele belirlenmiş sınav notlarından oluşan bir örneklem oluşturalım." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[45 51 52 48 49 51 45 55 40 56 41 52 47 53 68 46 65 58 60 45 58 60 51 68\n", " 50 68 69 54 58 44 63 63 49 57 63 40 62 53 49 49 47 69 62 65 41 40 68 57\n", " 48 64]\n", "Sinif ortalamasi: 54.32\n", "Standart sapmasi: 8.65\n" ] } ], "source": [ "import numpy as np\n", "# rastgele sinav notunu ayni degerleri verecek sekilde\n", "# ayarlayalim (seed edelim)\n", "np.random.seed(1)\n", "# notlarin tamsayi oldugunu varsayarak 50 rastgele\n", "# notu 40 ile 70 arasinda olusturalim. \n", "notlar = np.random.randint(40, 70, 50)\n", "print(notlar)\n", "print('Sinif ortalamasi: {:.2f}'.format(notlar.mean()))\n", "print('Standart sapmasi: {:.2f}'.format(notlar.std()))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sınıf içindeki not dağılımını yukarıda gördük; bir de histogramına bakalım." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from matplotlib import pyplot as plt\n", "# sinif ici not dagilimi\n", "plt.hist(notlar)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hiç de normal dağılıyormuş gibi görünmüyor. Nitekim [`numpy.random.randint()`](https://docs.scipy.org/doc/numpy-1.15.0/reference/generated/numpy.random.randint.html) sınırları verilen (örneğimizde 40 ve 70) bir tekdüze dağılımdan istenen büyüklükte (örneğimizde 50) bir rastgele örneklem oluşturur. Şimdi örneklem sayısını 1 sınıftan 1000 sınıfa çıkaralım ve sınıfların ortalamasının nasıl dağıldığna bakalım." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Sinif ortalamlarinin ortalamasi 54.54\n", "Sinif ortalamlarinin standart sapmasi 1.21\n" ] } ], "source": [ "import matplotlib.pyplot as plt\n", "# yine ayni sekilde istikrarli bir orneklem icin\n", "# rastgele tam sayi ureticisini seed edelim.\n", "np.random.seed(1)\n", "# Yine 40 ile 70 arasindaki notlar icin\n", "# bu kez 1000 siniftan olusan orneklemimizdeki\n", "# her bir sinifin ortalamasini alip sinif_ortalamalari\n", "# degiskenine alalim\n", "sinif_ortalamalari = [np.mean(np.random.randint(40, 70, 50)) for i in range(1000)]\n", "# dagilimi bir histogramla gosterelim.\n", "plt.hist(sinif_ortalamalari)\n", "plt.show()\n", "print('Sinif ortalamlarinin ortalamasi {:.2f}'.format(np.mean(sinif_ortalamalari)))\n", "print('Sinif ortalamlarinin standart sapmasi {:.2f}'.format(np.std(sinif_ortalamalari)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Her ne kadar tek bir sınıf içindeki not dağılımı normal değil tekdüze (uniform) olsa da 1000 sınıfın ortalamaları normal dağılmaktadır. Bir sınıf içinde 8.65 olan standart sapma değerinin de 1000 örenklemin ortalamaları söz konusu olduğunda 1.21'e kadar düştüğünü görüyoruz.\n", "\n", "Örneklem Dağılımı (ing. Sampling Distribution): Bu şekilde normal dağılmıyor olsa dahi örneklemlerin ortalamalarının dağılımı örneklem dağılımı adını alır.\n", "\n", "Ortalamanın Beklenen Değeri (ing. Expected Value of the Mean): Örneklem dağılımının ortalama değeri popülasyonun ortalaması için beklenen değerdir. Bir başka deyişle, bir popülasyondan rastgele seçilen örneklemlerin ortalamalarının dağılımının ortalaması o popülasyonun ortalamasının beklenen değeridir.\n", "\n", "Standart Hata (ing. Standard Error): Örneklem dağılımının ortalama değerinin standart sapmasıdır. Dolayısı ile popülasyon ortalamasının standart sapmasının da beklenen değeridir. Tıpkı standart sapmanın herhangi bir ölçümün ortalamadan sapmasının bir ölçütü (tüm sapmaların ortalaması) olduğu gibi, standart hata da bireysel örneklemlerin ortalamalarının, örnek dağılımının ortalamasından sapmasının ölçütüdür. Bu nedenle de standart hatadır çünkü ortalamaların dağıımının (örneklem dağılımının) ortalamasının popülasyonun ortalamasını ne kadar temsil ettiğine olan güvenimizin bir ölçütüdür. \n", "\n", "Örneklemlerin ortalamasının bir dağılımı olduğu gibi diğer istatistiklerin de (standart sapma, korelasyon katsayısı, $\\chi^2$, ...) birer dağılımı vardır. Aynı şekilde ortalamaların ortalamasının bir standart hatası olduğu gibi diğer istatistiklerin de standart hataları vardır." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Hipotez Testi #\n", "\n", "Peki Merkezi Limit Teoremi bize nasıl yardımcı olacak? Teorem, ele alınan bir örneğin karşılaştırma yapılan bir popülasyonu temsil edip etmediği hipotezini test etmemizi, bunun için normal dağılımın parametrelerini kullanmamıza sağlar. Bunun için örneğin ortalama değerini belirleyip, bu örneğin karşılaştırma yapılan popülasyondan gelip gelmediğini tahmin etmek için örneklem dağılımı ile karşılaştırabiliriz. Hipotez testinin belirli kuralları olup, öncelikle testin temellerini anlamaya ihtiyaç vardır. \n", "\n", "Herhangi bir bilimsel problemin çözümünde öncelikle bir hipotez geliştirilir. Hipotez, bir problemin çözümüne elde az sayıda kanıt ve çalışma varken yapılan ve daha ileri araştırma için bir başlangıç noktası oluşturan öneridir. \n", "\n", "Sıfır hipotezi ($H_0$), bir öneriyi test etmek üzere, gözlenen bir olayın sadece rastgele süreçler ile oluştuğunu, örnekleme ya da deneysel hatalardan kaynaklandığını öne süren hipotezdir. Gözleme ilişkin alternatif hipotezin ($H_1$) yani gözlenen olgunun rastgele süreçlerle oluşmadığının ve olgunun parametreleri arasında bir korelasyon bulunduğu fikrinin geçerliliğinin test edilmesi için kullanılır.\n", "\n", "Sıfır hipotezinin yanlışlanamaması durumunda gözlenen olayın sadece rastgele süreçlerden kaynaklandığı (ya da sıfır hipotezinin geçerli olduğu) kabul edilir. Sıfır hipotezinin yanlışlanması durumunda ise alternatif hipotezin doğruluğu kanıtlanmış olmaz. Ancak gözlenen olgunun sadece rastgele süreçlerden (ya da sıfır hipotezinin öngördüğü süreçlerden) kaynaklanmadığı sonucuna varılır.\n", "\n", "Sıfır hipotezinin yanlışlanması için, alternatif hipotezin gerçekleşebilme olasılığının, rastgele süreçler ile gerçekleşme ya da sıfır hipotezinin ilgilendiği dağılıma göre benzer bir olayın gözlenebilme olalsılığından anlamlı bir mertebede yüksek olması gerekir. Örneğin; bir bitkiyi sulamanın, bitkinin büyüme hızıyla ilişkili olduğunu söyleyen bir alternatif hipotezin kabul edilebilmesi için, bitkinin büyüme hızıyla sulama arasında bir ilişki olmadığını söyleyen sıfır hipotezinin yanlışlanması gerekir. Daha radikal bir örnek olarak; piramitleri uzaylıların inşa ettiğini iddia eden alternatif hipotezin kabul edilebilmesi için öncelikle, piramitleri uzaylıların inşa etmediğini iddia eden sıfır hipotezinin yanlışlanması gerekir. Tabi ki bu durumda piramitleri uzaylılıarın inşa ettiğine ilişkin doğrudan bir kanıtın da bulunması icap eder. \n", "\n", "## Örnek: CoVid 19 aşısı ##\n", "\n", "Diyelim ki CoVid-19 hastalığı için bir aşı önerisi var. Aşının başarısını test etmek için $n$ bireyi rastgele seçerek bir örneklem oluşturuyor ve bu bireyleri aşıyla enjekte ediyoruz. Diyelim ki bu $n$ bireyin $k$ tanesinin bir süre sonra (örneğin 1 yıl) yapılan testleri (ve diğer klinikleri) negatif sonuç veriyor ve bu $k$ bireyi \"sağlıklı\" olarak değerlendiriyoruz. Şimdi aşının işe yarayıp yaramadığına yönelik hipotez testinin nasıl yapılacağına bakalım.\n", "\n", "$H_0$ (Sıfır hipotezi): Aşının hiçbir etkisi yoktur ve sağlıklı olan $k$ birey hiçbir şey yapılmasa da hastalığı belirlenen sürede (1 yıl) kapmayacak bireylerdir.\n", "\n", "$H_1$ (Alternatif hipotez): Aşı bireylerin hastalıktan etkilenmesini engellemektedir.\n", "\n", "Test edilmesi gereken hipotez $H_0$ hipotezidir. Eğer bu hipotez doğruysa, aşılanan $n$ bireydeki $k$ negatif sayısının (örneklem büyüklüğüne oranının), tüm toplumdaki $K$ negatif sayısına (popülasyona oranına) benzer olması gerekir.\n", "\n", "Diyelim ki hastalığı kapma olasılığı aşı vs. gibi bir engelleyici olmadan %25 olsun (p = 0.25). Bu durumda da kapmama olasılığı (q = 1 - p = 0.75) %75 olur ve bu deney iki olasılığın olduğu bir Bernoulli deneyidir ve dağılım da [Bernoulli Dağılımı'na](http://ozgur.astrotux.org/ast416/Ders_02/Ders02b_Temel_Istatistiksel_Kavramlar_Dagilimlar.html#Bernoulli-Da%C4%9F%C4%B1l%C4%B1m%C4%B1) uyar. \n", "\n", "Diyelim ki örneklemimiz 10000 hasta ile sınırlı (n = 10000). Bu durumda sağlıklı birey $k$ sayısı 1 yıl sonra 10000 x 0.75 = 7500 çıkarsa (Bernoulli dağılımının ortalama değeri) bunun tamamen rastgele olduğunu, aşının bir etkisi olmadığını söyleyebiliriz. Zira hiçbir şey yapılmasa da hastalığı kapmama olasılığı %75'tir. Ancak bu durumda hangi sayıda sağlıklı birey bulursak $H_0$ hipotezini reddetmeliyiz (aşının etkisi olmadığı sonucuna varmalıyız) gibi bir seçimle karşılaşırız. Zira 7500 değil de 7440 sağlıklı birey (%74.4) ya da 7590 (%75.9) sağlıklı birey bulmamız sadece örneklemimizin küçüklüğünden kaynaklanıyor olabilir mi? \n", "\n", "Burada 7500'ün her iki tarafından belirli bir standart sapma ($\\sigma$) değerini belirleyip, eğer deneydeki sağlıklı birey sayısı ortalamanın (7500) örneğin $2~\\sigma$ ya da $2.5~\\sigma$ içinde kalıyorsa $H_0$'ı kabul etmek, aksi takdirde reddetmek iyi bir fikir olabilir. İşte burada merkezi limit teoreminin temel yaklaşımını hatırlayabiliriz. Her ne kadar ilgilendiğimiz dağılım bir Bernoulli dağılımıysa da yeterince büyük örneklemlerle çalışıldığı vakit bu dağılımın normal dağılıma yakınsayacağını biliyoruz. Dolayısı ile normal dağılımın parametreleri ve yaklaşımıyla hareket edebiliriz!\n", "\n", "Bir Bernoulli dağılımının standart sapması $\\sigma = \\sqrt{n~p~q}$ ile verilir. Bu durumda örneğimiz için standart sapma değeri $\\sigma = \\sqrt{10000~0.25~0.75} = 43.30$ olarak bulunur. Burada iki konuya değinmek gerekir:\n", "\n", "1) Çalışmamızın daha \"güvenilir\" olması için ortalamadan kaç standart sapma ($\\sigma$) uzaklığı $H_0$'ı red ya da kabul etmek için kriter yapmalıyız?
\n", "2) \"Yeterince büyük örneklem\" nedir, bir ölçüsü var mıdır?\n", "\n", "Önceliklle ikinci sorunun cevabının popülasyonun büyüklüğüne bağlı olduğunu, örneklemin bazı problemlerde sadece niceliğinin (büyüklüğünün) değil de aynı zamanda niteliğinin (içerdiği örneklerin popülasyon niteliğini ne kadar yansıtıyor olduğunun) de dikkate alınması gerektiğini söylemek gerekir.\n", "\n", "Birinci sorunun cevabı ise \"Güven Aralığı\" (ing. Confidence Interval) ya da \"Güven Düzeyi\" (ing. Confidence Level) kavramlarıyla verildiğini belirterek bu kavramları açmak gerekir." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Güven Aralığı ve Güven Düzeyi ##\n", "\n", "Güven aralığı, bir örnek dağılımın ortalama değerinin, ana dağılımın ortalama değerinden hangi olasılık mertebesi dahilinde uzak olduğunu gösteren aralıktır. Doğa bilimlerinde belirsizlik ölçütü olarak genellikle standart sapmayı kullanmak yeterlidir. Ekonomi ve siyaset bilimi gibi bazı başka disiplinlerde standart sapmayı vermek yerine güven aralığı (ing. confidence interval) ya da genellikle yüzde biriminde ifade edilen güven düzeyi (ing. confidence level) vermek tercih edilir. \n", "\n", "Örneğin bir parametre için yapılan bir dizi ölçümün sonucu $101.25 \\pm 0.01$ olarak verilmiş olsun. Aksi söylenmediği (örneğin bu hatanın ölçüm aletinin limiti olduğu gibi) sürece bir doğa bilimci bu belirsilziiği bir standart sapma olarak yorumlar ($\\sigma = 0.01$). Ancak 2 standart sapma ($2~\\sigma$) kullanarak ölçümün $\\% 95$ güven düzeyinde $101.25$ sonucunu verdiğini söylemek de aynı içeriği taşır. Zira normal olduğu kabul edilen bir dağılımda %95 güven düzeyi de yaklaşık olarak $\\pm 2\\sigma$’ya (daha yaklaşık bir değer olarak $1.96~\\sigma$) karşılık gelir. Benzer şekilde ölçüm sonucunun $(101.23 , 101.27)$ %95’lik güven aralığında olduğu da söylenebilir.\n", "\n", "%95’lik güven aralığı, deney/gözlem tekrarlanmaya devam edilirse tekrarların %95’inde, gözlenen değerlerin bulunan güven aralığında çıkacağı anlamına gelir.\n", "\n", "## Örnek: CoVid-19 aşısı ##\n", "\n", "CoVid-19 aşı önerisi örneğinde standart sapmayı Bernoulli Dağılımı'ndan hareketle belirlemiştik. Aşının hiçbir etki yapmadığı, aşı uygulamasının 1. yılı sonunda sağlıklı bireylerin tamamen rastlantısal olarak sağlıklı kaldıklarını ifade eden $H_0$ sıfır hipotezini reddetmek için $\\%95$'lik bir güven düzeyi belirlemiş olalım. Bu durumda \n", "\n", "$$ \\mu \\pm 2~\\sigma = 7500 \\pm 2 x 43.30 = 7500 \\pm 86.60 $$\n", "\n", "dahilinde bir güven aralığı oluşturabiliriz. 1 yıl sonunda sağlıklı birey sayısını 7587'den büyük bulursak $H_0$'ı reddedebiliriz. Yani \"aşının hiçbir etkisi yoktur\" önerisini reddetmiş oluruz! Bu alternatif hipotezi kabul ettiğimiz (yani aşının etkili olduğu) anlamına gelmez ama onu destekleyici bir kanıt oluşturur. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Örnek: Gaia Paralaksları ##\n", "\n", "[Gaia uzay teleskobu](https://sci.esa.int/web/gaia) gökcisimlerinin hassas konum ölçümlerini yapmak üzere uzaya gönderilmiştir. Teleskop, galaksimiz içindeki yıldızların da paralaks ölçümlerini defalarca yaparak uzaklıklarının hassas bir şekilde belirlenmesini sağlamaktadır. \n", "\n", "Bir yıldızın paralaks ölçümü 1000 defa yapılıyor ve uzaklğı parsek cinsinden hesaplandığında elde edilen ortalama uzaklık değeri ($\\mu_d$) ve belirsizliği ($\\sigma_d$) $d = 210 \\pm 5$ pc olarak veriliyor. %95 güven seviyesine karşılık gelen aralığı bulunuz. Problemi hem temel istatistik bilgimizden hareketle, hem de genelleştirmek üzere Python dili ve ekstra paketlerin olanaklarıyla çözelim.\n", "\n", "Çözüm: %95’lik güvenilirlik seviyesine karşılık gelen $z$ değeri için standart normal dağılım tablolarına ya da grafiklerine bakılır. Bu değer `scipy.stats.norm.interval` fonksiyonuyla doğrudan elde edilebilir ya da $p = 0.95$ için aşağıdaki formülden yararlanılarak hesaplanan $z$ değeri tablodan alınabilir. Daha sonra,\n", "\n", "$$ z = \\frac{|x - \\mu|}{\\sigma} $$\n", "\n", "ifadesinden hareketle $x$ değişkeninin %95 olasılıkla içinde bulunduğu güven aralığı tesis edilir." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "%95.00 olasiliga karsilik gelen z-değeri: 1.96 'dir.\n" ] } ], "source": [ "from scipy import stats as st\n", "p = 0.95\n", "z = st.norm.interval(p)\n", "print(\"%{:.2f} olasiliga karsilik gelen z-değeri: {:.2f} 'dir.\".\n", " format(p*100, z[1]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Görüldüğü üzere $z$-değeri %95'lik güven aralığı için 1.96 olarak verilmektedir. Bu durumda güven aralığı aşağıdaki şekilde tesis edilebilir.\n", "\n", "$$ z = \\frac{|x - \\mu|}{\\sigma} \\Rightarrow x = \\mu \\pm z~\\sigma \\Rightarrow x = 210 \\pm 1.96~x~5.0 = 210 \\pm 9.8~pc$$\n", "\n", "Bir başka deyişle, 1000 kez paralaks ölçümü yapılan bu yıldızın uzaklığı %95 güven düzeyinde $(200.2 , 219.8)$ pc aralığındadır. \n", "\n", "Aynı sonuca `scipy.stats.norm.interval` fonksiyonunu aşağıdaki şekilde kullanarak da ulaşılabilir." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Yildizin uzakligi icin %95.00'lik guven araligi (200.20, 219.80) pc'tir.\n" ] } ], "source": [ "from scipy import stats as st\n", "p = 0.95\n", "mu = 210.0\n", "sigma = 5.0\n", "aralik = st.norm.interval(p,loc=mu, scale=sigma)\n", "print(\"Yildizin uzakligi icin %{:.2f}'lik guven araligi ({:.2f}, {:.2f}) pc'tir.\".\\\n", " format(p*100, aralik[0], aralik[1]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Görüldüğü üzere yeterince fazla ölçüm yapıldığında ölçüm sonuçlarının normal dağıldığını varsayarak, normal dağılımın parametreleriyle (ortalama ve standart sapma) bir güven aralığı oluşturulmuştur. Oysa ki tek bir ölçüm (ya da az sayıda ölçüm) söz konusu olduğunda ölçüm hataları normal (ya da Gaussyen) dağılmaz, Poisson Dağılımı'na (ya da genelleştirilmiş hali olan Drichlet Dağılımı'na) uyar. Ancak Merkezi Limit Teoremi gereğince yeterince büyük bir örneklem söz konusu olduğunda, rastgele bir değişkenin değerinin dağılımı Normal Dağılım'a yakınsar. Bu durumda da normal dağılım yaklaşımından hareketle analiz yapılabilir.\n", "\n", "Diyelim ki bu yıldızın uzaklığı bir başka yöntemle (örneğin çift yıldız gözlemleriyle oluşturulan kalibrasyondan hareketle ya da [HIPPARCOS uzay teleskobu](https://www.cosmos.esa.int/web/hipparcos) ölçümleriyle) belirlenmiş olsun. Bu ölçümlerin hangi güvenilirlik düzeyinde eşit kabul edileceğine karar verildikten sonra sıfır hipotezi ($H_0$) ve alternatif hipotez ($H_1$) aşağıdaki şekilde oluşturulabilir.\n", "\n", "$H_0$: Yildizin Gaia uzakligi cift yildiz gozlemlerinden belilrlenen kalibrasyonla uyumlu degildir.
\n", "$H_1$: Yildizin Gaia uzakligi cift yildiz gozlemlerinden belilrlenen kalibrasyonla uyumludur.\n", "\n", "Bu tür bir karşılaştırmanın nasıl yapılacağını biraz sonraya bırakarak hipotez testlerinde yapılabilecek olası hataları görelim." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Hipotez Testinde Tip I ve Tip II Hataları ##\n", "\n", "Tip-I Hata (ing. Type-I Error): Sıfır hipotezinin ($H_0$) doğru olmasına karşın reddedilmesiyle oluşan hatadır. Özellikle örnek sayısının azlığından kaynaklanabilir.\n", "\n", "Tip-II Hata (ing. Type-II Error): Sıfır hipotezini ($H_0$) yanlışlığına rağmen kabul edilmesiyle oluşan hatadır.\n", "\n", "
\n", " \"Hipotez\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## İstatistiksel Anlamlılık Seviyesi ##\n", "\n", "İstatistiksel anlamlılık, bir örneklemden türetilen bir istatistiğin o örneklemin alındığı popülasyondaki bir olguyu ne düzeyde (hangi olasılıkla) temsil ettiğinin ölçüsüdür. Örneğin \"Bir popülasyondan alınan bir örneğin ortalamasının, o örneğin popülasyonu temsil etmediği ve şans eseri oluştuğu (örneklem hatası) kanısına bu iki ortalamada hangi düzeyde bir fark olursa varılmalıdır?\" sorusunun cevabı araştırmacı tarafından belirlenen istatistiki anlamlılık seviyesiyle karşılaştırma yapılarak verilir. Eğer ulaşılan sonucun (örneğin iki ortalama arası farkın) olasılığı seçilen anlamlılık seviyesinden küçükse bu sonucun istatistiksel olarak anlamlı olduğu ve şans eseri (örneklem hatası nedeniyle) oluşma ihtimalinin istatistiksel anlamlılık seviyesiyle izin verilen daha küçük olduğu sonucu çıkar.\n", "\n", "Gözlenen olayın rastgele süreçlerden meydana gelip gelmediği test edilmek istendiği için, olayın gerçekleşme ihtimali bir normal dağılım kullanılarak incelenir. Eğer olaya ilişkin dağılımın rastgele dağılım olmadığı biliniyorsa ilgili dağılım kullanlabilir. Ancak yeterli sayıda örnek dağılım elemanı bulunuyorsa merkezi limit teoremi gereğince normal dağılım varsayımı, bulunmuyorsa normal dağılım yerine, düşük serbestlik derecelerine daha duyarlı olan t-dağılımı varsayımı yapılabilir.\n", "\n", "Istatistiksel anlamlılığın belirlenebilmesi için kullanılan kritik değer $\\alpha$, bir olasılık değeri anlamındadır. Farklı bilim dallarında farklı değerler kabul görebilmektedir. Gözlenen olgunun rastgeleliğinin büyük oranda beklenir olduğu durumda daha küçük olasılık değerleri verilmesi uygun olur.\n", "\n", "İstatistiki anlamlılık seviyesi (ing. statistical significance), toplam olasılık olan $1$’den güven seviyesinin farkıdır.\n", "\n", "Sıfır hipotezi ($H_0$) doğru ise ve gözlemsel verinin ya da ilgili parametrenin normal dağılım sergilemesi bekleniyorsa, normal dağılımca beklenen en olası değer ortalama değerdir. Bu durumda kritik olasılık değeri ($\\alpha$) belirlendiği takdirde, kritik değere göre ortalamaya daha yakın olan toplam olasılık değerleri sıfır hipotezinin reddedilememesi anlamına gelir. Bu durumda sıfır hipotezi $1- \\alpha$ güven aralığında reddedilememiş olur.\n", "\n", "[CoVid-19 aşısı](#Örnek:-CoVid-19-aşısı) örneğinde güven düzeyinin %95 olarak belirlenmesi durumunda istatistik anlamlılık seviyesi $\\alpha = 1 - 0.95 = 0.05$ 'tir. 1 yıl süren aşılama sürecinin sonunda bu düzeyin üzerinde bir iyileşme (ki bunun 7587 hastaya denk geldiğini görmüştük) istatistiki olarak anlamlı bir sonuç bulunduğu değerlendirmesi yapılabilir. Bu da alternatif hipotez $H_1$ için istatistiki olarak anlamlı bir kanıta ulaşıldığı anlamına gelir. Ancak bu $H_1$'in kabul edildiği anlamına da gelmez.\n", "\n", "[Gaia paralaksları](#Örnek:-Gaia-Paralaksları) örneğinde; \n", "\n", "$H_0$: Gözlenmiş çift yıldızlar üzerinden belirlediğiniz bir korelasyon %95 güven düzeyinde Gaia ölçümüyle ($\\mu = 210~pc$) uyumludur.\n", "\n", "şeklinde ifade edilen bir sıfır hipotezini yanlışlamanız için kalibrasyonunuzun $\\alpha = 1 - 0.95 = 0.05$ istatistiki anlamlılık seviyesinin karşılık geldiği $9.8~pc$ değerinin ötesinde bir değer (200.2 pc'ten küçük ya da 219.8 pc'ten büyük) bir uzaklık vermesi gerekir. Bu durumda kalibrasyonunuzun Gaia ölçümleriyle uyumlu olmadığını ifade eden $H_1$ alternatif hipotezine ilişkin bir kanıta ulaşmış olursunuz. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## p Değeri ##\n", "\n", "p-değeri (ing. probability value: p-value), sıfır hipotezinin ($H_0$) doğru kabul edilmesi durumunda rastgele seçilen bir örneklemin ortalamasının belirli bir değerden büyük ya da ona eşit olması olasılığıdır. Sıfır hipotezinin ($H_0$) doğru olması durumundaki olasılık belirlendiği için koşullu bir olasılıktır. Özünde bu değer bir hipotezin doğru olduğu kabulü altında herhangi bir istatistiğin tamamen şans eseri olarak elde edilmesi olasılığını verir. Burada şanstan kasıt, rastgele seçimle örneklem oluşturulurken bu sonucu verecek örneklerin (verilerin) seçilmiş olmasıdır (örneklem hatası, ing. sampling error).\n", "\n", "p-değeri belirlenen bir istatistiki anlamlılık derecesinden (ing. statistical significance: $\\alpha$) daha küçükse sıfır hipotezi ($H_0$) reddedilir. Çünkü elde edilen sonuç belirlenen düzeyde istatistiksel olarak anlamlıdır. Sıfır hipotezi doğru iken bu sonucun elde edilmesi tamamen şans eseri de (örnekleme hatasıyla) olasıdır. Ancak bu olasılık istatistiksel anlamlılıkla izin verilenden daha azdır. Bu durumda alternatif hipotez ($H_1$) için bir kanıt elde edilmiş olunur. Eğer p-değeri belirlenen istatistiki anlamlılılk derecesinden büyükse $H_0$ reddedilemez (bu kabul edildiği anlamına gelmez!). Çünkü sonuç belirlenen düzeyde istatistiksel olarak anlamlı değildir. Bu sonucun sıfır hipotezinin doğru olması durumunda şans eseri elde edilmiş olma ihtimali belirlenen istatistiksel anlamlılık seviyesinden büyüktür ki zaten sıfır hipotezi rastgele seçilen bir örneğin doğrulaması üzerine kuruludur.\n", "\n", "Örneğin p-değeri $0.03$ olarak hesaplanıyor ancak belirlenen istatistiksel anlamlılık değeri $\\alpha = 0.05$ ise, bu $H_0$'ın doğru olması durumunda elde edilen sonucun tamamen şans eseri elde edilme olasılığının $\\%5$’ten küçük bir olasılığa sahip olduğu ($\\%3$) anlamına gelir. Bu nedenle $H_0$ reddedilir. Bir başka deyişle, hesaplanan değer gözlenen olgunun örneklem hatasıyla oluşma ihtimalini $\\%3$ olarak belirlediği için $H_0$ reddedilir. Ancak p-değeri (örneğin biraz sonra göreceğimiz t-testi ile) 0.1 olarak hesaplanırsa bu böyle bir örneklemin $H_0$’ın doğru olması durumunda $\\%10$ ($> \\alpha = 0.05$) ihtimalle rastgele herhangi bir örneklem için elde edilebileceğni gösterir ki bu durumda $H_0$ reddedilemez. \n", "\n", "### Örnek: p Değeri ###\n", "\n", "Diyelim ki açık yıldız kümelerinin içerdiği yıldızların %25’inin G tayf türünden daha sıcak yıldızları içerdiği gibi bir iddia var ve biz de bir açık yıldız kümesi gözleyerek bu iddiayı test etmek istiyoruz. \n", "\n", "Bu durumda sıfır hipotezimiz \n", "\n", "* $H_0$: $\\mu = 0.25$, \n", "\n", "alternatif hipotezimiz ise \n", "\n", "* $H_1$: $\\mu \\neq 0.25$ \n", "\n", "olarak belirlenebilir.\n", "\n", "Şimdi yapmamız gereken gözlediğimiz kümedeki G tayf türünden daha sıcak yıldızları saymak (diyelim ki 120 yıldızdan 40’ı böyle yıldızlar olsun) ve $H_0$ ‘ın doğru olduğu kabulü altında bu gözlem sonucunun tamamen şans eseri elde edilip, edilemeyeceğini bulmak!\n", "\n", "Bu deney yine bir Bernoulli deneyidir. Zira kümdede ele alınan bir yıldız ya G tayf türünden daha sıcaktır. ya da değildir. Bu durumda standart sapma $\\sigma = \\sqrt{n p q} = \\sqrt{120~0.25~(1-0.25)} = 4.74$ olarak bulunur. %25 G tayf türünden daha sıcak yıldız bulma olasılığı ise $\\mu = 0.25~x~120 = 30$ yıldıza karşılık gelir. \n", "\n", "$$ z = \\frac{x - \\mu}{\\sigma} = \\frac{40 - 30}{120~0.25~0.75} = 2.108 \\sim 2.11$$\n", "\n", "Şimdi iş bu z-değerinin karşılık geldiği p-değerini hesaplamaktır. Bu değer bir standart normal dağılımı tablosundan (z-tablosu) alınabileceği gibi `scipy.stats.norm` fonksiyonlarıdan `cdf()` da bu amçla kullanılabilir. Ancak `cdf()` (1 - p) değerini vereceği için, doğrudan p-değerini veren `sf()` fonksiyonu (ing. survival function) da tercih edilebilir." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "z = 2.11 degeri p-degeri = 0.0175'e karsilik gelir\n", "z = 2.11 degerinin karsilik geldigi olasilik = %98.25'tir.\n" ] } ], "source": [ "from scipy import stats as st\n", "z = 2.108\n", "p = st.norm.sf(z)\n", "print(\"z = {:.2f} degeri p-degeri = {:.4f}'e karsilik gelir\".\\\n", " format(z, p))\n", "olasilik = st.norm.cdf(z)\n", "print(\"z = {:.2f} degerinin karsilik geldigi olasilik = %{:.2f}'tir.\".\\\n", " format(z, 100*olasilik))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$z = 2.11$’e karşılık gelen p-değeri $p = 0.0175$ bulunur. Yani bu örneğin bu popülasyondan örnekleme hatasıyla türetilmiş olma olasılığı %1.75 olup istatistiksel anlamlılığın $\\alpha = 0.05$ seçilmesi durumunda $p = 0.0175 < \\alpha$ olduğu için $H_0$ reddedilir. Yani, ele alınan örnek iddianın doğru kabul edilmesi durumunda istatistiksel anlamlılık seviyesi dahilinde tüm açık yıldız kümeleri popülasyonlarından rastgele bir seçimle türetilmiş olabilir ama bu ihtimal \"göreli olarak (istatistiksel olarak anlamlı sayılacak düzeye göre) düşüktür\". Bu nedenle de elimizdeki yıldız grubu (örneklem) tüm açık yıldız kümelerindeki G-tayf türünden yıldızların (popülasyon) oranının $\\%25$ olduğu iddiasıyla çelişmektedir! Ama biz evrendeki tüm açık yıldız kümelerini gözleyemeyiz ve hiçbir zaman da gözleyemeyeceğiz! O yüzden, $H_1$ kabul edilmiş de değildir ama o yönde bir kanıt elde edilmiştir. Bu sonuç daha fazla örnekle ya da istatistiksel anlamlılık seviyesi değiştirilerek, daha yüksek bir güven düzeyinde konuşmak istendiğinde yanlışlanabilir. Dolayısı ile bu güven düzeyinde $H_0$'ı reddetmiş olmakla şöyle bir yanlış yapıyor olabiliriz: Çok küçük bir ihtimalle de olsa bu veri $H_0$ (tüm yıldızların %25'inin G-tayf türünden sıcak yıldızlar olduğu) doğru olduğu halde örnekleme hatasıyla (\"talihsizlik!\") oluşmuş da olabilir! Yani 120 yıldızlık örneğimizde 40 yıldızın G-tayf türünden olması bu önerme doğru olduğu halde örneklem hatası (şans kaynaklı) nedeniyle düşük ihtimaldir! Bu durumda Tip-I Hatası yapılmış olur. \n", "\n", "Ancak %99'luk güvenlik düzeyine denk gelen $\\alpha = 0.01$ seçilseydi $p > \\alpha$ olduğu için $H_0$ reddedilemezdi. Bir başka deyişle, elimizdeki örnek açık yıldız kümelerindeki yıldızların %25’inin G tayf türünden daha sıcak yıldızları barındırdığı iddiasını $\\alpha = 0.01$ istatistiksel anlamlılık ya da $\\%99$ güven seviyesinde reddetmez; çünkü bu örneklem, $H_0$'ın doğru olması durumunda, istediğimiz ya da izin verdiğimiz anlamlılık seviyesinden (%1) daha yüksek bir olasılığa (%1.75) sahiptir. Yine benzer şekilde, bu önermeyi reddetmemekle bir hata yapıyor olabiliriz. Yani $H_0$ hipotezi reddedilmediği halde, onun örneklemimiz için öngördüğü sayıya ($30$) istatistiksel anlamlılığın izin verdiği kadar yakın sayıda sıcak yıldız içeren bir açık kümeyi tamamen şans eseri (örneklem hatası sonucu) seçmiş de olabiliriz. Yani $H_0$ doğru olmayabilir ama talihsizlik eseri seçtiğimiz örnek onun öngördüğüne yakın bir sonuç vermiştir. Bu durumda da Tip-II Hatası yapılmış olur. \n", "\n", "Şimdi seçtiğimiz istatistiksel anlamlılık seviyesinin ($\\alpha = \\%1 = 0.01$)'in karşılık geldiği yıldız sayılarına bakalım. Elimizdeki örnekte kaç yıldızdan daha az ya da daha çok sayıda G-tayf türünden daha sıcak yıldız olması $H_0$'ı reddetmemize yol açar, çünkü belirlediğimiz istatistiksel anlamlılık seviyesinde $H_0$'ın öngördüğünden daha az ya da daha çok G-tayt türünden sıcak yıldız içerir? Bu iki yönlü bir testtir. İstatistiksel anlamlılık nihayetinde bir olasılık olasılık olduğu ve belirleyeceğimiz yıldız sayılarından az ve çok yıldız içerme olasılıkları toplanacağı için, bu olasılık, eğrinin altında ortalamadan ($30$) her iki yönde belirlemek istediğimiz sayıların dışında kalan alandır. Bu sayıları `scipy.stats.norm.interval()` fonksiyonu ile belirleyebiliriz. Ancak bu fonksiyonun eğrinin $H_0$'ın kabul edildiği alanı veren uç değerleri döndürdüğüne dikkat edilmelidir. Bu nedenle istenen $\\alpha$ değerinin karşılık geldiği uç noktalar için, o olasılığın 1'den farkı alınarak `interval()` fonksiyonuna sağlanması gerekir. Bu değer aynı zamanda güven düzeyini ifade eder." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "alpha = 0.01 degerinin karsilik geldigi yildiz sayilari 17.79 ve 42.21'dir.\n" ] } ], "source": [ "### Secilen istatistiksel anlam seviyesinin karsilik geldigi\n", "# yildiz sayilari\n", "alpha = 0.01\n", "olasilik = 1-alpha\n", "sayi = st.norm.interval(olasilik,loc=30,scale=4.74)\n", "print(\"alpha = {:.2f} degerinin karsilik geldigi yildiz sayilari {:.2f} ve {:.2f}'dir.\".\\\n", " format(alpha, sayi[0], sayi[1]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Görüldüğü gibi, açık yıldız kümemizin, $H_0$ doğru iken belirlediğimiz istatistiksel anlamlılık seviyesinde (%1) 42.21'den fazla, 17.79'dan az sayıda G-tayf türünden sıcak yıldızı şans eseri (örnekleme hatasıyla) içerme olasılığı %1'in altında olmalıdır. Eğer sözgelimi bizim incelediğimiz kümede 45 böyle yıldız olsaydı, \"rastgele bir seçimde bu kadar yıldız içeren bir kümeye denk gelme olasılığımız %1'in altında o nedenle $H_0$ doğru olamaz!\" derdik. Oysa ki bizim kümemizde 40 tane bu tür yıldız var. O nedenle $H_0$ bu anlamlılık seviyesinde reddedilemez!\n", "\n", "Oysa ki $H_0$'ı reddettiğimiz ilk anlamlılık seviyesi olan $\\alpha = \\%5 = 0.05$ için bu sayıları hesaplasak;" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "alpha = 0.05 degerinin karsilik geldigi yildiz sayilari 20.71 ve 39.29'dir.\n" ] } ], "source": [ "### Secilen istatistiksel anlam seviyesinin karsilik geldigi\n", "# yildiz sayilari\n", "alpha = 0.05\n", "olasilik = 1-alpha\n", "sayi = st.norm.interval(olasilik,loc=30,scale=4.74)\n", "print(\"alpha = {:.2f} degerinin karsilik geldigi yildiz sayilari {:.2f} ve {:.2f}'dir.\".\\\n", " format(alpha, sayi[0], sayi[1]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "elde ederdik. Görüldüğü gibi bu anlamlılık seviyesinde $39.29$'dan daha fazla sıcak yıldız içeren bir açık kümeyi tamamen şans eseri oluşturma olasılığı $\\%5$. Yani $H_0$ doğruyken rastgele seçtiğimiz bir kümenin 40 yıldız içeren bir küme olma olasılığı bundan daha az." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# t Dağılımı #\n", "\n", "Tüm parametrelerin değerleri Gaussian olasılık dağılımına uygun dağılmayabilir. Bazı parametreler, Gaussian dağılımına uyuyor gibi görünse de ortalamadan uzak değerlerinin olaslıkları Gaussian dağılımla öngörülenden yüksek bulunablir. Önemli bir başka durum yeterince örnek sayısının olmadığı durumdur ki bu durumda ortalama ve standart sapma çok iyi belirlenmememiş olabilir. Bu durumlarda parametre değerlerinin olasılık dağılımı için t-dağılımını (ing. Student's t-distribution) kullanmak daha iyi bir seçenektir.\n", "\n", "$t$-istatistiği, $x$ değerinin, örneğin ortalama değeri olan $\\bar{x}$ değerinden kaç standart sapma ($s$) uzaklıkta olduğunu belirler ve aşağıdaki şekilde ifade edilir.\n", "\n", "$$ t = \\frac{|x - \\bar{x}|}{s} $$\n", "\n", "Bu durumda $t$-istatistiği için olasılık dağılımı\n", "\n", "$$ P(t,\\nu) = \\frac{1}{\\sqrt{\\nu~\\pi}} \\frac{\\Gamma[(\\nu + 1) / 2]}{\\Gamma(\\nu / 2)} (1 + \\frac{t^2}{\\nu})^{-(\\nu + 1)/2} $$\n", "\n", "dir. Burada $\\nu$ serbestlik derecesini gösterir ve $\\bar{x}$ $N$ bağımsız ölçümün ortalamasıysa $\\nu = N - 1$ ile verilir.\n", "\n", "Aşağıdaki görselde, serbestlik derecesinin değişmesi ile t-dağılımının değişimi görülmektedir. Mavi ile gösterilen eğri standart normal dağılımdır. 1 serbestlik derecesine sahip olan t-dağılımında görüleceği üzere, $t$-dağılımı, daha geniş kanatlara sahiptir. Bu normal dağılımın ortalama değerinden daha uzakta ortalama değerlerin bulunma olasılığının normal dağılıma göre daha fazla olduğunu göstermektedir; ki az sayıda ölçüm söz konusu olduğunda bu yaklaşım daha gerçekçidir. Her bir serbestlik derecesi için verilen dağılımda önceki serbestlik dereceleri için t-dağılımı yeşille, verilen serbestlik derecesi için kırmızıyla gösterilmektedir.\n", "\n", "Serbestlik derecesi arttıkça ya da başka bir deyişle örneklem büyüdükçe, t-dağılımı da normal dağılıma yakınsamaktadır. Bunun sonucu olarak, örneklemdeki eleman sayısının az olması durumunda t-dağılımının kullanılması, normal dağılımın kullanılmasından daha uygun olmaktadır.\n", "\n", "
\n", " \"t-dagilimi\"\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Örnek: Gaia Paralaksları t dağılımı Yaklaşımı ##\n", "\n", "Henüz Gaia görevinin ancak belirli bir bölümünü (DR-2) tamamlamış durumdadır ve aynı yıldızın paralaks ölçümünü belirli kez yapabilmiştir. Daha önceki örnekte gördüğümüz yıldızın 9 paralaks ölçümü yapılmış ve uzaklğı parsek cinsinden hesaplandığında elde edilen ortalama uzaklık değeri ($\\bar{x}$) ve belirsizliği ($s$) $210 \\pm 5 ~pc$ olarak veriliyor olsun. %95 güven seviyesine karşılık gelen aralığı bu kez $t- dağılımı$ kullanarak bulalım.\n", "\n", "Bu kez ölçüm sayısı çok az olduğu ($N = 9$) için serbestlik derecesini dikkate alan t-dağılımı üzerinden bir güven aralığı tesis etmek istiyoruz. t-dağılımı için verilen kümülatif olasılık tablosundan %95 güven seviyesine $ν = 9 – 1 = 9 – 1 = 8$ serbestlik derecesi için karşılık gelen $t-istatistiği$ değeri $t = 2.3$’tür. Bu durumda;\n", "\n", "$$ t = \\frac{|x - \\bar{x}|}{s} = 2.3 $$\n", "$$ t = \\frac{|x - \\bar{x}|}{s} = 2.3 \\Rightarrow x = \\bar{x} \\pm t~s \\Rightarrow x = 210 \\pm 2.3~x~5 = 210 \\pm 11.5~pc$$\n", "\n", "Bu durumda %95 güven seviyesine karşılık gelen aralık:\n", "\n", "$$ x = (210 – 11.5, 210 + 11.5) = (198.5, 221.5) $$\n", "\n", "aralığıdır.\n", "\n", "Aynı güven seviyesi için çok daha geniş olarak bulunan güven aralığı, t-dağılımının, Gaussyen (normal) dağılımın azımsadığı (ing. underestimate) uç değerlerin olasılıklarını daha büyük bulmasından kaynaklanmaktadır. Örnek sayısı az olduğu vakit, uç değerlerin olasılıklarının daha yüksek olması beklenebilir. Örnek sayısı artıp, serbestlik derecesi buna bağlı olarak yükseldikçe dağılım, Gaussyen’e yaklaşacaktır. Örneğin $\\nu = 50$ serbestlik derecesi için $t \\sim 2.0$ iken normal dağılımda güven aralığının hesaplanması için kullanılan $z$ parametresi de $z \\sim 1.95$ değerini almaktadır. Oysa $N = 9$ olan örneğimizde $t = 2.3$ iken aynı güven aralığında $z = 1.96$’dır." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Aynı örneği Python'da `scipy` paketi fonksiyonlarından t-dağılımına ilişkin araçlar sunan `scipy.stats.t()` ile çözmeye çalışalım. Fonksiyon `scipy` kütüphanesinde yer alan, [Ders-2b Dağılım Fonksiyonları'nda](http://ozgur.astrotux.org/ast416/Ders_02/Ders02b_Temel_Istatistiksel_Kavramlar_Dagilimlar.html) gördüğünüz diğer dağılım fonksiyonlarına benzer şekilde çalışır ve benzer metotlarla parametrelere sahiptir. t-dağılımı sürekli bir fonksiyondur bu nedenle süreksiz fonksiyonlardaki Olasılık Kütle Fonkskiyonu'nun (ing. Probability Mass Function, PMF) yerini Olasılık Yoğunluk Fonksiyonu (ing. Probability Density Function, PDF) alır. Aynı şekilde kümülatif olasılıklar da yoğunluk fonksiyonu (ing. Cumulative Density Function, CDF) ile ifade edilir.\n", "\n", "Öncelikle problemimizin parametreleriyle %95'lik bir güven düzeyi için güven aralığı oluşturalım. Bu amaçla güven düzeyini (0.95) `alpha` parametresine (bu parametreinin ismi istatistiksel anlamlılığı simgeleyen $\\alpha$ ile aynı olsa da güvenlik düzeyini doğrudan vermek gerektiğine dikkat ediniz), serbestlik derecesini ($\\nu = N - 1 = 9 - 1 = 8$) `stats.t` fonksiyonunun `df` parametresine, ölçümlerin ortalamasını ($\\mu = 210~pc$) `loc` parametresine, standart sapmasını ise `scale` parametresine vermeliyiz." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "%95.0'lik guven araligi 198.5 ile 221.5 arasidir.\n" ] } ], "source": [ "from scipy import stats as st\n", "N = 9\n", "xbar = 210 # pc\n", "s = 5 # pc\n", "gd = 0.95 # %95\n", "guven_araligi = st.t.interval(alpha=gd, df=N-1, loc=xbar, scale=s)\n", "print(\"%{:.1f}'lik guven araligi {:.1f} ile {:.1f} arasidir.\".\\\n", " format(100*gd, guven_araligi[0], guven_araligi[1]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "t-dağılımına uyan bireysel ölçümleri (örneklemi) oluşturabilmek için `rvs()` fonksiyonunu kullanalım. Bunun için örneklem büyüklüğümüzü `size` parametresi ile $N = 9$'a, serbestlik derecesini `df` parametresi ile $\\bar{x} = N - 1 = 8$'e, ortalama değeri `loc` parametresinden $\\mu = 210~pc$ ve standart sapmayı da `scale` parametresinden $s = 5~pc$'e ayarlayalım." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[210.81468564 219.52037648 207.65015958 204.85143631 209.25520927\n", " 214.67993464 222.28252076 212.85434966 208.72133607]\n" ] } ], "source": [ "from scipy import stats as sta\n", "import numpy as np\n", "# Ornegi tekrar ayni degerlerle uretebilmek icin\n", "# seed edelim.\n", "np.random.seed(53)\n", "N = 9\n", "xbar = 210 # pc\n", "s = 5 # pc\n", "paralakslar = st.t.rvs(df=N-1, loc=xbar, scale=s, size=N)\n", "print(paralakslar)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Bir t-dağılımından verilen bu parametrelerle üretilen paralaks ölçümleri için doğal olarak ortalama ve standart sapma değerleri verilenlerle birebir aynı olmayacaktır. Zira işin içine rastgelelik katılmıştır. Ancak bu örnekte bireysel Gaia ölçümleri ürettiğimiz veri setimizi ($paralakslar$) kullanabiliriz. İstediğimiz parametrelerle bir t-dağılımından rastgele örneklem seçerek oluşturduğumuz bu t-dağılımına en iyi uyan olasılık yoğunluğu fonksiyonunu `stats.t.fit` fonksiyonuyla bulmaya çalışalım." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Ort: 212.29, St.Sapma: 5.37\n" ] } ], "source": [ "t_uyumlama = st.t.fit(paralakslar)\n", "print(\"Ort: {:.2f}, St.Sapma: {:.2f}\".\\\n", " format(t_uyumlama[1], t_uyumlama[2]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "İstenirse bu uyumlama (fit) fonksiyonunun parametrelerine karşılık gelen bir olasılık yoğunluk fonksiyonu (PDF) `stats.t.pdf()` fonksiyonu ile çizdirilebilir (sürekli mavi eğri). Bu fonksiyonunun yanı sıra karşılaştırma için başlangıçtaki parametrelerimize ($\\mu = 210, \\sigma = 5$) karşılık gelen bir t-dağılımı çizdirelim (süreksiz mavi eğri). Ayrıca uyumlama fonksiyonu ile elde ettiğimiz parametrelere karşılık gelen bir normal dağılım için de bir olasılık yoğunluk fonksiyonu çizdirelim (turuncu sürekli eğri)." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from matplotlib import pyplot as plt\n", "import numpy as np\n", "%matplotlib inline\n", "xbar_fit = t_uyumlama[1]\n", "s_fit = t_uyumlama[2]\n", "# Daha cok sayida nokta iceren bir x-ekseni tanimlayalim\n", "x = np.linspace(200,225,50)\n", "pdf_fit = st.t.pdf(x, df=8, loc=xbar_fit, scale=s_fit)\n", "pdf_orj = st.t.pdf(x, df=8, loc=xbar, scale=s)\n", "pdf_gauss = st.norm.pdf(x, loc=xbar_fit, scale=s_fit)\n", "plt.hist(paralakslar, density=True, histtype='stepfilled', alpha=0.2)\n", "plt.plot(x, pdf_fit, 'b-', label=\"Uyumlama\")\n", "plt.plot(x, pdf_orj, 'b--', label=\"Orjinal\")\n", "plt.plot(x, pdf_gauss, c=\"orange\", ls=\"-\", label=\"Normal\")\n", "plt.legend(loc=\"best\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Serbestlik Derecesi #\n", "\n", "Şu ana kadar pek çok kez kullandığımız ve daha önce de tanımladığımız serbestlik derecesi kavramını bu noktada hatırlamakta yarar var. Serbestlik derecesi değiştikçe t-dağılımının şekli (ve doğal olarak olasılıklar değiştiği) için t-tablolarına (ya da t-dağılımına dayanan `scipy.stats.t` fonksiyonlarına) başvurulurken serbestlik derecesi girdi parametresidir. Serbestlik derecesi (ing. Degree of Freedom, df ya da dof) temel olarak, [formal tanımıyla](https://en.wikipedia.org/wiki/Degrees_of_freedom_(statistics)) dinamik bir sistemin, üzerinde herhangi bir kısıtlamayı ihlal etmeden hareket edebileceği bağımsız yolların sayısı olarak tanımlanır ve sistemin eksiksiz olarak tanımlanabileceği bağımsız koordinatların sayısıdır. Bu bağlamda, serbestlik derecesi özet olarak bir sistemde bağımsız şekilde değişebilen değerlerin ya da niceliklerinin sayısıdır. Serbestlik derecesi, öncelikli olarak örnek dağılımın eleman sayısına (örnek büyüklüğüne) bağlıdır. Eleman sayısının fazla olması serbest olarak değişebilecek değerlerin sayısının da fazla olması anlamına gelir. Bir örnek dağılım için serbestlik derecesi; $dof = N -1$ ile veriliir. Burada serbestlik derecesi $dof$, örneklem büyüklüğü ise $N$’dir. Örnek dağılım, bir ana dağılımdan üretilmekte olduğu için, örnek dağılımın ortalama değeri, ana dağılımın ortalamasını temsil etmelidir. Bu durum serbestlik derecesinin 1 azalması anlamına gelir; bu nedenle serbestlik derecesi $N - 1$ olmuştur. \n", "\n", "Aynı şekilde bir sistemin varyansı söz konusu olduğunda da serbestlik derecesi $dof = N - 1$'dir zira varyans, ortalamaya bağlı olarak hesaplanır. \n", "\n", "Eğri uyumlamasında ise; $dof = N – m$ ile verilir. Burada $m$, uyumlamada kullanılan parametre sayısıdır. Uyumlamada kullanılan parametre sayısının fazla olması serbest olarak değişebilen değerlerin sayısının parametre sayısı kadar azalması anlamına gelir." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Model ve Artıkları #\n", "\n", "Bir bilimsel model gerçek bir olgunun fiziksel, kavramsal ya da matemetiksel olarak temsilidir. Bir modelin amacı bir olguyu daha kolay anlaşılır, yorumlanır, tanımlanır, nitel hale getirilebilir, görselleştirilebilir ve simüle edilebilir hale getirmektedir. Böylece bir model üzerinden geleceğe ilişkin tahminler de yapılabilir (ekstrapolasyon). Geçen ders gördüğümüz eğri uyumlama da gözlemsel (ya da deneysel) bir veri setine yapılan analitik bir modeldir. \n", "\n", "Bir uyumlama işlemi sonunda, gözlemsel veri ile uyumlama eğrisinin değerleri arasındaki farklara artık (ing. residual) denir. Artıkların dağılımı ve gösterecekleri olası trendler, uyumlamada kullanılan yöntemin veya modelin ne kadar başarılı veya kabul edilebilir olduğunun bir ölçütü olarak kullanılabilir.\n", "\n", "Aşağıdaki grafiğin üst panelinde HW Virgo yıldızının minimum zamanlarının (veri noktaları) değişimine yapılan bir parabol uyumlaması (kesikli eğri) görülmektedir. CCD gözlemleriyle elde edilen minimum zamanları daha büyük simgelerle, birinci minimumlar içi dolu, ikinci minimumlar içi boş çemberlerle gösterilmiştir. Alt panelde parabolik bu modelden artıklar görünmektedir. Bu panelde $y = 0$ doğrusu (sürekli doğru) parabole karşılık gelmektedir. Uyumlanan parabolün iki ucundan tutulup yatay bir doğru haline getirildiğini; bu sırada veri noktalarının da bu parabol modele olan uzaklıklarının bozulmadan taşındığnı düşünebilirsiniz. Veri noktalarının alt panelde modele göre bu şekildeki konumları, bir başka deyişle modelden farkları, artıkları verir. Yakın zamanda yapılan CCD gözlemleriyle elde edilen minimum zamanlara yapılan parabol modelden artıkların sinüsoidal bir değişim gösterdiği düşünülmüş, artık (Kepleryan) ikinci bir modelle uyumlanmıştır (kesikli eğri).\n", "\n", "
\n", " \"HW\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Artıklarda Değişen Varyans ##\n", "\n", "Artıkların bir grafiğe aktarılarak görsel olarak incelenmesi model başarısının görsel olarak anlaşılması anlamında önemlidir. HW Vir örneğinde bu türden bir inceleme araştırmacıya artıkların yakın tarihli olanlarının sinüsoidal bir değişim gösteriyor olabileceği fikrini vermiştir. Ancak burada artıkların varyansının, geçmişte görsel ve fotokatlandırıcı tüpler ve fotoğraf plakları gibi dedektörlerle yapılan gözlemlerin duyarlılık yetersizliklerine karşılık yakın zamanlı gözlemlerin duyarlı CCD gözlemleri olması nedeniyle zaman içinde değiştiği görülmektedir. Artıklarda aşağıdaki örneklerdeki gibi değişen bir varyans sorunu söz konusu olduğu bu tür durumlarada doğrudan modelden artıkları incelemek yerine, normalize artıkları incelemek daha anlamlı olabilir. \n", "\n", "Burada normalize artık, veri noktasının modele uzaklığının hatasına (ya da belirli bir bölümünün varyansına) bölümüyle tanımlanır. Böylece teknoloji yetersizlikleri, kötü hava koşulları gibi nedenlerle saçılması büyük olan veriyle daha ideal koşullarda, hatta uzaydan ya da kaliteli gözlem araçlarıyla ve büyük teleskoplarla yapılan gözlemleri birarada değerlendirmek mümkün olur. \n", "\n", "Normalize artık ($R_i$), $y_i$ ölçüm değerlerini, $\\hat{y}(x_i)$ o noktaya karşılık gelen model değerini, $\\alpha_i$ ölçüm hatalarını göstermek üzere aşağıdaki şekilde tanımlanır.\n", "\n", "$$ R_i = \\frac{y_i - \\hat{y}(x_i)}{\\alpha_i} $$\n", "\n", "
\n", "\"Degisken\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Bir Modelin Başarımına İlişkin Parametreler # \n", "\n", "Eğri Uyumlama dersinde de değindiğimiz gibi bir modelin başarımı veri noktaları ile o noktalara modelde karşılık gelen değerler arasındaki fark, daha doğru ifadeyle bu farkların karelerin toplamı, üzerinden tanımlanır. Bu fark ne kadar küçükse model o kadar başarılı adledilir. Ancak bu Artık Kareler Toplamı (ing. Residual Sum of Squares) olarak tanımlanan ve aşağıdaki şekilde ifade edilen bu toplam doğrudan bir model başarımı göstergesi değildir. \n", "\n", "$$ S_r = \\sum_{i=1}^{n} (y_{i} - \\hat{y_i})^2 $$\n", "\n", "Kök Ortalama Kare Hatası/Sapması (ing. Root Mean Square Error/Deviation) ya da daha iyi bilinen adıyla \"RMS Hatası\" artıkların uyumlama etrafında ne kadar saçıldığını gösteren bir parametredir ve yine bir model başarımı göstergesi değildir.\n", "\n", "$$ RMSE = \\sqrt{\\frac{1}{n}\\sum_{i=1}^{n} (y_{i} - \\hat{y_i})^2} = \\sqrt{\\frac{S_r}{n}} $$\n", "\n", "RMSE yerine, ona çok benzer şekilde ancak fark kareler toplamının $n$ nokta üzerinden ortalaması yerine varyansa (ya da ölçüm hatalarının karesine) bölünmesiyle tanımlanan $\\chi^2$ ve onun serbestlik derecesine normalize edilmesiyle tanımlanan indirgenmiş $\\chi^2_{\\nu}$ parametresi daha sık kullanılır. Bu parametre adıyla bilinen $\\chi^2$-dağılımını göstermesi nedeniyle artıkların analizinde önemli bir avantaj sunar.\n", "\n", "$$ \\chi^2 = \\sum_{i=1}^{n} \\frac{(y - y_i)^2}{e_i^2} $$\n", "\n", "$$ \\chi^2_\\nu = \\frac{\\chi^2}{\\nu} $$\n", "\n", "Burada sistemin $\\nu$ serbestlik derecesi (dof, ing. degree of freedom), veri noktası sayısı ile model paramatreleri sayısı arasındaki farktır ($\\nu = n - m$).\n", "\n", "Ayrıca korelasyon katsayısı (ing. correlation coefficient, $r^2$) da model başarımını ifade etmek için zaman zaman kullanılsa da daha çok lineer ve polinom modeller için kullanılmaktadır. Hatırlatmak gerekirse; korelasyon katsayısı bir modelin ortalamaya oranla başarısını gösterir. Doğrusal ya da parabolik modelden daha karmaşık modelleri ortalamayla karşılaştırmak iyi bir fikir olmayacağı için bu ölçütün de kullanım alanı bu tür modellerle sınırlıdır. \n", "\n", "$\\chi^2$ dağılımı ve özelliklerine geçmeden önce artıkların incelenmesi için kullanılan başka bir yöntem olan gecikme grafiklerinden (ing. lag plot) bahsetmekte fayda vardır." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Gecikme Grafikleri ##\n", "\n", "Bir ölçümün değerlerindeki bağlı değişkenin, sırası değiştirilerek kendi değerlerine göre çizdirilen grafiklere gecikme grafikleri (ing. lag plot) adı verilir.\n", "\n", "Verinin bir sıra kaydırılarak çizilen gecikme grafiğine birinci dereceden gecikme grafiği adı verilir. Genellikle birinci dereceden gecikme grafikleri aşağıdaki amaçlarla kullanılmaktadır. \n", "\n", "* Model uygunluğu\n", "* Seri korelasyon/otokorelasyon ile kırmızı (korele) gürültünün tespiti\n", "* Verinin rastgeleliğinin testi\n", "* Dönemli (mevsimsel) dalgalanmalar\n", "* Aykırı değerlerin tespiti\n", "\n", "### Gecikme Grafikleriyle Model Uygunluğu Testi ###\n", "\n", "Örneğin aşağıdaki gibi ilk bakışta farkedilemeyen bir sinüsoidal bir değişimin, y-ekseninin bir kaydırılarak (`numpy.roll` fonksiyonu bu amaçla kullanılabilir) eski haline göre ($y_{lag,1} - y$) çizdirilmesi sonucunda elde edilen elipsoidal grafik $y$'nin $x$'le tek dönemli sinüsoidal yapıda değiştiğine ilişkin kuvvetli bir fikir vermektedir. " ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY0AAAEKCAYAAADuEgmxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJztfX+sbUd13je2gwmkKgbT1ME8nk1REoOaxrxWOI3yEI2KcSKcSI7kNCJBpXKjpi2tIlV2LfW9F6WNQqqGpqSklUOTVgmQkNBaKKkLhtI/KkyuE2xM4IFNSGPqFFAD/aU2kEz/OHvb2/udffb6PbPvXZ90dO85d2bW2rNn1rfWmrXPLbVWJBKJRCJBwWWtFUgkEonEdpCkkUgkEgkykjQSiUQiQUaSRiKRSCTISNJIJBKJBBlJGolEIpEgI0kjkUgkEmQkaSQSiUSCjCSNRCKRSJBxRWsFrHH11VfX06dPt1YjkUgkNoUHH3zwC7XW56+1O3akcfr0aRwdHbVWI5FIJDaFUsrvUtpleiqRSCQSZCRpJBKJRIKMJI1EIpFIkJGkkUgkEgkykjQSiUQiQUaSRiKxJZw/31qDxAlHkkZrSIxAGo6TiwsXWmuwHyd5TZ6wa0/SsIRk8UiMQIThOE5kFqHXcZovCXolswicsGtP0jgE7qbuefFEXAu3j9Roel/L+fN9zdf580Apuxfw1O9UHbnXEkVmJ5nMt+ww1FqP1evlL395NcG5c7UCvD7Arh917PnrUF9Jn7luHHDbR8mIkDPOraeMnvtQ20evSQm85msL184EgKNKsLHNjbz1y4w0qIbDYvF4GygqAUaTGVDr2bOUK7i03xq0evU0X8fRYTh7VraOufDaKxoZkj7nzsmunwEqaWR6ao4xFTBiLRVw/vxT23hErfbhpyRFMfYZ0yDcaxl/t7yW+XV88IO0VIs2RcPVy0PGKMd7jkc5nPnynt+5nA9+kC/nwgVau4i9IoFmji9c6Cf9TWGWLb1UkYbUo4vwHnv1nOdyOJBGWZw+Us9x6ykt7XqJkOE1xy30oiBaLyawhfQUgLcB+ByARxb+XgD8FIBHATwM4Ma1Mc3TU96LlGvUPFNNU3hunjE1MX9RUlVcvbwJIJL8R904iCAzqgzJfW/pLHHkcFJHUXoxsRXS+DYANx4gjVsA/PpAHq8A8MDamE1IY95PIsejfcSG0xAANa9tcW7iES3O5XiQ/75+a+jVOM/7UOeWo1vUfdzCHDOxCdLY6YnTB0jjXwD43sn7iwCuOTSeCWlEhPZTOVwvhetlRHpcFHjPb1SaMfpQ28PI7oM3kVNl7OsT4WRICHCtjyXJSGwAAceFNN4D4Fsn7+8HcObQeGrS0HjOtfqU3Fp5T9z2EgLkINIIcHTjtJfqJtn8UkNLgdWajFjHVEgJgLPXve+9ds4YOFGkAeAOAEcAjk6dOmUzg9ObRQUlDTKF1KBR0MLQUjZb6zJVzqbmgNKnlXcu6RNhnL1SbVy9tNEft3x4HNt7jpk4LqTRJj1VK39DT/scQsuw/lDfVnpR6s8tCg0km5pz7yVGgNJHe18iUlpee2Vfn15SudP2058UvOhF/D7SMzAGjgtpfMfsIPzDa+OZkgb3wTOtZ0P1gscxpDLW5GhleOX0R9087otFGsDbQEuMIAdavTyNIJX8o86zIvtM+zpiE6QB4O0AngDwZQCPA3gDgB8E8IPD3wuAnwbwGICPrp1nVC1pSG7oUvhM3Wyeno3GCFBlzPtIcvRUOZKoYeznnTYc5XDbcufY2dsUR2bTn9TxuWtSkgai6jXXj9JG4/hw9QrAJkjD42UaaUj69OQ9zfWi6qYhDQkBUK9J6tFyoE3TcNEbaVDnWBrJRnrnUuPssYaj0owKJGloITX+3AXhuUHn/aUHx1QZtfI2HKeP9EA06j5yZU1lSnTyMjgRDsO83xI0a1KTpoqaL4kcRyRpaCG5saNhkxy+cdtyF5Fnvl0aNez73WLsfXKiz6eoJOuh01yGt1MiWZOSwgGujHlfalvPwgyuPvM+jhFHkoYW3EU63aCexkaqFwcR3ua0nXUu2OJQO4r8PSuOoqKG8Ro4xOxtnDX7y/s+ehdMCJGkIYFFPpvrQU37ctpGpEysjU2LqME7Mpu29TDOkdVAHL0O9bVuO20fGWl5nWNJnBHNfSGLSdKQQ5puiVh4noQ0h6cnGLHZtE/3UxEVAVEcBq2McW4k5yURxtkrarJIM3o5chrbwhKTpKGDxnOmLorxpq8dvnEX9FJ7a2M5BXdTaz0mrhF09NDY1x4VBWgMLae95loo0Jyzjb9TwN2/+/pz2mkKU5I0OiMNbmXPvF1EH4lXY204tTlnDTwNpyZn7kUAmjUpqdLxXl8S3SgytNGMJL1M0c0qKnd0fpI0dLP31O+SzeO54TQevdeCCz6wq7Xyr19yDsJtz7lmyX3kzjF1TVpFshJils41pR2lrXbtaioHe9rDNUlDO3v8PtpFRl1w3M22lNeX5KwPQeLRc2VQN2h0SeT02lt7m1qDrjFomkq9NUxTuYfaWN13jzMdqY6ScxMBkjS4iPKWNZs62hhy+kg9R+8+HP0jvW2KcbaSsSZnTR41mqFC4shIiFyT+vKMAjR7xRFJGrrZ0/X3Sk/1TBojvDw0aR+J/hIDJTWCkuugptokenENmja68LqPkrWuXV+aszDPVC4RSRq62YvprwnttZtirZ33wtYY2lFHCiTzOsrpifwlhlaTmvT0gqnXEl1oEZX+HJGRRh8vs+qpfb9T+3h6aVwZWnjJifA2JfdxuvmtIyArI9hTxEjts3Tt4/+WWEO0gfVak1Z9HZCkYQXO4okMO7087Xkfy4UtydFv4fB4PhYF3PRUVGoywpGJcBi0iNDLcw8LkKRhBc+NMIXXwtB6pVy9OEZMk6KhyuD2jSJ/bgpsX18OPM+9uH0l9yXCcEZnC6gIIswkDQ20uc2I9IFk3K0bDko7bUlzlEHrNTUpSWNJ5pjTR2uYvc6mJHKinAQBkjSsIDForb3H6DTQFBJD62WctQQQlTrxiuY443nfe42DNW/jtSa1UabkWpbQoMoqScMKnoYjIk9NNZzaQ1rNdUSk5iT3h1PaqoGXJykhox6jzHkbasRJaR+dLegpC3GJmCQNG0QZPs9FqknRbLmM0LMKztITlKSEPMadG0svh4Ei49C4EeveMiKwdA4z0uiUNFo8aOMVtmrTLZZe3VKfniAxHNFRppdec/mS/hRIHBHufGnvoxf5S9eKpj8RSRq62dOPwYXkEC1iU3M3QsRhuye0HqpUplV7iVOh8eipemlATU9pU00R2YLotcIaOklDM3v8Pi1K7zxJQ+rVWesSgS0YG20aiKqHJpKNeibJy5HRgiJnfk4WcWZIRJIGF1EPT2kwlxFx3sD16s6dk3m1FEQYKElag4t9pdsceKanuP17jcoj9LJIYfUSzdUkDe3sPf19y0VqYWi9yTDK2EQY9AgPVRvJekVAWo++J7SI/CV9kjTav1xIQ+Jtr6HFQz6S/pSy0+NEGhEPkmmvvXW6pcEzBGp46KZN9/aUAqxJGjpEeFwtzgG8ZI4pKelGWBvbYrNFwTKdRxmXil6jpqh7ZOVkWEfuHUVzSRpaeB8GR6XAtBu0BbktjcmNNCRzrIVlOq/lsyCe40ZEjIdkUhARMVLHCIoykzQsQfW29/0+b7NkBCJSOlT0WBRgQRoeekmirBbeZk/pvCjS8H6mSevE7Xs//XwpsnZCkoYlPFJPUd5mhLHRVgMdGpdLslpi1lYyUWVElDVr/z88BVtJM3L3pMdakSKIZJM0NIh4iG5qyKwNh+UBfYQXTIHUO49OM3pFg9TvwVoa18IrXpMh6SNZX57r2JtkJQjSK0lDN3uH3++D9iDYyzhrjWBUufGaHAsCsJpj7aG2RKb23nutHe0cR8g41KdBGoiF+ZrKSKNj0tB4614bNOIANCKakciVkCy1T/S93iffSs7StVAiFYv54t4Xz/M/jZMhWV8RZb1JGh2RhmaR7ttsawsoYsFRx219biIZQyLTI90iicyosLwv1GuXGFprB0IqQ7uHJfN16L0FPNfXJaKSNDSzd/j9WnvKIu0l/J3DK0raB8uzFytw7732/IsKifHges4SI9jCcHroJSE5r2v3JuEFJGnoZu/p77ne5tJnnL97QXIt2jEp8JgPSTQXUQQh0UtioCi5cOtqs4j7KCENq3VPqQKzjrKCkKShgSalc2gBWXsQ3BRYreuLsFWlSC8eaq2yogZuSoerl/RMR6OXZC1I1qS1DE4bzX5sEWXV6rZHkzQi0SrSkMiI8ARbjTGHxab2iDSiyEyrlwdaRdhrsFgbHlG6xPETgkoalyHRB86f9x27lN0LeOp3qsy1dhcuyHTiyOCMu+9apdduBQu9zp9/iiqAp363upZz52zGOSmYz5dk/tb2TvQ6pYDCLFt6NYk09nkDXA/Cyttc+7uHty1Ja7TwaiM8waiqG26flg+oUdZsa0j2sAUiokyyKhtITwG4GcBFAI8CuHPP318P4PMAPjK8/tramE1IQwLP5w4O/d3KQFnU0WvBPdyMyjlz+0SQRi+ISplawEuvHkrc9w7bOWkAuBzAYwCuB/AMAA8BuGHW5vUA3sIZdzOkMTWwXgeokkM0yaE9VS9rb2nt+ls8fEWBVC/O/PXgve9DkoZexgkmjZsA3Dd5fxeAu2Zt2pBGi7BU4p2vPeUruQ7poT7XoFks/FbGplEd/dMgcRi48Lger0pCK3jrZVGifFKrpwDcBuCeyfvXzQliII0nADwM4F0AXrgw1h0AjgAcnTp1ymL2nv7ecsFwUzraNBAXEtKQpM2kc9ybsWlFXB5RJleGFTzkRDw7ZHGe1ZokJzgupPE8AFcOv/91AO9fG7fZFxZqZbT82gLrg0pqZMLpI5FjAclDYRGG4FAEt3QfufPFNZpSRDk/hyApbbXIFqwhkFS2QBqr6alZ+8sBfGlt3CbfPSWB1Eh6e9oW17ovbaY1aIH16iwZEXpFpRlHWdT1ZUWY3D4e1XmSa6GSxqE5lTglTtgCaVwB4NMArpschL901uaaye/fDeBDa+N28S23FFhsrl7IjDvG+PcWBuoQrAjA+r5odNAcnktSYC2J3Pvhx0MyqDK50UmSxiXEcQuATw5VVHcPn/0IgNcOv/8YgI8NhPIBAN+wNuZm0lMW2GouWGJsIo2RxPh4OhmSa/dKt3g8B8SFVRrIuvRVopdkjp2wCdLweHXxn/ui0NEhmroctIfNY+U5W6wXj2vnkgY1dRJxn7Tl6WuwuM9UotJG2E5I0rBERJ7WA1uqKGqV2/XwnHtIT+2D5PCcq5fHvZc4cRGVYhbPAfUQYT8pKkmjLXqITlrp4CG3VdqjB4ch6j5y5USdAXE9esnDjr06WB1WT+UXFibs4fHFd5IxLb7sTTKG9ZfMbemLBNd0tZibNRn7vgRQ8sWAEV8WGDFf1qAwy5ZeTSONHh4860GHXsDN0UfNkUeJqQUiUjrUc5Ae0mY9ZAsCgUxPGcIjVxmBHnSgwsOgSw4qIxBxSGuFQ/NuZYgt8vrUUliOA9XLegkClTQyPTXHvnBwi995HwWra1+bY+r/7ND+75DjAq/7IpnfiHuy9L9G9n3WWtetg8IsW3qpIw0rT6iHdJDkQJALK2/Mo4pk9Cp7SNdxnwq2foZAikPjWEUa1lFmr+mplg8GE4BMT4lnbvezRS312sNjFuipHNQzr71PN49yUAm4ekUbPOq8R+i1NP/cveKRYo44A/Ic55JhkzTokNTqRz98ZWXwLDaC9totnlaWyPEwchFnLVS9o9dkRDnykvyI8wbrZ4eSNPp8dZOespK99jfKQaVn1GRliCPmuIeHr8Z0lPYJ+jV0bqDU8lvrRdXBisgD0qxJGvKZu/Qzj6eVKSkYykLhEo21EbQijV7KYUdZkSTrYQAlc7wPLcqDl+b/7Fl3wynWTVoKPI7JQUYanZGG1caSEI0k0ph/7pFqszhr6eVAmgvJfHHH0zgdnL9bp5r2wfpathZpWF+L5xnqJcMmabSFxKOnkobmoNKazCToYcPvg9dZi4aUNXI5fVqmsyycpTVEFDQsfbamA/f6s3rqBJGGh0dvveAiPGErAyWZL65ekvmKuHbqOJ6VUFwZS5AY2h5SOpooIOK+MJGkEQlJiWiE8dBUT7UwBFxYe6hW5CiREVG1xk1lUvU6JGMOq/VFkcHRizrOUrvo++KAJI1ISLzzCG/bSm5UH0sZVNKILh+WRIyS9lZkZq2XVSRLkaGtULNe91bZAickaURCshEiq1I8owZLOVoZ2qobSRQgMVCHxqFCYpwjDpx7PTOLIjPrKDNJYwOkYRWSWoeSVovHOky38pwliEpPcftEkKx1Gfg8JWVJ/h57Zd5HUjU4BZf8rc7M1hBYXZikIZ+5mD6tZFgvXCsPVQJrAqASoNZAcfVaAtdwShARBViPQ42yNPexp+jbCEka8pmL6UOBx4KzLu+UhNxcLI119iy/j/XhJjcNtISoVIiljJbjWV87N2LsPNUkQZIGBx6HodZoueC4nra3/LXPo+Rb6hBF5lxY39OIszmvcmuK/C3ekwFJGvKZ2/9563AymjSi68h7SIFJzmei14XWcB4XWEdmVlWIEWvFyRYkachnjvd5FFoagRZpEG0llIUOU116ROs12RKt08jTsXqJvNXDJmnIEFENpM23R6O19xRF5Fszwq31bbleox6848rf0vnmDEkaFvC6Ub1GM0vwymtrU2AW87Wh6pZL0FrHjMyOlQwqaZRd2+ODM2fO1KOjI/uBS9mZE8+xLGX0jH3Xeejaz5/f/z+alz631KsHWF+nFba2jiP0irhXTtdRSnmw1npmrd1l5pITT2G6eJb+Yf0rX9nPP7K3lBkxVo+GdA0SnS9cMFfjElD1WlrHmnsRdR/PnfOXYX0t+8aLuI5DoIQjW3q5fY2IZUlkr+kpr4PCWuOfoF+C5Ol2SxmSlE7LCrVDsDoMbl2d1ms6rdZQm4A80+gAvZJGxCFeRMWVBK1zztR77/EVI9b3hLuOo/SyKp+NQicPBCZptAJls1tWT2kjIMsHG6Of7ZCgBWlEPxQWQUy1Lj+RT5HvuVas5isK1vdFrEaSRgxaewmS0N4y0pGM1esDcZJxuTIiDGdr46xdd9r7RbmWnh6SlDgMDnolaUShdRqGKl/r7XLlt/belmCpl+TavUi2xVdcWBlnC6PpdaZiuV4so3KH/ZWkEYUWHrXXgrN8YKrXw0XJZrOM2FqeJ1msVQ/jbP0VMprITDuW9bUEPkSYpOGJFjlH6uLxiiiW0GtEwT03om52L8K0XDtRKQ1L47yEiMNzSdRiqRdVX2e7k6QRBa/wlSqndT60V9KI8DZ7vfaoKM/SC6f2pxjNiPVN/dzLyXDY22akAeBvAbiKMlgPr02ThjUBRBg1yw3aksxaR2xLiHiupGf5S4gibAo5tKgadHBkLEnjRwE8CuCXANwM7L56pNdXV9VTXEgMl6Vurc8htJuKO1/azd5rZU2U/JawTHVR+0Qd6nP1osggwDQ9BaAAeDWAdwwE8o8AvJjSN/rV/DkNLnp6tqG1gWh51tLaOEtkRxjOKOMcIaO1p+91qG101mF+pgHgmwC8GcAnALwVwG8BeBO1/8KYNwO4OBDRnXv+fiWAdw5/fwDA6bUx3b4aPQKtDVfU+cy8XWTOV9K+p+dKenqGQSOjBSJIo1cyI3W1S0+9EcCDAO4D8D0Avmr4/DIAj1GELIx7OYDHAFwP4BkAHgJww6zN3wDwM8PvtwN459q4m/7PfS0MVy9G+1Afy7GW0Do1twRrR8KSTC37eMGr4ijiUD+YgCxJ4wKAFy387RspQhb63gTgvsn7uwDcNWtzH4Cbht+vAPCFtTOV8P/c1/oguGWliGSsnuVbwuq+WJCGVwkpV8Zaf87nErReE0uwXPc9VE95vQDcBuCeyfvXAXjLrM0jAK6dvH8MwNWHxhWRhuaAq/VCbJ2nncLScEjKK3t66NDKybCuXopwilo7DFwZh9AywxCceThRpAHgDgBHAI5OnTqlnbmnfvcqu+zVe9IabYpe1kaIu+GiSL61/CX0apwj9Gp93rAEyb5z0GsLpLHd9FTrg8Joj7q10W4tn4penu04hIjITFsEcfasbn9ZouX9skhNssT1TxpXAPg0gOsmB+EvnbX5odlB+C+tjetWPRVlBK1KIqM8R25EYTFfXGPX4jDU0smIQOvIqGWKZl/03MP9kqx7lbjOSWOnI24B8Mkh7XT38NmPAHjt8PszAfzyUHL7YQDXr40Z/p/7qIvaK+xsEdZ7PUS3BEuPqzWZtk63LGGLpLHvb1HpzwhQnRIjbII0PF5dPRFutRGo8lt4SF5GO5pkJZB4wdzILMpwtI7MrK7fOvK3mmPrPchdR6QhkzTag0oaa5vU2ntqeRDfOp0XUV8vkW/pYPRaaGEx1tr8WzslVmc61pGBZfr3ya5JGm2gPVzckvdUa4zRjkgRSLzgCIMqyWv3Zug9xpqO16IwJWIPS5CksUHSmMLK2Ecs6rU+EYh4wGsJLc4ntNVDWzg38UyZRjhYkj5WZKatQmPOcZKGNaI85GlKynKzbaEctKX8XtNAVL16qfg5hIgUjbWDtQRuBNgDma12TdKwheVitCqrlYx1aDxrOVxEk8ahjR5thC3vSWvyX0LrNKPF2NIIMEmj31dXpGE1lsQLpo7nVaVERS8esvUcc2GZmmttnFumGaPAXS9RqaasnmpMGl4GjbuprcsuJR5qRNi/tfRUr2gdFbaMyiUyJIiIyoPXXZKGNbQbwZKAoshMWwpsGVF5Q+I5n2R4Rr/asbgyJLCsGuwkzZikYY2TvhEkeVpumG5VE9+Dke9BByosUideZa+t90pE1LD0t+A1lKRhjagDZysZ1qCShqaKxGqOo+aES7I9EIlVxZFFpKEtOdbI8HyGgztOJ+nPJI1W0D7cJ5EXAUkpMNegWxmvlkR66G89GAcrvXpNT1mf/2nuWU/VeQQkafSA456jp6antBVa83ZL40Vvwrm+2lr9yANszyqdllG5ZwSkuT8ZafT7StIgyI4IuWulRR/ahw6jPXouAWojM6mOHJ17ILOWzzRZRyfccZI0kjSeRMscdsQitX6GQOJtSkij1eEmNTLTole9vPaD57lFxLV3UgCSpBGFHg43R2hyqNFnI/sw3aCalJZ1KbBkHGok0UMqpIf5soJEhiQ6aQ2HCDtJIwrcG2XlVayhp5QOFVEPHUoM5z5Y1urXqrsHVPKxejLZek1aoeW5RSSSNE4QaVh7QpI+vZLGEiTnIHNo8/oR6NWj16yXaOPcK5lZwLkAJEnDE5qNEEUalByq94aOGMdqPnswHBFnLS2fhYmIyiWwvvet1n1GGh2ShrTixcMzXtOLCw+j2VM6Yl8f65SOB6zTZpLUnMTJsKgOW2vfm3MzIiJiTNLYCGlY3CjJRljrY7FIPTZoBGlISJQ7x1bX0cMcRkUNXHJqte49EEEaWT2VpKGSYbFIrQ5pezhgjDgDksDDOFPm1eM8x3pNcqM/iQwJrAoHOPIa7Z8kDStYbziJcV7yKg7p1UPILUmFWMDiDCi6FFYqO8I4L+mo0XtJr7XPoo2qZA23dDJU4pI07GG14ebweDgpwkP10EsKzzMgDQl5zKFGN6+1wh1zHFfjkEUYVcl8RZGGMVEmaXggwghaefQRxsb67MAKEdcu6WMZrUmJKOrsYN7HKsJe62MBLZlFHdAbX3+ShgcijGCUVxvhoU71szRya7A2gufO2UQnmnvLkdODjPmYHsR09iy/Dzfy9EznaZGksQHS2AduRcgaJBthH3rwUKl6Wbav1T7fvk+PHs6Z9ullBesUbKsUGKXPoXE8I8Ypog/c9yBJowdYpiOsZUuNjXeOXtvea8x5nx7y7bXaORmHICVu70PrCNKQOEutUoBKJGn0gJa58Ii0hodeY5sejM0hPXohjQg5ESRLhWRtLPWRrjHqvfcuH07SOCakYbmoNXX0FD0PvV9rX2uMXhEyKJiSBeXeRj2XQkmbaWER6fYaMUrGkTgMSxkEjXOU1VPHhDSm0CzqHurR1/4ekaOP8tjXEKGXRV47ar64Zzq9nOdISYNyXqVx/DpY50kaPUBiaK3SU1xELGpJ6B/lsa9BEgFFPA/SimR7WC+SCC/iuR2rfR+MJI0eEHWIJoXWe+Ji6TqioyoLWOS+te3HPi3mz4M0LFKTW3WwOljrSRq9otcFFeE5UsZo4XG1SvmNsteIe60/V+baGIfaeZ7pWERNEetHEs1EQCk3SaMneHuCFuN4kQb32luQhqVMzb22SE1K0ma9GGdp1LTFSNUDynuSpOGBCOMcNaZF9RQXFD25zx30ek8k41qQhoScWpKG9aG+x720WGM9ZAtWuydp2MPikLYX0ujVo484B6g1xjuVGvyI51Q6K/d8Uq9D7yVjzNFqz3rtN8O1kqThAYtFbZmSWlosHoe0Fujl8NhjjH3g3mvPIogeynTXYOGUeVQptVhjDcgtScMKW9xsS3pF5349Dlgl7dfQ631c+sxajod3LkFPKRyLNaYpHKDoafwgbNekAeC5AN4L4FPDz6sW2v0RgI8Mr3spY7tHGhID5w1JBGRhjHrw6iKuwwqS+YpIA23gGQIVtAQQkZa22MPK7yHrnTTeBODO4fc7Afz4Qrv/xR27u/RUxIYbU1KcjRERcrciDe6hPsUIeB24t6j8iXjoUCvTCxICiDhrkTikFno9rXvfpHERwDXD79cAuLjQri/SkISDLc49JKGtlZzoA1bJOUAU+XPXS4u1cmjc1inAXg7bvZ6FkaS+HdPlvZPGFye/l+n7WbuvADgC8CEA30UZO/Q5Da+cu9az84xuONfWKq3RC2lwvceIyKzWNpFGxLVJIkaqjIiKNq5ekujk4HCNSQPA+wA8sud165wkAPzBwhgvGH5eD+AzAF680O6OgVyOTp06xZ4sMqIqGrSbNOpg28NzloCSnlv6+6HNZl2htjYfFuurpwo17fmfl56tnTrKmFFps6d17zvSIKWnZn1+DsBta+3C/0e4VZ8WuW0uIoygZAzSs4bIAAAQ3klEQVSuXvN5lUQaDdIHZjI8PHgLmVrPmSLDItXkQRoW52zHnDR+YnYQ/qY9ba4CcOXw+9VDpdUNa2N3RxqSigaJ18FtH+HVRhobTp/REHnK2NfG4z5akBkXXhG3xClpcXjcU2nwFEq9eieN5wG4fyCC9wF47vD5GQD3DL9/C4CPAnho+PkGytihz2lQYOHJeITpERGQhUcmMYIUMpuOSyXZiAo1SQSk1SvijGPJedJETS2InAqtg+ARzayga9LwfHUXaUgWKXcBRVV1eZDXPngZZ0tvW5IK4Y7rlW6JcEos9FqbvxZRFhVcp0RC/sb6J2l4wMI4UTcct+qG0t76YHdJd8sN2gsBWvc/NK53ZCsx6BFpIK0eUdEvBVzy95ovBpI0PCA5rLJYDBFhuofnbLGoIzx6CSzPJw5Vdnnp5Z12jPCcJc4IN5rhgHsfowsaVodL0vCH1+ahGHTrBefhgVmM6XF4LBlXC+pccD1UC3DleBlBLiTEGnV2wI0YqWTmmGpL0oiAZSpAE3ZLvCfJwS4XkshMiyhDy4WENKKITWt4KWN63BdJQcMcnqTBkSHRIyONjZBGRDWVlecXPcZWZXiVKJ89y18r0RGQl8ye0kDU/tq0mUavDggvSSMCXgbKw/OzkDk/VPeWQUWPRD7v02sE1EvJqRTaOY649xuZ4yQNL3Dr6Jf6UttF5ei5ZEa9dq63rTWuvRqOKNLwKlbQOgxe4J4d7OvPaWM5bmdI0vCCxoPwzFtGp344enmThoTIvUqUl/oo/9cBGV6pTe69j3Bi5u0sI3+LFJgGDYg5ScMLGuO8RdI4tHkoXh3F2FjW3kdFGl7RiRZUg+5xH7l6WPf3mu8WEWODtZOkYQlNzlzSl9rHu/ppDurm0XhpWuPcK2l4eo5ez1xoHIYWpOGVypU4S1p4Xv+iyCQNHxzXSMPLo+caTqpx1kZA87EobTRVN15GQPLcgUQvbcRIQZQTxL0X2vvIkaO5fqVuSRpeOK6kwTU2XgtZYpwlZKYxRNSoad5HIofTRvJgp+Q+SiKziPM/ydg96aWVk6TRKWlMDzS5C86zFjuiHFYCjXGWGMEIkqWShjQ1ydFxfu2WJd2aQ31JOk/Tfg3ag+3pOBLZ3HbaeyTQM0nDCxIDxYU2HG6w4EiyuG2pm1rrOVN1ikgdUFJtEgNoqb9X2uxQf8s+3D2s3Q8SR6aB45ek4YWIBUcxHFQdOTI9wRl/bBvlOfdaOk0lTO41afX3mu+oaJk7Z9q9ERH9GvRP0rBEdBVJxAbd15cDz4fIKNfR8tCQcy37ft/Xjhs57NPF0zhJUyecPpJrWepvKUc6X97reL6+snqqI9KYYlxA1oeOlg8TcSMgL2+bsyG8ykYt+4y6REV8nKoujjxp6kcT0XiRhpdemvOcQ/Io7bzSbKvDJWn4YLw5hwy6lgC4hmPepyevTtJ+Osfcsb1q9edyPNrP+3DvvedzA/vkcdodSkkt7RUKAVCdJatD/YgIyCtiWh0uScMHU6+O6gVrFgMVXGMj2aCab22VkIZ31QkX1tHVmgzP9cKF1jhzI0ZPw6khf8n64q5jyfxK1toMSRoekIbCGu/JUh/LCMgr5Oa2nfexNhwRabMW1VBcaCIgiQzLaOZQHwokzhJXRkT6bwVJGl6gRg0tNzW3fU9enQTaDRdhBDl9pNfimZ6SXgsHU/0PpY205w2aefIkM42MJI1jQBqaPpLQVmPQJAf0kk0dYdQk3rlX1KRNgXH1khgOyb33vP4RjQznIrSpIw6o7SUR0EGxSRp2sChn9Q47uVUdWoMWUdq6JiM6fy45n5n35bSL0KuniLFWXZrRU8dxbOo+06wvzl7W3PsZkjS8oNmYEWkgz7ODqPRUxOG5JA00l8WBJFXj5ZSM/Th6eZL/tJ3EweL24ZZOj3KmPyntpc6iZN0naZxA0tBWRWgWHBUaL9hzg3Lb1sq/FsuqKOv2kuc0pIZWAk8jqHFk1tprMwxeeu3rY5D6TdLwgrcHWOvTF4+EaLwMWctKIornLN04XgZdcy3e3qakj9f8tqoCjCJZjbO4T4bTmWGShiekRkayqK29YKsFZ21oLfTi6jTK5Z43SOR4RjPj2Gu58EgnI2pNTnWSHOpz55i7h6V6ce+JZE1eMlSShh88SUNrOLy9zbNn6Z5w5LVI2nP7jG21RQSUtt4kO7bnHLpyxtfee45OozxuHy4JcvpoHDHvPbw4VJKGLbSpBq0XRdGP20e6SLkbQpJuiUgDjrI4ekmr1CLWieQ+epLTOFeSNUlFxHkOVT+rsTnPm2jkXSI+ScMPXOMhMehcQzv2kaYoOJ6g5Dq8iYkjIzKdJ41+pMZ8TT8tOXk7JRHnUpxoeYQk0oiyE9w+C0jS8ETE5uHK8NRr6SEiDsl4erRTOVSMBBuh1zgORSfpHE9/csf3IhrJuudAo1evTkZEEcTiUEkafvBMt0z79EIaEhmHDJSVcYpKGS6R5pIXGU2AmvuoIZp918OdKwtI9iPnfkz7SIiG215CzMrKqd1QSRr24GwIySKwNLRU4zmG6muI8rYiD1AlxpnSR2s4uXpFnJtw9TLOt6v1inBiRmjuv+ZalHObpOENibFZQ6vDdm9jLjGCEoMunSfKhrZ0Ajw8dEkkO/bj9PEg2Tm4xs9rDWscslpp6U+JXlNI5ndxqCQNX/S4GKKMs6R95Ka2MuTRfUZ43fvotNmUCKmgppqOyz1podfiUEkafhjTOpR2msXgFQFE5OgtUlQRXrDEq+3REEiunwuqDO/0TK19ry/tvfeWsSg6ScMP0g3HgeTmcxaN9xlFlNG0SOlxICWa3tInVCOuTdF43cfoqMnTUYy+9gUkaXgigjSoaLHZuIj0HjnoNRUiuRaJEfSWMfah6sKdL01EI71+bvseZSwOlaRhi2hjyz3YHGV4G2cv0ogsAmhx/dz2x8VAcUttva/d+95v4cxsAV2TBoDvAfAxAH8M4MyBdjcDuAjgUQB3UsY+NqQRYTgkC43bVjJnUUZglMVBFGn0cp4llTPtS0F0ZFarHwlwxtf2kV77XtF9k8Y3Avh6AP9xiTQAXA7gMQDXA3gGgIcA3LA2dlfpqa3k9SPAJTPpmY53H4leXgQwRcS1S/pEGUHJw4PHgTSkffYO0zFpPCn8MGncBOC+yfu7ANy1NuamIw3toSNVzlxmBDh6SXWSbJ6o6+egZ2PjRRpOh7urMjnoxcGYI0njyb/dBuCeyfvXAXjLQts7ABwBODp16pTJBB5E1GZr6HWYI8I490gAEkQZWol33mvUFIGe9DqOZxoA3gfgkT2vWydtTEhj+uoqPTWF16G2Vk6iPzT0Ns2Rjo8/giONK+CEWuu3K4f4LIAXTt5fO3zWHufO8fucP+8vQyIn0R9O+j2Urn1vnPT7MsCNNAzwGwBeUkq5DjuyuB3AX2mr0oCIxZMLNMFBr4Y2wsE66Qi+92UXlcSilPLdAP4ZgOcD+CKAj9RaX11K+TrsUlK3DO1uAfBm7Cqp3lZr/YdrY585c6YeHR35KZ9IJBLHEKWUB2utZ9baNYk0aq3vBvDuPZ//VwC3TN7/GoBfC1QtkUgkEgdwWWsFEolEIrEdJGkkEolEgowkjUQikUiQkaSRSCQSCTKaVE95opTyeQC/qxjiagBfMFLHA6mfHr3r2Lt+QP86pn58vKjW+vy1RseONLQopRxRys5aIfXTo3cde9cP6F/H1M8PmZ5KJBKJBBlJGolEIpEgI0njUvzL1gqsIPXTo3cde9cP6F/H1M8JeaaRSCQSCTIy0kgkEokEGUkaA0opN5dSLpZSHi2l3NmBPi8spXyglPLbpZSPlVLeOHz+3FLKe0spnxp+XtWBrpeXUn6rlPKe4f11pZQHhrl8ZynlGQ11e04p5V2llE+UUj5eSrmptzkspfzd4R4/Ukp5eynlmS3nsJTytlLK50opj0w+2ztnZYefGvR8uJRyYyP9fmK4xw+XUt5dSnnO5G93DfpdLKW82lu/JR0nf/vhUkotpVw9vA+fQw2SNLAzegB+GsBrANwA4HtLKTe01QpfAfDDtdYbALwCwA8NOt0J4P5a60sA3D+8b403Avj45P2PA/jJWuufAfAHAN7QRKsd/imAf19r/QYA34Sdnt3MYSnlBQD+Nnb/jOxl2H2j8+1oO4c/B+Dm2WdLc/YaAC8ZXncAeGsj/d4L4GW11j8L4JPY/XtoDHvmdgAvHfr882G/t9ARpZQXAvjLAP7L5OMWcyhGksYOfwHAo7XWT9da/xDAOwDc2lKhWusTtdbfHH7/n9gZuxcMev380OznAXxXGw13KKVcC+A7ANwzvC8AXgXgXUOTZjqWUv4kgG8D8LMAUGv9w1rrF9HZHGL3bdNfXUq5AsCzADyBhnNYa/1PAP777OOlObsVwL8e/vnbhwA8p5RyTbR+tdb/UGv9yvD2Q9j907ZRv3fUWv9frfV3ADyK3X53xcIcAsBPAvh7AKaHyeFzqEGSxg4vAPB7k/ePD591gVLKaQDfDOABAF9ba31i+NPvA/jaRmqNeDN2m+CPh/fPA/DFyQZuOZfXAfg8gH81pM/uKaU8Gx3NYa31swD+MXae5xMAvgTgQfQzhyOW5qzHvfNXAfz68Hs3+pVSbgXw2VrrQ7M/daMjBUkanaOU8jUAfgXA36m1/o/p34b/69us/K2U8p0APldrfbCVDiu4AsCNAN5aa/1mAP8bs1RUB3N4FXae5nUAvg7As7EnrdETWs/ZIZRS7sYutfsLrXWZopTyLAB/H8A/aK2LFkkaO3T5/8hLKV+FHWH8Qq31V4eP/9sYug4/P9dKPwB/EcBrSymfwS6l9yrszhCeM6RagLZz+TiAx2utDwzv34UdifQ0h98O4HdqrZ+vtX4ZwK9iN6+9zOGIpTnrZu+UUl4P4DsBfF996lmCXvR7MXaOwUPDfrkWwG+WUv40+tGRhCSNHZ78f+RDlcrtAO5tqdBwNvCzAD5ea/0nkz/dC+AHht9/AMC/i9ZtRK31rlrrtbXW09jN2ftrrd8H4AMAbhuaNdOx1vr7AH6vlPL1w0d/CcBvo6M5xC4t9YpSyrOGez7q2MUcTrA0Z/cC+P6hAugVAL40SWOFoZRyM3Zp0tfWWv/P5E/3Ari9lHJlKeU67A6bPxytX631o7XWP1VrPT3sl8cB3Dis0S7mkIxaa752Tskt2FVdPAbg7g70+VbsUgAPA/jI8LoFuzOD+wF8CsD7ADy3ta6Dvq8E8J7h9+ux25iPAvhlAFc21OvPATga5vHfAriqtzkEcAHAJwA8AuDfALiy5RwCeDt25ytfxs64vWFpzgAU7CoPHwPwUeyqwFro9yh25wLjXvmZSfu7B/0uAnhNqzmc/f0zAK5uNYeaVz4RnkgkEgkyMj2VSCQSCTKSNBKJRCJBRpJGIpFIJMhI0kgkEokEGUkaiUQikSAjSSORSCQSZCRpJBKJRIKMJI1EwhmllD8//J+EZ5ZSnj3874yXtdYrkZAgH+5LJAJQSvlRAM8E8NXYfR/WjzVWKZEQIUkjkQjA8J1mvwHg/wL4llrrHzVWKZEQIdNTiUQMngfgawD8CewijkRik8hII5EIQCnlXuy+Pv46ANfUWv9mY5USCRGuWG+SSCQ0KKV8P4Av11p/cfj/1P+5lPKqWuv7W+uWSHCRkUYikUgkyMgzjUQikUiQkaSRSCQSCTKSNBKJRCJBRpJGIpFIJMhI0kgkEokEGUkaiUQikSAjSSORSCQSZCRpJBKJRIKM/w96QA6GCUcrcgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "from matplotlib import pyplot as plt\n", "%matplotlib inline\n", "np.random.seed(124)\n", "x = np.linspace(0,48*np.pi,1000)\n", "y = np.sin(x) + 0.1*np.random.rand(x.size)\n", "plt.plot(x,y,'r+')\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Gecikme grafigi\n", "ylag1 = np.roll(y,1)\n", "plt.plot(y, ylag1, 'r+')\n", "plt.xlabel(\"y\")\n", "plt.ylabel(\"$y_{lag,1}$\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Diğer taraftan aralarında bir ilişki bulunmayan parametrelerin gecikme grafikleri de rastgele (ing. random) yapıdadır. " ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from matplotlib import pyplot as plt\n", "import numpy as np\n", "%matplotlib inline\n", "np.random.seed(758)\n", "x = np.linspace(0,10,100)\n", "y = np.random.rand(100)*10\n", "ylag1 = np.roll(y,1)\n", "plt.plot(x,y,'ro')\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")\n", "plt.show()\n", "plt.plot(y,ylag1,'bo')\n", "plt.xlabel(\"y\")\n", "plt.ylabel(\"$y_{lag,1}$\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Çapraz Korelasyon ve Otokorelasyon ###\n", "\n", "Çapraz-Korelasyon işlemi (ing. cross-correlation) iki sinyal arasındaki benzerliğin hangi gecikme değeri ($\\tau$) için maksimum olduğunu belirlemek üzere astronomide de sıklıkla kullanılan matematiksel bir işlemdir ve aşağıdaki şekilde tanımlanır.\n", "\n", "$$ f \\star g~(\\tau) \\triangleq \\int_{-\\infty}^{+\\infty} \\overline{f(t)} g(t + \\tau) dt $$\n", "\n", "İstenirse $g$ fonksiyonu sabit tutulup $f$ ters yönde kaydırılarak da tanım yapılabilir.\n", "\n", "$$ f \\star g~(\\tau) \\triangleq \\int_{-\\infty}^{+\\infty} \\overline{f(t - \\tau)} g(t) dt $$\n", "\n", "Örneğin bir yıldızın tayfından dikine hızının elde etmek için geleneksel olarak çapraz korelasyon fonksiyonları kullanılır. Bunun için yıldızın bir sentetik tayfı ($g$) oluşturulduktan sonra, gözlemsel tayfla ($f$) çapraz korelasyona tabi tutulur. $g$ sentetik tayf fonksiyonunun her $\\tau$ kadar kaydırılması sonrası $g(\\lambda + \\tau) f(\\lambda)$ çarpımı elde edilir. Burada $\\lambda$ bir tayf fonksiyonunun temel parametresi olup dalgaboyunu göstermektedir. Bu çarpım hangi $\\tau$ için maksimum oluyorsa o değer iki fonksiyonun (sentetik ve gözlemsel tayflar) birbirine en çok \"benzediği\" (korelasyon gösterdiği) kayma değeridir. Tayflar için bu iki tayfın en iyi örtüştüğü Doppler kayması değeri olan $\\tau = \\Delta \\lambda$ değerini verir ve aşağıdaki şekilde ifade olunan klasik Doppler kayması denkleminden \n", "\n", "$$ \\frac{\\Delta \\lambda}{\\lambda} = \\frac{V_r}{c} $$\n", "\n", "yıldızın dikine hızı ($V_r$) elde edilmiş olur.\n", "\n", "Otokorelasyon (ing. autocorrelation) fonksiyonu bir sinyalin x-ekseninde kaydırılmış (geciktirilmiş) bir versiyonuyla çapraz-korelasyon işlemine tabi tutulmasıyla elde edilir.\n", "\n", "$$ f \\star f~(\\tau) = \\int_{-\\infty}^{+\\infty} \\bar{f(t)} f(t + \\tau) dt $$\n", "\n", "### Verinin Rastgeleliğinin Testi ###\n", "\n", "Rastgelelik gösterip göstermediği bir gecikme grafiğiyle araştırılmak istenen bir değişenin otokorelasyon göstermesi durumunda gecikme grafiği lineer yapıdadır. Bu durum birkaç sebepten kaynaklanabilir. Örneğin zamana bağlı bir sinyaldeki gürültü, bir veri noktasının bir öncekinden bağımsız olmasını engelleyen (korele) bir gürültü olabilir (ing. red noise). Ya da zamanla fiyat artışı, enflasyon gibi bir önceki veri noktasının değerine bağlı veri noktaları içeren değişkenler otokorelasyon gösterirler ve bu durum gecikme grafikleriyle ortaya konabilir." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEKCAYAAAAfGVI8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAGY9JREFUeJzt3X2MHWd1x/Hf8ToIm6A2u7YsN2R3EYpSRbQk1EUpqRCQQFMXNaGVUNHu1gIkV4TQgJBQiv8AVV0VIaDNHwXJkIC7XtJSXpQosnhRoEK0KGIdoiTgolCaNUmdeL3bltBNlbA+/WPuyLPjmbkz9955uTPfj7Ta3ev78qwSzXnmOc85j7m7AADdtaPuAQAA6kUgAICOIxAAQMcRCACg4wgEANBxBAIA6DgCAQB0HIEAADqOQAAAHbez7gHksWfPHp+dna17GAAwVk6ePHnO3ff2e95YBILZ2VmtrKzUPQwAGCtmtprneSwNAUDHEQgAoOMIBADQcQQCAOg4AgEAdByBAACaaHlZmp2VduwIvi8vl/ZRBAIAqFKeC/zysnT4sLS6KrkH3w8fLi0YEAgAoCp5L/BHjkibm9sf29wMHi8BgQAAqpL3An/6dPLr0x4fEoEAAKqS9wI/PZ38vLTHh0QgAICqZF3go7mDX/xCetGLtj9n925pcbGUYREIAKAqi4vBBT1q927p4MHtuYP19eD71JRkJs3MSEePSnNzpQyLQAAAwyiyzXNuLrigz8xsv8CfOHFx7uCFF6RLL5XOn5eeeKK0ICBJ5u6lvfmoHDhwwOk+CqBxwl1A0Yv47t3FZ+87dgR3AHFmQSAYkJmddPcDfT9+4E8AgK5L2wU0P1+sCKzi5HAcgQAAigqXg1Yz2v0XKQJLyx2UlByOKy0QmNkVZvZtM/uRmf3QzG7vPf4RM3vKzB7ufR0sawwAMHLRorB+whqBtDxC+PjCgrRrV2XJ4bjScgRmtl/Sfnd/yMxeKumkpFskvU3SL9z943nfixwBgMbodyeQZPfui/MIhw5Jx44Nn1/IUHuOwN3PuPtDvZ+flXRK0uVlfR4AlCrPclCSiYnkPMLRo5W2kchSSY7AzGYlXSvpwd5Dt5nZI2Z2t5ldVsUYAGBgeZaDpqaS1/m3tpKfn/Z4SW0kspQeCMzsUklflvQ+d/+5pE9LeoWkaySdkfSJlNcdNrMVM1tZW1sre5gAkC5pd1DU7t3SnXcm1wjMzCS/ZmIi+fGKdgpF7Szzzc3sEgVBYNndvyJJ7v5M5N8/I+n+pNe6+1FJR6UgR1DmOAEgU9YsfWYm2N0Trusnre8n1Rqk5Qgq2ikUVeauIZN0l6RT7v7JyOP7I097q6THyhoDAIxE2ix9ZqZ/1W9aNfGnPpX8eEU7haLKvCO4XtKCpEfN7OHeYx+S9HYzu0aSS3pC0p+VOAYAGN7iYvKsPmv2vrwcLCmdPh0EkuhdQ2hurpYLf1xpgcDdvyvJEv7pRFmfCQAjFb2YT04Ge/03NtIv7NHXRQNHWFwmNeLCH0dlMQAkiZ8mtr4uPfectLTUfzmo4hPGhkUgAIAkw1zMKz5hbFgEAgBIMszFvOYmckURCAAgyTAX85qbyBVFIACApKZww1zM07aMNjBRLBEIALRBkVPCkl4bTQpHd/gMczGfmwuSyhWcMDYsTigDMN6GPSUsrZFcWCw2xmrvPgoAlRh2q+aY7fApA4EAwHjq1xY674V8zHb4lIFAAGD85GkLnfdCPmY7fMpAIAAwfvK0hc57IR+zHT5lIBAAGD/92kKHF/K8u4nGaIdPGUo9jwAASjE93X+nz5g1fqsTdwQAxk+edf203UTz89l3B8PUJIwpAgGA8ZNnXT9r+Si8O4hf5NOKy1oeDAgEAJonz6y837p+v11Dm5vBcZHRzxiz9tGjQiAA0CyjmpUnLR/FbW1t/4xhaxLGFIEAQLNkzcqLrN9Hl4/y2NyUJiaS/63lxWUEAgD1Sbqwp82+o7P2vHcK4fLR8eP97w6k4A6hg8VlBAIA9UhbApqcTH7+xMTg6/fx5HLazD9MOnesuIzuowDqkdYnaGoqOBs43k00rZLYLEgYFzFsx9IxQfdRAM2WtgS0sZE8K09b6x9k/Z62EtsQCADUI6vrZ9LW0LzN4WgrURiBAEA9inb9zDOL72hB2LDIEQCoT1jEdfr0hSTxxkZwV7C4WHyW3uLTxgZBjgBA84XLM0tLQYJ4fX24mTynjQ2EQACgfP3W7UdVRMZpYwMhEAAoV551+1EVkXHa2EAIBADKEc7k5+f7F4KlzdiLFpGxLXQgJIsBjE6Y/F1dDS7EWdeXaCFYWoHXKIvIOohkMYBqxQ+U7zfJjN4FpM3kR1lEhlQcVQlgNPodKB+VtG4/N5e8hJN0p8Ca/0hxRwBgNPJu0Syybs+afyW4IwAwGmkHyocGbeqWdqeAkeGOAMBoJG3dNAu+M5NvNAIBgNFIWsZZWgqSxh1v6tZ0BAIAxWRV+ubp6FmkUhiVIEcAIL/4fv+w0lfKN+Mf9vUoRWkFZWZ2haS/l7RPkks66u53mtmkpH+UNCvpCUlvc/f/ynovCsqAhhi2uyfdQSvVhIKyX0r6gLtfLek6Se8xs6sl3SHpAXe/UtIDvd8BjINhu3vSHbSRSgsE7n7G3R/q/fyspFOSLpd0s6Rjvacdk3RLWWMAMGJpFb3u+db76Q7aSJUki81sVtK1kh6UtM/dz/T+6WkFS0cAxkHSFtFQnjME6A7aSKUHAjO7VNKXJb3P3X8e/TcPEhSJSQozO2xmK2a2sra2VvYwAeQR3SKaJKszaPz1VAo3RqndR83sEkn3S/q6u3+y99iPJb3e3c+Y2X5J/+zuV2W9D8lioIF27EhuLEdn0MaoPVlsZibpLkmnwiDQc5+kQ72fD0m6t6wxABiRpL3/rPe3RplLQ9dLWpD0RjN7uPd1UNJHJb3JzB6XdGPvdwBNEL3g79kTfJlJCwsXnxJ28CDr/S1R5q6h77q7uftvuvs1va8T7r7u7je4+5XufqO7b5Q1BgAR/Sp640dKrq8HX9LFS0Cbm9KJE6z3twQnlAFtE54Sdvp0sEwTztCT+vpHL9xpxV5pyAU0Xt4cAYEAaJO0Ix937bowu4+KVvSmJX/TUA3ceLUniwHUIOmUsM3N5CAgba/oLZLkJRfQKgQCoE2KtmqIXvyzisUkzhZoMQIB0CZps/qpqeRDY1ZXLySO48VeU1PBF2cLtB6BAGiTtBYOd965vSLY7EI+YHU12B5qFiwtLS4GSeBz54KvrLMF0AoEAqBNslo4hIfGzMxcnBSOBoV+/YLQOuwaAromz+4gdgS1AruGABRrDRHF+QCdQiAA2ipeKZzVGiKOfkGdQiAA2iqtpiDaGkK6sC00RI1A5xAIgKZJavwWLu3cemt2v6CorGMhw8Sxe7AtlH5BnUayGGiSpBYRWeL9gqI4KL7zSBYD4yhpOSdLeCJYUlKYYyGRE4EAaILwQl6k+2coTALHk8ISbaKRy866BwB0XtHloCRJSeEjR6gIRi7cEQB1K7oclBe1AMiJQABUKWktP+uCHW/89u53X9j22Q+1AMiJpSGgKvEloHAtf3Ky/6Excf3aRJAURgHcEQBVSSvwkorv7sma7ZMURkEEAqAqaUtAGxvFd/ekbQ09fpwEMQojEABFJa3z55E2i3fffg5Angt5VrtpoCAqi4Ei0g6Hz3MR7rdNNO/7ADlRWQyUIW2d/8iR/q+NzuKT5H0fYMQIBEARaev80bN/pfTlo7DZW7zjZ7/3B0pEIACKyNqtE24HvfXWi1s+hGcC9zschr3/qAGBACgiabdO1OZmsPwTXz6KnwmcdDgMe/9REwIBUES/dX5J2trKfo/44TDs+kHN2DUEDGrQbqFScPE/f36kwwHi2DUEDKJIjUC/ZaIs5ALQIAQCIJR22HtaMMizTCRxJjAaj0AAhAapEei3HdSMM4HReHQfBUJZh733Mz2dnC+Yng4u+lz40WB97wjM7L1mdlkVgwFqNczefs4HxhjLszS0T9L3zeyLZnaTWdo9MDDmsi7m/ZLINIHDGMu1fbR38X+zpHdIOiDpi5Lucvd/L3d4AbaPojLLy0FO4PTp4E4gnNEP2mgOqFHe7aO56wjM7FUKAsFNkr4t6TpJ33T3Dw4z0DwIBKhVWr1A1gliQAOMrI7AzG43s5OSPibpXyT9hru/W9JvSfrjoUcKlGXQcwPihkkiA2MgT45gUtIfufvvufs/ufsLkuTu5yW9Je1FZna3mZ01s8cij33EzJ4ys4d7XweH/guAJFk1AUUDBA3i0HJ9A4G7f9jdE+vo3f1Uxks/r2AZKe5v3P2a3teJfMMEMiRd2NNqAubng06geYvGJHYEofVKKyhz9+9I2ijr/QFJ6TP/rB5A8bxYWtFYGGAWFqRdu6SpKXYEoZXqqCy+zcwe6S0dUZ+A4aTN/Ccmir1PfL0/HmDW16XnnguqhDkcHi1TdSD4tKRXSLpG0hlJn0h7opkdNrMVM1tZW1uranwYN2kJ262tYg3hduzIt7TEUZJooUoDgbs/4+5bvUTzZyS9JuO5R939gLsf2Lt3b3WDxHhJS9iGyzf9GsKFtrbyLS2xUwgtVGkgMLP9kV/fKumxtOcCuWQlcsOGcMePX/ycsEA+aQkpa2mJnUJoodICgZndI+l7kq4ysyfN7F2SPmZmj5rZI5LeIOn9ZX0+OiJPa4ek5ywtBXcAaYfDJC0tsVMILcUJZei2rKrhxcWL202QJMYY4YQydFPRYrE8S0vnz7NTCK1GIEDzDNoaougJYxJdQwGxNISmCLdsrq4GF+To/5d5O33SHA7YhqUhNF848ze70PZByl/5G0dzOGAgBALUI7qMI1188Y/Le1xkkccBSCIQoC5JlbtZOC4SKA2BAPUoslxjFtw59Esck/gFBrKz7gGgo6anszuEhgnjaOI43AUkpV/c5+a48AMFcUeAeiQt44RtH8LK35mZwRPHAHIjEKAeWW0fwuKtrF1AozqGEgB1BGiwtLqAqangbIBosjlvrQHQIdQRoJmKzOTTdgFJnBUAjBDJYlQnrB0IL+L9kr/hY2Hjt8nJ4Pf19eT3p3AMGAh3BKjOIKd+hY3flpaC5aC0ICBROAYMiECA6gzTAqJfARqFY8DACASozjAtILKCBYVjwFAIBChfmCAOO4tG5Z3JZ51NzFkBwFAIBBi96M6gPXukd75ze3O5aOFY3pk8fYSA0hAI0F+RLZ/xw2HW16Xnn9/+HPfiM3n6CAGloaAM2eJbPqXs4q20IrA4s/SD4wGMBAVlGI2iWz7z7uVnqyfQGAQCZCu65TPPBZ61faBRCATIVnTLZ1JS95JLgv5ArO0DjUQgQLaiu3WSkrqf+5x07lyQE2CrJ9A4BIIuKrILaJDdOmFbCC78wFig6VzXFG38Fj7OxRxoLe4IuiZrF1DRw144HAZoBe4IuiZtt094Z9DvTmF5OQgaYbuIIucJA2gk7gjaLGnGnrbbZ2Kif71AtGpY4jxhoCUIBG0Vb/UQztgPHkzeBbS1lfw+0TuIfq2gpeBzWCYCxgqBoK3ScgEnTiTvApqZSX6f6B1E3qrhMOgQDICxQCBoq6yK4KTtnXnqBYq0hWCZCBgbBIK2CfMCac0E4xfz8PkLC9KuXdkVwEnBIn6+QBRnCANjgUDQJvFkblx8hp/UMvq554LzgZMKwZKKy5aW8i0rAWgsAkEbhLP6+fn0ZG7SDH+Yw+SLLisBaCwCwbjrdxcgBbP3pBl+Vh6h7DYUABqDg2nGXZ6DYMLTwPK+dmoqWCLKexgNgEbiYJqu6JeQDZdokmb4aUs6UvElIwBjq7RAYGZ3m9lZM3ss8tikmX3TzB7vfb+srM/vjKyEbLhEIyUXl0nJSzobG8nvxy4goJXKvCP4vKSbYo/dIekBd79S0gO93zGMtFn98eMX8gJZSeGk5G/Rw2gAjLXSAoG7f0dSfGp5s6RjvZ+PSbqlrM/vjDyJ2qLHTbILCOiUqnME+9z9TO/npyXtq/jz26nfQTBFZ/jsAgI6pbZksQfblVK3LJnZYTNbMbOVtbW1CkfWQoPM8DllDOiMqgPBM2a2X5J638+mPdHdj7r7AXc/sHfv3soGWIuyD3hhhg8gQ9UH09wn6ZCkj/a+31vx5zfPIEdHDoLjJgGkKHP76D2SvifpKjN70szepSAAvMnMHpd0Y+/3bhukzQMAjFBpdwTu/vaUf7qhrM8cS0V39ADAiFFZXDf27AOoGYGgblk7eqJJ5D17gq+yEsoAOqvqZDHiwgTukSPBctD09IVtndEk8vr6hdeUlVAG0EncEZQtz9bQpD37/Q6K39yUDh3iDgHA0LgjKNMwW0PzJIu3toq/LwDEcEdQpmG2hhZNFrPlFMCACARlGmRraLiUtLqafTB80fcFgBQEgjIV3RoaP3bS/UIwmJoKvsykiYli7wsAGQgEo1LkBLC0Zm9JS0nuQW+gc+eCr/PnpWPHaBMNYGQIBKMQncnnOQEsLaGbdymJJnIARojD60ch7RD4tEPjy34fABCH11cr70y+X00BJ4MBqAGBYBTyJIXTlo+iwYAlHwA1IBCkKXJYTNJM3iy42IevTaspmJ/f/v6cDAagYlQWJylaERztFxTu/w9zL+Frs9pFUBkMoEYki5OkJW2lYLlmcTH9gp322omJCy0h0pAUBjBCJIuHkVWhu7oqLSwEs/6kJaO0125tXbx8VORzAaAkBIIk/Sp048s+0WCQ9tow8TszM/jnAkAJCARJkpK/aeLN3rK2gIaJ4OPH2SYKoDEIBEmi2zjziC7p5NkCyjZRAA1Csrif+A6iJCR5ATQQyeJRid8dxFtDs6QDYMwRCPII1/bdpaUllnQAtAqBoKho5e/iYpAo5txgAGOMyuJBDXMeMQA0CHcEoSK9haThziMGgAbpRiDod5HP0xk0bpDziAGggdofCPJc5AeZ3Rc9jxgAGqr9gSDPRX6Q2T2HyABoifYHgqyLfLhklFZUlzW7pzoYQEu0f9fQ9HRyW+jJyeyK4Tyz+7k5LvwAxl777wjSlnCk9CDA7B5Ah7Q/EKQt4WxsJD/fjCMiAXRK+wOBlFwNPEheAABaqP05gqh+nUTZ9QOgg7pxRxBK2koaIi8AoKO6dUeQtpU0zAsAQAe1944gqa0E1cAAcJFaAoGZPWFmj5rZw2Y2+qPH0tpKHDxINTAAxNR5R/AGd78mzzFqhaW1lThxgmpgAIhpZ44gq60E1cAAsE1ddwQu6RtmdtLMDo/83ckFAEBudQWC33X3V0v6fUnvMbPXxZ9gZofNbMXMVtbW1oq9O51BASC3WgKBuz/V+35W0lclvSbhOUfd/YC7H9i7d2+xD6AzKADkVnmOwMxeImmHuz/b+/nNkv5y5B9ELgAAcqkjWbxP0lfNLPz8L7j712oYBwBANQQCd/+ppFdV/bkAgGTtrSwGAORCIACAjiMQAEDHmacd0NIgZrYmKeHg4Vz2SDo3wuGMA/7mbuBv7oZh/uYZd++7/34sAsEwzGyllH5GDcbf3A38zd1Qxd/M0hAAdByBAAA6rguB4GjdA6gBf3M38Dd3Q+l/c+tzBACAbF24IwAAZGh1IDCzm8zsx2b2EzO7o+7xlM3MrjCzb5vZj8zsh2Z2e91jqoKZTZjZD8zs/rrHUgUz+1Uz+5KZ/ZuZnTKz36l7TGUzs/f3/p9+zMzuMbMX1z2mUTOzu83srJk9Fnls0sy+aWaP975fVsZntzYQmNmEpL9TcObB1ZLebmZX1zuq0v1S0gfc/WpJ1yk466Htf7Mk3S7pVN2DqNCdkr7m7r+uoG9Xq/92M7tc0p9LOuDur5Q0IelP6h1VKT4v6abYY3dIesDdr5T0QO/3kWttIFBwxsFP3P2n7v68pH+QdHPNYyqVu59x94d6Pz+r4AJxeb2jKpeZvUzSH0j6bN1jqYKZ/Yqk10m6S5Lc/Xl3/+96R1WJnZJ2mdlOSbsl/WfN4xk5d/+OpI3YwzdLOtb7+ZikW8r47DYHgssl/Szy+5Nq+UUxysxmJV0r6cF6R1K6v5X0QUnn6x5IRV4uaU3S53rLYZ/tnevRWr2DrD4u6bSkM5L+x92/Ue+oKrPP3c/0fn5aQRv/kWtzIOgsM7tU0pclvc/df173eMpiZm+RdNbdT9Y9lgrtlPRqSZ9292sl/a9KWi5oit66+M0KguCvSXqJmc3XO6rqebDFs5Rtnm0OBE9JuiLy+8t6j7WamV2iIAgsu/tX6h5Pya6X9Idm9oSCpb83mtnxeodUuiclPenu4Z3elxQEhja7UdJ/uPuau78g6SuSXlvzmKryjJntl6Te97NlfEibA8H3JV1pZi83sxcpSC7dV/OYSmXBsW93STrl7p+sezxlc/e/cPeXufusgv++33L3Vs8U3f1pST8zs6t6D90g6Uc1DqkKpyVdZ2a7e/+P36CWJ8gj7pN0qPfzIUn3lvEhdRxVWQl3/6WZ3Sbp6wp2Gdzt7j+seVhlu17SgqRHzezh3mMfcvcTNY4Jo/deScu9Cc5PJb2j5vGUyt0fNLMvSXpIwc64H6iFFcZmdo+k10vaY2ZPSvqwpI9K+qKZvUtBB+a3lfLZVBYDQLe1eWkIAJADgQAAOo5AAAAdRyAAgI4jEABAxxEIAKDjCAQA0HEEAmAAZvbbZvaImb3YzF7S65X/yrrHBQyCgjJgQGb2V5JeLGmXgv4/f13zkICBEAiAAfVaPHxf0v9Jeq27b9U8JGAgLA0Bg5uSdKmklyq4MwDGEncEwIDM7D4F7a9fLmm/u99W85CAgbS2+yhQJjP7U0kvuPsXeudj/6uZvdHdv1X32ICiuCMAgI4jRwAAHUcgAICOIxAAQMcRCACg4wgEANBxBAIA6DgCAQB0HIEAADru/wGvMMbgxb10nAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "from matplotlib import pyplot as plt\n", "%matplotlib inline \n", "np.random.seed(43)\n", "x = np.linspace(0,10,100)\n", "veri = 2*x + 5 + np.random.rand(100)*2\n", "plt.plot(x,veri,'ro')\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "veri_lag1 = np.roll(veri,1)\n", "plt.plot(veri[1:],veri_lag1[1:],'bo')\n", "plt.xlabel(\"y\")\n", "plt.ylabel(\"$y_{lag,1}$\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "veri_lag2 = np.roll(veri,2)\n", "plt.plot(veri[2:],veri_lag2[2:],'bo')\n", "plt.xlabel(\"y\")\n", "plt.ylabel(\"$y_{lag,2}$\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Dönemli Değişimlerin Gecikme Grafikleri ###\n", "\n", "Mevsimsel nitelik gösteren değişenler (sıaklık, nem, güneş lekesi sayısı vs.) için oluşturulan gecikme grafiklerinde bu türden çevrimli yapılar lineer yapılar olarak kendini gösterir." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEKCAYAAAASByJ7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAH31JREFUeJztnW2sZVdZx//P3M5Ib0sCvS1IaOdeUBKtCkWuBJQPSALW0lhj0GAuWMFk4kRNDRgE5oPBMBI0kZpoTCZIRO9BJCpCiIbXGjUKcsfy/mYhnZEKdKgSMIOUMo8f9j6dM2fOPnvtvdfLs9b6/5Kde8++59yz1t7PWv+1nudZa4uqghBCCDmUugCEEEJsQEEghBACgIJACCGkhYJACCEEAAWBEEJICwWBEEIIAAoCIYSQFgoCIYQQABQEQgghLVekLsAQrr32Wt3Z2UldDEIIyYrTp09/VVWv63tfVoKws7ODg4OD1MUghJCsEJEzLu+jy4gQQggACgIhhJAWCgIhhBAAFARCCCEtFARCCCEAKAiEEGKb2QzY2QEOHWp+zmbBviqrtFNCCKmK2Qw4dgw4f755feZM8xoA9va8fx1nCIQQYpUTJy6KwZzz55vzAaAgEELiE9ENkjVnzw47PxEKAiEkLnM3yJkzgOpFNwhF4XKOHh12fiIUBEJIXCK7QbLm5Elgc/PSc5ubzfkAUBAIIXGJ7AbJmr094NQpYHsbEGl+njoVJKAMUBDIKujfJSGJ7AbJnr094N57gQsXmp+BxACgIJBl6N8loYnsBiHuUBDIpdC/S0IT2Q1C3KEgkEux7t+lO6sMIrpBiDsUhFRY7dgs+3fpziIkKBSEFFju2Cz7d+nOIiQoFIQUWO7YLPt3rbuzCMkcbm6XAusd296eDQFY5ujRZja16jwhZDKcIaTAsp/eMpbdWYQUQD2CYCmIy45tHJbdWZaxZPvENqqazfG0pz1NR7G/r7q5qdqEcJtjc7M5n4r9fdXtbVWR5mfKspBysWj7JDoADtShj5XmvXmwu7urBwcHwz+4s7Pa97y93eRAE1IqtH0CQEROq+pu3/vqcBlZD+L6ZqyLoGbXwmwGXHtt44oSaX4vof612T6ZRB2CUFMQd+waB8trI0IzmwEveQnwwAMXzz3wAPDSl+Zf/5psn0ymDkGoKYg7do2D5bURoTlxAvj2ty8//+CD+de/Jtsnk6lDEGrKThnrIqjZtbCujrnXvybbJ5OpI6hcE2ODiDUHH7vqDtRRf1I8DCrXylgXQc2uhZMngcOHLz9/5Eje9a85SYCMwyU31coxeh1CbYxd41Dz2oj9fdWtrYu5+ltbedef6w+GUbjtg+sQCKmYml2AQ5ln2C0mVWxuFhVrocuIkBhYdcvUnCQADLsvsTLsrNrKAhQEshpLxmupLItYXrtR8/qDofclhnhatpVFXPxKIQ8AGwDuBvCuvvcyhhAJS/5nS2VZZnv70nLNj+1tf98xJR5k9bqFZuh9iXEfY3zHGuAYQ7AgCC8D8BYKgiESG6/ZsiwjsrpsIn7+/9ROvfBAaSdD70sM8QxtKz24CkJSl5GIXA/g+QDemLIcZAlL/mdLZVkmtFtmqm+71gfZD70vMRbvZeLCSx1DuBPAKwBc6HqDiBwTkQMROTh37ly8ktWMJeO1VJZlQq/dsCyGlhlzX0KLZybrfJIJgojcCuB+VT297n2qekpVd1V197rrrotUusqxZLyWyrLM8shyawu48krgxS/2E/y2LIaWsbhdh8UyrcLFrxTiAPA6AF8EcC+ALwM4D2B/3WcYQ4iIJf/zvCyA6sbGxRiCFZ/48qI2X37omgPDU7Bku0ZALkHlpqx4NhhUJuuw2jmuKpfP4Dc7t2GMsZMKrjEFISYVGFRyrGYbdZUrchYJaRlqJ1YHGp5xFYTUQWUAgKr+g6reGuSfh17U5GPBSagyWl3QNQarAda+76e/Py5D7aTm54CswkU1rByDZwgx1H/qyDVUGUsb+eQ4Q8j5evdhdVY81E4Srw+IBXJyGbkegwUhRicy1aBClbHr/25tTfu/qbAqcF0xhNx3S12H1XsxpmzrBN2S0E2EgqAaR/2nduihytj1f4F8jdzqqNRquUJhdbY2Z8j96EsKsCJ0E6EgqMbba2bKaGlVumLIGYKlhkvcsSQ6pblZFtOaC20vroJgIqgcjBiLmqYsOJnNgK9//fLzPp7Ute7zqQOxZBjWdsosbcHcfJWyyOq/19ReXFTDyjEq7dTSyGqZ0H7+ULMPEhdrLpops+Ic22MB7QV0GWWA9d0yiQ0sumjGdOzW7dF6+SZAQcgBy/vph8JaeVZhrYzWRq5jr4+1eqzC2r33BAUhBwoekawkh/paLKOlMk0pi8WZTiVQEHKh0BHJSnIYIVotoxU7mXJ9csn5t3KtPUJBsEyBBudEDiPEHMqYkinXJ4ecf0uzMY+4CkLZaacWsZZCGJMc0hVzKGNKplyfxRTtVVjYQ6jyvY0oCLGp2eBWrQsRAW65JU15VmH5gTxDCLWx4dTrYz3n3+omipGgIIxlbIOr2eD29oDbb7+0M1AF3vzmdDOk5fsI5PFkq3WEnIX6evKX1ZmY1XLFwsWvZOUwE0OY4me0GrSMhaX6F+ovNnWNu7B67a2WayJgUDkgU1YYF2pwvfTtF5MiaJtDxzmGXALjVpMrrJZrAq6CIM1782B3d1cPDg5SF6NxL3Rdt/39/unzbNbEDM6ebaaiJ0/m5ZIYytyFsRw7WWR7u/Etx6TrPooAFy7ELYtPdnYaN9EyKa4xMYGInFbV3b73MYYwhnX+RJfg8DywduFC87NkMQBWB9IXSRW0LdVfXEpgnESHgjAG7iQ6jHXXJGXQttSO01fgNxdKelRsalz8SlYOMzEE1Xp2EvXhT7Xsq7fsL7ZcNivkEJMzcB/BoHJgcjDEqfiqYw3Xyje8Zm5YHmyomrmPFIQYLCr/1lZzlDSa89nYDIySssJ6Rzcn9X21nlFl5D66CgKzjHywKotmczN/v22pWTg5kMO1t2D31jOqjNxHZhnFpNTtKErNwsmBrmt86JCd4KkFu7eeGJBZG6Ig+KDU7SisN7aSWXXtAeA737GzKaIFu7eeUXXLLZfv2yTS3D8Lor6Mi1/JymEuhjDHiJ8wCKl9xDWzeO03NuzZWMl274O+7b4jBpjB7a8jUvJIOuQiuin54zXkni9e+y5/c8pZqDW7t2YTfQsyAXuuZRfVsHJMniGEHO1yJD2MKel4RlL5omJhNL7Kxq3YvUWb6MqASpARBaadLmHRYGomxKMYS3ZVTLXfqR13yPZT6uLHdZs5Ri4jBWEZiwZTM1Pyx63nnodibMfpozMP1X58CY1Fm8gwhpC8kx9yTBIEiwZTM5whdOPbDePjeoVqP77upVWbWL6Xx4+731uPdkBBWMaqwdQKYwirCVE3H515qPbjS2hKswnP9aEgLFOawZTAlBGQlWCmb0J0vD7+Z6j2w+1RVuPZDigIqyjJYEiZhHDN+Nyk0Hf74UBtNZ7twLwgALgBwF0APgXgkwDu6PuM2YVpMalN1Gqrb8jgrdXraLlsoeirc20zBACPA/DD7e+PBPA5ADeu+0z1glDbaKq2+qrWWefacLnHtccQALwDwHPXvad6QagtMF5bfefUOGKuCVe7TpBlZGLrChHZAfBUAB9a8bdjInIgIgfnzp2LXTS/TF1ab2EzsZjUVt85uT1z29WurW0tkQpXu05hBy6qEfIAcDWA0wB+pu+9Wc8QLC8Oskpt9c0RV7sea/8pZ0uhvjuBXSMHlxGAwwDeDeBlLu/PWhBipf6V5G6w7E8v6TpPwdWux9h/yvsfequOyPUyLwgABMCfAbjT9TNZC4LPBThdHZHlDnQsFjtey2mcsXG16zH2n3KGGPq7I9/7HAThWQAUwMcAfKQ9bln3mawFIYZx08USB8sLvWITcoaQcruZwra6cRWEZEFlVf1nVRVVfbKq3tQef5eqPMGJsXd8rUHY2Pi4zhYeP+kDV7seY/8pHz+Z2aMvfWEiy6gKYjzqr1Ijjo6P61yKeLva9Rj7T/kAHmsP/4mFyzTCyhHVZZSjf7cUN4QPQt6/EjPGrNp7iVlGCYD1GMKYI5og5NyxFmTEo4lx/6ZeZ0s2ZqksJAiugiDNe/Ngd3dXDw4Own/Rzg5w5szl57e3mwUixDa53L/ZrIkZnD3buJtOnkyzCC2X60VGIyKnVXW3732MIawiB/8uV312k8P9A8KsRB1jF7lcLxIcCsIqrAdnZzPg2LFmVKfa/Dx2jKIwx/r9C8VYu6j1epHLoCCswnqGQSkpi1PpGg1bv39dTJ31jbWLXK8X8Y9LoMHKUX2W0bxMq7JTUi6aSXGt+gKhFu/fOnwEdqcspsrternSt7J/ap0zuW5gllFhrOowLKQspspQsZa2Oaevg+j6u4/6WL0mqVhnmz7sNqPsLApCaaybGaQ0xFSdkMWtBVxmLV1/91GfjDqoSbiOytfZZmUCTEEoja4OY26AqbYRTtUxW2yMfWUK3UGpZuPCGM0Q0Vtnmz7s1uKgpAMKQmlM6TBCbpvdVa6trcFVHITF0XBfB7Hu7xbrY4m++NmqdsAZwsNQEEpjSofRZ7hT/vf+vurhw5f/7yNHwndm1kbDU2YIqnbqY6Uci+Xpi5+tGpUzhvAwFIQSGdtQ+0auU0c6W1vTPl8KU2IIVrBYxr742TpbY5aRqlIQ6sBHcE11ui/Uui81ZqMdm2VkBYtukHXxMwuClQEUhNIZMpLre+/YTqDPr7u1lb7zszjitYxFce+LHfBe9kJBKJ2hnXjf1Hlop9nn1z18uIkjpO6ILY54LWPxelHUJ0NB8InFab7vkdzQOvaN2rriChsbca+fxRGvZbqEfmsrrd1bbIPLLJZxa6s5jJSXguALq6OT1CO5sSmWsa9f6uvkiqUOb39/taBbsHur9M2YE187b4IA4NcAPNrln4U+kgiC1Q4ltVCNTbGMff3GXiffHbRvl11orNq9VaZkQkXApyC8FsA9AN4G4GageahOisObIAxp7JZdDilHlWNSLFNdv6HXyXcHHSqoHxLLdm+RvkyoxNfOq8sIgAD4CQBvbcXhdwB8j8tnfR5eBGFoY7fYWK3gkmK5sRH3+vkQSd/3PHTabwiY2TOMWmYID78ReAqAOwF8BsAfA7gbwO+6ft7H4UUQxmTnxJrOW/IjLzKlXLGvn4/v8t1Bh14YGALjPnFzGL9ePl1GdwA4DeDdAH4WwOH2/CEAn3f5El+HF0EY09hjdNQW/ci+yhVL6Hx1rLFmCEATvL3qKnMdiKr2rzPhLPlSasgyAvAaANsdf/t+ly/xdUSfIcQcsVscJVou1ypcxd7F1RU6hrDuSJ3iuYxFl1ZKrM7k18C00y5cG3vsEbvVRme1XKtwEa8h9z9ElpGLIFgT25wGBaGxOpPvgYKwDpfGHrsRWG10Vsu1CpfG2lWfWAvmLGajxJ4x+SqX63t8klN7WICCMIZF44rdWK2OPKyWq4u+DiL1gjlr2SipZkw+ypXCNnOaMS9AQRiKq583ZGPtanSpR0oZ+kw7Sb1gzlo2itURr0u5XMvu035jXK8A7Y2CMBSXkVuKkbHLKOj48ctHLpZH8SmxsGDOUjaK1RGvS7lc3uNzFrG/H35Lj0CzHgrCUPrcRK6N1be6941I9ve7y556lGeVFAvmYjDG9kqfIfiqX9dAwndGWKD7QUEYio8bEULdxy5qsjDKs0xusZE+xtZn1efmNpfSPegrhuBrBuQyMPMxEAw0Y6MgDMVHBxFC3cdue2BhlOdCythHDbERFxtYTIm14HpcLM98Jre93bhGl+9X3z301SbXddQ+BxecIRgRBNXpHUQIde8zti4DmhuqZUKO0q2OfEPhw/YsuI+6bOL4cX8zoCE21rd+pMv1OPa61RxDaHdP/Wy7Yd4r+94fZfvrKaPKUA1q3Xd2dXzHj0/7zhiE7ID6kgRydg+twse1tBBgXrdOZOoMaOhAzzXzsOuI9bAqB8wLAoANAJ8H8EQARwB8FMCN6z4TZYYwdEvnIX8PWe4cXR8hOyCXBWApUohDft/U9QQWZggu9y2WWI2dGaS4bj3kIAjPBPDuhdevAvCqdZ8JLgh9DcKlweTaOQ9lypqJOSlnCCE7E6sDA6sDmkVCzBDGsm7A0idcxmagOQjCCwC8ceH1iwH84brPBBeEsY+FrCWbpy/4ONTPGzuGEKszCT3SHjvoyGFA4zuGMIV112vdgMPgQLAYQQBwDMABgIOjR48GuVgP42OGUCouHeyYUVyMLKMuAQvVaEMOHKaIaC4DGh+zT1/l6LrWfX8z5iXIQRBsuIwWb97WluqRI92NzcKUOhUuLpiuw0KHE7ORpnCFufzvmgc0Y+lL6FiVBmuwj8hBEK4A8AUAT1gIKv/Aus94F4SuUe/VV9eRuz4El2Bfiat/xxAy82vKKN9oZ1UURkXXvCA0ZcQtAD7XZhud6Hu/d0EYmsNfqxiouqVxpvDzWiXU/lJTO5yhNuzD5mtqN0bdclkIwtDDuyAMWeVb++jKdaGXr8afeycSck1KLDv08V21tRvOEDIWhHWj3mVFT3WjLXWMscpSQicSOrAc4z4MtflV5TLaQQbDqO1SEFzY33ffKTTFVNCocQWnhE5kXT59LvdviM132arrgKskLA3iWigIrrj6eod0Ur4MIteOcWr9jfphB7EuTTcXUR9if5YWlJHLoCAMwaUDG7I1gK9RfY4do4/65yqEy+zv590hDrmX6+JxNc5yjUFBCIGLcPjszHLsGH2UuSRXWY6ivojrbG/dfQ/hQkmxSM2YG2gIFIRU+OwAcuwYfdU/8wb4MDmK+hhyy36y/H0BoCD0EarD8d0B5NYx1tIBulJAZ+KM1eynnL4v0DWkIKwjZCOtqQNYRcr6WxVPq+XKldhuuFjfF7DtUBDWEVrxa+8AUtR/SNC/5ntTAqXOEAJ+DwVhHbkH+sjluDSm2mdvpVBqDCFgv+QqCIdQI0ePDjtP7HP2bP/5EyeA8+cv/fv58815kg97e8CpU8D2NiDS/Dx1qjmf8/cZ6JfqFISTJ4HNzUvPbW4250meuDQmF9EgebC3B9x7L3DhQvMzlBjE/D4D/VKdghB7hDGU2QzY2QEOHWp+zmapS2Qfl8ZkYARGSCcW+iUXv5KVI4t1CFOhn3s8fQFjXlu7MNgfFDConCnM4w8L9/e3B4U6OK6CIM1782B3d1cPDg5SFyMshw41TWIZkcZ/SdIymwHHjl0anN7ctOVyzI2dHeDMmcvPb283/noyGRE5raq7fe+rM4ZgmZB+bh+xidrjG8xU8g+D/WagIFgjVKbBfGR75kwzAzlzpnk9pEP38T9yh52XfxjsNwMFwRqhMg18jGw5OmbnFQID6ZZJsDjbdgk0WDmqCCqHwscqSKsrvGMGeRkADUNtgfrIdgRmGZFL8JG9ZDEDKkUHXVvnRfwTuS25CgJdRrXgY1pucWqfwo0Ve5UsKQ+jsSgKQi34iE1YWEm5jNGGRQxiyWdvNBbFdQgkb5jDTlywtn4kcnm4DoHUgUU3FrGHtQw5i7NtcIZASmA2axr22bPNlPvkyeQNixij8h0AOEOwhiX/ZWkwyDuMGm3RqM/eGhSEGHCFbxmU0JHWaot0Lbrhkptq5ch2HYLF/P05zKl3o5QFaV22uLGRX12GUrGtg7udGsKq/9Ja5oVlSslm6rJFgPe+YBhDsIRV/6W1zAvLlLLeYZ3N8d5XDwUhBlb9l6V0cjGwKupDWWWLi/DeVw0FITTzlMjz54GNjeackZzjYjq5GFgV9aHM89/ntrhM6ntfQuA+Z1wCDVaO7ILKUwKRMQJgx49fvoNpjoHSWJQUlLQYJLdYpkKA5d1OAfwegM8A+BiAtwN4lMvnshOEsdlFMRrGqu8QaUSC1IE1gbOcjZc5roKQJMtIRJ4H4AOq+pCIvL6dqfxm3+eyyzIS6T6/LrsoRkZLKVkzpBysZuMVgOksI1V9j6o+1L78IIDrU5QjKLNZtyD0+WljBHsZUCahGRoPYEwrORaCyi8F8PepC+GdEye6Rzt9gcgYDYONj4RkzIroUgL3GRNMEETkfSLyiRXHbQvvOQHgIQCdViIix0TkQEQOzp07F6q4/ukaaav2ZxfFaBjWGh+zS8pizBoXozuAVoVLoCHEAeAXAfwrgE3Xz2QVVJ4aIIsR8LMSVGR2SXlYff72HCu2H6k8MJ5ldDOATwG4bsjnshIEdnLuMLukPCzfU2ttM0J5XAUhVZbRPQC+C8AD7akPquov930uuywj7tPvBrNLysPyPlnWMuwilMc1y4ib25H0WGugxA9WB0TWBiARymM67ZSQS7AW4CZ+sPrgImsZdobKQ0Eg6WF2CYmJtQGIofJQEIgNrI4mmQ5bHhYHIFdeefH3ra1k5bki+jcSkgvLgdH54irAjmCRcezt2biHq4Lv3/xmsuIwqExIFwx2k9BEsjEGlQmZCvd7IqExZmMUBEK6MJT90QljHHljzMYoCMQO1jo3Q9kfKxmzgRyxhTUbc1nObOXIausKMgxr2wkslsvSnjeLWN4egrgTwcZgeeuKsTCoXDAM4A5jNgNe9KLVf+OWH2QJBpVJXhgLrplm7irq4ppr4pWFFAUFgdjAWHDNNKueNbDIN76RLo5gLQ5EBkFBIDawFlyzTN+s6cEH1z+IJhQ5BLkpWGuhIBAbWNxOwCous6YUrrYxT0mLSQ6ClRgGlQnJjVXbHSyTIhhvbVvpZSpOXGBQmeSLtWm9tfIszqaApsNdJJWrzXociIkLvVAQiC2sTeutlWfOfHdYVeDP/9yGq816HMi6YBmALiNiC2vTemvlsY7Vp6QBth/rGRg+QpPkiTU/tLXykGlYFqyAMIZAurHmE1/E2rTeWnnINKw+iMkIFITasOoTn2PND22tPIQEhIJQG9Zzxa2tR7BWHkICwhhCbdAnTkh1MIZAVkOfOCGkAwpCbdAnTgjpgIJQG/SJE0I6uCJ1AUgC9vYoAISQy+AMgRBCCAAKAiGEkBYKAiGEEAAUBEIIIS0UBEKIfyzvl0U6YZYRIcQvy9tMz/fLApjdZhzOEAghfrG+XxbpJKkgiMjLRURF5NqU5SCEeISPqsyWZIIgIjcAeB4AWgkhJcH9srIl5QzhDQBeASCf7VYJIf1wv6xsSSIIInIbgPtU9aMpvp8QEhDul5UtwbKMROR9AL57xZ9OAHg1GneRy/85BuAYABzllJOQPOB+WVkS/QE5IvJDAN4PYJ6GcD2A/wLwdFX98rrP8gE5hBAyHNcH5ERfh6CqHwfwmPlrEbkXwK6qfjV2WQghhFyE6xAIIYQAMLBSWVV3UpeBEEIIZwiEEEJaogeVpyAi5wCcGfnxawHUFqeorc611Reor8611RfwU+dtVb2u701ZCcIUROTAJcpeErXVubb6AvXVubb6AnHrTJcRIYQQABQEQgghLTUJwqnUBUhAbXWurb5AfXWurb5AxDpXE0MghBCynppmCIQQQtZQhSCIyM0i8lkRuUdEXpm6PCEQkTeJyP0i8omFc9eIyHtF5D/an49OWUafiMgNInKXiHxKRD4pIne054uss4g8QkT+TUQ+2tb3Ne35J4jIh1rb/ksROZK6rL4RkQ0RuVtE3tW+LrbOInKviHxcRD4iIgftuWg2XbwgiMgGgD8C8JMAbgTw8yJyY9pSBeFPAdy8dO6VAN6vqk9Cs6FgSWL4EICXq+qNAJ4B4Ffa+1pqnb8F4Dmq+hQANwG4WUSeAeD1AN6gqt8L4H8A/FLCMobiDgCfXnhdep1/XFVvWkg1jWbTxQsCgKcDuEdVv6CqDwJ4K4DbEpfJO6r6jwD+e+n0bQDe3P7+ZgA/HbVQAVHVL6nqv7e/fwNNh/F4FFpnbfjf9uXh9lAAzwHwV+35Yuo7R0SuB/B8AG9sXwsKr/MKotl0DYLweAD/ufD6i+25Gnisqn6p/f3LAB6bsjChEJEdAE8F8CEUXOfWdfIRAPcDeC+AzwP4mqo+1L6lRNu+E82TFS+0r7dQdp0VwHtE5HT7LBggok0n39yOxEFVVUSKSykTkasB/DWAX1fVrzcDyIbS6qyq3wFwk4g8CsDbAXxf4iIFRURuBXC/qp4WkWenLk8knqWq94nIYwC8V0Q+s/jH0DZdwwzhPgA3LLy+vj1XA18RkccBQPvz/sTl8YqIHEYjBjNV/Zv2dNF1BgBV/RqAuwA8E8CjRGQ+sCvNtn8MwE+1z0x5KxpX0R+g4Dqr6n3tz/vRiP7TEdGmaxCEDwN4UpuZcATACwG8M3GZYvFOALe3v98O4B0Jy+KV1pf8JwA+raq/v/CnIussIte1MwOIyJUAnosmbnIXgBe0byumvgCgqq9S1evbLfJfCOADqrqHQussIleJyCPnv6N5zPAnENGmq1iYJiK3oPFFbgB4k6qeTFwk74jIXwB4NpqdEb8C4LcA/C2AtwE4imaX2J9T1eXAc5aIyLMA/BOAj+Oif/nVaOIIxdVZRJ6MJqC4gWYg9zZV/W0ReSKa0fM1AO4G8CJV/Va6koahdRn9hqreWmqd23q9vX15BYC3qOpJEdlCJJuuQhAIIYT0U4PLiBBCiAMUBEIIIQAoCIQQQlooCIQQQgBQEAghhLRQEAghhACgIBBCCGmhIBAyARH5ERH5WPu8gqvaZxX8YOpyETIGLkwjZCIi8loAjwBwJYAvqurrEheJkFFQEAiZSLtH1ocB/B+AH213JSUkO+gyImQ6WwCuBvBINDMFQrKEMwRCJiIi70Sz2doTADxOVX81cZEIGQUfkEPIBETkFwB8W1Xf0j6/+19E5Dmq+oHUZSNkKJwhEEIIAcAYAiGEkBYKAiGEEAAUBEIIIS0UBEIIIQAoCIQQQlooCIQQQgBQEAghhLRQEAghhAAA/h9dhct5OSdXGgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "from matplotlib import pyplot as plt\n", "%matplotlib inline \n", "np.random.seed(43)\n", "x = np.linspace(0,16*np.pi,200)\n", "donemli_veri = 2*np.cos(3*x) + 2*np.sin(2*x+np.pi/4) + np.random.rand(200)*2\n", "plt.plot(x,donemli_veri,'ro')\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "donemli_veri_lag1 = np.roll(donemli_veri,1)\n", "plt.plot(donemli_veri[1:],donemli_veri_lag1[1:],'bo')\n", "plt.xlabel(\"y\")\n", "plt.ylabel(\"$y_{lag,1}$\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Görüldüğü gibi dönemlilik içeren bu verinin birinci dereceden gecikme grafiği doğrusala yakın bir görüntüdedir. Ancak doğrusal değişimin başında varyansın artıp, ortasında maksimuma ulaşması, ardından da gecikme grafiğindeki değişimin sonuna doğru varyansın tekrar azalması, daha önce tek çevrimli bir sinüsün gecikme grafiğinde gördüğümüz elips yapısına da benzerlik göstermektedir. Sonuç olarak bu türden bir gecikme grafiği veride dönemlilik olabileceğini düşündürtür ve model aranırken dönemlilik içeren sinüs fonksiyonlarının lineer bileşimlerinin uyumlanması denenebilir." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Gecikme Grafiklerinde Aykırı Değer Yakalama ###\n", "\n", "Bir değişkenin değerindeki aykırılıklar kendisini gecikme grafiklerinde de gösterir. Bu nedenle gecikme grafikleri aykırı değer yakalamak için de kullanılabilirler. \n", "\n", "Örneğin son oluşturduğumuz dönemli değişim içeren donemli_veri veri dizimize birkaç aykırı nokta ekleyelim ve bunların gecikme grafiğinde ne şekilde davranacaklarına bakalım." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZAAAAEKCAYAAAA8QgPpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3X+QJGd93/H3d1d3mJVko9s7CyFp9yBWUQVUjKWNAg5xiSBkcaGQoQgRtZaFwXXWClKiUqlE1FWAQK4qYGOXMQhlkYVl7Ra/bAtUcCCEgotAwo+Vol/81KG6PXQW6HRSRMRSFkjf/NHd3tnZ/vF0T093z8znVdW1Mz09Pc/0zfW3n+f7PE+buyMiIlLWVNsFEBGR0aQAIiIilSiAiIhIJQogIiJSiQKIiIhUogAiIiKVKICIiEglCiAiIlKJAoiIiFRyUtsFGKbdu3f73r172y6GiMhIuf322x929z1F2411ANm7dy9ra2ttF0NEZKSY2XrIdmrCEhGRShRARESkEgUQERGpRAFEREQqUQAREZFKGg0gZna9mT1kZvf2rNtlZrea2X3x39My3nt5vM19ZnZ5c6UWmTyrq7B3L0xNRX9XV9sukXRR0zWQvwQu7lt3NXCbu58D3BY/38LMdgHvAP45cD7wjqxAIyKDWV2F/fthfR3co7/79yuIyHaNBhB3/zLwSN/qS4Ab4sc3AL+T8tbfBm5190fc/VHgVrYHIhGpwYEDsLGxdd3GRrRepFcXciCnu/uD8eMfAaenbHMm8MOe5w/E67Yxs/1mtmZma8ePH6+3pCIT4OjRcutlcnUhgPwjd3fAB9zHsrsvuPvCnj2FI/FFpM/cXLn1Mrm6EEB+bGZnAMR/H0rZ5hhwds/zs+J1IlKzgwdhZmbrupmZaL1Iry4EkJuBpFfV5cCnU7a5BbjIzE6Lk+cXxetEpGaLi7C8DPPzYBb9XV6O1ov0anQyRTP7KHABsNvMHiDqWfXfgE+Y2ZuAdeB18bYLwBXu/gfu/oiZvRv4Zryrd7l7fzJeRGqyuKiAIcUsSjuMp4WFBddsvCIi5ZjZ7e6+ULRdF5qwRERkBCmAiIhIJQogIiJSiQKIiIhUogAiIiKVKICIiEglCiAiIlKJAoiIiFSiACIiIpUogIiISCUKICIiUokCiIiIVKIAIiIilSiAiIhIJQogIlKb1VXYuxempqK/q6ttl0iGqdEbSonI+Fpdhf37YWMjer6+Hj0H3ZxqXKkGIiK1OHBgM3gkNjai9TKeFEBEpBZHj5ZbL6NPAUREajE3V269jD4FEBGpxcGDMDOzdd3MTLRexlMnAoiZPdfM7uxZfmJmb+3b5gIze6xnm7e3VV4R2W5xEZaXYX4ezKK/y8tKoI+zTvTCcvfvAS8EMLNp4BhwU8qm/9PdX9lk2UQk3OKiAsYk6UQNpM/LgB+4+3rbBRERkWxdDCCXAh/NeO3FZnaXmX3OzJ6ftoGZ7TezNTNbO378+PBKKSIy4ToVQMxsJ/Aq4JMpL98BzLv7rwN/DnwqbR/uvuzuC+6+sGfPnuEVVkRkwnUqgACvAO5w9x/3v+DuP3H3x+PHh4AdZra76QKKiEikawHk9WQ0X5nZM83M4sfnE5X9RINlExGRHp3ohQVgZicDLwf+sGfdFQDufi3wWmDJzH4B/Ay41N29jbKKiEiHAoi7/xSY7Vt3bc/jDwAfaLpcIiKSrmtNWCIiMiIUQEREpBIFEBERqUQBREREKlEAERGRShRARESkEgUQERGpRAFEREQqUQAREZFKFEBERKQSBRAREalEAURERCpRABERkUoUQEREpBIFEBERqUQBREREKlEAEREZwOoq7N0LU1PR39XVtkvUnM7ckVBEZNSsrsL+/bCxET1fX4+eAywutleupqgGIiJS0YEDm8EjsbERrZ8ECiAiIhUdPVpu/bjpTAAxsyNmdo+Z3Wlmaymvm5m938wOm9ndZnZuG+UUEUnMzZVbP246E0BiL3X3F7r7QsprrwDOiZf9wIcaLZmISJ+DB2FmZuu6mZlo/SToWgDJcwnwVx75GvAMMzuj7UKJNKnOHj+T3HuoLouLsLwM8/NgFv1dXp6MBDp0qxeWA18wMwf+u7sv971+JvDDnucPxOse7N3IzPYT1VCYm5R6pEyEOnv8THrvoTotLk7uMetSDeQl7n4uUVPVm83st6rsxN2X3X3B3Rf27NlTbwlFWlRnj59J7z0k9ehMAHH3Y/Hfh4CbgPP7NjkGnN3z/Kx4nchEWF9PX1+lx8+k9x6SenQigJjZyWZ2avIYuAi4t2+zm4Hfi3tjvQh4zN0fRGQCXHll9mtVWmqz3jM1VT4nolzK5OpEAAFOB75iZncB3wA+6+6fN7MrzOyKeJtDwP3AYeDDQM5/qfbpP5XUabk/I9ijTI+f5He5vh4lffs9+SS4b+ZEin63SS5lfb3c+2Q8mLu3XYahWVhY8LW1bUNKhq4/QQlR175J6p0h9Uo72SdC/wun/S7NovdPT0fBo9/8PBw5kr3PJBiVfZ90m5ndnjGcYouu1EDGihKUUrfp6XLr06T9Lt2jk/1TT6W/pygnkvX6+rpq3pNAAWQIlKCUuiVdbEPXp8k72U9lnAmK8it5r6s5a/wpgAzBpE9vIJvqyoVdcw0sLW3WOMzglFPg2mvD95v1+zNLb74CePzx/H2njcTupZp38xrNv7r72C7nnXeet2FlxX1mxj1qIIiWmZlovUyOYf0O0va7c6f77Ky7mfv8fPpnpL0vZCkq88pK9JlZ7zcb7PtKuLp+c8CaB5xjWz/JD3NpK4C4b/6nyvsPLeMt66Q6Pz+c/YacNHpP9mbhQSSkzMP6vhKurn+D0ACiXlgiQzI1ld5Dyiw7aT3Ifvvl9YTK6j2VJaTM6n3Yvrp+c+qFJdKyXbvKrQ8VmkvL67RRtkPH3Nxm27oZnHRS9Le3jT1rYkHQmKimNJ1/VQARKaELA0SLEteJvJNG3mv9XYNnZmDfvs0Bg7CZdO/vabW4GNV6nnpqs/ajgYbNaXx6+ZB2rlFd2syByPgpk6BcWcnOJ9SRVC5KXO/cubVc/Tm5paXshPqOHdsT8kV5l6w2duVFmldH/hXlQJQDkXqFjrpOywXkbV/V6ipcdll6m/fJJ0ddcLPKMzMDl18eNTGFjEAvyrtktbEPKw8kw6UcSEVdaKKQbgodIJo24jtRV3NCEhSyTuo//Wl+eTY24NCh7JP4+vrW337VAYUaEzXeFEB6aGI4yZM3g23vbyQvQV1Xj6S8INVrdTV/Gvi8E3nvbz8v75IXFCf9lq9jL6Sda1SXsjkQtddKnryBeL25kGH9jnrbtovGbczOFg8cTNrHi7bp/3xwn57euo/QcmtM1GhAAwnLB5Cs/5gaSSuJlZXNk2fWybbqaOC8E22ZUeRJAj0v8d1bnqWl7O0G/e0reIwmBZAKAUQ1EAkRcqFR9sRZFHRCRp/31jzyyglby5O377Tffuh305Q+o0sBpEIA0Q9eQgzjQqNon0XNVr2Bwz2sppQIDTTJftP+jywtbQ8quiAbXQogFQKIu6rcUmwYFxpFtZoy4zDymrvSJl3M2vcpp2wvZ9a2/eXPa25Tk3D3hQYQ9cLq0z+SVnP4SL+sKTsG+a0UdXctGn3e2/Mrq4dWMibjxInob9LLcN8+2Llz+/b/8A/beyBm9TBz3/p8YyP7Zlfqwjs+FEBESkjGCV12WfT8xhvrudAo6u66uBgN/MvSe1LOOsk/9RT8/Odb1yXjQU49dfv2P/95FIx658DqDxR5nnxSXXjHnQKISIq0AaXDHCeUBIjkqn16OnreG5gOHUp/r9nWk3LZK/yjR+GRR9JfS75j3sy9WfdrT2pmddbUpGNC2rmGvQBnA18Cvg18C7gqZZsLgMeAO+Pl7UX71VxYUiQt55WV45idLc4/DFKOtLxBaK+qon0VlT8rt5GViO99PW1eLXU+GW2MUhIdOAM4N358KvB94Hl921wAfKbMfhVAJE/ZE+0wk8IhYzbyejWlTZYYGhjzXgv97up8Ml5GKoBsKxR8Gnh53zoFEKlV6NiKomV6evDR2EXddLNGjSddaENrAEtLm7WKpPbQX8bemkdRDURdcsfTyAYQYC9wFPjlvvUXACeAu4DPAc/PeP9+YA1Ym5ubq/WgSvcMcuVb5pauSXNSyFQmaWUsOsEXBbO8K/3Q8RYh5Sgz4l3NVONrJAMIcApwO/CalNd+GTglfrwPuK9of6qBjLdBx2OUqYH0NvWEDtAr+pzQsRtFV/qhU/CElKMoF1JmDqxQav7qnqEHEOA/VX1vxv52ALcA/z5w+yPA7rxtFEDG26AjnVdWwmshvSe1snOmhW6/spKefykKilk5m9nZ8uVoej44zf7QTaEBJLgbr5l9omf5JPAHoe8N2LcBfwF8x93/JGObZ8bbYWbnE3VBPlFXGWQ09HavzZumPMTiYnTKKjI/v7XraV33vui/N/riIjz8MKysDKfra0j58so6jPvkZN2r5MCBevYvQxYSZaKAxHV9zz8U+t6Afb8EcOBuNrvp7gOuAK6It3kLURffu4CvAb9ZtF/VQMZLaPt8mcRuUTNW2tVw2avmlZVoCpH+fe/YUc+VdpkaTlFX4bRtdu6MyjqMWoJmwO4m6m7CAp7d93xX6HvbWhRAxktIziLvHuVp7ex5Qal/gsKQ/WW9NswxJKE5lmS7tJN273HrL3/bZZfm1R5ARnFRABkvefmKvARsUY0hNPcQkuwtO56ijivtkO83SM0tZABj1US4ciDdpACiADJ2ql6tDtL7qOxNosqO6K7rSjvvBB7a2ywrmOXNwFs0QHHQsks7QgOIRduWZ2ZvBO5397+rtIMGLCws+NraWtvFkJokc1H1Jl1nZoqTzMkstP3MogkG87aBaP3u3dEstv3m56PJFIs+Kylr2bLXIa9Mvfq/S2J1NZo8Mm0f8/PR37QODVn7k+4zs9vdfaFou1KTKZrZM3qefgZ4WtmCiVRVdRr1QXofAVx4YXrwgO09vrL20+bEgiGTK+bNkpvXW+3o0exeb6G94WR0lZ2N91Nm9jdm9kHgVUQTIIo0psr9WoqmSk+2yXLbbdmv9Z6cV1fh8ce3b5N8Vhv3mskq044dMDsbHsySmka/ubny3ZdljIS0cyULcDD+ezJwDfDeMu9velEOZLwM0lYe8t6QPEH/UpSozuvJNezvXbVMZWYoriMHIt3DMJLocdD4Z8BOooF/7ynz/qYXBZDxMcyTVN58UnnLySdv7iMveV6ljHndbkO/d5VOB0WBokzXZRldwwogO4GrgOuBS4HLyry/6UUBZHxUPUEXndjKTB7Yv+zcGXavjrKBLqRMIb23qgzS07gMcR9eAPnPwOfj2seby7y3jUUBZHxUOUHXMQtu0TI7G7aPOkfHFwWBov3UMTFjL9U+xk9oACmbRJ8F/jfwX4HnVky7iJSWl5DNmjspZJ6lvFu1hjhxImwfZXokhWwbkqAO6TwQut+s9cO8za90X9kA8igwDTwEZNxFWaR+aSfDXmkn3ZDupck9yIfNPXwSwqLgUBQEElW6PZcNOpoMcbKVCiDu/l+Aa4H3E92fXKQRyckw64SfdtLNOhG7RyfUqSl48sn6ylhkfT0akHfllfnbpZ3Eo3moN4MAZM+O2ztj8YED0f5Cuw6XDToaAzLhQtq5oiYxPgL8OfD7wAsgGsXe5UU5kHYMs028TG+sQRLkRfmH+Xn3qan016em8vMYyRQgVY9hl7rUKuk+nhhSEv3pwL8A3gosl3lvG4sCSPOaOIGF9KxKXp+djZayt68NSYbnbbeykv96knyvMrYjb16tpk/oGgMynmoLIMCtwK+H7KxriwJI89q4Iu0PGFn3rhg0eIT24Mo7kefVSpL35k0hXzSzbxv311AvrPFTZwA5l2jKko8AZ4TstCuLAkjzunBL1KyTetaVe9YyPb05zXvavcDTagPJuJRBajxZV/BFQamNGoiMp9AAUphEd/c73P2lRJMnft7M3mFmT68xDSNjpOl5kdJ6AaU5ejTqXlrG9DS87nVRQjtJtvd2U/3qV7cn4Z98Mlo/yPfd2ICrrtq+Pi8xPTMD+/alz3sF0Xp1rZXahUQZwIgS51cADwMP0PFR6K4aSCvqbhMvah4JvdJPrsCXlsrXRNKW2dns/SS1kLSa0dRU+u1t05b+OwTm1ZSWloprYspNSChqbML6KvD3RLmQdwOvBH6NqEdWpxPpCiDtqKtNvK6R5Dt2bCbSk/IMOgK9aEnKn3U72NCgV9RElxyP0O+jpiwJUWcAeT4ZXXaB74R8SFuLAki3lA0soff67j/B7ty5GTBmZ7df8c/MhF2xD7rMzmZ39Q1ZkuNUFGDcw2tiw0ymy/gIDSAhOZBvxTtM868rtpxtY2YXm9n3zOywmV2d8vrTzOzj8etfN7O9dX22DF+VKS9CBqn1D3ybnYVTT4VHHoFdu+DRR+GJJ7a+f2MDDh3afN+wnDixecfDKubmso+B2daBgaE5F92jQ+pUdiqTLdz9/joKYWbTwAeBVwDPA15vZs/r2+xNwKPu/mvAnwLvqeOzpRllprxIRlJnXbb0nwSTGzXdeCP87GfRids9/wSejAoHWFrKnyYlyzCnQTGLRpCHdkoomuolsW/f4GUTSQwUQGp0PnDY3e939yeAjwGX9G1zCXBD/PivgZeZJRM8SBt6p8womucpdMqL3ppKmqS3UdrnhvbISiQ1oRtugMsv3zp9R0hQGdY0KGZwxRVRYAydm6q/JpYV3A4dGk6ZZUKFtHMNewFeC1zX8/wy4AN929wLnNXz/AfA7rz9KgcyPGV7W4WOTyhq80/LXSSfO8jYi7Tk8spKdg4jGeFeZ84kZGR9aKeENgYUyvhgSNO5d56Z7TezNTNbO378eNvFGVtlZ2ENvZIuavM/dCj7cwdp319fT6/VZF3JnzgR5VfqMj8fNbcdPBh9l95yVLmXuu5TLo0IiTLDXoAXA7f0PH8b8La+bW4BXhw/PoloPEruhI6qgQxPlV4+IVfSRTWVvCvrOidPnJmJblk7yD5mZ8P2kTcRYrKfsl2hNUeVDIJhTKY4rCUOCPcDzya6be5dwPP7tnkzcG38+FLgE0X7VQAZjrzmotBxBlnBpOjEVxRg+ufFOuWUegJK2SXvfuFLS+nfPa/5rsrJX3NUSVUjFUCi8rIP+D5RbuNAvO5dwKvix78EfBI4DHwDeE7RPhVAhiPrRBcyTbl7cZCoOpV5lqaDR9F92rMU5XA0CFCaEhpALNp2PC0sLPja2lrbxRg7U1PRKS1NyM9p7970Xlbz81Ebf5HV1ShPcPRo1KZ/8GB+XiDr84Yp9Lv0Kiqn2WDjSkRCmdnt7r5QtN3YJdFl+LISsaGD8ga9i13ZpHLoGIk6VbkjX1E5lQCXrlEAkdLK3je7X9M9hELHSExPb44DGVSV75KUc3Z2+2tljq9IUxRApLSy983ul3XP72GOku6ttWQ1AyWvHTky2CjzQU72i4vw8MOwslL9+Io0RTkQacWVV8K1127NmSQjsK+5ZrifHZKDqTLHgVlYTkak65QDkU47dGh7wt09CirDvvFRSBNc2WasZCBg6EC/XmWmhBHpEgUQyTTME1tWktk9ezR7XdJm8H3606PJFZPvWSbxPkiTVZVZikW6QgFEUg1yYgsJPHlJ5io9mMp+ftYMvsn3hO15nqWlzZpJkiMZND9RdkoYkU4JGSwyqosGElYXOvlhv9CBfnWMZh/k8wf9nnXRpIfSRUzqZIpSj7yxGnlX+KFX1IuLUcK8P1k9aHfVslf0g45JGZQmPZRRpgAiqbJOYLt25TdtlTkhX3NN1IRUZ3fVsgGh7RP4oGNqRNqkACKpsk5skH+FX/aE3Ds+I20q87LKfn7bJ/DehD5EuZXkeCqRLp0X0s41qotyIINJm9SwqM2+6jTiVd6XVr669hPyWpX91fn9RYaFUZuNdxiLAkj9QpLOVU6gZZPZeSfcuqYxrxqMqgSCtpP5Ir1CA4hGokspSffe3masmZnBcxd5M/yurGzf96Az+qbpn+X38cej7r1lPqNqubK+v2bglTZoJLoMxaDzYGXJS1qnjT8pmywvGhuSNu4lLXjkfUaVciXaTuaLVKEAIqVVuUd3luTEnncfjLRuuGVOuGnB4Xd/F3bv3gwkad1/s+Sd1KsGgraT+SJVKIBIa3pP7EX6r+DLnHCzgsOJE5u1m9BxH0Un9aqBYFg1O5GhCkmUjOqiJHozqiat8+4BHpJMzruveu/6kH1nbTc7O3gvrKx7oIt0FeqFpQDShEG6nxbdA7xKd9a08hR9TnIv92F0o1X3XBlFoQFEvbBkIIP0hgq5V/nsLPzZn4U35WTt0yy7l1dS1rL3Wh+kPIP0FhMZtpHphWVmf2Rm3zWzu83sJjN7RsZ2R8zsHjO708wUFVqQ1pMptNdR2nuz7kwI0Ql2ZSW6O1+Zk3jeNPFFt4qts3NAUXmammtLZJhaDyDArcAL3P2fAt8H3paz7Uvd/YUhkVHqlTW9+65d6dv39jrKei9sTxzfeGO0TdUTeFZvp/n5dm4Vq+65MtZC2rmaWoBXA6sZrx0BdpfZn3Ig9clLRvfnGPrb+JscZd21nEPXyiMSghGdzv2NwOcyXnPgC2Z2u5ntb7BMQn6uwn1r01P/VX2TzThd6w7btfKI1KmRJLqZfRF4ZspLB9z90/E2B4AF4DWeUigzO9Pdj5nZrxI1e/07d/9yynb7gf0Ac3Nz562HDDKQXKur0e1ei34q09NR/qA/Aa1Essho6VQS3d0vdPcXpCxJ8HgD8EpgMS14xPs4Fv99CLgJOD9ju2V3X3D3hT179gzl+4y6svc6P3CgOHgAPPnk1hxHst9RHGU9zPvBi4yNkHauYS7AxcC3gT0525wMnNrz+H8BFxftWzmQ7aq0yYeO18jLcSwtuU9PR+unp6PnXaW8hUw6RigH8gHgVODWuIvutQBm9iwzOxRvczrwFTO7C/gG8Fl3/3w7xR1tZW/5CtV7DCU5jtVVuOGGqIYC0d8bbki/qh/mlX/ovqscI5GJFBJlRnVRDWS7ohtCpUm7It+xI5rmw2yzZpFVAwnthTXMK/8y+65yjETGCSNUA5EGVRmXkNaT6CMficZVPPVUVJvIy3Fk9bZaX99aI7jqquFd+ZepVWjshkgYBZAJM8hssVmjtIu6qmadeM0Gv/9GqDJdiUcx6S/SBgWQCTOscQl5ASZryhIP7EFex5V/mVqFxm6IhNFkitKI/okKQ4fn1HG73OTzh3ErXpFx1KlxICL9NZT5+fTtZmeHc+WvWoVI/VQDkVaoRiDSXaqBSKepRiAy+hRApHHJgL7LLoue33hjffffEJHmnNR2AWSy9Ddd9d4bRAFEZLSoBiKN0jQhIuNDAUQapVu8iowPBRBplKYJERkfCiDSKE0TIjI+FECkUeq+KzI+1AtLGre4qIAhMg5UAxERkUoUQEREpBIFEBERqUQBREREKlEAERGRSloPIGb2TjM7ZmZ3xsu+jO0uNrPvmdlhM7u66XKKiMhWXenG+6fu/sdZL5rZNPBB4OXAA8A3zexmd/92UwUUEZGtWq+BBDofOOzu97v7E8DHgEtaLpOIyETrSgB5i5ndbWbXm9lpKa+fCfyw5/kD8ToREWlJIwHEzL5oZvemLJcAHwL+CfBC4EHgfQN+1n4zWzOztePHj9dQehERSdNIDsTdLwzZzsw+DHwm5aVjwNk9z8+K16V91jKwDNE90cuVVEREQrXehGVmZ/Q8fTVwb8pm3wTOMbNnm9lO4FLg5ibKJyIi6brQC+u9ZvZCwIEjwB8CmNmzgOvcfZ+7/8LM3gLcAkwD17v7t9oqsIiIdCCAuPtlGev/HtjX8/wQcKipcomISL7Wm7BERGQ0KYCIiEglCiAiIlKJAoiIFFpdhb17YWoq+ru62naJpAtaT6KLSLetrsL+/bCxET1fX4+eg25NPOlUAxGRXAcObAaPxMZGtF4mmwKIiOQ6erTcepkcCiAikmturtx6mRwKICKS6+BBmJnZum5mJlovk00BRERyLS7C8jLMz4NZ9Hd5WQl0US8sEQmwuKiAIdupBiIiIpUogIiISCUKICIiUokCiIiIVKIAIjIhNJ+V1E29sEQmgOazkmFQDURkAmg+KxkGBRCRCaD5rGQYFEBEJoDms5JhaD2AmNnHzezOeDliZndmbHfEzO6Jt1trupwio0zzWckwtJ5Ed/d/mzw2s/cBj+Vs/lJ3f3j4pRIZL0mi/MCBqNlqbi4KHkqgyyBaDyAJMzPgdcC/arssIuNI81lJ3VpvwurxL4Efu/t9Ga878AUzu93M9jdYLhERSdFIDcTMvgg8M+WlA+7+6fjx64GP5uzmJe5+zMx+FbjVzL7r7l9O+az9wH6AOWUIRUSGxty97TJgZicBx4Dz3P2BgO3fCTzu7n+ct93CwoKvrSnfLiJShpnd7u4LRdt1pQnrQuC7WcHDzE42s1OTx8BFwL0Nlk9ERPp0JYBcSl/zlZk9y8wOxU9PB75iZncB3wA+6+6fb7iMIiLSoxNNWMNiZseB9ZSXdgOj1h1YZW7GqJV51MoLKnNTBinzvLvvKdporANIFjNbC2nf6xKVuRmjVuZRKy+ozE1posxdacISEZERowAiIiKVTGoAWW67ABWozM0YtTKPWnlBZW7K0Ms8kTkQEREZ3KTWQEREZEATEUBGccp4M3unmR3rKfe+jO0uNrPvmdlhM7u66XL2leWPzOy7Zna3md1kZs/I2K7V41x0zMzsafFv5rCZfd3M9jZdxr7ynG1mXzKzb5vZt8zsqpRtLjCzx3p+L29vo6x9Zcr9d7bI++PjfLeZndtGOXvK89ye43enmf3EzN7at03rx9nMrjezh8zs3p51u8zsVjO7L/57WsZ7L4+3uc/MLh+4MO4+UQvwPuDtGa8dAXa3Xca4LO8E/kPBNtPAD4DnADuBu4DntVjmi4CT4sfvAd7TteMccsyAK4Fr48eXAh9v+bdwBnBu/PhU4PspZb4A+Eyb5Sz77wzsAz4HGPAi4Ottl7nvd/IjovEQnTrOwG8B5wL39qx7L3B1/PjqtP97wC42pna2AAAEIElEQVTg/vjvafHj0wYpy0TUQBI9U8bnTdo4Ss4HDrv7/e7+BPAx4JK2CuPuX3D3X8RPvwac1VZZcoQcs0uAG+LHfw28LP7ttMLdH3T3O+LH/w/4DnBmW+Wp0SXAX3nka8AzzOyMtgsVexnwA3dPG4jcKo8mkX2kb3Xvb/YG4HdS3vrbwK3u/oi7PwrcClw8SFkmKoAwelPGvyWu2l+fUSU9E/hhz/MH6M6J5Y1EV5dp2jzOIcfsH7eJA+JjwGwjpSsQN6f9BvD1lJdfbGZ3mdnnzOz5jRYsXdG/c5d/v9umV+rRteMMcLq7Pxg//hHR9E/9aj/enbmh1KCanDK+LnllBj4EvJvoP+G7iZre3jissoQKOc5mdgD4BbCasZtGj/O4MLNTgL8B3uruP+l7+Q6i5pbH43zZp4Bzmi5jn5H8dzazncCrgLelvNzF47yFu7uZNdK9dmwCiLtfmPe6RVPGvwY4L2cfx+K/D5nZTUTNHUP7wReVOWFmHwY+k/LSMeDsnudnxeuGJuA4vwF4JfAyjxteU/bR6HHuE3LMkm0eiH83vwKcaKZ46cxsB1HwWHX3v+1/vTeguPshM7vGzHZ7i7eADvh3bvz3G+gVwB3u/uP+F7p4nGM/NrMz3P3BuBnwoZRtjhHlcBJnAX83yIdOUhPWSE0Z39cW/OqMsnwTOMfMnh1fNV0K3NxE+dKY2cXAfwRe5e4bGdu0fZxDjtnNQNJD5bXA/8gKhk2I8y9/AXzH3f8kY5tnJnkaMzuf6P92a0Ev8N/5ZuD34t5YLwIe62mGaVNmS0XXjnOP3t/s5cCnU7a5BbjIzE6Lm8QvitdV12ZvgiYX4C+BK/rWPQs4FD9+DlGPnLuAbxE1ybRZ3huBe4C74x/HGf1ljp/vI+qV84MOlPkwURvrnfGS9GTq1HFOO2bAu4gCH8AvAZ+Mv883gOe0fFxfQtSUeXfPsd0HXJH8poG3xMfzLqIODL/ZcplT/537ymzAB+N/h3uAhTbLHJfpZKKA8Cs96zp1nImC24PAz4nyGG8iytHdBtwHfBHYFW+7AFzX8943xr/rw8DvD1oWjUQXEZFKJqkJS0REaqQAIiIilSiAiIhIJQogIiJSiQKIiIhUogAiIiKVKICIiEglCiAiDTKzd/XeY8LMDqbd30NkFGggoUiD4tl0/9bdzzWzKaKRw+e7exemwxApZWwmUxQZBe5+xMxOmNlvEE25/X8UPGRUKYCINO864A1E0+Jf325RRKpTE5ZIw+JZgO8BdgDnuPuTLRdJpBLVQEQa5u5PmNmXgP+r4CGjTAFEpGFx8vxFwL9puywig1A3XpEGmdnziO7FcJu739d2eUQGoRyIiIhUohqIiIhUogAiIiKVKICIiEglCiAiIlKJAoiIiFSiACIiIpX8fwSFFddjKhwXAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "donemli_veri[::50] = [8, -6, 10, -7]\n", "plt.plot(x,donemli_veri,'ro')\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")\n", "plt.show()\n", "donemli_veri_lag1 = np.roll(donemli_veri,1)\n", "plt.plot(donemli_veri[:],donemli_veri_lag1[:],'bo')\n", "plt.xlabel(\"y\")\n", "plt.ylabel(\"$y_{lag,1}$\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Durbin Watson İstatistiği İle Model Başarımı Testi #\n", "\n", "Durbin-Watson istatistiği, bir regresyon analizinden artıklarda birinci dereceden gecikme grafiğinde otokorelasyonun varlığını tespit etmek için kullanılan bir test istatistiğidir. Durbin-Watson istatistiği aşağıdaki şekilde tanımlanır ve bu istatistik hesaplanıp, kullanılarak model uyumlamanın başarısı test edilebilir.\n", "\n", "$$ \\mathcal{D} = \\frac{\\sum_{i=2}^{N} [R_{i} - R_{i-1}]^2}{\\sum_{i=1}^{N} [R_{i}]^2} $$\n", "\n", "Burada $\\mathcal{D}$, Durbin-Watson istatistiği, $R_i$, uyumlamadan (fitten) artıklar, $R_{i-1}$ ise artıkların $i-1$'den başlayarak dizilmesiyle oluşan artıklardır. $\\mathcal{D}$’nin alacağı değerlere göre aşağıdaki çıkarımlar yapılabilir:\n", "\n", "* $\\mathcal{D} = 0$: artıklar sistematik olarak korelasyon göstermektedir.\n", "* $\\mathcal{D} = 2$: artıklar normal dağılım göstermektedir.\n", "* $\\mathcal{D} = 4$: artıklar sistematik olarak antikorelasyona sahiptir.\n", "\n", "Örnek olarak Durbin-Watson istatistiğinin yanı sıra pek çok başka model istatistiği de veren bir paket olan [`statsmodel`](https://www.statsmodels.org/stable/index.html) paketi fonksiyonlarını modelleme için kullanalım. Durbin-Watson istatistiği yukarıdaki formülden kolayca hesaplanabilen bir istatistiktir. Dolayısıyla bu amaçla bir fonksiyon yazabilir ve modelleme işlemlerinizde `scipy` ya da `numpy` fonksiyonlarının yanı sıra bu yazdığınız fonksiyonu da kullanabilirsiniz. Ancak, burada hem bu fonksiyonu yazmayı size alıştırma olarak bırakmak hem de gelişmiş bir istatistiksel model paketini tanıtarak örneklemek açısından `statsmodel` ile bir modelleme örneği yapılacaktır. \n", "\n", "Öncelikle yine modellemek istediğimiz verimizi oluşturalım ve grafiğini çizdirelim." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "from matplotlib import pyplot as plt\n", "%matplotlib inline \n", "np.random.seed(48)\n", "x = np.linspace(0,10,100)\n", "y = -3*x + 5 + np.random.rand(100)*10\n", "plt.plot(x,y,'ro')\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Şimdi bu değişimi modellemek üzere `statsmodel.api` fonksiyonlarından en küçük kareler yöntemiyle model uyumlaması yapan `OLS()` (ing. Ordinary Least Squares) fonksiyonunu kullanalım. Öncelikle uyumlanacak doğrunun y-ekseninde bir kayma terimi (sabit) de içerdiğini belirtmek ve bu terimi de uyumlamak için `statsmodel.api.add_constant` fonksiyonu kullanılmaktadır. Bu terim bağımsız parametreye 1'lerden oluşan bir sabit terim ekler ve fit sırasında bu parametre de uyumlanır ($y = m*x + n*1$). Bu nedenle \n", "\n", " X = sm.add_constant(x) \n", "\n", "ifadesiyle bir $X$ iki boyutlu dizisi oluşturulmuştur. Bu ifade bağımsız değişken $x$'i $X = [x,1] \\rightarrow y = m*x + n*1$ şeklinde ifade etmek ve uyumlama sırasında $m$ ve $n$ parametrelerinin bulunmasını sağlamaktadır.\n", "\n", "`OLS` fonksiyonuna önce argüman olarak verinin bağımlı değişkenini içeren $y$ dizisi, sonra bağımsız değişken $x$ ve sabit parametreyi (1) içeren iki boyutlu $X$ değerleri numpy dizisi olarak sağlanmaktadır. Daha sonra uygulanan `statsmodel.api.OLS()` fonksiyonu bir model nesnesi döndürmekte bu model nesnesi aşağıdaki kod parçasında $model$ değişkenine atanmaktadır. Eğri uyumlamada gördüğünüz `LMFIT` fonksiyonunda olduğu gibi model nesnesinin uyumlama için kullanılan bir `fit()` fonksiyonu bulunmakta; model sonuçları ise bir sonuç nesnesi ile birlikte bu fonksiyonla döndürülmektedir. Bu nesnenin `summary()` metodu aralarında Durbin-Watson istatistiğinin de bulunduğu model istatistiklerini görüntülemek için kullanılmaktadır." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: y R-squared: 0.900\n", "Model: OLS Adj. R-squared: 0.899\n", "Method: Least Squares F-statistic: 885.6\n", "Date: Tue, 19 May 2020 Prob (F-statistic): 7.05e-51\n", "Time: 16:49:31 Log-Likelihood: -246.38\n", "No. Observations: 100 AIC: 496.8\n", "Df Residuals: 98 BIC: 502.0\n", "Df Model: 1 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "const 9.2591 0.570 16.241 0.000 8.128 10.390\n", "x1 -2.9313 0.098 -29.760 0.000 -3.127 -2.736\n", "==============================================================================\n", "Omnibus: 19.617 Durbin-Watson: 2.058\n", "Prob(Omnibus): 0.000 Jarque-Bera (JB): 5.130\n", "Skew: 0.137 Prob(JB): 0.0769\n", "Kurtosis: 1.925 Cond. No. 11.7\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n" ] } ], "source": [ "import statsmodels.api as sm\n", "X = sm.add_constant(x)\n", "model = sm.OLS(y, X)\n", "sonuclar = model.fit()\n", "print(sonuclar.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "İstendiği takdirde modele ilişkin istatistiklerin bazıları sonuç nesnesinin metodları ile ayrı ayrı da görüntülenbilir. Yapılması gereken yukarıdaki istenen istatistiği veren metodu sonuç nesnesi üzerine uygulamaktır. Örneğin model parametreleri `params`, bu parametrelerin hataları `bse` ve korelasyon katsayısı ($r^2$) `rsquared` metodları ile aşağıdaki şekilde görüntülenebilir. " ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Parametreler: [ 9.25910957 -2.93131051]\n", "Standart hatalari: [0.57011759 0.09849884]\n", "r^2: 0.9003709173250201\n" ] } ], "source": [ "print('Parametreler: ', sonuclar.params)\n", "print('Standart hatalari: ', sonuclar.bse)\n", "print('r^2: ', sonuclar.rsquared)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "İstendiği takdirde uyumlanan fonksiyon yine bu nense üzerinden grafiğe aktarılabilir." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEKCAYAAAAMzhLIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3XmcFOW1//HPGUBZ3HBAL4oMi4gKeFHBH+ISgwbXiPuGojEuN2o0XpcLrmhwibtGTSRKgoILwTWJu0aNu6CIICJIGMENHDSCigqc3x81A83Y3VPdXdXVPf19v171mpmmu/ppk1edruc85zzm7oiIiGRSlfQARESktClQiIhIVgoUIiKSlQKFiIhkpUAhIiJZKVCIiEhWChQiIpKVAoWIiGSVaKAws7FmttDMpqc8NsrMPjKzqfXHPkmOUUSk0lmSldlmtiuwFLjT3fvUPzYKWOru14Q9T4cOHbxr166xjFFEpLmaMmXK5+7esanntSzGYDJx9xfMrGuh5+natSuTJ08ufEAiIhXEzGrDPK9UcxSnmdm0+qmp9kkPRkSkkpVioPgD0APoB3wCXJvuSWZ2kplNNrPJixYtKub4REQqSskFCnf/zN1XuPtK4E/ADhmeN8bd+7t7/44dm5xiExGRPCWao0jHzDq5+yf1fx4ITM/2fBGRTH744QcWLFjAsmXLkh5Kolq3bk3nzp1p1apVXq9PNFCY2T3AbkAHM1sAXAzsZmb9AAfmAScnNkARKWsLFixg3XXXpWvXrphZ0sNJhLtTV1fHggUL6NatW17nSHTqyd2PdPdO7t7K3Tu7+x3ufoy793X3bdx9/5S7i3hNmABdu0JVVfBzwoSivK2IxGfZsmVUV1dXbJAAMDOqq6sLuqsquamnREyYACedBN98E/xdWxv8DTBsWHLjEpGCVXKQaFDof4OSS2Yn4vzzVweJBt98EzwuIlLhFCgAPvwwt8dFRIpgn3324csvv0x6GAoUAHTpktvjItI8lUiu0t1ZuXIljz76KBtssEEiY0ilQAFw2WXQtu2aj7VtGzwuIpWhIVdZWwvuq3OVBQSLESNGcMstt6z6e9SoUVxzzTVcffXVDBgwgG222YaLL74YgHnz5tGrVy+GDx9Onz59mD9/Pl27duXzzz8v+KMVSoECgoT1mDFQUwNmwc8xY5TIFqkkMeQqDz/8cCZOnLjq74kTJ9KxY0dmz57N66+/ztSpU5kyZQovvPACALNnz+aUU05hxowZ1NTU5P2+UdOqpwbDhikwiFSyGHKV2267LQsXLuTjjz9m0aJFtG/fnnfeeYcnn3ySbbfdFoClS5cye/ZsunTpQk1NDQMHDsz7/eKiQCEiAkFOsjZNM9UCc5WHHnookyZN4tNPP+Xwww+ntraWkSNHcvLJa9YSz5s3j3bt2hX0XnHR1JOICMSWqzz88MO59957mTRpEoceeih77rknY8eOZenSpQB89NFHLFy4sKD3iJsCRRRKZKWEiBQgplxl7969WbJkCZtuuimdOnViyJAhHHXUUey444707duXQw45hCVLlkT0IeKR6A53Uenfv78XZeOiCROCxNaHHwa3ow3fNFKruiH4FqJkuEjiZs6cyVZbbZX0MEpCuv8WZjbF3fs39VrlKMLK1OajTZvMKyUUKESkGVCgCCvT0rnGjzVQVbeINBPKUYSV64VfVd0i0kwoUISV6cJfXa2qbhFp1hQowsq0dO7GG1XVLSLNmnIUYTVc+Buvemp4XIFBRJop3VHkYtgwmDcPVq4Mfio4iEgRhWkSGEcjwUQDhZmNNbOFZjY95bENzewpM5td/7N9kmMUEal0Sd9R/AXYq9FjI4Bn3L0n8Ez93yIiZWnevHlsueWWHHfccWyxxRYMGzaMp59+mp122omePXvy+uuvs3jxYg444AC22WYbBg4cyLRp0wCoq6tjyJAh9O7dmxNOOIHUAunx48ezww470K9fP04++WRWrFgR22dINEfh7i+YWddGDw8Fdqv/fRzwHPB/RRuUiDRLv/kNTJ0a7Tn79YMbbmj6eXPmzOGvf/0rY8eOZcCAAdx99928+OKLPPLII1x++eVsttlmbLvttjz00EM8++yzDB8+nKlTp3LJJZew8847c9FFF/GPf/yDO+64AwiqrO+77z5eeuklWrVqxSmnnMKECRMYPnx4tB+wXikmszd290/qf/8U2DjJwYiIFKpbt2707dsXCHo/7b777pgZffv2Zd68edTW1nL//fcDMHjwYOrq6vjqq6944YUXeOCBBwDYd999ad8+mIl/5plnmDJlCgMGDADg22+/ZaONNopt/KUYKFZxdzeztM2ozOwk4CSALipuE5EmhPnmH5e111571e9VVVWr/q6qqmL5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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(x,y,'ro', label='veri')\n", "plt.plot(x,sonuclar.params[0]+sonuclar.params[1]*x, 'b-', label='model')\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")\n", "plt.legend(loc=\"best\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Oldukça gelişmiş model istatistikleri ve olanaklar sunan bu pakete daha ileri model örnekleri için tekrar döneceğiz. Ancak şu aşamada yaptığımız uyumlamanın Durbin-Watson İstatistiği'ne bakalım. $\\mathcal{D} = 2.058~\\sim~2$ bulunmuş olması artıkların normal dağılıma sahip olduğu iyi bir modele ulaşıldığını göstermektedir. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# $\\chi^2$ Dağılımı ve $\\chi^2$ Testi #\n", "\n", "Serbestlik derecesi ($\\nu$) kadar bağımsız standart normal rastgele değişkenin toplamının dağılımıdır. Gamma dağılımının özel bir halidir. Hipotez testi, güven aralığı oluşturma (ing. confidence interval), uyum başarısı (ing. goodness of fit) gibi bir çok istatistiksel çıkarımda kullanılmaktadır. Nadiren Helmert dağılımı olarak da isimlendirilir.\n", "\n", "Diyelim ki, bir $x$ değişkenin $x_i$ ölçüm değerlerini, bir histogram oluşturmak üzere $1$ ile $n$ arasında $j$ tane gruba topluyor olalım ve $h(x_j)$ bu $j$ gruptan her birinin içerisine düşen $x_i$ ölçüm değerlerinin toplam frekansı olsun. Her bir ölçümün $x_j$ grubunda olma olasılığı $P(x_j)$ olsun. Bu durumda $N$ toplam ölçüm sayısını göstermek üzere $x_j$ aralığında olması beklenen ölçüm sayısı $y(x_j) = N~P(x_j)$ olacaktır. \n", "\n", "Her bir grupta gözlenen frekans $h(x_j)$ üzerinde de $\\sigma (h)$ kadar bir belirsizlik olacaktır. Bu belirsizlik, $\\mu$ ortalama değeri etrafında dağılan her bir $x_i$ ölçümünün sapmasını ifade eden $\\sigma_i$ değerinden farklıdır ve ifade ettiği şey her bir grubun frekansının ($h(x_j)$) grupların ortalama değeri $\\mu_j$ ‘den sapmasıdır. \n", "\n", "Her bir grubun frekansının olasılık dağılımını ayrı ayrı belirlemek üzere defalarca ölçüm yapsak her bir grup ($x_j$) için olasılık dağılımının $\\mu_j = y(x_j)$ ortalama değerine ve dolayısıyla $\\sigma_j = y(x_j)$ standart sapmasına sahip bir Poisson dağılımı olduğunu bulmamız gerekir. Dolayısıyla her bir $x_j$ değeri için $k.$ ölçüm denemesinde $hk(x_j)$ frekansını elde edebileceğimiz, $x_j$ için beklenen değerin $y(x_j)$ olduğu bir $P_j(y_k)$ olasılık dağılımı tanımlanabilir. \n", "\n", "Aşağıdaki birinci şekilde $\\sigma_j = \\sqrt{h_j}$, ikinci şekilde $\\sigma_j = \\sqrt{\\mu_j}$ standart sapmalı Poisson dağılımları için noktalı eğriler şeklinde her bir $x_j$ için verilen bu olasılık dağılımlarının standart sapmaları $\\sigma_j(h)$ ile ifade edilmektedir. \n", "\n", "
\n", " \"Chi^2\n", "
\n", " \n", "Ortalaması $\\mu = 5.0$, standart sapması $\\sigma = 1.0$ olan toplam $100$ ölçümden oluşturulmuş $n = 6$ gruba ilişkin histrogram ve bu histogramların oluşturulduğu $y(x_j) = P(x_j)$ ana dağılımı olan Gaussyen (büyük süreksiz eğri). Noktalı eğriler her bir bin içerisindeki x ölçümlerinin $h(x_j)$ frekansları merkezinde ve $\\sigma_j = \\sqrt{h_j}$ standart sapmalı Poisson olasılık dağıımlarını göstermektedir.\n", "\n", "
\n", " \"Chi^2\n", "
\n", "\n", "Bir önceki şekille aynı olup, noktalı eğriler her bir bin içerisindeki $x$ ölçümlerinin ana dağılımının veren $\\mu_j = y(x_j)$ ortalama değeri merkezinde , $\\sigma_j = \\sqrt{\\mu_j}$ standart sapmalı Poisson olasılık dağıımlarını göstermektedir. \n", "\n", "$n$ histogramdaki grup sayısı; $N$ toplam ölçüm sayısı; $x_j$ $j$ grubunu temsil eden ölçüm değeri; $h(x_j)$ $j$ grubundaki ölçümlerin frekansıİ $P(x_j)$ $j$ grubuna düşen ölçüm yapma olasılığı; $\\sigma_j$ $j$ grubundaki ölçümlerin ortalama değer etrafındaki saçılması (grubun iç standart sapması) olmak üzere $\\chi^2$ istatistiği aşağıdaki şekilde tanımlanır.\n", "\n", "$$ \\chi^2 = \\sum_{j=1}^{n} \\frac{[h(x_j) - N~P(x_j)]^2}{\\sigma_j(h)^2} $$\n", "\n", "Poisson dağılımı için varyans $\\sigma_j(h)^2$ dağılımın ortalama değerine eşit olduğundan ($\\mu_j = y(x_j)$) veriden çıkarılabilr. Çünkü, $\\sqrt{N}~P_j \\sim \\sqrt{h_j}$. Bu durumda $\\chi^2$ istatistiği aşağıdaki şekilde basitleştirilip veri üzerinden hesap edilebilir.\n", "\n", "$$ \\chi^2 \\sim \\sum_{j=1}^{n} \\frac{[h(x_j) - N~P(x_j)]^2}{N~P(x_j)} = \\sum_{j=1}^{n} \\frac{[h(x_j) - N~P(x_j)]^2}{h(x_j)}$$\n", "\n", "İfadeden de görülebileceği gibi $\\chi^2$ istatistiği gözlenen frekansların ($h(x_j)$) dağılımını beklenen frekanslar ($P(x_j$)) üzerinden ifade etmektedir. Gözlenen frekanslar ile beklenti birebir uyuşsa elde edilecek değer $\\chi^2 = 0$ olur ki bu deneysel (gözlemsel) çalışmalardan beklenen bir şey değildir. Mutlaka ölçüm hataları olacaktır. İfadenin paydası, gözlemlerin saçılmasını, payı ise beklenen saçılmayı ifade etmektedir.\n", "\n", "Beklenen dağılımla gözlenen dağılımın birbiriyle tutarlı olması için her bir gruptan $\\chi^2$ istatistiğine ~1 katkısı gelmelidir. Bu mantıklıdır çünkü her bir gözlemsel değer ortalamdan (ya da modelden bir başka deyişle beklentiden( $1~\\sigma$ uzakta olduğunda $\\chi^2$ istatistiğine $1$ katkı yapar. Ayrıca, bu toplamın da $n$ olacağı anlamına gelir ($\\chi^2 \\sim n$). Ancak $N~P(x_j)$ olasılık dağılmı üzerinden hesap edildiği için serbestlik derecesi de bir düşer ve $\\chi^2$ için beklenen değer $n - 1$ olur.\n", "\n", "$\\chi^2$ için beklenen değer; $n$ grup sayısını, $n_c$ parametre sayısını, $\\nu$ serbestlik derecesni göstermek üzere,\n", "\n", "$$ \\chi^2 = \\nu = n - n_c $$\n", "\n", "$\\chi^2$ için hesap edilen değerle verinin dağılımının uyumlu olması olasılığını test edebilmek için $\\chi^2$ 'nin nasıl dağıldığını bilmeye ihtiyaç duyulur. \n", "\n", "Doğrudan $\\chi^2$ değerini kullanmak yerine serbestlik derecesini de dikkate alacak şeklilde indirgenmiş $\\chi^2_{\\nu}$ parametresi tanımlanır ve $\\chi^2_{\\nu} = \\chi^2 / \\nu$ ile verilir. İndirgenmiş $\\chi^2$ parametresinin;\n", "\n", "* $1$'den çok büyük olması durumunda ($\\chi^2 >> 1$) varsayılan dağılımdan, yanlış ölçümler, belirsizlikler üzerindeki problemler ya da yanlış bir olasılık dağılımının kullanılması gibi nedenlerle büyük sapmalar gözlenir.\n", "\n", "* $\\chi^2$ parametresinin 1’den çok küçük olması da ($\\chi^2 << 1$) aynı şekilde problemlidir ve deneyin yanlış anlaşıldığını düşündürür. \n", "\n", "Tıpkı standart normal dağılım ya da t-dağılımı kullanarak yapılan testlerde değişkenin herhangi bir değeriinin ortalama değerden herhangi bir standart sapma uzakta olması olasılığının belirlenmesi durumunda olduğu gibi varsayılan olasılık dağılımını da dikkate alarak hesaplanan indirgenmiş $\\chi^2$ parametresi değerinin gözlenmiş olma olasılığı belirlenir. \n", "\n", "Olasılık $1$'e yakınsa seçilen olasılık dağılımı verinin dağılımını iyi temsil etmektedir. Eğer olasılık çok düşük çıkıyorsa, ya varsayılan olasılık dağılımı verinin dağılımına uygun değildir ya da örnek veri seti ana dağılımı temsil etmekten uzaktır. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Örnek: $\\chi^2$ Testi ##\n", "\n", "Diyelim ki bir öğrenci bir topu yerden 2.00 metre yükseklikten 50 kez bırakıyor ve topun yere düşme süresini kaydediyor ve aşağıdaki şekilde verilen histogramı elde ediyor. Şekildeki her bir dikdörtgenin yüksekliği kısa kenarında verilen zaman aralığına düşen ölçüm sayısını göstermektedir. Kesiksiz eğri, ölçümlerin ortalaması $T_{ort} = 0.635~s$, standart sapması $s = 0.020~s$ için Gaussyen dağılımı, kesikli eğri ise örnek ölçümlerin alındığı $\\mu = 0.639~s$, $\\sigma = 0.020~s$) ortalama değer ve standart sapma için ana Gaussyen dağılımı göstermektedir.\n", "\n", "
\n", " \"Chi^2\n", "
\n", "\n", "Söz konusu örnek için elde edilen değerler aşağıdaki gibi olsun. Verinin birinci sütıununda histogramı oluşturan her bir grubun ortasındaki zaman değeri, ikinci sütunda o zaman aralığına denk gelen ölçüm sayısı, üçüncü sütunda $y_j = y(x_j) = N~P(x_j)$ her bir histogramın (1. sütunda verilen) $x_j$ değeri için ana dağılımın ortalama ve standart sapması kullanılarak hesaplanan olasılık fonksiyonu değerleri, altıncı sütunda ise bu kez ana dağılımın ortalama ve standart sapması kullanılarak hesaplanan olasılık fonksiyonu değerleri verilmektedir. 4 ve 7. sütunlarda verilen belirsizlikler o zaman aralığının ortasındaki zaman için hesaplanan olasılık fonksiyonu değerlerinin (3 ve 6. sütun) karekökleri (Poisson dağılım varsayımıyla) üzerinden hesaplanan sırasıyla ana dağılım ve örnek dağılım için belirsizliklerdir. Son olarak 5 ve 8. sütunlarda $\\chi^2$ istatistikleri (kareleri alınmadan) verilmiştir.\n", "\n", "
\n", " \"Chi^2\n", "
\n", "\n", "Sonuç olarak bu son sütunlardaki değerlerin kareleri alınarak toplanmış $\\chi^2$ değerleri ana dağılım için $13.03$, örnek dağılım için $7.85$ bulunmuştur. Ana dağılım için serbestlik derecesi, sadece toplam grup sayısı ($N$) üzerinden hesaplandığı için $\\nu = 11 – 1 = 10$, örnek dağılım için ise grup sayısıyla birlikte ortalama ve standart sapma da bilindiği için $\\nu = 11 – 3 = 8$’dir. Bu nedenle ana dağılım için indirgenmiş $\\chi^2_{\\nu} = 13.03 / 10 = 1.303$, örnek dağılım için ise $\\chi^2_{\\nu} = 7.85 / 8 = 0.98$ olarak bulunmuştur.\n", "\n", "Aşağıda sadece bir bölümü verilen $\\chi^2$-dağılımı olasılık tablosundan $\\nu = 10$ serbestlik derecesi için $\\chi^2_{\\nu} = 1.3$ değeri $1.1784$ ile $1.344$ arasında kalıp bu değerlerin olasılıkları sırasıyla $0.30$ ve $0.20$’dir. Yapılacak basit bir lineer interplasyon $\\chi^2_{\\nu} \\ge 1.3$ ‘ten daha büyük bir değer elde etme olasılığının $\\sim0.23$ (%23) olduğunu göstermektedir. Bir başka deyişle ana dağılımdan belilrlenen indirgenmiş $\\chi^2_{\\nu}$ değeri verinin saçılması ile ancak %23 güvenilirlik seviyesinde uyumludur. Benzer bir analiz için $\\nu = 8$ serbestlik derecesindeki örnek dağılım için yapıldığında $\\chi^2_{\\nu} \\ge 0.98$ olma olasılığının %45 civarında olduğu bulunur.\n", "\n", "
\n", "
\n", " \"Chi^2\n", "
\n", "\n", "Örnekte çoğu zaman mümkün olmayan bir durum (ana dağılımın bilinmesi durumu), üzerinden tüm hesaplamalar yapılmıştır. Oysa ki çoğu zaman ana dağılım bilinmez. Bu durumda belirsizlikleri Gaussyen varsayarak belirlemek yerine $h(x_j)$ frekanslarının (örnekte 2. sütun) doğrudan karekökünü almak gerekir.\n", "\n", "Örnekte olduğu gibi bazı gruplarda (binlerde) çok az sayıda ölçüm bulunması durumunda gruplar birleştirilerek daha büyük gruplar oluşturulabilir. Bu durumda yapılan istatistiksel testin de daha doğru sonuç vereceği değerlendirilmelidir. \n", "\n", "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)\n", "\n", "## $\\chi^2$ Testinin İki Örnek Dağılımın Aynı Dağılımdan Türeyip Türemediğinin Kontrolü için Kullanılışı ##\n", "\n", "$\\chi^2$ testinin önemli uygulamalarından biri iki örnek veri setinin aynı ana dağılımdan alınıp alınmadığının belirlenmesinde kullanılmasıdır. $g(x_j)$ ve $h(x_j)$, $x$ değişkeninin iki ayrı örnekteki dağılımları olsunlar. Bu iki dağılımın $P(x_j)$ ana dağılımından alınıp alınmadığını belirlemek için $\\chi^2$ testini her iki dağılıma ayrı ayrı uygulayıp hesaplanan $\\chi^2$ değerlerinin $P(x_j)$ ile uyumlu olup olmadığı belirlenebileceği gibi ana dağılımdan bağımsız bir $\\chi^2$ testi her iki dağılımın birden üzerine uygulanabilir. Bu durumda aşağıdaki ifadeden faydalanılır.\n", "\n", "$$ \\chi^2 = \\sum_{j=1}^{n} \\frac{[g(x_j) - h(x_j)]^2}{\\sigma^2(g) + \\sigma^2(h)} $$\n", "\n", "Her iki örnek dağılım, birbirlerinden tamamen bağımsız seçilirlerse serbestlik derecesi $\\nu = n$ olur. Dağılımlardan biri diğerine normalize ise bu durumda $\\nu = n - 1$ olmalıdır. İndirgenmiş $\\chi^2$ , eğer 1’den çok büyük bir değere karşılık geliyorsa (bu değere karşılık gelen olasılık küçükse) bu iki dağıımın farklı ana dağılımlardan türetildiği sonucuna varılır. \n", "\n", "Eğer $\\chi^2$ için bulunan değere karşılık gelen olasılık büyükse bu durumda bu iki dağılımın farklı ana dağılımlardan türetildiği sonucu çıkarılamaz. Bu durumda gerçekten birbirine çok yakın iki ayrı dağılımdan türetilmiş ve eldeki verinin hassasiyeti dahilinde bu fark belirlenemiyor da olabilir. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Özet: $\\chi^2$ Testi #\n", "\n", "Bir x değişkenin ölçüm değerleri $x_j$ ve üzerindeki belirsizlikler $\\sigma_j$ olmak üzere ağırlıklı ortalama:\n", "\n", "$$ \\bar{x} = \\frac{\\sum_{j = 1}^{n} (x_j / \\sigma_j^2)}{\\sum_{j = 1}^{n} (1 / \\sigma_j^2)} $$\n", "\n", "Tüm ölçümler üzerinde aynı belirsizlik bulunuyorsa ($\\sigma = \\sigma_i$) bu durumda ağırlıklandırmaya gerek olmadğından ortalama değer doğrudan elde edilir.\n", "\n", "$$ \\bar{x} = \\frac{(1 / \\sigma^2) \\sum_{j = 1}^{n} x_j}{(1 / \\sigma^2) \\sum_{j = 1}^{n} 1} = \\frac{1}{N} \\sum_{j = 1}^{n} x_j $$\n", "\n", "Ortalamanın Standart Sapması (ya da Varyansı) her bir veri noktasının hatası ($\\sigma_i$) ya da tüm verinin standart sapmasından ($\\sigma$) farklıdır:\n", "\n", "$$ \\sigma_{\\nu}^2 = \\frac{1}{\\sum_{j = 1}^{n} (1 / \\sigma_j^2)} $$\n", "\n", "Tüm ölçümler üzerinde aynı belirsizlik bulunuyor ya da verinin tamamının standart sapması biliniyor ise ($\\sigma = \\sigma_i$):\n", "\n", "$$ \\sigma_{\\nu}^2 = \\frac{\\sigma^2}{N} $$\n", "\n", "Ölçümün (ya da ölçüm aletinin) belirsizliği:\n", "\n", "$$ \\sigma^2 \\sim s^2 = \\frac {1}{N-1} \\Sigma_{j = 1}^n (x_j - \\bar{x})^2 $$\n", "\n", "Sınırlı sayıda ölçüm alabilmekten kaynaklanan istatistiksel dalgalanma (Poisson):\n", "\n", "$$ \\sigma^2 = \\nu \\sim \\bar{x} $$\n", "\n", "olmak üzere;\n", "\n", "$\\chi^2$-testi: $x_j$ olası değerleri için gözlenen bir frekans dağılımının $h(x_j)$, varsayılan bir olasılık dağılımına göre belirlenmiş olasılıklarını veren $N P(x_j)$ dağılımı ile karşılaştırılmasına dayanan testtir. Bu karşılaştırma için kullanılan $\\chi^2$-istatistiği:\n", "\n", "$$ \\chi^2 = \\sum_{j=1}^{n} \\frac{[h(x_j) - N~P(x_j)]^2}{\\sigma_j(h)^2} $$\n", "\n", "Serbestlik derecesi ($\\nu$): Veri sayısı (N) ile verilerden birbirlerinden bağımsız olarak belirlenen parametres sayısı (m) arasındaki farktır (N – m). \n", "\n", "İndirgenmiş $\\chi^2_{\\nu} = \\chi^2 / \\nu$: $1$’e yakınsa $h(x_j)$ dağılımı $N~P(x_j)$ dağılımı ile uyumludur. Serbestlik derecesine karşılık verilen indirgenmiş $\\chi^2_{\\nu}$ tablolarından rastgele seçilen bir veri setinin, ana dağılımdan türetilmiş olup olmadğının olasılığı bulunur.\n", "\n", "## Testin Uygulanışı ##\n", "\n", "$\\chi^2$-testi genellikle gözlemsel verinin, gözlenen olaya ilişkin teori ile tutarlılığının sınanması için kullanılır. Genellikle testte sıfır hipotezi ($H_0$) “teorik yaklaşım gözlem verisi ile tutarlıdır.” şeklinde seçilir.\n", "\n", "Sıfır hipotezi ($H_0$) doğru ise uyumlama sonrası artıkları, rastgele hatalardan kaynaklanır ve bu nedenle normal dağılım gösterir. Bu durumda her bir gözlem verisinin uyumlanan eğriden (ya da modelden) farklarının toplamı bir ki-kare dağılımı vereceğinden ki-kare testi uygulanabilir. \n", "\n", "Test adımları şu şekilde uygulanır:\n", "\n", "1. $\\chi^2$-değeri (Pearson test istatistiği, $\\chi^2$) aşağıda verilen en genel ifadeden (ya da daha önce verilen formüller kullanılarak) hesaplanır. Burada $O_i$: gözlenen değeri, $C_i$ modelden hesaplanan değeri, $\\sigma_i$ gözlemsel verinin hatasını (ölçüm hatası ya da standart sapmasını) göstermektedir: $ \\chi^2 = \\sum \\frac{(O_i - C_i)^2}{\\sigma_i^2} $\n", "\n", "2. Serbestlik derecesi ($\\nu = N - m$) hesaplanır. Burada $N$ ölçüm sayısını, $m$ modelin parametre sayısını göstermektedir.\n", "\n", "3. Sıfır hipotezi ($H_0$) kurgulanır. Sıfır hipotezi, model uyumlamalarında seçilen modelin veriyi uyumladığını ifade ederken, alternatif hipotez ise bunun tersini ifade eder. $\\chi^2$ testinde test edilen $H_0$ sıfır hipotezidir.\n", "\n", "4. Bir güven düzeyi seçilir.\n", "\n", "4. Ki-kare ($\\chi^2$) tablolarından ilgili serbestlik derecesi ve güven düzeyine karşılık gelen kritik $\\chi^2$ değeri, hesaplanan $\\chi^2$ ile karşılaştırılır. \n", "\n", "5. Hesaplanan $\\chi^2$ değeri, tablodaki kritik değerden küçük ise sıfır hipotezi (gözlem verisinin teori ya da model ile tutarlı olduğu) reddedilemez. Eğer büyük ise sıfır hipotezi reddedilir (teori ya da model gözlem ile tutarlı değildir görüşü için bir kanıt elde edilir).\n", "\n", "6. $\\chi^2$ testini verilen güven düzeyleri için kritik $\\chi^2$ değerlerini tablolardan okuyup hesaplanan $\\chi^2$ değeri ile karşılaştırarak yapmak yerine elde edilen $\\chi^2$ değeri için, $H_0$'ın doğru olması durumunda o değerden daha büyük bir $\\chi^2$ elde etme olasılığını veren p-değerini hesaplayıp ($p = P(\\chi^2 > \\chi^2_{hesap})| H_0$), bu değeri istatistiki anlamlılık seviyesi ile ($\\alpha$ = 1 - güven düzeyi) karşılaştırmak mümkündür. Eğer hesaplanan bu p-değeri ile istatistiksel anlamlılık seviyesinden ($\\alpha$) büyükse $H_0$ reddedilemez. Aksi durumda $H_0$ reddedilir. Bu durum $H_1$ için bir kanıt teşkil eder. \n", "\n", "7. $\\chi^2$ değeri aynı parametre sayısına sahip iki modelin doğrudan karşılaştırılması için bir gösterge olarak da kullanılabilir.\n", "\n", "8. Model uyumlamalarında serbestlik derecesi başına $\\chi^2$ değeri (\"indirgenmiş ki-kare\", $\\chi^2_\\nu = \\chi^2 / \\nu$) kullanılıyorsa modelin başarımı $\\chi^2_\\nu$ değeri 1 ile karşılaştırılarak belirlenir.\n", "\n", "9. $\\chi^2_{\\nu} = 1$ ise uyumlama gözlem verisinin üzerindeki hata mertebesinde iyi sonuç vermektedir. $\\chi^2_{\\nu} > 1$ ise uyumlama gözlem verisinin üzerindeki belirsizliği tam olarak modelleyememektedir. $\\chi^2_{\\nu} << 1$ ise uyumlama çok zayıftır. $\\chi^2_{\\nu} < 1$ gözlem verisi üzerindeki hata büyüktür sonuçlarına varılır." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Örnek: Doğru Uyumlama #\n", "\n", "$\\chi^2$-testinin nasıl uygulandığını görmek için iyi ve basit bir uygulama doğrusal bir modeli gözlemsel veri üzerine uyumlamaktaır. Bu dersle birlikte verilen [gözlemsel veriye](veri/model_karsilastirma_chi2.dat) bir doğru uyumlayalım ve Pearson $\\chi^2$-testiyle uyumun başarısını (ing. goodness of fit) görelim.\n", "\n", "Öncelikle veri setimizi inceleyelim." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "Table length=10\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
col1col2col3
float64float64float64
0.50.630.5
1.51.060.5
2.51.340.5
3.52.160.5
4.51.360.5
5.51.880.5
6.51.380.5
7.51.850.5
8.52.310.5
9.52.550.5
" ], "text/plain": [ "\n", " col1 col2 col3 \n", "float64 float64 float64\n", "------- ------- -------\n", " 0.5 0.63 0.5\n", " 1.5 1.06 0.5\n", " 2.5 1.34 0.5\n", " 3.5 2.16 0.5\n", " 4.5 1.36 0.5\n", " 5.5 1.88 0.5\n", " 6.5 1.38 0.5\n", " 7.5 1.85 0.5\n", " 8.5 2.31 0.5\n", " 9.5 2.55 0.5" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from astropy.io import ascii\n", "veri = ascii.read(\"veri/model_karsilastirma_chi2.dat\")\n", "veri" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "from matplotlib import pyplot as plt\n", "%matplotlib inline\n", "x = np.array(veri['col1'])\n", "y = np.array(veri['col2'])\n", "yhata = np.array(veri['col3'])\n", "plt.errorbar(x,y,yerr=yhata,fmt=\".\",c=\"k\")\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Öncelikle [Eğri Uyumlama](http://ozgur.astrotux.org/ast416/Ders_04/Ders04_Egri_Uyumlama.html) dersinde daha önce gördüğümüz herhangi bir yöntemle bu veri setine bir doğru uyumlayalım. Öncelikle basit bir model için doğrusal en küçük kareler yöntemini seçerek basit bir Python fonksiyonuyla doğrusal uyumlama yapalım. `numpy.polyfit()` fonksiyonu `deg=1` parametresiyle çalıştırıldığında bu amaca bizi ulaştıracaktır." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Verilen veriye uyumlanan en iyi dogru: y = 0.1622x + 0.8411\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "katsayilar = np.polyfit(x, y, deg = 1) # Sondaki 1 dogru uyumlamasini gosterir\n", "m = katsayilar[0]\n", "n = katsayilar[1]\n", "print(\"Verilen veriye uyumlanan en iyi dogru: y = {:.4f}x + {:.4f}\".format(m,n))\n", "ymodel = m*x + n\n", "plt.errorbar(x,y,yerr=yhata,fmt=\".\",c=\"k\", label=\"veri\")\n", "plt.plot(x,ymodel,'r-', label=\"model\")\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")\n", "plt.legend(loc=\"upper left\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Şimdi $\\chi^2$ değerini kendi yazacağımız bir fonksiyonla hesaplayalım. Fonksiyonumuz $y$ ve $y_{hata}$ dizilerinin yanı sıra modelden hesaplanan $y_{model}$ değerlerini de gönderelim." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Serbestlik derecesi: 8\n", "Chi^2 = 4.28, Indirgenmis Chi^2 = 0.54\n" ] } ], "source": [ "import numpy as np\n", "kikare = lambda y,ye,ymod : ((y - ymod)**2 / ye**2).sum()\n", "chi2 = kikare(y,yhata,ymodel)\n", "dof = len(y) - len(katsayilar) # serbestlik derecesi\n", "chi2_nu = chi2 / dof\n", "print(\"Serbestlik derecesi: \", dof)\n", "print(\"Chi^2 = {:.2f}, Indirgenmis Chi^2 = {:.2f}\".format(chi2,chi2_nu))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Gayet basit bir fonksiyonla hem $\\chi^2$, hem de $\\chi^2_{\\nu}$ istatistiklerini hesapladık. Şimdi bu istatistikleri kullanarak bir hipotez testi yapalım ve modelimizin başarısını bir hipotez testiyle test edelim. \n", "\n", "* $H_0$: Lineer model gözlemsel veri ile tutarlıdır.\n", "* $H_1$: Lineer model gözlemsel veri ile tutarlı değildir.\n", "\n", "Bunun için öncelikle bir istatistiksel anlam seviyesi seçmeliyiz. $\\chi^2$ testlerinde güven düzeyi yerine istatistiksel anlam ($\\alpha$) tercih edilir. Ancak biz istatistiksel anlamın güven düzeyinin 1'den farkı olduğunu biliyoruz. Bu örnek için güven düzeyini %90 ($0.90$) olarak belirlemiş olalım. Bu güven düzeyine karşılık gelen istatistiksel anlam seviyesi ($\\alpha$) ve $\\chi^2$ değerini kullanarak $H_0$'ı test edelim. Bu amaçla $\\chi^2$ dağılım tablolarını]kullanabilirsiniz. Böyle bir tablo kullanılırsa 0.10 istatistiksel anlam seviyesi için kritik $\\chi^2$ değerinin $13.36$ olduğu ve hesaplanan $\\chi^2 = 4.28 < 13.36$ olduğu görülebilir. Bu durumda lineer modelin gözlemsel veri ile %90 güven düzeyinde tutarlı olduğuna ilişkin $H_0$ hipotezinin reddedilmemesi gerekir. Bu durumda $H_0$ reddedilmez. Yani \"lineer modelin gözlemsel veri ile tutarlı olması durumunda bu veri setini şans eseri elde etme olasılığı belirlenen istatistiksel anlamlılık seviyesinden büyüktür!\". Aksi halde reddedilir ve bu da lineer modelin gözlemsel veriyle tutarlı olmadığını ifade eden $H_1$ için bir kanıt teşkil ederdi.\n", "\n", "
\n", " \"Chi^2\n", "
\n", "\n", "Python'da `scipy.stats` paketinin bu tür testler için geliştirilmiş fonksiyonlara sahip olduğunu daha önceki dağılımlar için yaptığımız uygulamalarda görmüştük. Yukarıda tablolarla yapılan test için `scipy.stats.chi2.ppf` fonksiyonunu da (ing. point percent function) kullanabiliriz. Ancak `ppf` fonksiyonuna verilen olasılık değerinin her zaman kritik değere kadarki ($\\chi^2 < \\chi^2_{kritik}$) olasılık olduğunu görmüştük. Dolayısı ile `ppf()` fonksiyonunun doğru kritik değeri verebilmesi için ona $\\alpha$ istatistiksel anlamlılık seviyesi yerine güven düzeyi sağlanmalıdır ($1 - \\alpha$)." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Kritik Chi^2 degeri: 13.3616\n" ] } ], "source": [ "from scipy import stats as st\n", "alpha = 0.10\n", "chi2_kritik = st.chi2.ppf(1-alpha, df=dof)\n", "print(\"Kritik Chi^2 degeri: {:.4f}\".format(chi2_kritik))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Görüldüğü gibi kritik $\\chi^2$ değeri 13.3616'dır; Bu değer hesaplanan $\\chi^2$ değeri olan 4.28'den büyüktür. Bir başka deyişle ($\\chi^2 < \\chi^2_{kritik}$). Bu durumda $H_0$ reddedilemez. Yani lineer modelin veriyle uyumlu olduğuna ilişkin bir kanıt elde edilmiş olur. Belirlediğimiz istatisiksel anlam seviyesi olan %10, lineer modelin veriyle uyumlu olması durumunda rastgele seçilecek 100 veri setinin 10 tanesinde uyumladığımız doğrunun $13.3616$'dan büyük bir $chi^2$ değeri ($\\chi^2 > 13.3616$) verirken 90'ında bundan daha küçük bir $\\chi^2$ değeri elde edileceğini ortaya koymaktadır. \n", "\n", "$\\chi^2$ testini verilen güven düzeyleri için kritik $\\chi^2$ değerlerini tablolardan okuyup (ya da `scipy.stats.chi2.ppf` ile bulup) hesaplanan $\\chi^2$ değeri ile karşılaştırarak yapmak yerine elde edilen $\\chi^2$ değeri için, o değerden daha büyük bir $\\chi^2$ elde etme olasılığını veren p-değerini hesaplayıp, bu değeri istatistiki anlamlılık seviyesi ile de karşılaştırabiliriz. Hesaplayacağımız p-değeri, lineer modelimiz doğruysa ($H_0$) bulduğumuz $\\chi^2$ değeri'nden büyük bir artık değerini rastlantısal olarak elde etme ihtimalini verir $p = P(\\chi^2 \\ge 4.28 | H_0$). Eğer bulduğumuz p-değeri seçtiğimiz güven düzeyiyle belirlediğimiz istatistiksel anlamlılıktan ($\\alpha = 1 - 0.90 = 0.1$) küçük çıkarsa ($p < \\alpha$) $H_0$'ı reddederiz. Aksi halde $H_0$'ı reddedemeyiz.\n", "\n", "`scipy.stats.chi2.cdf()` fonksiyonu bize $\\nu = 8$ için $\\chi^2$'in 4.28'den küçük olma olasılığını verecektir. Eğer bunun yerine $\\chi^2$ ile karşılaştırmak istediğimiz p-değerini elde etmek istiyorsak ($P)\\chi^2 > 4.28~|~H_0$) bu durumda `scipy.stats.chi2.sf()` fonksiyonu kullanılmalıdır. " ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "8 serbestlik derecesi icin P(chi^2 > 4.28) = 0.8310\n" ] } ], "source": [ "olasilik = st.chi2.sf(chi2, df=dof)\n", "print(\"{:d} serbestlik derecesi icin P(chi^2 > {:.2f}) = {:.4f}\".\\\n", " format(dof, chi2, olasilik))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sonuç olarak $\\chi^2 > 4.28$ olma olasılığnı %83.1 olarak bulmuş olduk. $p = 0.831$ olan bu değeri $\\alpha = 0.10$ ile karşılaştırdığımızda $p > \\alpha$ olduğunu görüyoruz. Bu durum $H_0$'ı reddetmememizi gerektirir (tablo çözümüyle aynı sonuca ulaştık)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "p-değeri ($p = 0.831$) bize lineer model doğruysa ($H_0$) elde edilen $\\chi^2 = 4.28$) değerinden daha büyük bir $\\chi^2$ değeri verebilecek bir veri setini şans eseri türetme olasılığını verir.\n", "\n", "Peki bu bulduğumuz olasılık değeri (p = %83.10) ne anlama gelmektedir?\n", "\n", "* Belirlenen parametreleriyle bu lineer modelin doğru olması durumunda modelden en az bu kadar artık verebilecek (modelden en az bu kadar uzakta) bir gözlemsel (deneysel) veri seti elde etme (ölçme) olasılığımız %83.10'dur!\n", "\n", "* Bir başka deyişle, lineer modelin doğru olması durumunda bu modelden en fazla bu kadar artık verebilecek bir veri setini tamamen şans eseri üretme olasılığı %16.90'dır.\n", "\n", "Diğer taraftan bulduğumuz bu p-değeri şu anlamlara gelmez:\n", "\n", "* Lineer modelin doğru olma olasılığı %83.1'dir!\n", "* Lineer modelin yanlış olma olasılığı %16.9'dur!\n", "* Lineer modeli rededersek %16.9 ihtimalle yanılıyoruz demektir!\n", "\n", "Zira $\\chi^2$ testi aslında hiçbir modelin ne kadar olası olduğunu söylemez! Verilen güven düzeyinde ilgili modelle gözlenen artıklar kadar artık verebilecek bir veri setinin elde edilme olasılığını söyler!\n", "\n", "Örneğimizde lineer modelin çok başarılı olmadığı da ayrıca görülmektedir. Yukarıda kendi fonksiyonumuzu yazarak elde ettiğimiz bu istatistiki parametreleri `LMFIT` paketi fonksiyonlarıyla da elde edebiliriz. Bunun için öncelikle doğru modelinin parametrelerini tanımlamamız gerekir." ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['egim', 'kesme']\n", "['x']\n" ] } ], "source": [ "import lmfit as lm\n", "dogru = lambda x,egim,kesme : egim*x + kesme\n", "dogru_modeli = lm.Model(dogru)\n", "print(dogru_modeli.param_names)\n", "print(dogru_modeli.independent_vars)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Daha sonra uyumlama için makul birer başlangıç değeri vermemiz gerekir. Bu değerleri verinin basit bir grafiğinden kabaca belirleyebiliriz. Ayrıca `weights` parametresini kullanarak ölçüm hatalarına göre bir ağırlıklandırma da sağlayabiliriz." ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[Model]]\n", " Model()\n", "[[Fit Statistics]]\n", " # fitting method = leastsq\n", " # function evals = 6\n", " # data points = 10\n", " # variables = 2\n", " chi-square = 4.28066909\n", " reduced chi-square = 0.53508364\n", " Akaike info crit = -4.48475766\n", " Bayesian info crit = -3.87958747\n", "[[Variables]]\n", " egim: 0.16218182 +/- 0.04026743 (24.83%) (init = 0.25)\n", " kesme: 0.84109091 +/- 0.23219330 (27.61%) (init = 1)\n", "[[Correlations]] (unreported correlations are < 0.100)\n", " C(egim, kesme) = -0.867\n" ] } ], "source": [ "sonuc = dogru_modeli.fit(y, x=x, egim=0.25, kesme=1.00, weights=1/yhata)\n", "print(sonuc.fit_report())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Gördüğünüz gibi $\\chi^2$ ve $\\chi^2_{\\nu}$ değerleri bizim basit $kikare$ fonksiyonumuzla hesapladıklarımızla aynıdır. $\\chi^2 = 4.28$ değerini ve $dof = 10 - 2 = 8$ değerini `scipy.stats.chi2` fonksiyonlarında kullanarak bir $\\chi^2$ testi yapabileceğimiz gibi $\\chi^2_{\\nu} \\sim 0.54 < 1$ değerinden hareketle uyumlamanın çok başarısız olmamakla birlikte gözlemsel verideki hataların (ya da saçılmanın) modelin başarımınını etkileyecek düzeyde büyük olduğu sonucuna varabiliriz." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# F Dağılımı ve F Testi #\n", "\n", "F-Testi, bir gözlem verisine yapılan iki farklı model uyumlamasının karşılaştırılıp hangisinin istatistiksel olarak daha başarılı bir uyumlama olduğunun belirlenmesi için kullanılan sınamalardan birisidir.\n", "\n", "$F$ adı, varyans analizinin temellerini atan istatistikçi ve biyolog Ronald A. Fisher’a ithafen verilmiştir. Model seçimi için yapılan F-testinde takip edilmesi gereken temel adımları şöyledir:\n", "\n", "1. Öncelikle bir sıfır hipotezi ($H_0$) belirlenir. $H_0$, genellikle aralarında karşılaştırma yapılan iki varyansın (modelden ya da ortalamadan fark kareler toplamının serbestlik derecesine bölümü) eşit olduğunu ifade eder ($F = s_{1} / s_{2} = 1$). Alternatif hipotez ($H_1$) ise bunun tam tersidir. \n", "\n", "2. Karşılaştırılması istenen iki uyumlamanın artık kareler toplamı (ing. residual sum of squares, $S_r$) hesaplanır.\n", "\n", "3. Rakip uyumlamalar için serbestlik dereceleri hesaplanır.\n", "\n", "4. İstatistiksel anlamlılık derecesi $\\alpha$ belirlenir.\n", "\n", "5. $F$ değeri hesaplanır.\n", "\n", "6. $F$ ile $\\alpha$ karşılaştırılır ve $H_0$ bağlamında yorumlanır.\n", "\n", "\n", "$F$-değeri aşağıdaki şekilde hesap edilir. Burada $S_{r_i}$, i. uyumlamadan (modelden) artık kareler toplamını; $m_i$, i. modelde kullanılan parametre sayısını, $n$ ise gözlemsel veri sayısını göstermektedir.\n", "\n", "$$ F = \\frac{(\\frac{S_{r_1} - S_{r_2}}{m_2 - m_1})}{(\\frac{S_{r_2}}{n - m_2})} $$\n", "\n", "Eğer modellerin parametre sayıları aynı ($m_1 = m_2$) ise F değeri aşağıdaki şekilde hesaplanabilir.\n", "\n", "$$ F = \\frac{S_{r_1}}{S_{r_2}} $$\n", "\n", "Artık kareler toplamlarının serbestlik derecelerine oranı bir $\\chi^2$-dağılımı, $\\chi^2$-dağılımlarının oranları ise bir F-dağılımı verir.\n", "\n", "Böylece hesaplanan F değeri, bir F dağılımı üzerinde istatiksel anlamlılık derecesi ($\\alpha$) ile ifade edilen kritik bir olasılık değeri ile karşılaştırılabilir bir değer olur.\n", "\n", "F-testi için, karşılaştırılan artık ya da varyansların normal dağıldığı ve örneklemlerin birbirlerinden bağımsız olduğu varsayılır.\n", "\n", "
\n", " \"F\n", "
\n", "\n", "F dağılımı, bir olayın modellenmesinde kullanılan rakip modelin hangi güvenilirlik aralığı limitleri dahilinde birbirleri ile aynı başarımda olduğunun hesaplanmasında kullanılabilidiği gibi iki dağılımın karşılaştırılması temelindeki F-testinde, yani aynı ana dağılımdan seçilen iki örnek dağılımın standart sapmalarının belirli bir güven aralığı dahilinde karşılaştırılmasında da kullanılır. Bu testlerde kullanılan F-test istatistikleri F-dağılımına sahiptir. $U_i$ değerleri birer $\\chi^2$-dağılımı ve $df_i$ değeleri bu dağılımların serbestlik dereceleri, $s_i^2$ değerleri bir modelden ya da ortalamadan fark kare toplam değerlerinin serbestlik derecesine bölümü, $\\sigma_i^2$ ise ilgili normal süreçlerin standart sapmalarıd olmak üzere u test istatistikleri;\n", "\n", "$$ X = \\frac{U_1 / df_1}{U_2 / df_2} $$\n", "\n", "$$ X = \\frac{s_1^2 / \\sigma_1^2}{s_2^2 / \\sigma_2^2} $$\n", "\n", "$$ s_1^2 = \\frac{s_1^2}{df_1}, s_2^2 = \\frac{s_2^2}{df_2} $$\n", "\n", "$$ F(x; df_1, df_2) = \\frac{\\sqrt{\\frac{(df_1~x)^{df_2}~df_2^{df_2}}{(df_1~x + df_2)^{df_1 + df_2}}}}{x~B(\\frac{df_1}{2},\\frac{df_2}{2})} = \\frac{1}{B(\\frac{df_1}{2},\\frac{df_2}{2})} (\\frac{df_1}{df_2})^{\\frac{df_1}{2}} x^{\\frac{df_1}{2}-1}(1 + \\frac{df_1}{df_2}~x)^{-\\frac{df_1 + df_2}{2}}$$\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Örnek 1: F Testi ##\n", "\n", "Varyansları $s_1 = 109.63$ ve $s_2 = 65.99$, örnek sayıları sırasıyla $n_1 = 41$ ve $n_2 = 21$ olan iki örneklem olsun. Bu iki varyansın $\\alpha = 0.05$ güvenilirlik seviyesinde eşit olup olmadığını test etmek istiyor olalım.\n", "\n", "* Sıfır hipotezi ($H_0$): Bu iki varyans arasında fark yoktur ($s_1 = s_2$).\n", "* Alternatif hipotez ($H_1$) ise bu iki varyans eşit değildir ($s_1 \\neq s_2$).\n", "\n", "Çözüm : Bu örnek için F-istatistiği \n", "\n", "$$ F = \\frac{s_1}{s_2} = \\frac{109.63}{65.99} = 1.66 $$ \n", "\n", "şeklinde hesaplanır. Daha büyük olan varyansın bölünen, küçük olanın bölen olarak alındığına dikkat ediniz!\n", "\n", "Yine bu örnek için serbestlik dereceleri $df_1 = n_1 – 1 = 40$, $df_2 = n_2 – 1 = 20$ ‘dir.\n", "\n", "Bir sonraki adım F-tablolarından verilen güvenilirlik seviyesi $\\alpha = 0.05$ iki taraflı bir test için ikiye bölünerek $\\alpha / 2 = 0.025$ olanı seçilir. Zira burada bir varyansın diğerinden büyük (ya da küçük) olup olmaması değil, ikisinin eşit olup olmadığı test edilmektedir. Daha sonra $df_1 = 40$, $df_2 = 20$ serbestlik derecesi için verilen F-istatistiği değerine bakılır ($F = 2.287$). Biz bu değeri yine Python'da `scipy.stats.f` fonksiyonlarından `ppf()` fonksiyonunu kullanarak elde edebiliriz. Dikkat etmemiz gereken konu `ppf()` fonksiyonunun istatistiksel anlamlık ($\\alpha$) yerine onun 1'den farkı olan güven düzeyini ($1 - \\alpha$) argüman olarak aldığıdır. Fonksiyonun diğer parametreleri serbestlik dereceleridir ($df_1$ ve $df_2$)." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Hesaplanan F-degeri = 1.661\n", "F-degeri = 2.287\n" ] } ], "source": [ "from scipy import stats as st\n", "alpha = 0.025\n", "n1 = 41; n2 = 21\n", "df1 = n1 - 1; df2 = n2 - 1\n", "s1 = 109.63; s2= 65.99\n", "F_hesap = s1 / s2\n", "F_degeri = st.f.ppf(1-alpha, df1, df2)\n", "print(\"Hesaplanan F-degeri = {:.3f}\".format(F_hesap))\n", "print(\"F-degeri = {:.3f}\".format(F_degeri))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Bu değer hesaplanan $F = 1.66$ ile karşılaştırılır. Değer F-tablosunda $2.287$ olarak verilen değerden daha küçük ($F_{hesap} < F_{tablo}$) olduğundan $H_0$ hipotezi reddedilemez. Açık ki bu iki varyans eşit değildir. Ancak örneklem büyüklüklerine (ing. sample sizes) bakıldığında verilen güven düzeyinde bunların birbirinden farklı olarak değerlendiriilmesi için sebep yoktur. " ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.11218842540632593" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p_degeri = st.f.sf(F_hesap,df1,df2)\n", "p_degeri" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Örnek 2: Model Karşılaştırması İçin F Testi ##\n", "\n", "Aşağıdaki tabloda birinci sütundaki zaman değerlerine karşılık ikinci sütunda bir niceliğin ölçüm değerleri görülmektedir.\n", "\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
$t_i$ $y_i$
2.510.07
2.811.07
5.414.59
6.520.75
9.227.94
9.531.50
11.038.04
13.349.90
14.660.72
16.475.57
\n", "\n", "Bu veri setini biri üstel ($y = A~e^{\\alpha~t}$), diğeri kuvvet yasasına uyan $y = B~t^{\\beta}$ iki ayrı modelle modelleyelim. Bu modellerden hangisinin veriyi daha iyi temsil edebildiğini doğrudan uyumlama eğrilerinden ya da artıklardan anlamamız her zaman mümkün olmaz. Uyumlamanın iyiliğini ölçebilecek istatistiksel yöntemlerin bazıları anlamlı bir seçim yapmaya yeterli olmayabilir. Örneğin en küçük kareler yöntemi ile bu veri setine yapılacak iki uyumlama için lineer korelasyon katsayılarını elde edelim.\n", "\n", "Uyumlamak istediğimiz her iki fonksiyon da parametreleri bağlamında lineerleştirilebilir olduğu için lineer en küçük kareler yöntemlerini kullanabiliriz. Öncelikle fonksiyonları doğrusal hale getirelim.\n", "\n", "$$ y_1 = A~e^{\\alpha~t} \\Rightarrow ln(y_1) = ln(A) + \\alpha~t $$\n", "$$ y_2 = B~t^{\\beta} \\Rightarrow ln(y_2) = ln(B) + \\beta~ln(t) $$\n", "\n", "Yukarıdaki fonksiyonları veriye uyumlamak için basit olması açısından `numpy.polyfit()` fonksiyonunu `deg = 1` parametresiyle doğrusal bir model yapmak için kullanabiliriz. Ancak veri setimizi yukarıdaki lineerleştirmeye uygun olacak şekilde düzenlemeliyiz." ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "y1 = 7.33 e^(0.15t)\n", "y2 = 3.32 t^1.04\n" ] } ], "source": [ "import numpy as np\n", "t = np.array([2.5, 2.8, 5.4, 6.5, 9.2, 9.5, 11.0, 13.3, 14.6, 16.4])\n", "y = np.array([10.07,11.07,14.59,20.70,27.94,31.50,38.04,49.90,60.72,75.57])\n", "lnt = np.log(t)\n", "lny = np.log(y)\n", "ks_y1 = np.polyfit(t,lny,deg=1)\n", "ks_y2 = np.polyfit(lnt,lny,deg=1)\n", "# Katsayilari donusturmeliyiz\n", "A = np.exp(ks_y1[1])\n", "alpha = ks_y1[0]\n", "B = np.exp(ks_y2[1])\n", "beta = ks_y2[0]\n", "# Fit fonksiyonlarini ekrana yazdiralim\n", "print(\"y1 = {:.2f} e^({:.2f}t)\".format(A,alpha))\n", "print(\"y2 = {:.2f} t^{:.2f}\".format(B,beta))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Fit fonksiyonlarını elde ettikten sonra bunları verimiz üzerine çizdirelim." ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from matplotlib import pyplot as plt\n", "%matplotlib inline\n", "# Fit fonksiyonlarini biraz fazla nokta\n", "# kullanarak cizdirelim\n", "tyeni = np.linspace(t[0],t[-1])\n", "y1 = A*np.exp(alpha*tyeni)\n", "y2 = B*tyeni**(beta)\n", "plt.plot(t,y,'ro',label=\"veri\")\n", "plt.plot(tyeni,y1,'b-',label=\"Ustel model\")\n", "plt.plot(tyeni,y2,'g-',label=\"Kuvvet yasasi\")\n", "plt.xlabel(\"t\")\n", "plt.ylabel(\"y\")\n", "plt.legend(loc=\"upper left\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Her ne kadar üstel model (mavi sürekli eğri) veriyi daha iyi temsil ediyor görünse de bir istatistik kullanmamızda fayda var. Örneğin lineer korelasyon katsayısını bu amaçla kullanabiliriz. Ders 4. Eğri Uyumlama dersinde yazdığımız korelasyon katsayısı fonksiyonunu bu amaçla kullanabiliriz. Yalnız fonksiyonu daha sonra yapacağımız F-testinde kullanmak üzere artıkları da döndürecek şekilde değiştirelim." ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Ustel model icin lineer korelasyon katsayisi r^2 = 0.993\n", "Kuvvet yasasi icin lineer korelasyon katsayisi r^2 = 0.919\n" ] } ], "source": [ "import numpy as np\n", "def linkor_katsayi(x,y,ymod):\n", " n = y.shape\n", " St = np.sum((y - y.mean())**2)\n", " Sr = np.sum((y - ymod)**2)\n", " r2 = np.abs((St - Sr) / St)\n", " return(r2,Sr)\n", "# Gozlemsel zaman degerleri icin modeller ne ongoruyor?\n", "ymod1 = A*np.exp(alpha*t)\n", "ymod2 = B*t**(beta)\n", "r2_ustel,Sr_ustel = linkor_katsayi(t,y,ymod1)\n", "r2_kuvvet,Sr_kuvvet = linkor_katsayi(t,y,ymod2)\n", "print(\"Ustel model icin lineer korelasyon katsayisi r^2 = {:.3f}\".format(r2_ustel))\n", "print(\"Kuvvet yasasi icin lineer korelasyon katsayisi r^2 = {:.3f}\".format(r2_kuvvet))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Görüldüğü gibi üstel model gerçekten de $1$'e daha yakın bir lineer korelasyon katsayısı vermiştir. Yine de bu modelleri karşılaştırmak için bir de F-testine başvuralım. Çünkü lineer korelasyon katsayıları birbirine yakındır. Bunun için yine bir hipotez testi yapacağız. Bu amaçla sıfır ve alternatif hipotezlerimizi probleme uyun şekilde oluşturalım.\n", "\n", "* Sıfır hipotezi ($H_0$): \"1. model (üstel), istatistiksel olarak 2. modele (kuvvet yasası) göre daha iyi bir uyumlamadır\".\n", "* Alternatif hipotez ($H_1$): \"1. model 2. modele göre istatistiksel olarak daha iyi bir uyumlama değildir” \n", "\n", "Bu örnek için F-istatistiğini 1. modelden artıkları bölen, 2. modelden artıkları bölünen olarak almak suretiyle hesaplayalım. Test ettiğimiz sıfır hipotezi ($H_0$) 1. model daha iyi bir uyumlamadır şeklinde ifade edildiğine göre ondan artıkların daha küçük olmasını bekleriz. Dolayısı ile artıkları büyük olan 2. modeli bölümün üstüne almamız gerekir." ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Hesaplanan F-degeri = 0.089\n" ] } ], "source": [ "F_hesap = Sr_ustel/ Sr_kuvvet\n", "print(\"Hesaplanan F-degeri = {:.3f}\".format(F_hesap))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Yine bu örnek için her iki model de ikişer parametre ($(A,\\alpha)$, $(B,\\beta)$) ve aynı sayıda ölçüm ($n = 10$) içerdiğinden serbestlik dereceleri $df_1 = df_2 = n – 2 = 8$'dir.\n", "\n", "Bir sonraki adım F-tablolarından verilen istatistik anlam seviyesi için, önreğin $\\alpha = 0.01$ tek taraflı bir test için olanının seçilerek (çünkü biz bu iki modelden artıklar arasında büyük bir fark olup olmamasını değil, seçilimiş bir modelin diğerinden daha iyi olup olmadığını sorguluyoruz) $df_1 = df_2 = 8$ serbestlik derecesi için verilen F-istatistiğine bakmaktır. Daha önce yaptığımız gibi bunun için `scipy.stats.f.ppf()` fonksiyonunu kullanacağız." ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tablodan elde edilen F-degeri: 6.029\n" ] } ], "source": [ "from scipy import stats as st\n", "n = 10\n", "df1 = df2 = n-2\n", "alfa = 0.01\n", "F_degeri = st.f.ppf(1-alfa, df1, df2)\n", "print(\"Tablodan elde edilen F-degeri: {:.3f}\".format(F_degeri))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Bu durumda $F_{hesap} = 0.089 < F_{tablo} = 6.029$ olduğundan $H_0$ hipotezi reddedilemez. %99 güven düzeyinde üstel modelin, kuvvet yasasıyla verilen modele üstün olduğu görülmektedir. Güven düzeyi %90’a ($\\alpha = 0.10$) düşürülse dahi ($F = 2.5893$) $H_0$ reddedilemez.\n", "\n", "Şimdi sıfır hipotezini ($H_0$): \"2. model (kuvvet yasası), 1. modele (üstel) göre istatistiksel olarak daha iyi bir uyumlamadır\", alternatif hipotezi ($H_1$) ise \"2. model 1. modele göre istatistiksel olarak daha iyi bir uyumlama değildir\" şekilnde değiştirelim ve sonuçta bir değişiklik olup olmayacağına bakalım.\n", "\n", "Bunun için öncelikle F-istatistiğini fark kareler toplamının bölümde yerini değiştirerek hesaplayalım." ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Hesaplanan F-degeri = 11.212\n" ] } ], "source": [ "F_hesap = Sr_kuvvet / Sr_ustel\n", "print(\"Hesaplanan F-degeri = {:.3f}\".format(F_hesap))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Yine aynı şekilde her iki model de ikişer parametre ($(A,\\alpha)$, $(B,\\beta)$) ve aynı sayıda ölçüm ($n = 10$) içerdiğinden serbestlik dereceleri $df_1 = df_2 = n – 2 = 8$'dir. Bu serbestlik derecesi için verilen F-istatistiğini `scipy.stats.f.ppf()` fonksiyonunu kullanarak hesaplamıştık. $F_{hesap} = 11.212 > F_{tablo} = 6.029$ olduğundan $H_0$ bu kez reddedilir. Ancak bu kez reddedilen sıfır hipotezi kuvvet yasasının üstel modele göre veriye daha uygun olduğunu ifade etmektedir. Bu durum alternatif hipotez için, yani kuvvet yasasının üstel modele göre veriye daha uygun olmadığına yönelik görüşe kanıt teşkil eder. Her iki test de elimizdeki veriyi uyumlamada bize üstel modelin kuvvet yasasına üstün olduğu konusunda kanıt sağlamaktadır." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Varyans Analizi ANOVA #\n", "\n", "Varyans analizi (ing. Analysis of Variance, ANOVA) ikiden fazla örneklem söz konusu olduğunda bu örneklemlerlin ortalamaları arasında istatistiksel olarak anlamlı bir farkın olup olmadığını belirlemek için yapılır. Sadece iki grup söz konusu olduğunda genellikle t-testi kullanılır ve ANOVA ile aynı sonucu verir. Grupların ortalamları karşılaştırılırken eşit olup olmadıklarına karar vermek için doğal olarak varyanslarına ve grup büyüklüklerine bakılmalıdır. \n", "\n", "Bir varyans analizi (ANOVA) yaparken aşağıdaki varsayımlar yapılır.\n", "\n", "* Örnek gruplar normal dağılım göstermektedir.\n", "* Gözlemlere ilişkin hatalar birbirlerinden bağımsızdır.\n", "* Aykırı gözlemler bulunmamaktadır ya da ayıklanmıştır.\n", "* Farklı örnek gruplarda, her bağımsız değişkene ilişkin varyans değerleri eşittir.\n", "\n", "Varyans analizi de bir hipotez testine dayanır. ANOVA’nın sıfır hipotezi, tüm örnek grupların ortalama değerlerinin birbirlerine eşit olduğudur. Alternatif hipotez ise, \"örnek grupların ortalama değerleri birbirlerine eşit değildir\" şeklinde ifade edilir.\n", "\n", "Test edilen olguya ilişkin ortalama değeri değiştirebilecek tek bir etkinin (faktörün) bulunması durumunda ana etken (ing. main effect) test edilmiş olur (ing. Factorial Analysis of Variance).\n", "\n", "Deneysel araştırma alanlarında (örn. biyoloji, tıp, kimya) kullanılabildiği gibi, deneysel olmayan araştırma alanlarında (örn. astronomi) de kullanılabilmektedir ancak pek yaygın değildir. Deneysel araştırmalara örnek olarak; bir ilacın farklı dozajlarının sonuç etkide değişime sebep olup olmadığı testi bir varyans analizi ile yapılabilir. Böyle bir testte, tek bir değişken (dozaj) bulunduğundan bu teste tek yönlü ANOVA (ing. one way ANOVA) denir. Eğer bu deneyde farklı dozajların farklı cinsiyetlere etkileri ve cinsiyetler arası bir farklılığın olup olmadığı test edilmek istenirse iki değişken olması sebebiyle (dozaj ve cinsiyet) bu teste iki yönlü ANOVA (ing. two way ANOVA) denir.\n", "\n", "Varyans analizinde diğer hipotez testlerine benzer olan aşağıdaki şematik yol takip edilir:\n", "\n", "* Sıfır ve alternatif hipotezler belirlenir,\n", "* Kritik olasılık değeri ($\\alpha$) tanımlanır,\n", "* Test istatistiği değeri belirlenir,\n", "* Test istatistiiğinin istatistiksel olarak anlamlı olup olmadığı saptanır,\n", "* Kritik değerler karşılaştırma sonucu $H_0$ bağlamında yorumlanır." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Örnek Varyans Analizi ##\n", "\n", "4 farklı yıldız kümesi çalışıyor olalım. Sadece az sayıda yıldızının yaşını belrileyebildğimiz bu kümelerin aynı yaşta olup olmadığını anlamaya çalışyoruz. Kümelerin dönme noktasını sadece 5 yıldızdan belirleyemeyeceğimiz için yapabileceğimiz en iyi şey her bir kümedeki yıldızların yaşları ortalamasının belirli bir istatistik anlamlılık seviyesinde birbirleriyle eşit olup olmadığını sorgulamaktır. Birden fazla grubu birbirleriyle tek bir değişken (yaş) çerçevesinde karşılaştıracağımız için bu bir varyans analizi problemidir ve ANOVA tabloları adı verilen tablolarla çözümü kolaylaşırılabilir.\n", "\n", "Öncelikle verimize bakalım.\n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Küme 1 [Gyr] Küme 2 [Gyr] Küme 3 [Gyr] Küme 4 [Gyr]
6.82.43.22.9
5.54.35.42.8
6.23.54.11.7
7.65.12.01.9
3.11.03.03.2
\n", "\n", "Çözüm: Öncelikle sıfır ve alternatif hipotezleri tanımlayalım.\n", "\n", "* $H_0: \\mu_1 = \\mu_2 = \\mu_3 = \\mu_4$\n", "* $H_1:$ Ortalamalar eşit değildir!\n", "\n", "Öncelikle Python'ın sadece temel fonksiyonlarını hesaplamalar için kullanarak bir varyans analizi yaparak $H_O$ hipotezini test edelim. Bunun için öncelikle kümeleri birer `numpy` dizisi olarak tanımlayalım." ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "kume1 = np.array([6.8,5.5,6.2,7.6,3.1])\n", "kume2 = np.array([2.4,4.3,3.5,5.1,1.0])\n", "kume3 = np.array([3.2,5.4,4.1,2.0,3.0])\n", "kume4 = np.array([2.9,2.8,1.7,1.9,3.2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Şimdi serbestlik derecelerini (grup sayıları $k = 4$, toplam örnek sayısı $N = 20$ olmak üzere) hesaplayalım." ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Birinci serbestlik derecesi: 3, ikinci serbestlik derecesi: 16\n" ] } ], "source": [ "k = 4\n", "n = 5\n", "N = n*k\n", "df1 = k - 1\n", "df2 = N - k\n", "print(\"Birinci serbestlik derecesi: {:d}, ikinci serbestlik derecesi: {:d}\".\\\n", " format(df1,df2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Şimdi bir istatistiki anlam seviyesi tanımlayalım. %95 güven düzeyi ($\\sim2\\sigma$) için istatistiki anlamlılık seviyesi $\\alpha = 0.05$ seçilmiş olsun. Her ne kadar $\\alpha = 0.05$ için aşağıdaki gibi verilen F-tablosunu kullanabilirsek de biz `scipy.stats.f` alt modülü fonksiyonlarını kullanarak F-değerini hesaplayalım. \n", "\n", "\"F-tablosu\"\n", "\n", "Bu değeri (tüm diğer istatistiklerin kritik değerleri gibi) `ppf()` (point percent function) fonksiyonuyla hesaplayabileceğimizi ve bu fonksiyona kritik değerin sol tarafındaki alanı verecek olan $\\alpha$ yerine sağ tarafındaki alanı verecek olan $1 - \\alpha$ değerini vermemiz gerektiğini biliyoruz." ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "alpha = 0.05, df1 = 3, df2 = 16 icin F-kritik = 3.24\n" ] } ], "source": [ "from scipy import stats as s\n", "alpha = 0.05\n", "F_kritik = st.f.ppf(1-alpha, df1, df2)\n", "print(\"alpha = {:.2f}, df1 = {:d}, df2 = {:d} icin F-kritik = {:.2f}\".\\\n", " format(alpha,df1,df2,F_kritik))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Kritik değeri $F_kritik = 3.24$ bulduğumuza göre şimdi veriden F-değerini hesaplayıp bu değerle karşılaştırmalıyız. Bunun için bize grupların ortalamasıyla, bütün verinin ortalaması gerekir. Öncelikle her bir kümedeki yıldızların yaşlarının kümenin ortalamasından farklarının karelerini toplayarak SSE değerini aşağıdaki şekilde edelim.\n", "\n", "$$ SSE_i = \\sum_{j=1}^n (x_j - \\bar{x_i})^2 $$\n", "$$ SSE = \\sum_{i=1}^k \\sum_{j=1}^n (x_j - \\bar{x_i})^2 $$" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SSE = 30.44\n" ] } ], "source": [ "SSE_1 = np.sum((kume1 - kume1.mean())**2)\n", "SSE_2 = np.sum((kume2 - kume2.mean())**2)\n", "SSE_3 = np.sum((kume3 - kume3.mean())**2)\n", "SSE_4 = np.sum((kume4 - kume4.mean())**2)\n", "SSE = SSE_1 + SSE_2 + SSE_3 + SSE_4\n", "print(\"SSE = {:.2f}\".format(SSE))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Şimdi F-değerini hesaplamakta kullanacağımız ve grup ortalamlarının genel ortalamadan uzaklığını veren $SSB$ değerini aşağıdaki şekilde hesaplayalım.\n", "\n", "$$ SSB = \\sum_{i=1}^{k} n_i~(\\bar{x_i} - \\bar{x})^2 $$" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SSB = 31.05\n" ] } ], "source": [ "yildizlar = np.concatenate((kume1,kume2,kume3,kume4))\n", "yildizlar_ort = yildizlar.mean()\n", "SSB = len(kume1)*(yildizlar_ort - kume1.mean())**2 + len(kume2)*(yildizlar_ort - kume2.mean())**2 + \\\n", "len(kume3)*(yildizlar_ort - kume3.mean())**2 + len(kume4)*(yildizlar_ort - kume4.mean())**2\n", "print(\"SSB = {:.2f}\".format(SSB))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Görüldüğü gibi SSE aslında her bir yıldızın kendi grubunun ortalamasından sapmaları üzerinden hesaplanan grup içi varyansı, SSB ise her bir grubun ortalamasının genel ortalamadan farkına dayanan gruplar arası varyansı verdiği için aşağıdaki şekilde tanımlanan F-değeri, özünde grup-içi varyansın gruplar-arası varyansa oranıdır.\n", "\n", "$$ s_1 = \\frac{SSB}{df1} $$\n", "$$ s_2 = \\frac{SSE}{df2} $$\n", "$$ F = \\frac{s_1}{s_2} $$\n", "\n", "ANOVA analizlerinde genellikle aşağıdaki gibi bir tablo hazırlanır ve hesaplarda bu tablodan yararlanılır.\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Fark Kareler Serbestlik Dereceleri Ortalama Fark Kareler F
Kümeler ArasıSSB = 31.05$df_1$ = 4 - 1 = 3SSB / $df_1$ = 10.3510.35 / 1.66 = 5.44
Küme İçiSSE = 30.44$df_2$ = 20 - 4 = 16SSE / $df_2$ = 1.66
ToplamSSB + SSE = 61.49$df_1 + df_2$ = 19
" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Hesaplanan F-degeri = 5.44\n" ] } ], "source": [ "s_1 = SSB / df1\n", "s_2 = SSE / df2\n", "F_hesaplanan = s_1 / s_2\n", "print(\"Hesaplanan F-degeri = {:.2f}\".format(F_hesaplanan))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sonuç olarak elde edilen $F_{hesaplanan} = 5.44$, serbestlik derecelerine ve istatistiki anlam seviyesine karşılık tablolardan elde edilen $F_{kritik} = 3.24$ değeri ile karşılaştırıldığında ondan büyük olduğu görülür ($F_{hesaplanan} > F_{kritik}$). Bu nedenle sıfır hipotezi ($H_0$) reddedilir. Bu durumda incelenen kümelerdeki yıldızların ortalama yaşları arasında bir fark olduğu yönünde $\\alpha = 0.05$ anlamlılık seviyesinde bir fark olduğuna dair istatistiki bir kanıt elde edilmiş olunur.\n", "\n", "Seçilen istattistiki anlamlılık $\\alpha = 0.001$ olsaydı, " ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "alpha = 0.00, df1 = 3, df2 = 16 icin F-kritik = 9.01\n" ] } ], "source": [ "from scipy import stats as s\n", "alpha = 0.001\n", "F_kritik = st.f.ppf(1-alpha, df1, df2)\n", "print(\"alpha = {:.2f}, df1 = {:d}, df2 = {:d} icin F-kritik = {:.2f}\".\\\n", " format(alpha,df1,df2,F_kritik))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$F_{kritik} = 9.01$ olur, bu durumda da $F_{hesaplanan} = 5.44 < F_{kritik}$ olacağından sıfır hipotezi ($H_0$) reddedilemezdi. Bir başka deyişle, bu düzeyde bu kümelerin yaşlarının farklı olduğu iddia edilemez, bu durum incelenen kümelerin yaşlarının eşit olduğuna bir kanıt teşkil ederdi.\n", "\n", "Alternatif Çözüm: `scipy.stats.f_oneway()` fonksiyonu bir yönlü ANOVA analizi yapılmasına olanak sağlayan fonksiyonlara sahiptir. Çözümümüzü bu kez bu fonksiyonları kullanarak yapalım." ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "F_onewayResult(statistic=5.440837604591055, pvalue=0.008998274604144726)\n" ] } ], "source": [ "from scipy import stats as st\n", "print(st.f_oneway(kume1, kume2, kume3, kume4))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Görüldüğü gibi `f_oneway()` sadece kritik F-değerini değil aynı zamanda daha önce de ne kadar kullanışılı olduğunu gördüğümüz Pearson p-değerini de vermektedir. Bu p-değerini kolaylıkla seçeceğiniz istatistiki anlamlılık seviyesiyle ($\\alpha$) karşılaştırarak F-testi uyguylayabilirsiniz. Örneğin $\\alpha = 0.01$ için $p < \\alpha$ olacağı için kümelerin ortalamasının eşit olduğunu öne süre $H_0$ hipotezinin reddedilmesi gerekirken $\\alpha = 0.001$ için $p > \\alpha$ olduğundan $H_0$ reddedilemez. p-değeri yalnız başına da bir anlam taşır ve verdiği mesaj; bu kümelerin yaşlarının eşit olduğu hipotezinin en az $\\sim0.009$’luk bir istatistik anlamlılık seviyesinde iddia edilebileceğidir. Bundan daha büyük istatistiki anlamlılık seviyelerinin tümünde $H_0$ reddedilir. Sonuç olarak bu kümelerin yaşlarının eşit kabul edilmesi ($H_0$) durumunda elimizdeki veri setinin örneklem hatasıyla şans eseri türemiş olma olasılığı %0.9'dur. Bu oran seçtiğimiz istatistik anlam seviyesinin $\\alpha = 0.01$ olması durumunda $H_0$'ı reddetmememiz için yeterli değildir. \n", "\n", "p-değerini `scipy.stats.f.sf` (ing. survival function) ile de hesaplayabilirdik." ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "F = 5.44 degerine karsilik gelen p-degeri = 0.008998\n" ] } ], "source": [ "from scipy import stats as st\n", "p_degeri = st.f.sf(F_hesaplanan,df1,df2)\n", "print(\"F = {:.2f} degerine karsilik gelen p-degeri = {:.6f}\".\\\n", " format(F_hesaplanan, p_degeri))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Akaike Bilgi Kriteri #\n", "\n", "Akaike Bilgi Kriteri (ing. Akaika Information Criterion,AIC), bir modelin başarısını veren ölçütlerden biridir. Doğrudan bir modelin başarısını verebildiği gibi, farklı modellerin karşılaştırılabilmesinde de olanak sağlar. Bir sıfır hipotezinin testine dayanan bir değerlendirme yapılmadığı için bir modelin doğruluğunun hangi istatistiksel anlamlılık seviyesinde reddedilip edilmeyeceğiyle ilgili bir bilgi vermez. Dolayısıyla ilgilenilen modellerin tamamının veriye uyum sağlayıp sağlamamalarının bir göstergesi olmayıp, sadece bir karşılaştırmalarıdır. \n", "\n", "Akaike Bilgi Kriteri (AIC) aşağıdaki şekilde tanımlanır ve $AIC$ değeri küçük olan modelin başarısı daha yüksektir.\n", "\n", "$$ AIC = 2~k - 2~ln(\\hat{L}) $$\n", "\n", "Burada $k$, modelde kullanılan parametrelerin sayısıdır. $\\hat{L}$ ise modelin doğruluğu durumunda gözlem verisinin olabilirlik fonksiyonudur (ing. likelihood function).\n", "\n", "Olabilirlik fonksiyonu, bir modelin önerdiği olasılık dağılımına göre tüm verilerin bu model ile oluşabilme olasılıklarının çarpımıdır. $AIC$ ya da bir çok hesapta olabilirlik fonksiyonunun kendisi kullanılabildiği gibi, kolay hesaplanabilirliği sebebiyle logaritması da kullanılmaktadır.\n", "\n", "Görüldüğü gibi parametre sayısının artması durmunda $AIC$ değeri artar. Yani modelde kullanılan parametre sayısının fazlalığı, modelin gerçek değişimden çok gürültü modellemeye doğru eğilimde bulunacağı kabulu yapılır. Dolayısıyla daha az parametre sayısına sahip (daha basit) modellerin seçilmesi yönünde bir denge sağlamış olur.\n", "\n", "Eğer uyumlama yapılmak istenen veri sayısı çok az ise $AIC$ daha fazla parametreye sahip olan modelin seçilmesine sebep olur. Bu sebep ile AIC düzeltmesi (AIC correction, $AICc$) tanımı yapılmıştır. \n", "\n", "$$ AICc = AIC + \\frac{2k~(k+1)}{n - k -1} $$\n", "\n", "Düzeltme terimindeki $n$, gözlem verisi sayısı; $k$ ise parametre sayısıdır.\n", "\n", "$AIC$ ya da $AICc$ kullanımı için sınır koşul olarak $n/k > 40$ kullanılır. Yani gözlem verisi sayısı, modeldeki parametre sayısından en az 40 kat büyük ise $AIC$ kullanılabilir. Bu durumda parametre sayısı fazlalığının etkisi ihmal edilebilecek kadar küçük kalır. Eğer bu oran 40’tan daha küçük ise mutlaka $AICc$ kullanılmalıdır.\n", "\n", "$AIC$ ya da $AICc$ değeri pozitif ya da negatif olabilir. Başarılı model her zaman daha küçük değere sahip olandır. $AIC$, farklı sayıda veriye sahip uyumlama işlemlerinde kullanılamaz. $AIC$, bir sıfır hipotezi sınaması olmadığı için sonuçta anlamlılık düzeyi, hipotez reddi gibi ifadeler kullanılmamalıdır.\n", "\n", "Model uyumlamada AIC hesabı aşağıdaki şekilde yapılabilir.\n", "\n", "$$ AIC = n~ln~(\\frac{S_r}{n}) + 2k $$\n", "\n", "Daha önce de tanımlandığı gibi $S_r$ gözlemsel verinin modelden fark kareler toplamını ifade eder. $n$ gözlem verisi sayısı, $k$ modelin parametre sayısıdır.\n", "\n", "Model seçimi durumunda: \n", "\n", "* Modellerin tamamının $AIC$ değerleri yukarıdaki ifadeden hesaplanır. \n", "* En düşük $AIC$ değerine ($AIC_{min}$) sahip olan model baz alınarak $AIC$ farkları ($Delta_i$) hesaplanır.\n", "* Her bir modelin olabilirlik fonksiyonu değeri, o modelin $AIC$ değerinin minimum AIC değerine sahip modelden ($AIC_{min}$) farknın üstel bir ifadesi ile orantılıdır.\n", "* Ardından modellerin Akaike ağırlıkları ($w_i$) hesaplanır. Bu değer, her bir model için bulunan olabilirlik fonksiyonunun karşılaştırma yapılan tüm modellerin toplam olabilirliklerine oranıdır.\n", "\n", "$$ \\Delta_i = AIC_i - AIC_{min} $$ olmak üzere,\n", "\n", "$$ \\mathcal{L}(g_i~|~y)~\\alpha~e^{-\\frac{1}{2} \\Delta_i} $$\n", "\n", "$$ w_i = \\frac{e^{-\\frac{1}{2} \\Delta_i}}{\\sum_{r=1}^r e^{-\\frac{1}{2} \\Delta_r}} $$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-dersten-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Örnek: Akaike Bilgi Kriteriyle Model Karşılaştırması ##\n", "\n", "F-Testi ile model karşılaştırması için yaptığımız örneğe geri dönelim. Örneğimizin verisi aşağıdaki tabloda birinci sütunda verilen zaman değerlerine karşılık ikinci sütundaki bir niceliğin ölçüm değerlerinden oluşmaktaydı.\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
$t_i$ $y_i$
2.510.07
2.811.07
5.414.59
6.520.75
9.227.94
9.531.50
11.038.04
13.349.90
14.660.72
16.475.57
\n", "\n", "Bu veri setini biri üstel ($y = A~e^{\\alpha~t}$), diğeri kuvvet yasasına uyan $y = B~t^{\\beta}$ iki ayrı modelle modellemiş ve bu iki modeli F-testi ile karşılaştırmıştık. Bu kez bir de doğru modeli tanımlayalım ve bu modellerden hangisinin veriyi daha iyi temsil edebildiğini Akaike Bilgi Kriteri ($AIC$) kullanarak belirleyelim.\n", "\n", "Uyumlamak istediğimiz her iki fonksiyon parametreleri bağlamında lineerleştirilebilirdi. Eklediğimiz son model de zaten lineer bir model olsun.\n", "\n", "$$ y_1 = a_0 + a_1*t $$\n", "$$ y_2 = A~e^{\\alpha~t} \\Rightarrow ln(y_2) = ln(A) + \\alpha~t $$\n", "$$ y_3 = B~t^{\\beta} \\Rightarrow ln(y_3) = ln(B) + \\beta~ln(t) $$\n", "\n", "Yine `numpy.polyfit()` gibi basit bir fonksiyon kullanarak bu modelleri verimize uyumlayabiliriz ve bu modellerden verimizin fark kareleri toplamı, veri sayısı ve parametre sayısını dikkate alarak Akaike Bilgi Kriteri'ni ($AIC$), kritierin veri sayımız az olduğu için düzeltilmiş değerini ($AICc$) kendi yazabileceğiniz bir Python fonksiyonuyla hesaplayıp, model karşılaştırması yapabiliriz. Yine önce verimizi tanımlayalım ve uyumlamalarımızı yapıp veri üzerinde görerek başlayalım." ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "y1 = -6.73 + 4.47t)\n", "y2 = 7.33 e^(0.15t)\n", "y3 = 3.32 t^1.04\n" ] } ], "source": [ "import numpy as np\n", "t = np.array([2.5, 2.8, 5.4, 6.5, 9.2, 9.5, 11.0, 13.3, 14.6, 16.4])\n", "y = np.array([10.07,11.07,14.59,20.70,27.94,31.50,38.04,49.90,60.72,75.57])\n", "lnt = np.log(t)\n", "lny = np.log(y)\n", "ks_y1 = np.polyfit(t,y,deg=1)\n", "ks_y2 = np.polyfit(t,lny,deg=1)\n", "ks_y3 = np.polyfit(lnt,lny,deg=1)\n", "# Katsayilari donusturmeliyiz\n", "a0 = ks_y1[1]\n", "a1 = ks_y1[0]\n", "A = np.exp(ks_y2[1])\n", "alpha = ks_y2[0]\n", "B = np.exp(ks_y3[1])\n", "beta = ks_y3[0]\n", "# Fit fonksiyonlarini ekrana yazdiralim\n", "print(\"y1 = {:.2f} + {:.2f}t)\".format(a0,a1))\n", "print(\"y2 = {:.2f} e^({:.2f}t)\".format(A,alpha))\n", "print(\"y3 = {:.2f} t^{:.2f}\".format(B,beta))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Fit fonksiyonlarını elde ettikten sonra bunları verimiz üzerine çizdirelim." ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "image/png": "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ncqgQYOYMmVKdkcxwKJFizhy5AgGBgbUqVOHt956i4SEBDp16oS7uzteXl64urrmyTVOmzaN999/Hw8PD8zMzNiwYUN23Xr37k2dOnVo3rw5DlmzHt3c3Pjqq69o27YtOp0OY2Njli9fLpfnlEqUGTPgp59g6VI1l1Bhly9pqBVFMQTCgCbAR0CMEGK2oigTAGshxLOmVgDFKw21VqslIyMDU1NT7t69S5s2bbh58yalSpUq6KoVmKL6t5Skp9m7Fzp3hv791VXHCrJfoLCloW4N3BVCBCmK0hlombV9A3AUdUH7EiE5OZn//ve/ZGRkIIRgxYoVJToISFJxcv262iTUsCGsXFl4O4eflF+B4D3gh6zvbYUQ97O+Dwds86kOhUKZMmV48ulGkqSiLzoaOnWC0qXVIaOlSxd0jXJO753FiqKUAt4Btj/5M6G2Sz21bUpRlCGKopxVFOVsZGSknmspSZL06tLT4d13ISwMdu+GqlULukYvJz9GDb0FnBdCPMh6/0BRFDuArNenru4uhFgthPASQnhVqFAhH6opSZL08oSAjz+Go0fhu++gadOCrtHLy49A0Jt/moUA9gL9s77vDzw/F4IkSVIhtnSpmhx0wgT43/8KujavRq+BQFEUc+BNYNcjm2cDbyqKchtok/VekiSpyDl4UE0r3bmzXpcL0Du9BgIhRJIQwkYIEffItmghRGshRA0hRBshRIw+66AvgYGB1K1b97Ft06ZNY/78+c885ujRo5w4ceKF516/fj0jRozIdR2f5+jRo7z99tu53keSSqobN6BnT6hbV12E/rlppQu5Ilz1oiengUCSpMItJkYdIVSqlDpvIB+W/NArGQj0ZMmSJbi5ueHh4cF7771HYGAgq1atwsfHB09PT/78808iIyPp3r07jRo1olGjRvz111/PPee0adPo378/r7/+Oo6OjuzatYvPPvsMd3d32rdvT0ZGBqAmfqtfvz7u7u68//77pKWlAfDLL7/g6upKgwYNshPGgZr19P3336dx48bUr1//hSmsJakkS0tTcwgFB6vDRIvDpPlikXRu9GjIWh8mz3h6wqJFr3787NmzCQgIwMTEhNjYWKysrBg2bBgWFhZ88sknAPTp04cxY8bw2muvERwcTLt27fD393/uee/evcuRI0e4fv06zZo1Y+fOncydO5euXbuyb98+2rdv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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from matplotlib import pyplot as plt\n", "%matplotlib inline\n", "# Fit fonksiyonlarini biraz fazla nokta\n", "# kullanarak cizdirelim\n", "tyeni = np.linspace(t[0],t[-1])\n", "y1 = a0 + a1*tyeni\n", "y2 = A*np.exp(alpha*tyeni)\n", "y3 = B*tyeni**(beta)\n", "plt.plot(t,y,'ro',label=\"veri\")\n", "plt.plot(tyeni,y1,'m-',label=\"Dogrusal model\")\n", "plt.plot(tyeni,y2,'b-',label=\"Ustel model\")\n", "plt.plot(tyeni,y3,'g-',label=\"Kuvvet yasasi\")\n", "plt.xlabel(\"t\")\n", "plt.ylabel(\"y\")\n", "plt.legend(loc=\"upper left\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Şimdi modellerimiz için $AIC$ ve $AICc$ değerlerini hesaplamak üzere basit bir fonksiyon yazalım ve verilerimiz ile modelimizi bu fonksiyona gönderereek $AIC$ ve $AICc$ değerlerini hesaplayalım" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Dogrusal model icin AIC=35.89, AICc = 37.61\n", "Ustel model icin AIC=15.57, AICc = 17.28\n", "Kuvvet yasasi modeli icin AIC=39.74, AICc = 41.45\n" ] } ], "source": [ "import numpy as np\n", "def aic(y,ymodel,katsayilar):\n", " Sr = np.sum((y - ymodel)**2)\n", " n = len(y)\n", " k = len(katsayilar)\n", " AIC = n*np.log(Sr / n) + 2*k\n", " AICc = AIC + (2*k*(k+1)) / (n - k - 1)\n", " return(AIC,AICc,Sr)\n", "AIC_1,AICc_1,Sr1 = aic(y,a0+a1*t,(a0,a1))\n", "AIC_2,AICc_2,Sr2 = aic(y,A*np.exp(alpha*t),(A,alpha))\n", "AIC_3,AICc_3,Sr3 = aic(y,B*t**beta,(B,beta))\n", "print(\"Dogrusal model icin AIC={:.2f}, AICc = {:.2f}\".\\\n", " format(AIC_1, AICc_1))\n", "print(\"Ustel model icin AIC={:.2f}, AICc = {:.2f}\".\\\n", " format(AIC_2, AICc_2))\n", "print(\"Kuvvet yasasi modeli icin AIC={:.2f}, AICc = {:.2f}\".\\\n", " format(AIC_3, AICc_3))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Her üç modelin parametre sayısı ve veri noktası sayısı da aynı olduğu için karşılaştırma doğrudan düzeltilmiş Akaika Bilgi Kriteri ($AICc$) üzerinden de yapılabilir. Böyle bir karşılaştırma üstel modelin diğer iki modele göre üstün olduğunu göstermektedir. Ancak öğretici olması açısından yukarıdaki şemaya bağlı kalarak bir tablo hazırlayyalım. Bunun için yukarıda tanımlanan $\\Delta_i$ ve $w_i$ değerlerini de hesaplamamız gerekir. Bu hesaplar için gerekli bütün parametrelere sahibiz. " ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Sr_i: (242.68495233015116, 31.792195082352833, 356.4389414714982)\n", "Delta_i: [20.32543288 0. 24.16942131]\n", "w_i: [3.85806129e-05 9.99955774e-01 5.64491803e-06]\n" ] } ], "source": [ "AICc = np.array([AICc_1,AICc_2,AICc_3])\n", "AICc_min = np.min(AICc)\n", "Delta = np.array([aicc-AICc_min for aicc in AICc])\n", "expDelta = np.exp(-0.5*Delta)\n", "wi = expDelta / np.sum(expDelta)\n", "print(\"Sr_i: \", (Sr1,Sr2,Sr3))\n", "print(\"Delta_i: \", Delta)\n", "print(\"w_i: \", wi)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Bu değerleri bir tablo şeklinde ifade edelim\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Model k Sr AICc $\\Delta_i$ $w_i$
Dogrusal2 242.68 37.61 20.33 0.000039
Ustel2 31.79 17.28 0.00 0.999558
Kuvvet2 356.44 41.45 24.17 0.000006
\n", "\n", "Bu değerlerden hareketle artık modelleri birbirleriyle karşılaştırmak mümkündür. Bunun için model ağırlıklarını birbirlerine bölerek, bir modelin diğerine göre \"olabilirliğinin\" ($\\mathcal{L}$) ne kadar daha yüksek (olası) olduğunu belirlemeliyiz." ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Ustel model dogrusal modele gore 25918.61 kat daha yuksek olabilirlige sahiptir\n", "Ustel model kuvvet yasasi modeline gore 177142.66 kat daha yuksek olabilirlige sahiptir\n", "Dogrusal model kuvvet yasasi modeline gore 6.83 kat daha yuksek olabilirlige sahiptir\n" ] } ], "source": [ "L2_1 = wi[1] / wi[0]\n", "L2_3 = wi[1] / wi[2]\n", "L1_3 = wi[0] / wi[2]\n", "print(\"Ustel model dogrusal modele gore {:.2f} kat daha yuksek olabilirlige sahiptir\".\\\n", " format(L2_1))\n", "print(\"Ustel model kuvvet yasasi modeline gore {:.2f} kat daha yuksek olabilirlige sahiptir\".\\\n", " format(L2_3))\n", "print(\"Dogrusal model kuvvet yasasi modeline gore {:.2f} kat daha yuksek olabilirlige sahiptir\".\\\n", " format(L1_3))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sonuç olarak bu üç modelden üstel modelin eldeki gözlemsel veriyi modellemek konusunda başarımı en yüksek model olduğu tüm ölçütlerde görülmektedir. Aslında bu anlamda fark-karelere bakmak bile yaterli olabilirdi. Ancak buradaki üçüncü karşılaştırma anlamlıdır. Veriyi uyumlamak anlamında başarımı yakın iki modelden doğrusal modelin kuvvet yasası modeline göre 6.83 kat daha olası olduğu Akaike Bilgi Kritieri kullanılarak ortaya konmuş durumdadır. $AIC$ `statsmodels` ve `LMFIT` gibi gelişmiş model paketleri tarafından da verilen bir çıktı parametresidir. Yukarıdaki örneği bu modüllerden en az birini kullanarak çözmeyi deneyiniz. Bu modüllerin asıl avantajının parametreleri açısından örneğimizdeki gibi lineer modeller değil lineer-olmayan (nonlinear) söz konusu olduğunda ortaya çıktığını belirtmekte yarar vardır." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Bayesian Bilgi Kriteri #\n", "\n", "Bayesian Bilgi Kriteri (ing. Bayesian Information Criterion, BIC) de bir modelin başarısını veren bir başka bir ölçüttür. $AIC$ ile yakından ilişkilidir. Ancak ilave parametrelere daha hassastır ve temel olarak aşağıdaki şekilde tanımlanır.\n", "\n", "$$ BIC = ln~(n)~k - 2~ln~(\\mathcal{L}) $$\n", "\n", "Burada $n$, gözlem sayısı, $k$, modelde kullanılan parametrelerin sayısıdır. $L$ ise modelin doğruluğu durumunda gözlem verisinin olabilirlik fonksiyonudur (ing. likelihood function).\n", "\n", "Tıpkı $AIC$ 'de olduğu gibi $BIC$ değerinin küçük olduğu modeller veriyi uyumlamada daha başarılıdır denilebilir. Eğri uyumlama işleminde kriter, aşağıdaki şekilde kullanılabilir. Burada $S_r$, yine modelden fark kareler toplamını ifade etmektedir.\n", "\n", "$$ BIC = n~ln~(\\frac{S_r}{n}) + k~ln~(n) $$\n", "\n", "Farklı modellerin $BIC$ değerleri arasındaki fark $\\Delta_{BIC}$ aşağıdaki şekilde yorumlanabilir.\n", "\n", "* $0 < \\Delta_{BIC} < 2$, yüksek $BIC$ değerli modele karşı güçlü bir kanıt yoktur.\n", "* $2 < \\Delta_{BIC} < 6$, yüksek $BIC$ değerli modele karşı \"pozitif\" bir kanıt vardır.\n", "* $6 < \\Delta_{BIC} < 10$, yüksek $BIC$ değerli modele karşı \"güçlü\" bir kanıt vardır.\n", "* $\\Delta_{BIC} > 10$, yüksek $BIC$ değerli modele karşı \"çok güçlü\" bir kanıt vardır.\n", "\n", "Kendiniz bir $BIC$ hesaplama fonksiyonu yazabileceğiniz gibi, `statsmodels` ve `LMFIT` gibi güçlü modülleri kullanarak $BIC$ değerlerini elde edebilir ve yukarıdaki şemayı kullanarak karşılaştırma da yapabilirsiniz." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Kaynaklar #\n", "\n", "* Measurements and their Uncertainties, Ifan G. Hughes & Thomas P.A. Hase, Oxford University Press, 2010\n", "* Data Reduction and Error Analysis for the Physical Sciences, Philip R. Bevington & D. Keith Robinson, MC Graw Hill, 2003\n", "* [Gecikme Grafikleri - I](https://www.statisticshowto.com/lag-plot/)\n", "* [Gecikme Grafikleri - II](https://ncss-wpengine.netdna-ssl.com/wp-content/themes/ncss/pdf/Procedures/NCSS/Lag_Plots.pdf)\n", "* [Durbin-Watson İstatistiği](https://en.wikipedia.org/wiki/Durbin%E2%80%93Watson_statistic)\n", "* [scipy.stats Modülü Dokümantasyonu](https://docs.scipy.org/doc/scipy/reference/stats.html)\n", "* [numpy.random Modülü Dokümantasyonu](https://docs.scipy.org/doc/numpy-1.15.0/reference/routines.random.html)\n", "* [statsmodels Dokümantasyonu](https://www.statsmodels.org/stable/index.html)\n", "* [17 Statistical Hypothesis Tests in Python](https://machinelearningmastery.com/statistical-hypothesis-tests-in-python-cheat-sheet/)\n", "* [LMFIT Dokümantasyonu](https://lmfit.github.io/lmfit-py/)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Başa Dön](#Bu-derste-neler-öğreneceksiniz?)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.9" } }, "nbformat": 4, "nbformat_minor": 2 }