“Rock vs. Pop” : Harflere dayalı Bağımsız İki Örneklem Testi
Bu yazıda en iyi rock ve en iyi pop türüne ait sanatçıların şarkılarında geçen her harfin frekans verileri üzerinden, bu iki tür arasındaki farklılığın istatiksel olarak değerlendirmesini yaptım. Bunun için H0 (yokluk), ve H1 hipotezlerini kurarak Bağımsız iki örneklem test yöntemini uyguladım. H0 hipotezi; bu iki müzik türünün şarkı sözlerinde kullanılan ilgili harfin frekans ortalamaları arasında anlamlı bir farklılık olmaması durumu üzerine kurdum. Analiz için İngilizce alfabesinde geçen harfleri kullandım.
Bağımsız iki örneklem testi hakkında kısa bir bilgi verilmek gerekirse; birbirinden bağımsız iki grup arasından elde edilen ortalamalar arası farkın istatiksel olarak karşılaştırılmasını şansa bırakmayacak şekilde yapılmak istenildiğinde kullanılabilir. Verilere, varsayımları sağlayıp sağlamamasına göre parametrik veya parametrik olmayan iki farklı test tekniği uygulanır. Çıkan sonuç bize iki grup arasında gerçekte değerini bilmediğimiz ana kitlelerine ilişkin farkın istatiksel olarak var olup olmadığını değerlendirme imkanı verecektir.
Bu çalışmadan elde edilen sonuçlar şu şekilde oldu:
- İki grup arasındaki normallik varsayımı her harf için p değeri = 0.000 olarak bulundu. Bunun anlamı: H0 reddedildi, normallik varsayımı sağlanamadı.
- Homojenlik varyansı kontrolünde p değeri > 0.05 olarak bulundu. Bunun anlamı: H0 reddedilemedi ve varsayım sağlandı.
- Homojenlik varyansı sağlansada Normallik varsayımı sağlanamadığı için parametrik olmayan “mannwhitneyu” testi uygulandı. Aradaki farkı görme açısından varsayımların hepsinin sağlandığını kabul ederek parametrik olan “ttest” de uygulandı.
- mannwhitneyu testine göre Rock ve Pop müzik türüne ait şarkı sözlerinde geçen U ve V harfleri hariç diğer tüm harfler için H0 hipotezi reddedilemez olarak bulundu. Bunun anlamı; bu harflerin frekans ortalamalarında %95 güvenirlik sınırları içerisinde istatiksel olarak anlamlı bir farklılık yoktur.
- U ve V için p değeri sonuçları 0.05 altında olduğu için H0 hipotezi reddedilir. Bu harflerin frekans ortalamasında %95 güvenirlik oranında istatiksel olarak anlamlı bir farklılık vardır.
Anahtar sözcükler: AB Testi, QQ plot, mannwhitneyu, pandas, H0 Hipotezi
Veri setleri, fonksiyon ve kodlara ulaşmak için : GITHUB
A- VERİSETİNİN HAZIRLANMASI
1- Türlere ait veri tabanını oluşturmak için letter_of_songs fonksiyonunun çalıştırılması gerekiyor. Bunun için başta GENIUS API key alınması ve api_key parametresine girilmesi lazım. Nasıl alındığını öğrenmek “Long Live Rockn Roll” yazıma bakabilirsiniz.
2- 100 Pop ve 100 Rock sanatçının isimlerinin olduğu iki liste oluşturdum ve fonksiyonda bu listelere verdiğim isimleri kullandım. Bu listelerdeki bazı isimler Genius.com’dan geri dönüş sağlayamadı, bu yüzden veri setleri her müzik türü için tam 100 şarkıcıyı getiremedi, birkaç eksik şarkıcı olduğunu söylemek isterim. Listelerin son halini github sayfamda bulabilirsiniz.
pop_list = [‘Tina Turner’, ‘Frank Sinatra’, ‘Queen’, ‘Elton John’,
‘Stevie Wonder’, ‘Bee Gees’, ‘David Bowie’, ‘ABBA’, ‘Cyndi Lauper’,
‘The Beach Boys’, ‘Michael Jackson’, ‘John Lennon’,……]
rock_list = [‘Led Zeppelin’, ‘Queen’, ‘The Beatles’, ‘Pink Floyd’,
‘The Rolling Stones’, ‘Jimi Hendrix’, ‘AC/DC’, ‘The Who’,
‘Guns N’ Roses’, ,‘Elvis Presley’, ‘Van Halen’, ‘The Doors’,….]
3-Sanatçıların bilgilerine ulaşarak “sanatçı adı”, “sanatçı ID”, “şarkı adı”, “şarkı ID”, “şarkı sözü” ve “A” dan “Z” ye kadar her harfi ayrı bir değişken olarak alan letter_of_songs foksiyonunu hem pop hem de rock müzik türü için ayrı ayrı çalıştırdım. Her sanatçının 5 şarkısını aldım.
4-Veri setlerini inceledim, aykırı ve eksik değerlerin kontrolünü yaptım. Bazı grupların şarkıları 5 den az. İlginç bir şekilde Rock veri setinde “Heart” grubun yerine “The Beatles” grubunun bilgileri geliyor. Bunu veriden temizledim.
5-Veri setlerine “genre” değişkeni altında tür bilgilerini (pop,rock) ekledim. Daha sonra bu veri setlerini birleştirdim.
6- Sayısal değişkenler ile karışmaması için ID değişkenlerini “object” tipine çevirdim. “sum” adında yeni bir değişken oluşturdum. Bu değişken her bir şarkıda kullanılan toplam harf sayısını veriyor.
7- Her iki veri setinde bulunan bazı sanatçılar aynı. Demek ki ranker.com bunları hem pop hem de rock sanatçısı olarak listesine eklemiş. Bu test için bir problem değil.
B-HİPOTEZ TESTİNİN UYGULANMASI
1: Hipotezleri Kur
H0: μ1 = μ2 (Pop ve rock türüne ait şarkı sözlerinde geçen ilgili harf frekans ortalamasında anlamlı bir farklılık yoktur)
H1: μ1 ≠ μ2 (anlamlı bir farklılık vardır)
2: Varsayım Kontrolü
2.1 Normallik Varsayımı Kontrolu (shapiro)
Hipotezler
- H0: Normal dağılıma sahiptir
- H1: Normal dağılıma sahip değildir
Yorum: Tüm harflere ait p değeri 0.000'dır. Yukarıda E harfine kadar gösterilmiştir. Bu değer 0.05 alfa değerinden küçük olduğu için H0'ı reddederiz. Yani normallik varsayımı sağlanamıyordur. Bunu grafik üzerinde incelemek için QQ plot yöntemi kullanılır.
QQ plot ile normallik varsayımının değerlendirmesi
Normallik dağılımının sağlanması için mavi noktaların yani verimizin, kırmızı renkli normalliği gösteren teorik çizgi boyunca konumlanmış olması beklenir.
- QQ plot çıktısında düşey eksen örnek dağılımını, yatay eksen teorik dağılımı ifade eder.
- Örnek olarak aldığımız E harfinin frekans dağılımının kırmız çizgi boyunca paralel olmayacak şekildeki dağılımı E harfinin normal dağılıma sahip olmadığı gösteriyor. Tüm harfler için yapılan görselleştirme yukarıdaki grafiğe benzer sonuçlar üretti.
- Grafik incelendiğinde normal dağılımın sağlanmadığı gözlenmektedir.
- Teorik ve örnek dağılımın birbirine benzemediği sonucu çıkarılır.
* 2.2 Varyans Homojenliği Kontrolü (levene)
Varyans homojenliği değişkenlerin dağılımının birbirine benzerliğini değerlendirir.
Hipotezler
H0: varyanslar homojendir
H1: varyanslar homojen değildir
Yorum: p değerleri 0.05 den büyük olduğu için H0 in reddedilemez. Bu da varyans homojenliği varsayımının sağlandığı anlamına gelmektedir. Yani değişken dağılımları birbirine benzerdir. Ama normallik varsayımı sağlanmadığı için ttest’i yerine parametrik olmayan veri setlerine uygulanan mannwhitneyu testini yaparız.
3: Hipotezin Uygulanması
- 3.1 Varsayımlar sağlanıyorsa bağımsız iki örneklem testi (parametrik test) (stats.ttest_ind) (Sadece deneme amaçlı yapıldı!)
- 3.2 Varsayımlar sağlanmıyorsa mannwhitneyu testi (non-parametrik test) (stats.mannwhitneyu)
- p değeri 0.05 den küçük olanlar
Yorum: p değeri sadece 2 harf haricindeki tüm diğerler harflerde alfa değerinden büyük çıktı. Bunun anlamı bu harflerde H0 reddedilemez. Pop ve rock müzik türlerinde bu harflerin frekans ortalamaları arasında % 95 güvenirlik oranında istatiksel olarak anlamlı bir farklılık yoktur yorumu yapılırken, U ve V harfleri için H0 reddedilir ve anlamlı bir farklılık vardır yorumu yapılır.
D-VERİ SETLERİNİN TEST KULLANILMADAN DEĞERLENDİRMESİ
Pop ve Rock şarkı sözlerinde geçen her harfe ilişkin karşılaştırmayı hem tablo şeklinde yüzdesel ve ortalama olarak, hem de grafiksel karşılaştırma olarak görmek için letter_perc adında bir fonksiyon hazırladım. Bu fonksiyon çıktı sonuçlarına göre;
- Ortalama ve yüzdesel değerler birbirine çok yakınlar.
- Harf bazında yüzdesel olarak pop ve rock müzik türünü sıraladığımızda, sıralama hemen hemen aynısı.
E-SONUÇLAR
- Hem istatiksel test sonuçları hem de test kullanılmadan yapılan gözlemlerde Pop ve Rock müzik türlerinden alınan yaklaşık 500'er adet şarkı örneğinde geçen her harfin frekans ortalamasında (U ve V harfi hariç) %95 güvenirlik oranında istatiksel olarak anlamlı bir farklılık yoktur.
- Buradan şu yorumu çıkarabiliriz Pop ve Rock müzik türlerine ait şarkı sözlerinde kullanılan kelimeler ve buna bağlı harf frekansları arasında benzerlik vardır.
Referanslar:
İletişim:
Hakan SARITAŞ
linkedin : www.linkedin.com/in/hakansaritas
GitHub: hakansaritas (HAKAN SARITAŞ) · GitHub
kaggle: Hakan Saritas