R Programlamada T-Testi: Tek Örnek ve Eşleştirilmiş Örnek
⚡ Akıllı Özet
R'deki T-testi, t.test() fonksiyonunu kullanarak ortalamaları karşılaştırır; tek bir örneği sabit bir hedefe karşı, iki bağımsız grubu ve eşleştirilmiş tekrarlanan ölçümleri kapsar. Bu kılavuz, her bir varyantı çalıştırır, p-değerini doğru şekilde okur ve temel varsayımları doğrular.

İstatistiksel Çıkarım Nedir?
İstatistiksel çıkarım, verilerin dağılımı hakkında sonuçlar üretme sanatıdır. Bir veri bilimcisi genellikle yalnızca bilimsel olarak cevaplanabilecek sorularla karşı karşıya kalır. Bu nedenle, istatistiksel çıkarım, bir hipotezin doğru olup olmadığını, yani veriler tarafından doğrulanıp doğrulanmadığını test etme stratejisidir.
Bir hipotezi değerlendirmek için yaygın olarak kullanılan bir strateji, iki ortalamanın eşit olup olmadığını gösteren t-testidir. Bu test aynı zamanda şu şekilde de bilinir: Öğrenci testiAşağıdakiler için t-testi hesaplanabilir:
- Tek bir vektörün sabit bir değere karşı karşılaştırılması (tek örneklem t-testi)
- İki ayrı gruptan iki vektör (bağımsız iki örneklem t-testi)
- Aynı denekler üzerinde ölçülen iki vektör (eşleştirilmiş t-testi)
Her t-testi, verilerin rastgele örneklenmiş olduğunu ve değerlerin (veya eşleştirilmiş bir test için farkların) yaklaşık olarak normal dağılımlı bir popülasyondan geldiğini varsayar. Bağımsız iki örneklem versiyonu ayrıca iki grubun birbirinden bağımsız olduğunu varsayar ve klasik form, varyanslarının eşit olduğunu varsayar.
R Programlamada T-Testi Nedir?
T-Testinin arkasındaki temel fikir, iki karşıt hipotezi değerlendirmek için istatistikleri kullanmaktır:
- H0: sıfır hipotezi, popülasyon ortalamasının test edilen değere eşit olduğu hipotezidir.
- H1Alternatif hipotez, yani popülasyon ortalamasının bu değerden farklı olduğu hipotezi.
T-testi, normal yaklaşımın güvenilir olmadığı küçük örneklem boyutları için tasarlanmıştır. Verilerin yaklaşık olarak normal dağılıma sahip olmasını gerektirir.
R'de T-Test Söz Dizimi
R'deki t.test() işlevinin temel sözdizimi şöyledir:
t.test(x, y = NULL, mu = 0, var.equal = FALSE) arguments: - x : A vector to compute the one-sample t-test - y: A second vector to compute the two sample t-test - mu: Mean of the population under the null hypothesis - var.equal: Specify whether the variances of the two vectors are equal. By default, set to `FALSE` - paired: Set to `TRUE` when the two vectors are repeated measures on the same subjects
Herhangi bir işlem başlatmadan önce, veri düzeninizi testin doğru varyantıyla eşleştirin.
R'de T-Testi Türleri
T-testinde en sık yapılan hata yanlış varyantı seçmektir, bu nedenle öncelikle veri düzeninizi doğru varyantla eşleştirerek başlayın.
| Menşei | Bunu ne zaman kullanacaksın? | R çağrısı |
|---|---|---|
| Tek örnek | Bir grup bilinen bir hedef değerle karşılaştırıldı. | t.test(x, mu = değer) |
| Bağımsız iki örneklem (Welch) | İki ayrı grup, varyanslar muhtemelen eşit değil | t.test(x, y) |
| Bağımsız iki örneklem (birleştirilmiş) | Eşit varyansa sahip iki ayrı grup | t.test(x, y, var.equal = TRUE) |
| Eşli | Aynı deneklerin ölçümleri iki kez alındı. | t.test(x, y, paired = TRUE) |
| Tek taraflı | Siz sadece tek yöndeki bir farkla ilgileniyorsunuz. | t.test(x, mu = değer, alternatif = “daha büyük”) |
Üçten fazla grup için t-testi artık uygun değildir. Şuna geçin: ANOVA testiBu yöntem, tekrarlanan ikili karşılaştırmalarda hata oranının artması yerine, genel hata oranını yüzde 5'te tutar.
R'de Bir Örnek T Testi
Tek Örneklem t-testi veya öğrenci testi, bir vektörün ortalamasını teorik bir ortalamayla karşılaştırır. . T-testini hesaplamak için kullanılan formül şöyledir:
Burada,
ortalamayı ifade eder
teorik ortalamaya
- s standart sapmadır
- n gözlem sayısı.
T testinin istatistiksel anlamlılığını değerlendirmek için şunları hesaplamanız gerekir: p-değeri. p-değeri 0 ile 1 arasında değişir ve aşağıdaki şekilde yorumlanır:
- 0.05'ten düşük bir p değeri, sıfır hipotezini reddedebileceğiniz anlamına gelir. H0'ı reddetmenin, H1'in doğru olduğunu kanıtlamakla aynı şey olmadığını, yalnızca verilerin H0 altında olasılık dışı olduğunu gösterdiğini unutmayın.
- 0.05'ten yüksek bir p değeri, sıfır hipotezini reddetmek için yeterli kanıtınız olmadığını gösterir.
Serbestlik derecesi şuna eşit olacak şekilde Öğrenci dağılımındaki t testinin karşılık gelen mutlak değerine bakarak p değerini oluşturabilirsiniz:
Örneğin, 5 gözlemle t-değerinizi %95 güven düzeyinde 4 serbestlik derecesine sahip Student dağılımıyla karşılaştırıyorsunuz. İki taraflı bir testte sıfır hipotezini reddetmek için mutlak t-değerinin 2.776'yı aşması gerekir.
Aşağıdaki tabloya bakınız:
R'de Bir Örnek T-Testi Örneği
Diyelim ki kurabiye üreten bir firmasınız. Her kurabiyenin 10 gram şeker içermesi gerekiyor. Kurabiyeler, her şeyi karıştırmadan önce şekeri bir kaseye ekleyen bir makine tarafından üretilir. Sanırsınız ki makine her kurabiyeye 10 gram şeker eklemiyor. Varsayımınız doğruysa makinenin onarılması gerekir. Otuz kurabiyenin şeker seviyesini sakladınız.
not: rnorm() fonksiyonuyla rastgele bir vektör oluşturabilirsiniz. Bu fonksiyon normal dağılmış değerler üretir. Temel sözdizimi şöyledir:
rnorm(n, mean, sd) arguments - n: Number of observations to generate - mean: The mean of the distribution. Optional - sd: The standard deviation of the distribution. Optional
Ortalaması 30, standart sapması 9.99 olan 0.04 gözlemden oluşan bir dağılım oluşturabilirsiniz.
set.seed(123) sugar_cookie <- rnorm(30, mean = 9.99, sd = 0.04) head(sugar_cookie)
Çıktı:
## [1] 9.967581 9.980793 10.052348 9.992820 9.995172 10.058603
Şeker seviyesinin tariftekinden farklı olup olmadığını kontrol etmek için tek örnekli t testi kullanabilirsiniz. Bir hipotez testi çizebilirsiniz:
- H0: Ortalama şeker seviyesi 10'a eşittir
- H1: Ortalama şeker seviyesi 10'dan farklıdır
Anlamlılık düzeyi olarak 0.05'i kullanıyorsunuz.
# H0 : mu = 10 t.test(sugar_cookie, mu = 10)
İşte çıktı:
Tek örneklem t-testinin p değeri 0.1079 olup, 0.05 eşiğinin üzerindedir. Ortalama için %95 güven aralığı 9.973 ile 10.002 gram arasında değişmekte ve hedef değer olan 10'u içermektedir. Bu nedenle H0 hipotezini reddedemezsiniz: makinenin tariften sapmasına dair yeterli kanıt yoktur.
R'de Bağımsız İki Örneklem T-Testi
Bağımsız iki örneklem t-testi en sık kullanılan varyanttır ve iki ölçüm seti farklı deneklerden geldiğinde uygulanır: iki mağaza, iki makine, iki tedavi kolu.
Diyelim ki bir fabrikada iki üretim hattı var ve bu hatlardaki kavanozların aynı ağırlıkta doldurulup doldurulmadığını öğrenmek istiyorsunuz.
set.seed(123) line_a <- rnorm(25, mean = 500, sd = 8) line_b <- rnorm(25, mean = 505, sd = 8) # Welch test, the safe default t.test(line_a, line_b) # Pooled test, only when the variances are equal t.test(line_a, line_b, var.equal = TRUE)
Çıktıyı dört adımda okuyun.
- t Bu, iki ortalama arasındaki farkın standartlaştırılmış boyutudur. İşareti yalnızca vektörleri hangi sırayla geçirdiğinizi yansıtır.
- df n, serbestlik derecesidir. Welch kesirli bir değer üretir; birleştirilmiş test ise n1 + n2 – 2'ye eşit bir tam sayı verir.
- p-değeri Gerçek ortalamalar aynı olsaydı, bu kadar büyük bir farkın görülme olasılığı nedir?
- Güven aralığı Gerçek farkı sınırlar. Sıfır içeriyorsa, fark o seviyede anlamlı değildir.
Verileriniz tek bir veri çerçevesinde, bir değer sütunu ve bir faktör sütunundan oluşuyorsa, okunması daha kolay olan ve verileri elle bölmeyi gerektirmeyen formül arayüzünü kullanın:
t.test(weight ~ line, data = jars)
Hangi sürümü kullanmalı? Varyansların eşit olduğunu test edip doğrulamadığınız sürece var.equal parametresini varsayılan değeri olan FALSE'da bırakın. Varyanslar eşleştiğinde Welch düzeltmesi neredeyse hiçbir güç kaybına neden olmaz ve eşleşmediğinde sizi korur.
R'de Eşleştirilmiş T Testi
Bağımlı örneklem t-testi olarak da adlandırılan eşleştirilmiş t-testi, aynı grubun iki kez ölçüldüğü durumlarda uygulanır. Tipik uygulamaları şunlardır:
- A / B Testi: İki seçeneği karşılaştırın
- Vaka kontrol çalışmalarıAynı denekler üzerinde yapılan tedavi öncesi ve sonrası görüntüler.
R'de Eşleştirilmiş T Testi Örneği
Bir içecek şirketi, indirim programının satışlardaki performansını bilmekle ilgilenmektedir. Şirket, programın tanıtıldığı mağazalarından birinin günlük satışlarını takip etmeye karar vermiştir. Programın sonunda şirket, programdan önce ve sonra mağazanın ortalama satışları arasında istatistiksel bir fark olup olmadığını bilmek istemektedir.
- şirket tracProgram başlamadan önce her gün satışları takip ettik. Bu bizim ilk vektörümüz.
- Program bir hafta boyunca tanıtılıyor ve satışlar her gün kaydediliyor. Bu bizim ikinci vektörümüz.
- Programın etkililiğini değerlendirmek için t-testini gerçekleştireceksiniz. Buna eşleştirilmiş t testi denir çünkü her iki vektörün değerleri de aynı dağılımdan (yani aynı mağazadan) gelir.
Hipotez testi şu şekildedir:
- H0: Ortalamada fark yok
- H1: İki anlam farklıdır
Unutmayın ki klasik t-testi, her iki grupta da bilinmeyen ancak eşit varyans varsayımına dayanır. Gerçek veriler nadiren bu varsayımı tam olarak karşılar ve aradaki farkı göz ardı etmek sonucu bozabilir.
Çözüm, eşit varyans varsayımını gevşeten Welch'in t-testidir. R, aksi belirtilmedikçe var.equal FALSE olduğu için bunu varsayılan olarak uygular. Bu veri setinde her iki vektör de aynı standart sapmayla oluşturulmuştur, bu nedenle var.equal = TRUE olarak güvenle ayarlayabilirsiniz.
Programdan sonra satışlar için daha yüksek ortalamaya sahip bir Gauss dağılımından iki rastgele vektör yaratırsınız.
set.seed(123) # sales before the program sales_before <- rnorm(7, mean = 50000, sd = 50) # sales after the program.This has higher mean sales_after <- rnorm(7, mean = 50075, sd = 50) # draw the distribution t.test(sales_before, sales_after,var.equal = TRUE)
p değeri 0.04606 olup, 0.05 eşiğinin hemen altındadır; bu nedenle H0 hipotezini reddeder ve iki ortalamanın önemli ölçüde farklı olduğu sonucuna varırsınız. İndirim programının satışları artırdığı görülmektedir.
⚠️ Önemli: Yukarıdaki çağrı, iki vektörü şu şekilde karşılaştırır: bağımsız Örnekler. Her iki seri de aynı mağazada yapılan ölçümler olduğundan, istatistiksel olarak doğru sonuç şunları içerir: eşleştirilmiş = DOĞRU:
t.test(sales_before, sales_after, paired = TRUE)
Eşleştirilmiş form, iki ortalama arasındaki farkı değil, gün bazındaki farkların ortalamasını test eder. Her iki vektör tarafından paylaşılan mağaza düzeyindeki varyasyonu ortadan kaldırır ve bu nedenle daha yüksek istatistiksel güce sahiptir.
R'de T-Testi Varsayımlarını Nasıl Kontrol Edebilirsiniz?
T-testi p-değeri, ancak varsayımları geçerli olduğunda anlamlıdır. Her birinin doğrudan bir kontrolü vardır.
1. Normallik. Tek örneklem ve iki örneklem testleri, değerlerin yaklaşık olarak normal dağılıma sahip olduğunu varsayar; eşleştirilmiş test ise... farklılıkları QQ grafiğini inceleyin ve Shapiro-Wilk testiyle doğrulayın:
qqnorm(sugar_cookie); qqline(sugar_cookie)
shapiro.test(sugar_cookie)
# for a paired design, test the differences
shapiro.test(sales_after - sales_before)
0.05'in üzerindeki bir Shapiro-Wilk p-değeri, normalliğin reddedilemeyeceği anlamına gelir. Grup başına yaklaşık 30'dan fazla gözlem olduğunda, merkezi limit teoremi, t-testini orta dereceli çarpıklığa karşı zaten dayanıklı hale getirir.
2. Eşit varyans. Bu yalnızca birleştirilmiş iki örneklem testi için gereklidir. Bunu bir F testi ile test edin:
var.test(line_a, line_b)
0.05'in üzerindeki bir p değeri, eşit varyansları destekler ve bu da var.equal = TRUE seçeneğinin kullanımını haklı çıkarır.
3. Bağımsızlık. Bu, çalışma tasarımından kaynaklanmaktadır ve sonradan test edilemez. Eğer aynı denek her iki vektöre de katkıda bulunuyorsa, bağımsız test yanlış bir araçtır ve eşleştirilmiş = TRUE seçeneğini kullanmanız gerekir.
Bir varsayımın yanlış çıkması durumunda. Küçük örneklem büyüklüğüne sahip ve açıkça normal dağılım göstermeyen veriler için, sıralamaya dayalı alternatifleri kullanın: wilcox.test(x, y) iki örneklemli t-testinin yerini alırken, wilcox.test(x, y, paired = TRUE) eşleştirilmiş versiyonun yerini alır. Her ikisi de normallik gerektirmez, ancak veriler aslında normal olduğunda biraz güç kaybına neden olurlar.
R'de T-Testi: Temel Çıkarımlar ve Test Referansı
- İstatistiksel Çıkarım, verilerin dağılımı hakkında sonuçlar üretme sanatıdır.
- T-Testi çıkarımsal istatistik ailesine aittir. Genellikle iki grubun ortalamaları arasında istatistiksel bir fark olup olmadığını bulmak için kullanılır.
- Tek örneklem t-testi veya Student testi, bir vektörün ortalamasını teorik bir ortalama ile karşılaştırır.
- Eşleştirilmiş t-testi veya bağımlı örneklem t-testi, aynı grubun iki kez ölçüldüğü durumlarda uygulanır.
Aşağıdaki tabloda yukarıda ele alınan her test özetlenmiştir:
| test | Test edilecek hipotez | p-değeri | Code | İsteğe bağlı bağımsız değişken |
|---|---|---|---|---|
| tek örnek t testi | Bir vektörün ortalaması teorik ortalamadan farklıdır | 0.05 |
t.test(x, mu = mean)
|
|
| eşleştirilmiş örnek t testi | Aynı denekler için A ortalaması B ortalamasından farklıdır. | 0.05 |
t.test(A, B, paired = TRUE) |
var.equal = TRUE
|
Bağımsız iki örneklem testinde eşit varyans varsayımını kabul ediyorsanız, var.equal = TRUE olarak ayarlayın. Daha güvenli olan Welch düzeltmesini çalıştırmak için varsayılan FALSE değerinde bırakın.




