Programlama öğreticileri - sayfa 18

 

R'de Ki-Kare Uyum İyiliği Testi


R'de Ki-Kare Uyum İyiliği Testi

Herkese merhaba, bugünkü oturumda, R kullanarak uygunluk iyiliği testine gireceğiz. Konsepti daha iyi anlamak için birkaç problem üzerinde çalışacağız. Uyum iyiliği testine aşina değilseniz, önce konuyla ilgili tanıtım videomu izlemenizi tavsiye ederim (yukarıda verilen bağlantı).

İlk sorunla başlayalım. Bir kolej, istatistik sınıflarındaki öğrencilerin %50'sinin birinci sınıf, %30'unun ikinci sınıf, %10'unun üçüncü sınıf ve %10'unun son sınıf olduğunu iddia ediyor. 65 öğrenciden oluşan basit bir rasgele örnek elde ettik ve örneğimizdeki dağılım iddia edilen oranlardan biraz farklı. Bu farklılıkların kolejin iddiasına karşı güçlü kanıtlar sağlayıp sağlamadığını veya rastgele değişkenlikten kaynaklanıp kaynaklanmadığını belirlemek istiyoruz.

R'de uyum iyiliği testini gerçekleştirmek için ki-kare testini kullanacağız. Ki-kare.test işlevi için yardım dosyasını açtım, ancak şimdilik yalnızca uyum iyiliği testine odaklanacağız.

Öncelikle verilerimizi girelim. Gözlemlenen sayıları depolamak için yıllar adında bir vektör oluşturacağız: 28 birinci sınıf öğrencisi, 24 ikinci sınıf öğrencisi, 9 üçüncü sınıf öğrencisi ve 4 son sınıf öğrencisi.

years <- c ( 28 , 24 , 9 , 4 )

Daha sonra, sıfır hipotezi altında beklenen oranlarda bir vektör yaratmamız gerekiyor. Bu durumda sıfır hipotezi, iddia edilen oranların doğru olduğunu varsayar. Bu vektöre props diyelim ve oranları atayalım: birinci sınıflar için 0,5, ikinci sınıflar için 0,3, gençler için 0,1 ve son sınıflar için 0,1.

props <- c ( 0.5 , 0.3 , 0.1 , 0.1 )

Artık ki-kare.test fonksiyonunu kullanarak ki-kare testini gerçekleştirebiliriz. Temel sözdizimi basittir: ki.kare.test(veri, p = beklenen_orantılar). Beklenen oranları belirtmek için p = props eklemeyi unutmayın.

result <- chi.square.test ( years , p = props )

Test, serbestlik derecelerini, ki-kare test istatistiğini ve p-değerini verecektir. Bu problem için üç serbestlik derecemiz, 3.58'lik bir ki-kare test istatistiğimiz ve 0.31'lik bir p-değerimiz var. Bu sonuçlar, tanıtım videosunda elde ettiğimiz sonuçlarla eşleşiyor.

0.31'lik bir p-değeri ile sıfır hipotezini reddetmek için yeterli kanıtımız yok. Bu nedenle, örneklem dağılımımız ile iddia edilen oranlar arasındaki farkların istatistiksel olarak anlamlı olduğu sonucuna varamayız. Veriler üniversitenin iddiasıyla uyumludur.

Şimdi ikinci soruna geçelim. 200 zar attık ve ortaya çıkan dağılım şu şekilde: 28 bir, 32 iki, vb. Bu dağılımın zarın adil olmadığına dair kanıt sağlayıp sağlamadığını belirlemek istiyoruz.

Daha önce olduğu gibi aynı süreci takip edeceğiz. Gözlemlenen sayıları depolamak için counts adlı bir vektör oluşturalım: 28 birler, 30 ikiler, 22 üçlüler, 31 dörtler, 38 beşler ve 51 altılar.

counts <- c ( 28 , 30 , 22 , 31 , 38 , 51 )

Artık bu sayımlara doğrudan ki-kare testini uygulayabiliriz.

result <- chi.square.test ( counts )

Test, serbestlik derecelerini, ki-kare test istatistiğini ve p-değerini verecektir. Bu durumda, beş serbestlik derecemiz, 15.22'lik bir ki-kare test istatistiğimiz ve 0.009463'lük bir p-değerimiz var.

