Yazar: Jason Brownlee
Çeviri: He Zhonghua
Redaksiyon: Ding Nanya
Bu makale hakkında 4000 Word, önerilen okuma 15 dakika.
Bu makale, güven aralığı kavramını ve güven aralığı ile önyükleme güven aralığının nasıl hesaplanacağını açıklamaktadır.
Makine öğreniminin genellikle bir algoritmanın bilinmeyen veriler üzerindeki performansını tahmin etmesi gerekir.
Güven aralığı, kantitatif bir tahmin belirsizliği yöntemidir.Bir popülasyon parametresine bir limit veya olasılık eklemek için kullanılabilirler (örneğin, popülasyondaki bağımsız bir gözlem örneğinden tahmin edilen ortalama).
Bu eğitimde, güven aralıklarını ve bunları pratikte nasıl hesaplayacağınızı öğreneceksiniz.
Bu öğreticiyi tamamladıktan sonra şunları anlayacaksınız:
başlayalım.
Eğiticiye genel bakış
Bu eğitim 3 bölüme ayrılmıştır:
Güven aralığı nedir
Güven aralığı, genel değişken tahmininin sınırıdır, tahminin belirsizliğini ölçmek için kullanılan bir aralık istatistiğidir.
Güven aralığı, dağılımdan örneklenen verilerin sınırlarını tanımlayan tolerans aralığından farklıdır. Ayrıca tek bir gözlemin sınırını tanımlayan tahmin aralığından da farklıdır. Aksine, ortalama, standart sapma, vb. Gibi genel parametreler için, güven aralığı bir sınır sağlar.
Uygulamalı makine öğreniminde, tahmine dayalı bir modelin yeteneklerini gösterirken güven aralıklarını kullanmak isteyebiliriz.
Örneğin, aşağıdaki gibi tanımlanabilecek olan sınıflandırma modelinin performansını göstermek için güven aralığı kullanılabilir: Bir örneklem verildiğinde, x ila y aralığının gerçek model doğruluğunu kapsaması olasılığı% 95'tir. Veya% 95 güven düzeyinde, model doğruluğu x +/- y'dir.
Güven aralığı, regresyon tahmin modellerinde hataları sunmak için de kullanılabilir, örneğin, x ila y aralığı, modelin gerçek hatasını örtme olasılığının% 95'idir. Veya% 95 güven seviyesinde model hatası x +/- y'dir.
Güven aralıklarını görüntülerken% 95 güven düzeyinin seçilmesi çok yaygındır, ancak% 90 ve% 99,7 gibi diğer daha az yaygın değerler de kullanılır. Pratikte istediğiniz herhangi bir değeri kullanabilirsiniz.
% 95 güven aralığı (CI), verilerimize dayalı olarak hesaplanan bir değer aralığıdır ve muhtemelen nüfus tahminimizin gerçek değerini içerir.
--- Sayfa 4, Yeni İstatistiklere Giriş: Tahmin, Açık Bilim ve Ötesi, 2016.
Güven aralığının değeri, tahminin belirsizliğini ölçebilme yeteneğinde yatmaktadır. Alt ve üst limit ve imkan sağlar. Ayrı bir yarıçap ölçümü olarak, güven aralığı genellikle hata aralığı olarak adlandırılır ve tahminin belirsizliği bir hata haritası kullanılarak grafiksel olarak temsil edilebilir.
Genel olarak, tahminin elde edildiği örnek ne kadar büyükse, tahmin o kadar doğru ve güven aralığı o kadar küçük (daha iyi).
CI'nin tahminin doğruluğunu ortaya çıkardığı ve hata aralığının da doğruluk ölçüsü olduğu söylenebilir. Kısa bir CI, nispeten doğru bir tahmine sahip olduğumuzu belirten küçük bir hata aralığı anlamına gelir; uzun bir CI, büyük bir hata aralığı anlamına gelir ve doğruluğumuzun düşük olduğunu gösterir.
--- sayfa 4, Yeni İstatistiklere Giriş: Tahmin, Açık Bilim ve Ötesi, 2016
Güven aralığı, tahmin istatistikleri adı verilen istatistik alanına aittir Tahmin istatistikleri, deneysel sonuçları ifade etmek ve yorumlamak için kullanılır ve istatistiksel anlamlılık testlerinin yerini alabilir veya tamamlayıcı nitelikte olabilir.
Tahminler, sonuçları analiz etmek ve yorumlamak için daha bilgilendirici bir yol sağlar. Bir etkinin büyüklüğünü ve kesinliğini anlamak ve üzerinde düşünmek, hiçbir etki olmadığını varsaymaktan ve ardından aşırı verileri gözlemleme olasılığını göz önünde bulundurmaktan ziyade nicel bilim için daha kullanışlıdır.
--- Tahmin İstatistikleri Önem testinin yerini almalıdır, 2016
Uygulamada, güven aralıkları istatistiksel anlamlılık testlerinden daha fazla tercih edilebilir.
Bunun nedeni, uygulayıcıların ve paydaşların belirli alanlarla doğrudan ilişki kurmalarını kolaylaştırmalarıdır. Ayrıca makine öğrenimi modellerini karşılaştırmak için yorumlanabilir ve kullanılabilirler.
Bu belirsizlik tahminleri iki şekilde faydalıdır. İlk olarak, aralık, modelin kullanıcısının modelin kalitesini anlamasını sağlar. Bu şekilde, farklı modeller karşılaştırılırken kanıtların ağırlığını ölçmek için güven aralığı kullanılabilir. Güven aralıklarının ikinci yararı, modeller arasındaki değiş tokuşu kolaylaştırmaktır. İki modelin güven aralıkları önemli ölçüde örtüşüyorsa, bu ikisi arasındaki (istatistiksel) denkliği gösterir ve daha özlü veya yorumlaması daha kolay bir modeli desteklemek için nedenler sağlayabilir.
--- Sayfa 416, Uygulamalı Öngörülü Modelleme, 2013.
Artık güven aralığının ne olduğunu bildiğimize göre, bir tahmin modeli için güven aralığını hesaplamanın birkaç yolunu inceleyelim.
Sınıflandırma doğruluğu için güven aralığı
Sınıflandırma problemleri, bazı girdi verileri verildiğinde etiketlerini veya kategorik sonuç değişkenlerini tahmin etmeyi ifade eder.
Sınıflandırma tahmin modelinin performansını açıklamak için genellikle sınıflandırma doğruluğu (doğruluk) veya sınıflandırma hatası (Hata, doğruluğun tersi) kullanın. Örneğin, bir model kategori sonucunun doğru bir tahminini vakaların% 75'inde yaparsa, modelin sınıflandırma doğruluğu% 75'tir ve hesaplama formülü aşağıdaki gibidir:
doğruluk = toplam doğru tahminler / yapılan toplam tahminler * 100
Doğruluk oranı, modelin daha önce hiç görmediği bir doğrulama seti veya test seti gibi bir veri seti ile hesaplanabilir.
Sınıflandırma doğruluğu veya sınıflandırma hatası bir orandır. Model tarafından yapılan doğru veya yanlış tahminlerin oranını açıklar. Her tahmin, doğru veya yanlış olabilen ikili bir karardır. Teknik olarak, bu yönteme Jacob Bernoulli'nin adını taşıyan Bernoulli denemesi denir. Bernoulli denemesindeki oranlar, binom dağılımı adı verilen belirli bir dağılıma sahiptir. Neyse ki, büyük numune boyutları için (örneğin, 30'dan fazla), Gauss dağılımını yaklaşık olarak tahmin edebiliriz.
İstatistikte, başarılı veya başarısız olan bir dizi bağımsız olay Bernoulli süreci olarak adlandırılır. Büyük N için, bu rastgele değişkenin dağılımı normal dağılıma yakındır.
--- Sayfa 148, Veri Madenciliği: Pratik Makine Öğrenimi Araçları ve Teknikleri, İkinci Baskı, 2005
Oranın Gauss varsayımını (yani, sınıflandırma doğruluğu veya hatası) kullanarak güven aralığını kolayca hesaplayabiliriz.
Sınıflandırma hatası durumunda, aralık yarıçapı şu şekilde hesaplanabilir:
aralık = z * sqrt ((hata * (1-hata)) / n)
Sınıflandırma doğruluğu durumunda aşağıdaki şekilde hesaplanır:
aralık = z * sqrt ((doğruluk * (1-doğruluk)) / n)
Formüldeki aralık, güven aralığının yarıçapı, hata ve doğruluk, sınıflandırma hatası ve sınıflandırma doğruluğu, n örneklem büyüklüğü, sqrt karekök fonksiyonu ve z, Gauss dağılımının kritik değeridir. Terim olarak, bu iki terimli oran güven aralığıdır.
Gauss dağılımında yaygın olarak kullanılan kritik değerler ve bunlara karşılık gelen önem seviyeleri aşağıdaki gibidir:
50 örneklik bir doğrulama setinde (n = 50)% 20 hata (hata = 0,2) olan bir model göz önüne alındığında,% 95 güven aralığını (z = 1,96) aşağıdaki gibi hesaplayabiliriz:
# binom güven aralığı
matematik ithalat sqrt'den
aralık = 1,96 * sqrt ((0,2 * (1-0,2)) / 50)
baskı ('%. 3f'% aralığı)
Örneği çalıştırırken, hesaplanan ve yazdırılan güven aralığı yarıçapını görüyoruz.
0.111
Sonra şu açıklamayı yapabiliriz:
Güven aralığı yarıçapı tahmininin doğruluğu üzerinde örneklem büyüklüğünün etkisini görebiliriz.
# binom güven aralığı
aralık = 1,96 * sqrt ((0,2 * (1-0,2)) / 100)
baskı ('%. 3f'% aralığı)
Yukarıdaki örneği çalıştırmak, güven aralığının yaklaşık% 7'ye düştüğünü gösterir, bu da model performans tahmininin doğruluğunu artırır.
0.078
Güven aralığının bir dizi olasılık olduğunu unutmayın. Gerçek model performansı bu aralığın dışında olabilir.
Aslında, bu deneyi defalarca tekrarlarsak, her seferinde yeni bir örnek içeren yeni bir örnek S topladığımızda, bu deneylerin yaklaşık% 95'i için hesaplanan aralığın gerçek hatayı kapsayacağını bulacağız. Bu nedenle, bu aralığa% 95 güven aralığı tahmini diyoruz
--- Sayfa 131, Makine Öğrenimi, 1997
Proportion_confint () statsmodels işlevi, iki terimli oranın güven aralığının bir uygulamasıdır
Varsayılan olarak, iki terimli dağılım için Gauss varsayımları yapar, ancak diğer daha karmaşık hesaplama çeşitlerini de destekler. Bu işlev, başarı (veya başarısızlık) sayısını, toplam deneme sayısını ve anlamlılık düzeyini parametre olarak alır ve güven aralığının üst ve alt sınırlarını döndürür.
Aşağıdaki örnek, bir modelin 100 örnekten oluşan bir veri setinden 88 doğru tahmin yaptığı ve% 95 güven aralığı ile ilgilendiğimiz varsayımsal bir durumda bu işlevi göstermektedir (0.05 anlamlılık arz fonksiyonu olarak) .
istatistikmodels.stats.proportion import oran_confint
alt, üst = oran_confint (88, 100, 0.05)
print ('alt =%. 3f, üst =%. 3f'% (alt, üst))
Çalışan örnek çıktı modelinin sınıflandırma doğruluğunun üst ve alt sınırları:
alt = 0.816, üst = 0.944
Parametrik olmayan güven aralığı
Genellikle seçilen performans göstergelerinin dağılımını bilmiyoruz. Veya performans puanının güven aralığını hesaplamak için analitik yöntemi bilmiyor olabiliriz.
Parametrik güven aralığı varsayımı genellikle geçersizdir. Bazen yordayıcı değişken normal olarak dağıtılmaz, öyle olsa bile, normal dağılımın varyansı yordayıcı değişkenin tüm seviyelerinde farklı olabilir.
--- Sayfa 326, Yapay Zeka için Ampirik Yöntemler, 1995.
Bu durumlarda, önyükleme yeniden örnekleme yöntemi, nominal olarak önyükleme güven aralığı olarak adlandırılan güven aralığını hesaplamak için parametrik olmayan bir yöntem olarak kullanılabilir.
Bootstrap, örneklerin değiştirilerek sabit sınırlı bir veri kümesinden alındığı ve her örnek için bir parametrenin tahmin edildiği simüle edilmiş bir Monte Carlo yöntemidir. Bu süreç, örnekleme yoluyla gerçek genel parametrelerin sağlam bir tahminini elde eder.
Bunu aşağıdaki sözde kodla kanıtlayabilirsiniz:
istatistik =
önyüklemelerde i için:
örnek = örnek_seçme_seçimi_değiştirme (veri)
stat = calculate_statistic (örnek)
istatistik.append (stat)
Bu süreç, modeli her bir örneğe uydurarak ve modelin performansını bu örneklerde yer almayan örnekler üzerinde tahmin ederek tahmin modelinin performansını tahmin etmek için kullanılabilir. Ortalama veya medyan performans daha sonra modelin bilinmeyen veriler üzerindeki performansının bir tahmini olarak kabul edilebilir.
Belirli bir yüzdelik dilim için bir performans puanları örneğinden gözlemler seçerek bu tahmine bir güven aralığı ekleyebilirsiniz.
Yüzdeliğin, örnek gözlem değerinin karşılık gelen yüzdesinin ondan daha küçük olduğu, sıralanmış örnekten alınan gözlem değeri olduğunu hatırlayın. Örneğin, bir numunenin 70. yüzdelik dilimi, numunenin% 70'inin bu değerin altında olduğu anlamına gelir. 50. yüzdelik dilim dağılımın medyanıdır.
İlk olarak,% 5,0 olarak ifade edilen% 95 gibi güven düzeyinin önem düzeyini seçmeliyiz (örneğin, 100-95). Güven aralığı medyan etrafında simetrik olduğundan, tüm aralığı vermek için gözlemleri 2.5 persentil ve 97.5 persentil olarak seçmeliyiz.
Önyükleme güven aralığını bir örnek üzerinden hesaplayabiliriz.
0,5 ile 1,0 arasında 1.000 gözlem içeren tek tip bir dağılımdan oluşturulmuş bir veri kümemiz olduğunu varsayalım.
# veri kümesi oluştur
veri kümesi = 0,5 + rand (1000) * 0,5
Önyükleme sürecini 100 kez yürüteceğiz ve değiştirilen veri setinden 1000 gözlem örneği çıkaracağız. Bootstrap örneğinde hesaplanan istatistikleri genel ortalamanın bir tahmini olarak kullanacağız. Bu kolaylıkla bir model değerlendirme haline gelebilir.
# bootstrap
puanlar = liste ()
Aralık içindeki _ için (100):
# bootstrap örneği
endeksler = randint (0, 1000, 1000)
örnek = veri kümesi
# istatistiği hesapla ve sakla
istatistik = ortalama (örnek)
score.append (istatistik)
Önyükleme istatistiklerinin bir örneğini elde ettiğimizde, merkezi eğilimi hesaplayabiliriz. Dağılımla ilgili herhangi bir varsayımda bulunulmadığından, medyan veya 50. yüzdelik dilimi kullanacağız.
baskı ('medyan =%. 3f'% medyan (puanlar))
Daha sonra, güven aralığını, medyana odaklanan gözlenen istatistiğin orta% 95'i olarak hesaplayabiliriz.
#% 95 güven aralıklarını hesaplayın (100-alfa)
alpha = 5.0
İlk olarak, seçilen güven aralığına göre daha düşük yüzdelik dilimi hesaplayın. Daha sonra bu yüzdeliğin gözlemlenen değerini önyükleme istatistikleri örneğinden çıkarın.
# düşük yüzdelik dilimi hesapla (ör. 2,5)
lower_p = alfa / 2.0
# daha düşük yüzdelik dilimde gözlem alma
alt = maks (0,0, yüzdelik (puanlar, daha düşük_p))
Güven aralığının üst sınırı için de aynısını yapıyoruz.
# üst yüzdelik dilimi hesapla (ör. 97,5)
üst_p = (100-alfa) + (alfa / 2.0)
# üst yüzdebirlikte gözlem alma
üst = min (1.0, yüzdelik (puanlar, üst_p))
Tam örnek aşağıda listelenmiştir.
# bootstrap güven aralıkları
numpy.random ithal tohumdan
numpy.random import rand'dan
numpy.random import randint'den
uyuşmuş ithal anlamından
numpy ithal medyandan
numpy içe aktarma yüzdeliğinden
# rastgele sayı oluşturucuyu tohumlayın
tohum (1)
# veri kümesi oluştur
veri kümesi = 0,5 + rand (1000) * 0,5
# bootstrap
puanlar = liste ()
Aralık içindeki _ için (100):
# bootstrap örneği
endeksler = randint (0, 1000, 1000)
örnek = veri kümesi
# istatistiği hesapla ve sakla
istatistik = ortalama (örnek)
score.append (istatistik)
baskı ('50. yüzdelik dilim (medyan) =% .3f'% medyan (puanlar))
#% 95 güven aralıklarını hesaplayın (100-alfa)
alpha = 5.0
# düşük yüzdelik dilimi hesapla (ör. 2,5)
lower_p = alfa / 2.0
# daha düşük yüzdelik dilimde gözlem alma
alt = maks (0,0, yüzdelik (puanlar, daha düşük_p))
print ('%. 1fth persentil =% .3f'% (alt_p, daha düşük))
# üst yüzdelik dilimi hesapla (ör. 97,5)
üst_p = (100-alfa) + (alfa / 2.0)
# üst yüzdebirlikte gözlem alma
üst = min (1.0, yüzdelik (puanlar, üst_p))
print ('%. 1fth persentil =% .3f'% (üst_p, üst))
Çalışan örnek, 2.5, 50 (medyan) ve 97.5 yüzdelik dilimler dahil olmak üzere önyükleme örnek istatistiklerinin dağılımını özetler.
50. yüzdelik dilim (medyan) = 0,750
2.5. Yüzdelik dilim = 0.741
97.5 yüzdelik dilim = 0.757
Daha sonra bu gözlemleri örnek dağılımı hakkında bir açıklama yapmak için kullanabiliriz, örneğin:
Gerçek istatistiksel medyanın 0,741 ila 0,757 aralığında kapsanma olasılığı% 95'tir.
Genişlet
Bu eğiticinin içeriğini genişletmek istiyorsanız, bu bölümde bazı yararlı fikirler listelenmektedir:
daha fazla okuma
Daha fazlasını öğrenmek istiyorsanız, bu bölüm konuyla ilgili daha fazla kaynak sağlar.
Gönderiler
Sınıflandırıcı Performansını Güven Aralıklarıyla Raporlama
Python'da Makine Öğrenimi Sonuçları İçin Bootstrap Güven Aralıkları Nasıl Hesaplanır
Python ile Güven Aralıklarını Kullanarak Zaman Serisi Tahmin Belirsizliğini Anlayın
Kitabın
Yeni İstatistikleri Anlamak: Etki Büyüklükleri, Güven Aralıkları ve Meta-Analiz, 2011.
Yeni İstatistiklere Giriş: Tahmin, Açık Bilim ve Ötesi, 2016.
İstatistiksel Aralıklar: Uygulayıcılar ve Araştırmacılar için Bir Kılavuz, 2017.
Uygulamalı Tahmine Dayalı Modelleme, 2013.
Makine Öğrenimi, 1997.
Veri Madenciliği: Pratik Makine Öğrenimi Araçları ve Teknikleri, İkinci Baskı, 2005.
Bootstrap'e Giriş, 1996.
Yapay Zeka için Ampirik Yöntemler, 1995.
Bildiriler
Tahmin istatistikleri, 2016 anlamlılık testinin yerini almalıdır.
Bootstrap Güven Aralıkları, İstatistik Bilimi, 1996.
API
statsmodels.stats.proportion.proportion_confint () API
numpy.random.rand () API
numpy.random.randint () API
numpy.random.seed () API
numpy.percentile () API
numpy.median () API
Nesne
Wikipedia'da aralık tahmini
Wikipedia'da güven aralığı
Wikipedia'da binom oranı güven aralığı
Çapraz Doğrulamada RMSE'nin güven aralığı
Wikipedia'da önyükleme
sonuç olarak
Bu eğiticide, güven aralıklarını ve pratikte güven aralıklarının nasıl hesaplanacağını araştırdınız.
Özellikle şunları öğrendiniz:
Sormak istediğiniz bir şey var mı?
Aşağıdaki yorumlarda sorular sorun, cevaplamak için elimden geleni yapacağım.
Orjinal başlık:
Makine Öğrenimi için Güven Aralıkları
Orijinal bağlantı:
https://machinelearningmastery.com/confidence-intervals-for-machine-learning/
Çevirmen Profili
Ve Çin, Almanya'da Yazılım Mühendisliği Yüksek Lisansı. Makine öğrenimine olan ilgiden dolayı, yüksek lisans tezi geleneksel anlamlarını iyileştirmek için genetik algoritma fikirlerini kullanmayı seçti. Şu anda Hangzhou'da büyük veri ile ilgili uygulamalar yapıyor. Datapie'ye katılmak THU, BT çalışanları için üzerine düşeni yapmayı ve aynı zamanda benzer düşünen birçok arkadaş edinmeyi umuyor.