0.009463 gibi çok küçük bir p-değeri ile sıfır hipotezini reddetmek için yeterli kanıta sahibiz. Böylece, gözlemlenen dağılıma dayanarak zarın ağırlıklı olduğu ve adil olmadığı sonucuna varabiliriz.

Bu, R kullanarak ki-kare uyum iyiliği testi tartışmamızı ve uygulamamızı tamamlıyor. Unutmayın, bu test, gözlenen verilerin beklenen bir dağılımla uyumluluğunu değerlendirmemize ve p-değerine dayalı istatistiksel çıkarımlar yapmamıza olanak tanır.

Chi-Squared Goodness-of-Fit Testing in R
Chi-Squared Goodness-of-Fit Testing in R
  • 2020.11.30
  • www.youtube.com
Chi-squared testing is easy with R. Give me just five minutes, and I'll show you how to do it!If this vid helps you, please help me a tiny bit by mashing tha...
 

R'de Bağımsızlık için Ki-Kare Testi


R'de Bağımsızlık için Ki-Kare Testi

Herkese merhaba, bugünün videosunda, kategorik değişkenlerin bağımsızlığı için ki-kare testi yapmak için R'yi kullanacağız. Bu amaçla ki-kare.test işlevini kullanacağız. Lütfen bu videoda, R'deki aynı temel işlevi kullanan uyum iyiliği testini ele almayacağımızı unutmayın. Uyum iyiliği testi hakkında bilgi edinmek istiyorsanız, bu konuda ayrı bir videom var. o konu (yukarıda verilen bağlantı).

OpenStax ders kitabından giriş istatistiklerine ilişkin bir problem üzerinde çalışalım. Sorun, 21 yaş ve üstü yetişkinlerin engelli yaşlı bir vatandaşla haftada bir ila dokuz saat gönüllü olarak vakit geçirdikleri bir gönüllü grubunu içeriyor. Program, gönüllüleri üç kategoriden toplar: yerel üniversite öğrencileri, dört yıllık üniversite öğrencileri ve öğrenci olmayanlar. İki kategorik değişkene dayalı olarak gönüllülerin dağılımını gösteren bir acil durum tablosuna veya iki yönlü bir tabloya sahibiz: gönüllü türü ve bir ila üç saat, dört ila altı saat ve yedi olarak kategorize edilmiş gönüllü olunan saat sayısı dokuz saate kadar.

Şimdi R'ye geçelim ve verileri girelim ve bu kategorik değişkenlerin birbiriyle ilişkili olup olmadığını belirlemek için ki-kare testi yapalım.

Verileri girmek için, matris işlevini kullanarak gönüllüler adı verilen bir matris oluşturacağız. Verileri satır bazında, soldan sağa, yukarıdan aşağıya gireceğiz.

volunteers <- matrix ( c ( 111 , 96 , 48 , 96 , 133 , 61 , 91 , 150 , 53 ) , nrow = 3 , byrow = TRUE )

Ardından, matrisi daha yorumlanabilir hale getirmek için satır adlarını ve sütun adlarını ekleyelim.

row.names ( volunteers ) <- c ( "Community College Students" , "Four-Year College Students" , "Non-Students" ) colnames ( volunteers ) <- c ( "1-3 hours" , "4-6 hours" , "7-9 hours" )

Şimdi, gönüllülerin farklı kategoriler arasında dağılımını gösteren görsel olarak çekici bir tablomuz var.

Ki-kare testini gerçekleştirmek için ki.kare.test işlevini kullanacağız. Sonucu model gibi bir değişkene atamak, gerekirse ek bilgilere erişmemizi sağlar.

model <- chi.square.test ( volunteers )

Test sonuçlarını görüntülemek için değişkenin adını yazmanız yeterlidir, model.

model

Test çıktısı, ki-kare test istatistiğini, serbestlik derecelerini ve p-değerini içerecektir. Bu örnek için, 12.991'lik bir ki-kare test istatistiği, 2 serbestlik derecesi ve tipik olarak çok küçük bir p-değeri elde ediyoruz.

Model nesnesinin, beklenen hücre sayıları ve artıklar gibi ek bilgiler içerdiğine dikkat etmek önemlidir. Gerekirse daha fazla analiz için bunlara erişilebilir.

Ki-kare testini gerçekleştirmenin başka bir yolu, matrisi bir tabloya dönüştürmek ve özet işlevini kullanmaktır.

vol_table <- as.table ( volunteers )
summary ( vol_table )

Bu yaklaşım aynı zamanda ki-kare testi istatistiğini, serbestlik derecesini ve p-değerini sağlayacaktır.

Bu, R kullanarak kategorik değişkenlerin bağımsızlığı için ki-kare testi yapma sürecini kapsar. Unutmayın, ki-kare testi, gözlemlenen ve beklenen frekanslara dayalı olarak iki kategorik değişken arasında anlamlı bir ilişki olup olmadığını belirlememize yardımcı olur.

Chi-Squared Testing for Independence in R
Chi-Squared Testing for Independence in R
  • 2020.12.04
  • www.youtube.com
Let's learn how to use the chisq.test() function in R to check the independence of categorical variables. If this vid helps you, please help me a tiny bit by...
 

R ile uyum testinin iyiliği: örnek


R ile uyum testinin iyiliği: örnek

Bugün tipik bir uyum iyiliği testi sorununu çözmek için R'yi kullanacağız. İşte burada:

Üç çocuklu 10 aileden oluşan rastgele bir örneklemde, kızların dağılımı şu şekildeydi:

  • 12 ailenin kız çocuğu yoktu
  • 31 ailenin bir kızı oldu
  • 42 ailenin iki kızı oldu
  • 15 ailenin üç kızı vardı

Soru şudur: Bu tür ailelerdeki kız çocuklarının sayısının n=3 ve p=0.5 parametreleriyle bir binom dağılımı izlemesi makul müdür?

Gözlenen değerleri zaten girdiğim R'ye geçelim. Devam etmek için, beklenen değerleri hesaplamamız ve bunları gözlemlenen sayılarla karşılaştırmamız gerekiyor. R'deki dbinom işlevi kullanılarak elde edilebilecek beklenen oranlarla başlayacağız.

Bir ailede 0, 1, 2 veya 3 kız çocuğunun olması için beklenen oranlar şöyledir:

  • 0 kız için %12,5
  • 1 kız için %37,5
  • 2 kız için %37,5
  • 3 kız için %12,5

Ardından, beklenen sayıları 100 ile çarparak beklenen sayıları hesaplayacağız (çünkü toplamda 100 ailemiz var).

Şimdi bu sorunu çözmek için iki farklı yaklaşımla ilerleyelim. İlk olarak, test istatistiğini ve p-değerini hesaplayarak doğrudan bir yanıt sağlayan R'de chisq.test işlevini kullanacağız. Ardından, süreci daha iyi anlamak için hesaplamaları adım adım yapacağız.

chisq.test'i kullanarak:

observed_counts <- c ( 12 , 31 , 42 , 15 )
expected_proportions <- dbinom ( 0 : 3 , size = 3 , prob = 0.5 )
expected_counts <- expected_proportions * 100
result <- chisq.test ( observed_counts , p = expected_proportions )
p_value <- result $ p.value print ( p_value )

Elde edilen p-değeri, sıfır hipotezinin doğru olduğunu varsayarak, gözlemlediğimiz kadar aşırı veri elde etme olasılığını gösterir. Bu durumda, p değeri yaklaşık olarak 0,07232'dir.

Önem düzeyimiz 0.05 olarak ayarlandığından ve p-değeri bundan büyük olduğundan, sıfır hipotezini reddetmek için yeterli kanıtımız yok. Verilerin, bu ailelerdeki kız çocuklarının sayısının n=3 ve p=0,5 parametreleriyle bir binom dağılımı izlediği hipoteziyle tutarlı olduğu sonucuna varabiliriz.

Şimdi, süreci daha iyi anlamak için ki-kare testi istatistiğini manuel olarak hesaplayalım:

chi_stat <- sum ( ( observed_counts - expected_counts ) ^ 2 / expected_counts )
degrees_of_freedom <- length ( observed_counts ) - 1
p_value_manual <- 1 - pchisq ( chi_stat , df = degrees_of_freedom )
print ( p_value_manual )

Manuel olarak hesaplanan p-değeri, chisq.test kullanılarak elde edilen sonuçla eşleşir ve daha önceki yaklaşık 0,07232 bulgumuzu doğrular.

Özetle, her iki yaklaşım da aynı sonuca varıyor: Veriler, bu ailelerdeki kız çocuklarının sayısının n=3 ve p=0.5 parametreleriyle bir binom dağılımını takip ettiği şeklindeki boş hipotezle tutarlıdır.

Goodness of fit testing with R: example
Goodness of fit testing with R: example
  • 2023.01.04
  • www.youtube.com
Is it plausible that a categorical variable was sampled from a particular distribution?If this vid helps you, please help me a tiny bit by mashing that 'like...
 

R'de korelasyon testi


R'de korelasyon testi

Herkese merhaba! Bugün, korelasyon testini tartışacağız. Bu gösteri için R kullanacağım, ancak ele alacağımız kavramlar, çalışma ortamınız ne olursa olsun evrensel olarak uygulanabilir. Bu nedenle, farklı bir yazılım kullanıyor olsanız bile ortalıkta dolaşın.

Bu örnek için, islr2 paketindeki kolej veri setini kullanacağım. Titiverse paketini kullanarak veri setini zaten yükledim ve temamı minimuma ayarladım. Kolej veri kümesinin ayrıntılı bir analiziyle ilgileniyorsanız, açıklamada bir video bağlantım var.

Kolej veri seti, her biri 1995'teki bir koleji temsil eden 777 gözlemden oluşur. Kamu veya özel atama, tam zamanlı lisans kaydı ve mezuniyet oranı gibi çeşitli değişkenleri içerir.

Tam zamanlı lisans kaydının logaritması ile devlet üniversitelerindeki mezuniyet oranı arasında istatistiksel olarak anlamlı bir ilişki olup olmadığını belirlemeye odaklanacağız. Bu bariz ilişkinin muhtemelen rastgele bir şanstan mı kaynaklandığını yoksa dikkat etmemiz gereken anlamlı bir eğilim mi olduğunu bilmek istiyoruz.

Başlamak için, y ekseninde mezuniyet oranı ve x ekseninde tam zamanlı lisans kaydının logaritması ile ggplot kullanarak bir dağılım grafiği oluşturdum. Özel okulları da filtreledim, bu yüzden sadece devlet kolejlerini analiz ediyoruz.

Şimdi logaritmayı ele alalım. Bundan korkmayın; sadece verilerin ölçeğini yorumlamamıza yardımcı olur. Bu durumda, bize bir değerin sonundaki sıfır sayısını söyleyen 10 tabanlı bir logaritma kullanıyoruz. Örneğin, logaritmik ölçekte 3.0, 10^3 yani 1.000'dir. Logaritmayı alarak, değişkenler arasında daha düzgün bir dağılım ve kabaca doğrusal bir ilişki elde ederiz.

Korelasyon, iki nicel değişken arasındaki genel olarak doğrusal bir ilişkinin gücünü ölçer. Bu durumda, yaklaşık 0.22'lik bir pozitif korelasyonumuz var, bu da tam zamanlı lisans kaydı arttıkça mezuniyet oranının da artma eğiliminde olduğunu gösteriyor. Kolej büyüklüğü ile mezuniyet oranı arasındaki bu pozitif ilişki şaşırtıcı görünebilir, ancak daha fazla araştırmaya değer.

Korelasyonlar -1 ile 1 arasında değiştiği için korelasyon nispeten zayıftır. -1 korelasyonu mükemmel negatif ilişkiyi temsil ederken, 1 korelasyonu mükemmel pozitif ilişkiyi temsil eder.

Şimdi, bu korelasyonun istatistiksel olarak anlamlı olup olmadığını belirlemek için R'de bir korelasyon testi yapalım. Bir korelasyon testi çalıştırmanın sözdizimi, hesaplama korelasyonuna benzer. İlgilenilen iki değişkenle kor.test işlevini kullanarak, korelasyonu ve ek bilgileri elde ederiz.

Bu durumda, test sonuçları 0,001'lik bir p-değeri sağlar; bu, popülasyonda bu değişkenler arasında herhangi bir korelasyon yoksa, gözlenen korelasyonun, zamanın yalnızca yaklaşık %0,1'inde rastgele şans eseri oluşacağını gösterir. Bu kadar düşük bir olasılık, gözlemlediğimiz korelasyonun istatistiksel olarak anlamlı olduğunu gösterir ve tam zamanlı lisans kaydının logaritması ile devlet üniversitelerindeki mezuniyet oranı arasında bir korelasyon olduğu sonucuna varabiliriz.

Şimdi, testin kendisini biraz daha derinlemesine inceleyelim. Örnek verilerde gözlemlenen korelasyonun makul bir şekilde rastgele şansa atfedilip atfedilemeyeceğini inceler. Test, değişkenler ve gözlemlerin bağımsızlığı arasında doğrusal bir ilişki varsayar ve bu da onu zaman serisi verileri için uygunsuz hale getirir. Ek olarak, verilerin iki değişkenli bir normal dağılım izlediğini varsayar, ancak mükemmel normallikten sapmalar genellikle kabul edilebilir.

Bu korelasyon testinin özellikle popülasyon korelasyonunun sıfır olduğu sıfır hipotezini test ettiğini not etmek önemlidir. Sıfırdan farklı korelasyonları test etmek için kullanılamaz.

Gizli olarak, test, gözlemlenen örnek korelasyonu olarak hesaplanan R adlı bir test istatistiği kullanır. Bu istatistik, sıfır korelasyonun boş hipotezinin varsayıldığı varsayılarak, n-2 serbestlik dereceli bir Student t-dağılımı izler. n-2 olarak gösterilen serbestlik dereceleri, örneklem büyüklüğüne (n) bağlıdır ve tahmin için mevcut bağımsız gözlem sayısı tarafından belirlenir.

Test ayrıca popülasyon korelasyonu için bir güven aralığı sağlar. Bu durumda %95 güven aralığı 0,087 ile 0,354 arasında değişmektedir. Bu aralık, örnek verilerimize dayalı olarak popülasyon korelasyonu için bize bir dizi makul değer verir. Aralık sıfır içermediğinden, popülasyon korelasyonunun muhtemelen pozitif olduğu sonucuna varabiliriz.

Korelasyonun nedensellik anlamına gelmediğini belirtmekte fayda var. İki değişken arasında bir korelasyon gözlemlememiz, bir değişkenin diğerinin değişmesine neden olduğu anlamına gelmez. Korelasyon basitçe değişkenler arasındaki bir ilişkiyi gösterir, ancak nedensellik oluşturmak için ek araştırma ve analizlere ihtiyaç vardır.

Korelasyonu görselleştirmek için dağılım grafiğimize bir regresyon çizgisi ekleyebiliriz. Regresyon çizgisi, ilişkinin genel eğilimini gösteren veri noktalarından geçen en uygun çizgiyi temsil eder. ggplot'ta geom_smooth işlevini argüman yöntemi = "lm" ile kullanarak grafiğimize bir regresyon çizgisi ekleyebiliriz.

Artık veri noktalarına uygun regresyon çizgisini görebiliriz. Tam zamanlı lisans kaydının logaritması ile devlet üniversitelerindeki mezuniyet oranı arasındaki pozitif ilişkinin görsel bir temsilini sağlar.

Özetle, tam zamanlı lisans kayıtlarının logaritması ile devlet üniversitelerindeki mezuniyet oranları arasında istatistiksel olarak anlamlı bir ilişki olup olmadığını belirlemek için bir korelasyon testi yaptık. Test sonuçları, 0.001'lik bir p-değeri ile pozitif bir korelasyon gösterdi ve bu da anlamlı bir ilişki olduğunu düşündürdü. Bununla birlikte, korelasyonun nedensellik anlamına gelmediğini ve nedensel ilişkiler kurmak için daha fazla analize ihtiyaç olduğunu unutmayın.

Korelasyon testi, istatistiksel analizde değerli bir araçtır ve değişkenler arasındaki ilişkileri keşfetmemize ve potansiyel eğilimleri veya ilişkileri belirlememize olanak tanır. Bilgiye dayalı kararlar almamıza ve verilere dayanarak anlamlı sonuçlar çıkarmamıza yardımcı olur.

Correlation testing in R
Correlation testing in R
  • 2023.03.29
  • www.youtube.com
Does a sample correlation imply a population correlation, or could the observed data just be due to random chance? Let's get into it!If this vid helps you, p...