Öne çıkan

Bulut Performans Endeksi [BE] Simülasyonu

Bulut Performance Index [BI] Simulation

Giriş

Bulut Endeksi (BE)‘nin ilk uygulamaları her ne kadar finansal performans analizi alanında olsa da diğer çok kriterli karar verme (ÇKKV) problemlerinin çözümünde ve performans analizlerinde de kullanılabilmektedir. Bu endeksle maximum ve minimum prensibine dayalı olarak çalışan diğer Çoklu Karar Verme Yöntemlerinin eksikliklerinin giderilmesi de amaçlanmıştır. Nihai olarak, geliştirilen endekse ilişkin çalışmanın makalesi hakemli bir dergi olan Verimlilik Dergisi’nin 2017 yılı 3. sayısında yayınlanmış olup, uygulamayı göstermesi ve somutlaştırması adına Microsoft Excel 2016’da hazırladığım bütün seviyeleri içeren Bulut Endeks (BE) simülasyonu aşağıdaki linkten indirilebilir. Simülasyonun daha iyi anlaşılması adına yayınlanmış makaleyle birlikte değerlendirilmesi önem arz etmektedir.

Makaleyi indirmek için buraya tıklayınız: Bulut Endeksi

Dergi Bilim Kurulu: Bilim Kurulu

Bulut Endeks (BE) Metodolojisi

Endeksin uygulama adımları Şekil 1’de gösterilmiştir.

Şekil 1. BE Uygulama Adımları

BE, karar vericiye genel (Level 1), orta (Level 2) ve çekirdek (Level 3) olmak 3 seviyede statik ve dinamik çıktı üretme olanağı tanır. Bu seviyeler Şekil 2’te özetlenmiştir. Çekirdek (core) denilen her bir kriter seviyesinde üretilen Bulut Endeks sonuçları ile hem alternatifler arasında (horizontal analysis: yatay analiz) hem de kriterler bazında her bir alternatifin kendi içerisinde (vertical analysis: dikey analiz) değerlendirilmesine olanak sağlanır. Bu seviyede yatay analiz açısından kriter sayısı (satır sayısı) X alternatif sayısı (sütun sayısı) kadar (horizantal analysis) sonuç üretilerek çok daha derinlemesine analiz yapılabilir. Dikey analiz için ise matrisin sütun (alternatif) sayısı kadar sonuç üretilmiş olacaktı. Örneğin,  kullanılacak karar kriteri (satır) sayısı 10, alternatif (sütun) sayısı 50 ise yatay ve dikey analiz açısından 10×50=500 adet sonuç üretilmiş olacaktı. Verimlilik dergisinde yer alan örnek esas alınarak aşağıda excel dokümanı üzerindeki uygulamada, yatay ve dikey analiz için üretilecek sonuç 24 (kriter) x 23 (alternatif) = 552’dir.

Karar vericinin araştırma tasarıma ve amacına bağlı olarak orta ve çekirdek seviyede çıktı üretilmek istenmeyebilir, genel seviyede elde edilen BE sonuçları karar vericiye yeterli olabilir.

BE çıktı üretme seviyeleri 3 seviyede ele alınabilir;

  1. Seviye 1 (Genel)’de alternatiflerin bütün kriterlerinin değerlerinden hareketle genel bir BE değeri üretilir.
  2. Seviye 2 (Kategorize edilmiş kriter değerleri)’de kriter kümelerine göre BE değeri üretilir.
  3. Seviye 3 (Çekirdek)’de kriter değerleri baz alınarak alternatifler kendi içinde ve aralarında analiz edilerek BE değeri üretilir.

Şekil 2. BE Çıktı Üretme Seviyeleri

be

BE 3 seviyede çıktı üretmekte olup, bu 3 çıktı seviyesine göre üretilen çıktı sayısı ile üretilen BE skorların dayalı olduğu seviye değişkenleri Şekil 3’te gösterilmiştir.

Burada,

L:  seviye (Level),

m: matristeki satır veya kriter sayısı (the number of rows or criteria in the matrix),

n: matristeki sütun veya alternatiflerin sayısı (the number of columns or alternatives in the matrix),

c: benzer özelliklere sahip kriterlerden oluşan toplam küme sayısı olmak üzere (the total number of clusters of criteria with similar characteristics)

göstermek üzere seviyelere göre üretilen çıktı sayısı

Seviye 1 için üretilen sonuç sayısı (Number of results produced for Level 1)

L1=n

Seviye 2 için üretilen sonuç sayısı (Number of results produced for Level 2)

L2=cxm

Seviye 3 için üretilen sonuç sayısı (Number of results produced for Level 3)

L3=mxn

kadardır.

Şekil 3. BE Çıktı Üretme Seviyeleri ve BE Çıktılarının Dayalı Olduğu Tabaka Değişkenleri

BE Tabaka

Alt seviyelerde (2. ve 3. seviyeler) analiz neden önemlidir?

Bu önemlidir çünkü genel endeks değerleri çok iyi bir alternatif, kriterler kategorize edilerek oluşturulmuş 2. seviyede ve kriterlerin tek başına değerlendirildiği 3. seviyede Bulut Endeksleri skorlarında farklılık gösterebildiği, başka alternatiflerin bu alt endekslerde öne çıktığı görülebilmektedir. Benzer şekilde, Seviye 3’te kriter bazlı değerlendirmelere de olanak tanıyan bu endeksle alternatiflerin gerçekleşen kriter değeri ile olması gereken değerleri karşılaştırılarak çekirdek seviyede Bulut Endeksi değerleri elde edilebilir.

Geliştirilen endeks yöneylem araştırma (operation research) alanı içerisinde yer alan Çok Kriterli Karar Verme (ÇKKV) problemlerinin çözümünde sektör ayrımı olmaksızın rahatlıkla kullanılabilecektir. Karar kriterlerinin açık uçlu ve tek yönlü eşitsizlik içerdiği durumlarda alt seviyeleriyle birlikte (genel, orta ve çekirdek) uygulama alanı sunarak bir çok çıktı elde edilmesine olanak tanır. Bahsedilen bu yönleriyle Bulut Endeksi (BE) literatüre önemli bir katkı sunmaktadır.

Aşağıda excel ortamında uygulaması yapılan Bulut Endeksi (BE) simülasyonunda kriterlerin yönüne göre veri kümesi içerisindeki değerlerin minimum ve maksimum olanı alınarak kriter değerlerinin standart değeri olarak belirlenerek (Aşağıdaki örneğimizde kriterin yönüne göre kriterlerin maksimum ve minimum değerleri standart değer olarak alınmıştır. Karar verici yapılan işin, sektörün niteliğine ve literatürde öngörülen değerlere göre kriterlerin standart değerlerini belirleyebilir. Belirlenen kritere ait standart değer, veri kümesindeki değerlerin minimum olanı olabileceği gibi maksimum olanı, veri kümesindeki değerlerin ortalaması ya da literatürdeki değeri de olabilir.) varsayımsal olarak bu değerler ideal değerler olarak alınmıştır. Exceldeki örneğimizde ağırlıklandırma işlemi yapılmamıştır. Eğer karar verici ağırlıklandırma yapacaksa Adım 5 (Minimum Olması İstenen Değerlerin Tersine Çevrilmesi)‘te mutlak eşleştirme yapıldıktan sonra elde edilen matristeki kriterlerin değerleri ile belirlenen ağırlık katsayıları ile çarpılarak ağırlandırılmış karar matrisi elde edilir. Daha sonra Adım 6 (Endeks Referans Değerlerinin Belirlenmesi)’ya geçilir. Ağırlıklandırma işleminde karar verici veri setinin yapısına, araştırmanın içerik ve niteliğine göre istediği ağırlıklandırma yöntemini (nitel ya da nicel yöntemler) kullanılabilir.  

Excel simülasyonunda Minimum Olması İstenen Değerlerin Tersine Çevrilmesi aşamasında kriter değerlerinin tersine sıralanarak ilgili değeri ilgili alternatifin altına yazdırmak için kullanılan formül:

=KÜÇÜK($D$60:$H$60;RANK(D60;$D$60:$H$60;0)))

Şimdi sırasıyla formül içinde kullanılan fonksiyonları dışardan içe doğru açıklayalım.

=KÜÇÜK fonksiyonu, bir veri kümesinde n. en küçük değeri verir. Bir veri kümesinde belirli bir göreli konumu olan değerleri elde etmek için bu fonksiyon kullanılır.

=RANK fonksiyonu, bir veri kümesi içindeki bir değerin o veri kümesi içindeki sırasını verir. Bu fonksiyonun içinde yer alan 0 ise yapılacak sıralamanın tersine olacağı anlamına gelir. Eğer bu formülde 0 yerine 1 kullanılmış olsaydı ya da hiç bir şey kullanılmamış olsaydı (default olarak) normal sıralama değerlerini elde edecektik.

Özetle, Minimum Olması İstenen Değerlerin Tersine Çevrilmesi aşamasında =KÜÇÜK($D$60:$H$60;RANK(D60;$D$60:$H$60;0))) formülünde tersine sıralama yaparak veri kümesindeki seçili değerin sırasını belirliyoruz. Daha sonra belirlenen bu sıraya göre o sırada yer alan değeri getirmesini istiyoruz. Diğer bir deyişle, kriter yönü minimum olan değerlerin kendi içerisinde tersine sıralama yaparak yerini değiştirmiş oluyoruz. Böylece verilerde hiç bir bozulma olmadan Mutlak Eşleştirme yapmış oluyoruz.

Microsoft Excel ortamında hazırlamış olduğum simülasyon çalışmasını aşağıdaki linkten indirebilirsiniz. Simülasyon uygulamasında tekrarlı basit tesadüfi örnekleme tekniği kullanarak sentetik alternatif kriter değerleri üretilmiştir. F9 tuşuna basılı tutarak alternatiflere yönelik yeni kriter değerleri üreterek farklılaşmaları görebilirsiniz. Simülasyon çalışmasındaki sayfalar formül korumalı olduğu için tbulut şifresini girerek çalışmalarınıza uyarlayabilirsiniz. Bu simülasyon çalışması Bulut Endeksi (BE)’nin bütün seviyelerinde hazırlanarak kullanıcılara Bulut Endeksi (BE)’nin anlaşılmasının ve kullanılmasının kolaylaştırılması amaçlanmıştır.

Bulut Endeksi (BE) Hangi Alanlarda Kullanılır?

Dinamik bir nitelik de taşıyan Endeks açık uçlu ve tek yönlü eşitsizlikleri (standart değeri olan ya da hesaplanan) içeren;

  1. Sıralama (Ranking)
  2. Seçim (Selection)
  3. Etkinlik ve verimlilik ölçümleri (measurements  of efficiency and productivity)
  4. Performans değenlendirme (performance evaluation)
  5. Risk tahmini (risk estimation)
  6. Optimal çözüm (optimal solution)

problemlerinin çözümünde sektör ayrımı gözetmeksizin rahatlıkla uygulanabilir. Kamu kurum ya da kuruluşları ile birlikte özel sektör oluşturacağı endekslerde ve analizlerde hem genel değerlendirmeye hem de alt seviyelerde değerlendirmelere olanak tanıdığı ve aynı zamanda dinamik bir yapıya sahip olduğu için Bulut Endeksi (BE)’ni kullanabilirler. Bu noktada, kurum ya da kuruluşların yapması gereken tek şey, değerlendirmeye konu kriterlerin ve gerekliyse bu kriterlerin ağırlıklarının belirlenmesidir.

Bulut Endeks (BE) Yöntemini Kullanan Bilinen Çalışmalar

  1. Kıran, Şafak. (2018). Sağlık kurumları finansal tablo analizlerinde kullanılabilecek anahtar finansal oranların belirlenmesi: Bir performans endeksi önerisi, Kahramanmaraş Sütçü İmam Üniversitesi, Sosyal Bilimler Enstitüsü, Sağlık Yönetimi Ana Bilim Dalı. Yüksek Lisans Tezi. YÖK Tez No: 524092. Bulut Performans Endeksi (BE)’nin 1. ve 2. seviyelerinde yapılan örneklem büyüklüğü (n) geniş kapsamlı bir çalışmadır.
  2. Güden, Merve.(2021). “Metal Eşya Endeksine Kayıtlı Şirketlerin Finansal Performanslarının Bulut Endeks Performans Yöntemiyle Değerlendirilmesi” Yüksek Lisans Tezi, Adnan Menderes Üniversitesi, İşletme Anabilim Dalı, Muhasebe ve Finansman Yüksek Lisans Programı. Yüksek lisans tezi 5 Ocak 2021 tarihinde kabul edilmiş olup, yakında YÖK Tez’de de yayınlanacaktır. Bulut Performans Endeksi (BE)’nin 1, 2 ve 3. seviyelerinde yapılan bir çalışmadır.

Faydalı olması ve farkındalık oluşturması dileğiyle.

Bilimle ve teknolojiyle kalınız.

Saygılarımla.

Not: Kaynak gösterilmeden alıntı yapılamaz veya kopyalanamaz.

Note: It can not be cited or copied without referencing.

Yararlanılan Kaynaklar

Öne çıkan

R’da Quandl Kütüphanesi İle Veri Çekme ve Dinamik Grafik Oluşturma: Extracting Data with Quandl Library and Creating Dynamic Charts in R

Intro

Within the scope of the study, how the data sets are drawn with the Quandl R package, how the metadata is obtained, how dynamic graphics are created especially in the data sets with time series are discussed using dygraphs and plotly packages.

Giriş

Çalışma kapsamında Quandl R paketi ile veri setlerinin nasıl çekildiği, meta verinin nasıl elde edildiği, özellikle zaman serileri bulunan veri setlerinde dinamik grafiklerin nasıl oluşturulduğu dygraphs ve plotly paketleri kullanılarak ele alınmıştır.

Quandl R paketi ile premium veri setlerini alabileceğiniz gibi ücretsiz olarak tanımlanmış veri setlerini de alabilirsiniz. Burada bir ücret söz konusu değildir. Bazı veri setlerinin indirilebilmesi için bu pakette ücretli abonelik tanımlanmıştır.Quandl R paketi ücretsizdir. Ancak günde 50’den fazla arama yapmak istiyorsanız, ücretsiz bir Quandl hesabı oluşturmanız ve API anahtarınızı almanız gerekir.Premium veri setlerine ulaşabilmek için de API anahtarının olması gerekir. API anahtarını https://www.quandl.com/login web adresinden kayıt yaptırarak alabilirsiniz.API anahtarını elde ettikten sonra Quandl.api_key(“API anahtarı”) ve Quandl(“FRED/GDP”) veya kombine olarak Quandl(“FRED/GDP”,api_key=”API anahtarı”) şeklinde yazılması gerekir. Buradaki örneğimizde ABD Merkez Bankasının Gayri Safi Milli Hasıla (GDP) verisi çekilmiştir.Fonksiyon içerisinde FRED ise Federal Reserve Economic Data yani Federal Rezerv Ekonomik Verisi’nin kısaltmasıdır. Ücretsiz olarak tanımlanan veri setlerinde bahsedildiği üzere API anahtarına ihtiyaç yoktur.Veri setlerini farklı formatlarda alabilirsiniz. Bunlardan bir kaçı şöyledir:

  • Ham veri: Quandl(“FRED/GDP”, type=”raw”)
  • ts formatı: Quandl(“FRED/GDP”, type=”ts”)
  • xts formatı:Quandl(“FRED/GDP”, type=”xts”)
  • zoo formatı: Quandl(“FRED/GDP”, type=”zoo”)

Yukarıda belirtilen ts, xts ve zoo formatları zaman serisi formatları bilinmektedir.

Eğer veriyi farklı zaman periyodları halinde almak istersek veri setinin yapısına göre saatlik, günlük, haftalık, aylık, çeyrek dönemlik olarak da alabiliriz. Örneğin, Quandl(“FRED/GDP”, type=”ts”, collapse=”annual”) fonksiyonunda ABD GDP verisini yıllık olarak ve ts formatında almış oluruz.

Çalışmada grafikler oluşturulurken veri madenciliği teknikleri kullanarak nasıl grafiklere uygun hale getirildiğini de görmüş olacaksınız.

Yüklenen kütüphaneler

kütüphane<-c("dplyr","tibble","tidyr","ggplot2","ggthemes","readxl", "writexl", "psych", "GGally", "rstatix","RColorBrewer","htmlwidgets","kableExtra","stargazer","readr", "lubridate", "Quandl", "xts", "data.table", "dygraphs", "quantmod", "plotly")
yükle<-sapply(kütüphane, require, character.only = TRUE, warn.conflicts = FALSE)
 
#Kütüphane yüklenme durumunu gösteren tablo
 
tablo=suppressWarnings(yükle, classes = "warning")
   
isim=names(tablo)
   
deger=as_tibble(tablo)
   
data.frame(Sıra=1:length(isim), Kütüphane=isim, Durumu=deger$value) %>% 
mutate(Durumu=if_else(Durumu==TRUE, "Yüklendi", "Paket Kurulumu Gerekli")) %>% 
kable(caption = "Yüklenen Kütüphaneler")%>%
kable_styling(bootstrap_options = c("striped", "hover"), full_width = F, html_font="calibri")

Veri setlerine ulaşma

National Stock Exchange of India Prices (NSE) OIL veri setinden çeyrek dönemlik ve zoo formatında veri elde edilmiştir.

```{r}
Quandl('NSE/OIL', collapse = "quarterly", type = "zoo", limit = 10)%>% 
kable() %>%
kable_styling(bootstrap_options = c("striped", "hover"), full_width = F, html_font="calibri")
```

Türkiye aramasına göre veri setleri

Burada ilk 6 kayıt verilmiştir.

Quandl.api_key('Api Anahtarı')
Quandl.search(query="Turkey", silent=T) %>% 
select(id, dataset_code, database_code, name,	description)%>%
kable() %>%
kable_styling(bootstrap_options = c("striped", "hover"), full_width = F, html_font="calibri")

Ekonomik göstergeler veri seti (Global Economic Indicators)’nden bir kesit

Quandl.api_key('Api Anahtarı')
Quandl.datatable('EDIA/ECD')%>% 
as_tibble() %>% 
head() %>% 
kable() %>%
kable_styling(bootstrap_options = c("striped", "hover"), full_width = F, html_font="calibri")

ABD Milli Hasıla verisi

# veri birleştirme
r=Quandl("FRED/GDPC1") %>% 
as_tibble()%>% mutate(tur=rep("Reel GSMH",298))

g=Quandl("FRED/GDP") %>% 
as_tibble() %>% mutate(tur=rep("GSMH",298))

rp=Quandl("FRED/GDPPOT")%>% 
as_tibble() %>% mutate(tur=rep("Reel Potansiyel GSMH",332))

veri=bind_rows(r,g, rp) %>% rename("Hasıla"=Value, "Tarih"=Date)
veri %>% ggplot(aes(x=Tarih, y=Hasıla, group=tur))+geom_line(aes(colour=tur), size = 1) + theme_igray() + ggtitle("ABD Milli Hasıla ($)")+ xlab("Tarih")+ylab("Milyar $")+scale_x_date(date_breaks = "8 years", date_labels = "%Y" )+
theme(plot.title = element_text(hjust = 0.5))+
labs(color='Türü')+
labs(caption = "Veri kaynağı: FRED")

Dinamik grafik oluşturma 1

Burada dygraph kütüphanesi kullanılarak dinamik grafik oluşturulmuştur. Ancak burada sadece oluşturulan grafiğin resmi verilmiştir. Çalışmanın sonunda html linki paylaşılacaktır.

r=Quandl("FRED/GDPC1") %>% 
as_tibble()%>% mutate(tur=rep("Reel GSMH",298))%>% rename("Hasıla"=Value, "Tarih"=Date)
r1=r[,c(1:2)]
r1$Tarih= as.Date(r1$Tarih)

r2=as.xts(as.data.table(r1))

dygraph(r2, main="ABD GSMH") %>%
  dyOptions(labelsUTC = TRUE, fillGraph=TRUE, fillAlpha=0.2, drawGrid = T, colors="red") %>%
  dyRangeSelector() %>%
  dyAxis("y", label = "Milyar ($)") %>%
  dyCrosshair(direction = "vertical") %>%
  dyHighlight(highlightCircleSize = 8, highlightSeriesBackgroundAlpha = 0.4, hideOnMouseOut = FALSE)  %>%
  dyRoller(rollPeriod = 1)

Dinamik grafik oluşturma 2

Burada dygraph kütüphanesi kullanılarak birden fazla değişken aynı grafik üzerinde gösterilmiştir. Ancak burada sadece oluşturulan grafiğin resmi verilmiştir. Çalışmanın sonunda html linki paylaşılacaktır.

r=Quandl("FRED/GDPC1") %>% 
as_tibble()%>% mutate(tur=rep("Reel GSMH",298))

g=Quandl("FRED/GDP") %>% 
as_tibble() %>% mutate(tur=rep("GSMH",298))

rp=Quandl("FRED/GDPPOT")%>% 
as_tibble() %>% mutate(tur=rep("Reel Potansiyel GSMH",332))

veri=bind_rows(r,g, rp) %>% rename("Hasıla"=Value, "Tarih"=Date)


lv=pivot_wider(veri, names_from = tur, values_from = Hasıla)

lv$Tarih= as.Date(lv$Tarih)

lv1=as.xts(as.data.table(lv))

dygraph(lv1, main="ABD GSMH Türleri") %>%
  dyOptions(labelsUTC = TRUE, fillGraph=TRUE, fillAlpha=0.2, drawGrid = T) %>%
  dyRangeSelector() %>%
  dyAxis("y", label = "Milyar ($)") %>%
  dyCrosshair(direction = "vertical") %>%
  dyHighlight(highlightCircleSize = 8, highlightSeriesBackgroundAlpha = 0.4, hideOnMouseOut = FALSE)  %>%
  dyRoller(rollPeriod = 1)

Dinamik grafik oluşturma 3

Burada plotly kütüphanesi kullanılarak birden fazla değişken aynı grafik üzerinde gösterilmiştir. Ancak burada sadece oluşturulan grafiğin resmi verilmiştir. Çalışmanın sonunda html linki paylaşılacaktır.

r=Quandl("FRED/GDPC1") %>% 
as_tibble()%>% mutate(tur=rep("RGSMH",298))

g=Quandl("FRED/GDP") %>% 
as_tibble() %>% mutate(tur=rep("GSMH",298))

rp=Quandl("FRED/GDPPOT")%>% 
as_tibble() %>% mutate(tur=rep("RPGSMH",332))

veri=bind_rows(r,g, rp) %>% rename("Hasıla"=Value, "Tarih"=Date)


lv=pivot_wider(veri, names_from = tur, values_from = Hasıla) #tablonun geniş formata dönüştürülmesi

sekil <- plot_ly(lv, x = ~Tarih, y = ~GSMH, name = 'GSMH', type = 'scatter', mode = 'lines') 
sekil<- sekil %>% add_trace(y = ~RGSMH, name = 'RGSMH', mode = 'lines') 
sekil <- sekil %>% add_trace(y = ~RPGSMH, name = 'RPGSMH', mode = 'lines')%>%
         layout(title = "ABD GSMH Türleri",
         xaxis = list(title = "Tarih"),
         yaxis = list (title = "Hasıla ($)"))

sekil

Dinamik grafik oluşturma 4

Burada plotly kütüphanesi kullanılarak birden fazla değişken aynı grafik üzerinde alan grafiği olarak gösterilmiştir. Ancak burada sadece oluşturulan grafiğin resmi verilmiştir. Çalışmanın sonunda html linki paylaşılacaktır.

r=Quandl("FRED/GDPC1") %>% 
as_tibble()%>% mutate(tur=rep("RGSMH",298))

g=Quandl("FRED/GDP") %>% 
as_tibble() %>% mutate(tur=rep("GSMH",298))

rp=Quandl("FRED/GDPPOT")%>% 
as_tibble() %>% mutate(tur=rep("RPGSMH",332))

veri=bind_rows(r,g, rp) %>% rename("Hasıla"=Value, "Tarih"=Date)


lv=pivot_wider(veri, names_from = tur, values_from = Hasıla)

#alan grafiği
c <- plot_ly(na.omit(lv), x = ~Tarih, y = ~GSMH, type="scatter", mode="markers", fill = "tozeroy", name = 'GSMH')
c <- add_trace(c, x = ~Tarih, y = ~RGSMH, type="scatter", mode="markers", fill = "tozeroy", name = 'RGSMH')
c <- add_trace(c, x = ~Tarih, y = ~RPGSMH, type="scatter", mode="markers", fill = "tonexty", name='RPGSMH')%>%
         layout(title = "ABD GSMH Türleri",
         xaxis = list(title = "Tarih"),
         yaxis = list (title = "Milyar $"))
c

Dünya Bankası metaveri

data <- Quandl.datatable("WB/METADATA")
data %>% head(10) %>% kable() %>%
kable_styling(bootstrap_options = c("striped", "hover"), full_width = F, html_font="calibri")

Dünya Bankası (DB) veri seti

Burada DB veri setinden TX.VAL.TRVL.ZS.WT değişkeninden orta yüksek gelirli ülkelerde hizmet ihracatının payı (%) grafikle verilmiştir.

options(scipen=999)
veri=Quandl.datatable('WB/DATA') %>% 
as_tibble() %>% filter(country_name=="Upper middle income")%>%
filter(series_id=="TX.VAL.TRVL.ZS.WT")%>%select(year, value) 
veri %>%  
ggplot(aes(x=year, y=value))+ geom_line(aes(color="red"), size = 2) + theme_dark() + ggtitle("Orta Yüksek Gelir Grubundaki Ülkelerde Hizmet İhracatının Payı (%)")+ xlab("Yıl")+ylab("%")+
theme(plot.title = element_text(hjust = 0.5))+
theme(legend.position = "none")+
scale_x_continuous(breaks = seq(from = min(veri$year), to = max(veri$year), by = 2))+
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))+
labs(caption = "Veri kaynağı: Dünya Bankası")

Sonuç

Çalışma kapsamında Quandl R paketi ile veri setlerinin nasıl çekildiği, meta verinin nasıl elde edildiği, özellikle zaman serileri bulunan veri setlerinde dinamik grafiklerin nasıl oluşturulduğu dygraphs, quantmod ve plotly paketleri kullanılarak ele alınmıştır.

Bu çalışma ile ilgili çalışmanın tamamına Quandl Kütüphanesi İle Veri Çekme ve Dinamik Grafik Oluşturma adlı çalışmamın olduğu  https://rpubs.com/tevfik1461/vericekme  linkinden ulaşabilir, dinamik grafikleri burada görebilirsiniz.

Faydalı olması ve farkındalık oluşturması dileğiyle.

Bilimle ve teknolojiyle kalınız.

Saygılarımla…

Not: Kaynak gösterilmeden alıntı yapılamaz veya kopyalanamaz.

Note: It can not be cited or copied without referencing.

Kaynaklar

Öne çıkan

R’da Sosyal Ağ Analizi (SAA): Social Network Analysis in R


Intro

In this study, it is aimed to raise awareness about network analysis (NA or SNA) by analyzing synthetic data produced after basic components of network analysis have been revealed and to show metrics widely used.

Giriş

Ağ analizi ya da sosyal ağ analizi (SAA), araştırmacıların aktörler arasındaki ilişkileri tanımlamasına ve bu ilişkilerin tekrarından ortaya çıkan sosyal yapıları analiz etmesine olanak sağlayan bir dizi tekniktir. SAA’nın temel amacı, sosyal olguyu olabildiğince açıklamaktır ve bu analiz genellikle sosyal ağ analizi (SNA) olarak adlandırılmaktadır. Burada sosyal ağ terimi, bireyler, aileler, haneler, köyler, topluluklar, bölgeler vb.olarak ifade edilebilir. SAA, nicel kavramların açıklanmasına katkısının yanı sıra, nitel kavramların nicel ölçümlerini sağlayarak olguların daha iyi anlaşılmasını sağlar.

Bu çalışma kapsamında R programlama dili kullanılarak üretilen sentetik veriler üzerinden sosyal ağ analizine giriş niteliğinde uygulama örnekleri yapılacaktır.

SNA’da, veri seti genellikle analizden önce matris formatına dönüştürülür. Ancak, diğer veri kümesi biçimleri, R veya Python gibi bazı programlama dilleri tarafından desteklenir.

Ağ analizi birçok farklı konu alanında yapılabilmektedir. Öne çıkan alanlar şu şekilde sıralanabilir:

  • Pazarlama Analitiği
  • Sosyal ilişkiler
  • İlaç
  • Bankacılık İşlemleri
  • Tedarik zinciri
  • Telekom
  • Lojistik

Bir ağın bileşenleri

Bir SAA’nın bileşenleri düğüm ve kenar olup Şekil 1’de gösterilmiştir.

  • Düğüm (Vertex ya da Node): Düğümler veya köşeler, birbiriyle ilişkili birimlerdir. Bir kenar (iki elemanlı bir set), iki köşeyi birleştiren bir çizgi olarak çizilir.

  • Kenar (Edge): İki öğeden oluşan bir küme olan kenar, iki düğümü birbirine bağlayan bir çizgi olarak tanımlanır.


Şekil 1: Bir Ağın Bileşenleri

Sonraki bölümlerde sırasıyla adım adım R kod blokları verilecektir. Daha sonra elde edilen sonuçlar sunulacaktır. Aşağıda çok fazla kütüphane yüklediğime bakmayınız :). Çok daha azı ile de SAA yapılabilmektedir. Daha çok burada visNetwork, dplyr, igraph ve *networkD3 paketleri kullanılmıştır. İlk çalışmadan farklı olarak ikinci çalışmada 3d ağlara, Sankey diyagramına, dendrograma ve radyal ağlara yer verilmiştir. Çalışmanın bu versiyonunda ise tidygraph, ggraph ve netrankr paketlerinin kullanılmasına ve diğer metriklerin hesaplanmasına yer verilmiştir.

Yüklenen kütüphaneler

kütüphane<-c("dplyr","tibble","tidyr","ggplot2","ggthemes","readxl", "writexl", "psych", "GGally", "rstatix","RColorBrewer","htmlwidgets","kableExtra","stargazer","readr", "visNetwork" , "igraph", "networkD3", "tidygraph", "ggraph", "netrankr")
yükle<-sapply(kütüphane, require, character.only = TRUE, warn.conflicts = FALSE)
 
#Kütüphane yüklenme durumunu gösteren tablo
 
tablo=suppressWarnings(yükle, classes = "warning")
   
isim=names(tablo)
   
deger=as_tibble(tablo)
   
data.frame(Sıra=1:length(isim), Kütüphane=isim, Durumu=deger$value) %>% mutate(Durumu=if_else(Durumu==TRUE, "Yüklendi", "Paket Kurulumu Gerekli")) %>% kbl(caption = "Kütüphane Yüklenme Bilgisi") %>% kable_styling(bootstrap_options = c("striped", "hover"), full_width = F, html_font="calibri")

Örnek 1

düğüm <- data.frame(id = 1:3, label=1:3)
kenar <- data.frame(from = c(1,2), to = c(2,3), arrows="to")
visNetwork(düğüm, kenar, main="Basit Bir Ağ Örneği")

Örnek 2

dugum <- data.frame(id = 1:10, label = paste("Etiket", 1:10),
 group = sample(LETTERS[1:3], 10, replace = TRUE), value = 1:10,
 title = paste0("<p>", 1:10,"<br>Düğüm</p>"), stringsAsFactors = FALSE)

kenar <- data.frame(from = c(8,2,7,6,1,8,9,4,6,2),
 to = c(3,7,2,7,9,1,5,3,2,9),
 value = rnorm(10, 10), label = paste("Kenar", 1:10),
 title = paste0("<p>", 1:10,"<br>Kenar</p>"))

visNetwork(dugum, kenar, height = "500px", width = "100%") %>% 
  visOptions(highlightNearest = TRUE) %>%
  visLayout(randomSeed = 1461)

Örnek 3

dugum <- data.frame(
  id = 1:3,
  label = 1:3,
  group=c("A","B","C"),
  value = c(10, 10, 10)
)
kenar<- data.frame(
  from = c(1, 2, 3),
  to = c(2, 3, 1)
)
visNetwork(dugum, kenar, main="Gruplara Göre Ağın Gösterimi") %>% 
  visNodes(shape = "ellipse") %>% 
  visEdges(arrows = "to", smooth = list(enabled = FALSE))%>%
  visGroups(groupname = "A", color = "red") %>%
  visGroups(groupname = "B", color = "lightblue") %>%
  visGroups(groupname = "C", color = "green")%>%
  visLegend(width = 0.1, position = "left", main = "Grup")

Örnek 4: Merkezilik Ölçüleri

Bu kısımda ağ analizinde düğümlerin derece metriği hesaplanmıştır. Derece, bir düğümün kaç komşusu olduğunu gösteren basit bir merkezilik ölçüsüdür. Ağ yönlendiriliyorsa, ölçümün iki versiyonuna sahibiz: derece içi, gelen bağlantıların sayısı veya önceki düğümlerin sayısıdır. Derece dışı, giden bağlantıların sayısı veya ardıl düğümlerin sayısıdır. Tipik olarak, derece ile ilgileniyoruz, çünkü iç bağlantılar ağdaki diğer düğümler tarafından verilirken, dış bağlantılar düğümün kendisi tarafından belirlenir.

Bir düğüm, çok sayıda komşusu varsa veya yönlendirilmiş durumda, kendisine bağlanan çok sayıda başka düğüm varsa veya diğer birçok düğüme bağlanırsa önemlidir.

set.seed(1461)
grup=sample(x=c("Ankara", "İzmir", "Trabzon"), 10, replace = T)
nodes <- data.frame(id = 1:10, label = paste("E", 1:10), grup=grup, title = grup)
edges <- data.frame(from = sample(1:10, 10, replace = T), to =sample(1:10, 10, replace = T), arrows = "to", dashes=c(TRUE, TRUE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE))
graph <- graph.data.frame(edges, directed = T)
degree_value <- degree(graph, mode = "total")# derece içi ve dışının toplamı verilmektedir.
nodes$derece <- degree_value[match(nodes$id, names(degree_value))]
nodes$label <- paste("Derece:", nodes$derece, "(", nodes$id, ")")

visNetwork(nodes, edges, main="Ağ Analizinde Düğümlerde Toplam Derecenin Hesaplanması")%>% 
  visOptions(selectedBy = list(variable = "derece", multiple = F),highlightNearest = TRUE)

Örnek 5: Ağa Navigasyon Butonlarının Atanması

Bu kısımda ağ analizinde düğümlerin derece metriği hesaplanmıştır.

Bir düğüm, çok sayıda komşusu varsa veya yönlendirilmiş durumda, kendisine bağlanan çok sayıda başka düğüm varsa veya diğer birçok düğüme bağlanırsa önemlidir.

set.seed(1461)
grup=sample(x=c("Ankara", "İzmir", "Trabzon"), 10, replace = T)
nodes <- data.frame(id = 1:10, label = paste("E", 1:10), grup=grup, title = grup)
edges <- data.frame(from = sample(1:10, 10, replace = T), to =sample(1:10, 10, replace = T), arrows = "to", dashes=c(TRUE, TRUE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE))
graph <- graph.data.frame(edges, directed = T)
degree_value <- degree(graph, mode = "total")# derece içi ve dışının toplamı verilmektedir.
nodes$derece <- degree_value[match(nodes$id, names(degree_value))]
nodes$label <- paste("Derece:", nodes$derece, "(", nodes$id, ")")

visNetwork(nodes, edges, main="Ağ Analizinde Düğümlerde Toplam Derecenin Hesaplanması")%>% 
visOptions(selectedBy = list(variable = "derece", multiple = F),highlightNearest = TRUE)%>% 
visInteraction(navigationButtons = TRUE)

3D ağlar oluşturma

set.seed(1461)

kaynak <- sample(x=c("Ankara", "İzmir", "Trabzon", "Kayseri", "Sivas", "Antalya"), 10, replace = T)
hedef <-  sample(x=c("Ankara", "İzmir", "Trabzon", "Kayseri", "Sivas", "Antalya"), 10, replace = T)
veri <- data.frame(kaynak, hedef)

simpleNetwork(veri, fontFamily = "calibri", fontSize = 16, zoom = T, nodeColour = "blue", linkColour = "#666", linkDistance = 100)

Hiyerarşik dendogram oluşturma

set.seed(1461)
hk <- USArrests %>% sample_n(20) %>%
  scale() %>% dist() %>%
  hclust(method = "complete")
dendroNetwork(hk, fontSize = 14, height = 500, width = 800,  zoom = T, linkColour = "blue", nodeColour = "green")

Radyal Ağ Oluşturma 1

hk <- hclust(dist(USArrests), "ave")
radialNetwork(as.radialNetwork(hk))

Radyal Ağ Oluşturma 2

radialNetwork(as.radialNetwork(hk), fontSize = 14)

Chord ağı oluşturma

ulasim <- matrix(sample(x=1:10000, 25, replace=F),
nrow =5)
chordNetwork(Data = ulasim, width = 500, height = 500, colourScale = c("#000000", "#FFDD89", "#957244", "#F26223", "#CCFF99"),
             labels = c("Trabzon", "Sivas", "Ankara", "İstanbul", "Antalya"),
             padding = 0.1, fontSize = 16,
             fontFamily = "calibri", labelDistance = 30)

Sankey Diyagram Oluşturma

set.seed(1453)
baglantı <- data.frame(
  kaynak=sample(x=c("Ankara", "İzmir", "Trabzon"), 40, replace = T), 
  hedef=sample(x=c("Kars", "Manisa", "Siirt", "Tekirdağ", "Kayseri"), 40, replace = T),
  deger=sample(x=1:1000, 40, replace=F))

dugum <- data.frame(
  isim=c(as.character(baglantı$kaynak), as.character(baglantı$hedef)) %>% 
    unique()
)

baglantı$IDKaynak <- match(baglantı$kaynak, dugum$isim)-1 
baglantı$IDHedef <- match(baglantı$hedef, dugum$isim)-1

# veri seti
baglantı %>% 
kbl() %>%  
kable_styling(bootstrap_options = c("striped", "hover"))

# Sankey Diyagramı
sd=sankeyNetwork(Links = baglantı, Nodes = dugum, Source = "IDKaynak", Target = "IDHedef", 
              Value = "deger", NodeID = "isim", fontSize= 15, nodeWidth = 10, nodePadding = 50, sinksRight=F, fontFamily = "Calibri")

sd<- prependContent(sd, htmltools::tags$h5("Örnek Bir Sankey Diyagramı"))
sd<-  htmltools::strong(sd)
sd

Tidygraph ve ggraph paketleri ile ağın gösterimi

Burada düğüm sayısı 25 olan bir ağ gösterilmiştir.

f=create_complete(25)
ggraph(f, layout="stress") + 
  geom_edge_link() + 
  geom_node_point()+
  theme_graph()+
  ggtitle(paste("Örnek Ağın Yapısı(Kenar Sayısı=",gsize(f),","," Düğüm Sayısı=",gorder(f),")", sep=""))+
  theme(plot.title = element_text(hjust = 0.5))

Tidygraph ve ggraph paketleri ile ağın gösterimi 1

Burada düğüm sayısı 20 olan halka ağ gösterilmiştir.

f=create_ring(20,  directed = TRUE)
ggraph(f, layout = "stress") + 
  geom_edge_link() + 
  geom_node_point()+
  theme_graph()+
  ggtitle(paste("Örnek Ağın Yapısı(Kenar Sayısı=",gsize(f),","," Düğüm Sayısı=",gorder(f),")", sep=""))+
  theme(plot.title = element_text(hjust = 0.5))

Tidygraph ve ggraph paketleri ile ağın gösterimi 2

k=create_notable('bull') %>%
activate(nodes) %>%
mutate(name = letters[1:5])
ggraph(k, layout = "stress") + 
  geom_edge_link() + 
  geom_node_point()+
  geom_node_label(aes(label = name))+
  theme_graph()+
  ggtitle(paste("Örnek Ağın Yapısı (Kenar Sayısı=",gsize(k),","," Düğüm Sayısı=",gorder(k),")", sep=""))+
  theme(plot.title = element_text(hjust = 0.5))

Tidygraph ve ggraph paketleri ile ağın gösterimi 3

dugum <- tibble(id = c(1, 2, 3, 4, 5, 6, 7, 8), dugum=letters[1:8])
kenar <- tibble(from = c(1, 4, 2, 4, 4, 6, 6, 7, 7, 7),
                  to = c(2, 4, 3, 2, 1, 5, 8, 8, 6, 5))
grafik <- tbl_graph(nodes = dugum, edges = kenar, directed = F)

ggraph(grafik, layout = 'linear', circular = TRUE) +
    geom_edge_link(arrow = arrow(length = unit(4, 'mm')), 
                   end_cap = circle(3, 'mm')) +
    geom_node_point(size = 10, colour = "red") +
    geom_node_text(aes(label = dugum)) +
    theme_graph()+
    ggtitle(paste("Örnek Ağın Yapısı(Kenar Sayısı=",gsize(grafik),","," Düğüm Sayısı=",gorder(grafik),")", sep=""))+
    theme(plot.title = element_text(hjust = 0.5))

Veri seti üzerinden ağ analizi

Bu kısımda R ortamında bulunan highschool veri seti üzerinden ağ analizi yapılarak metrikleri verilmiştir.

data(highschool) 
graph <- highschool %>% mutate(year=factor(year))
graph <- as_tbl_graph(highschool)
graph %>%
ggraph(layout="kk") +
geom_edge_fan(aes(color=year), arrow=arrow()) +
geom_node_point() +
theme_graph()+
ggtitle("Highschool Veri Setindeki Ağın Yapısı")+
theme(plot.title = element_text(hjust = 0.5))

Alt grafiklere bakma

graph <- as_tbl_graph(highschool)
graph %>%
  activate(edges) %>% 
  mutate(year=factor(year))%>%
  filter(year == 1958) %>%
  ggraph(layout="kk") +
  geom_edge_fan(aes(color=year), arrow=arrow()) +
  geom_node_point() +
  theme_graph()+
  ggtitle("Alt Grafikler:1958")+
  theme(plot.title = element_text(hjust = 0.5))

Yönsüz ağa dönüştürme

graph <- as_tbl_graph(highschool)%>%
         activate(edges) %>% 
         mutate(year=factor(year))
         
undirected_graph <- graph %>%
  convert(to_undirected) %>%
  convert(to_simple)
  
undirected_graph  %>%
    ggraph(layout="kk") +
    geom_edge_fan() +
    geom_node_point() +
    theme_graph()+
    ggtitle("Yönsüz Ağ")+
    theme(plot.title = element_text(hjust = 0.5))

Dereceyle orantılı olarak düğümleri gösterme

graph <- as_tbl_graph(highschool)%>%
         activate(edges) %>% 
         mutate(year=factor(year))
         
undirected_graph <- graph %>%
  convert(to_undirected) %>%
  convert(to_simple)
  
undirected_graph %>%
activate(nodes) %>%
mutate(degree=centrality_degree())%>% 
ggraph(layout="kk") +
geom_edge_fan() +
geom_node_point(aes(size=degree, color=degree)) +
theme_graph()+
ggtitle("Dereceyle Orantılı Düğümler")+
theme(plot.title = element_text(hjust = 0.5))

Özvektör merkezilik ölçüsü ile gösterme

graph <- as_tbl_graph(highschool) %>%
         activate(edges) %>% 
         mutate(year=factor(year))
         
graph %>%
convert(to_undirected) %>%
convert(to_simple)%>%
activate(nodes) %>%
mutate(centrality=centrality_eigen()) %>%
ggraph(layout="kk") +
geom_edge_fan() +
geom_node_point(aes(size=centrality, color=centrality)) +
theme_graph()+
ggtitle("Özvektör Merkezilik Ölçüsü")+
theme(plot.title = element_text(hjust = 0.5))

Arasındalık merkezilik ölçüsü ile gösterme

graph <- as_tbl_graph(highschool)%>%
         activate(edges) %>% 
         mutate(year=factor(year))
         
graph %>%
convert(to_undirected) %>%
convert(to_simple)%>%
activate(nodes) %>%
mutate(Arasindalik=centrality_betweenness()) %>%
ggraph(layout="kk") +
geom_edge_fan() +
geom_node_point(aes(size=Arasindalik, color=Arasindalik)) +
theme_graph()+
ggtitle("Arasındalık Merkezilik Ölçüsü")+
theme(plot.title = element_text(hjust = 0.5))

Merkezilik bilgi kriteri ile ağı gösterme

Arasındaki direnç mesafesinin tersin toplamına dayalı merkezilik ölçüsüdür.

graph <- as_tbl_graph(highschool)%>%
         activate(edges) %>% 
         mutate(year=factor(year))
         
graph %>%
convert(to_undirected) %>%
convert(to_simple)%>%
activate(nodes) %>%
mutate(Bilgi_Kriteri=centrality_information()) %>%
ggraph(layout="kk") +
geom_edge_fan() +
geom_node_point(aes(size=Bilgi_Kriteri, color=Bilgi_Kriteri)) +
theme_graph()+
ggtitle("Merkezilik Bilgi Kriteri Ölçüsü")+
theme(plot.title = element_text(hjust = 0.5))

Merkezilik Katz kriteri ile ağı gösterme

Uzak düğümleri cezalandıran yürüyüşlere dayalı merkezilik ölçüsüdür.

graph <- as_tbl_graph(highschool)%>%
         activate(edges) %>% 
         mutate(year=factor(year))
         
graph %>%
convert(to_undirected) %>%
convert(to_simple)%>%
activate(nodes) %>%
mutate(Katz_Kriteri=centrality_katz()) %>%
ggraph(layout="kk") +
geom_edge_fan() +
geom_node_point(aes(size=Katz_Kriteri, color=Katz_Kriteri)) +
theme_graph()+
ggtitle("Merkezilik Katz Kriteri Ölçüsü")+
theme(plot.title = element_text(hjust = 0.5))

Merkezilik rassal yürüyüş (RY) kriteri ile ağı gösterme

Düğümler arasında beklenen rastgele yürüyüş uzunluğunun tersinin toplamına eşit merkezilik ölçüsüdür.

options(scipen = 999)

graph <- as_tbl_graph(highschool)%>%
         activate(edges) %>% 
         mutate(year=factor(year))
         
graph %>%
convert(to_undirected) %>%
convert(to_simple)%>%
activate(nodes) %>%
mutate(RY_Kriteri=centrality_random_walk()) %>%
ggraph(layout="kk") +
geom_edge_fan() +
geom_node_point(aes(size=RY_Kriteri, color=RY_Kriteri)) +
theme_graph()+
ggtitle("Merkezilik Rassal Yürüyüş (RY) Kriteri Ölçüsü")+
theme(plot.title = element_text(hjust = 0.5))

K core decomposition ölçüsü ile ağı gösterme

Düğümler arasında beklenen rastgele yürüyüş uzunluğunun tersinin toplamına eşit merkezilik ölçüsüdür.

options(scipen = 999)
graph <- as_tbl_graph(highschool) %>%
         activate(edges) %>% 
         mutate(year=factor(year))
         
graph %>%
convert(to_undirected) %>%
convert(to_simple)%>%
activate(nodes) %>%
mutate(K_Core=node_coreness()) %>%
ggraph(layout="kk") +
geom_edge_fan() +
geom_node_point(aes(size=K_Core, color=K_Core)) +
theme_graph()+
ggtitle("K Core Merkezilik Ölçüsü")+
theme(plot.title = element_text(hjust = 0.5))

Sonuç

Bu çalışmada, ağ analizinin temel bileşenleri ortaya konulduktan sonra üretilen sentetik veriler analiz edilerek ağ analizi (AA veya SAA) konusunda farkındalık oluşturulması ve yaygın kullanım alanına sahip metriklerin gösterilmesi amaçlanmıştır.

Sosyal ağ analizi ile ilgili çalışmanın tamamına https://rpubs.com/tevfik1461/saa5 linkinden de ulaşabilirsiniz.

Faydalı olması ve farkındalık oluşturması dileğiyle.

Bilimle ve teknoloji ile kalınız.

Not: Kaynak gösterilmeden alıntı yapılamaz veya kopyalanamaz.

Note: It can not be cited or copied without referencing.

Yararlanılan Kaynaklar

Öne çıkan

2021 Yılı Yapay Zekâ Endeksi Raporu

Stanford Üniversitesi tarafından 222 sayfadan oluşan 2021 yılı Yapay Zekâ Endeksi Raporu 2021 yılının Mart ayında yayınlanmıştır. Küresel ölçekte yapay zekâ çalışmaları hakkında bilgi veren en kapsamlı çalışmalardan biri olan raporun 4. baskısı yayınlanmıştır.

Diğer raporlardan farklı olarak 2021 yılı raporunda ayrıca COVID-19’un yapay zekâ gelişimi üzerindeki etkileri farklı bakış açılarından ele alınmıştır. Salgın sırasında COVID ile ilgili ilaç keşfini hızlandırmak için yapay zekâ alanındaki makine öğrenimi tekniklerinin nasıl kullanıldığı tartışılmıştır. COVID-19 salgını konferansların sanal ortamlarda yapılmasını zorunlu hale getirdiğinden ve sonuçta katılımda önemli artışlara yol açtığı için COVID-19 yapay zekâ araştırma konferanslarına ivme kazandırmıştır. Söz konusu raporun “Yapay Zekâ Politikası ve Ulusal Stratejiler” bölümünde yıllara göre ulusal yapay zekâ strateji belgesi yayınlanan ülkeler ve bölgelerden bazılarına yer verilmiştir.

2017 Yılında Ulusal Yapay Zekâ Stratejisini Yayınlayan Ülke ve Bölgeler

Kanada, 2017’de dünyanın ilk ulusal yapay zekâ stratejisini yayınladığından bu yana, 30’dan fazla ülke ve bölge, Aralık 2020 itibarıyla benzer belgeler yayınlamıştır. Kanada’da yapay zekâ stratejisinden sorumlu kuruluş Kanada İleri Araştırma Enstitüsü (CIFAR) olup, 2020 itibarıyla ayrılan bütçe 97 milyon ABD dolarıdır.

Cinde ise yapay zekâ stratejisi Yeni Nesil Yapay Zekâ Geliştirme Planı olarak tanımlanmakta olup, bu plandan sorumlu kuruluş Çin Halk Cumhuriyeti Devlet Konseyi’dir. Çin ayrıca Şubat 2019’da Yeni Nesil Yapay Zekâ İnovasyon ve Geliştirme Bölgesi kurmuştur.

Japonya’da yapay zekâ stratejisinin adı Yapay Zekâ Teknoloji Stratejisi olup, sorumlu kuruluş Yapay Zekâ Teknolojisi Stratejik Konseyi’dir.

Finlandiya’nın yapay zekâ stratejisi Finlandiya Yapay Zekâ Çağı olarak adlandırılmaktadır. Birleşik Arap Emirlikleri’ninki ise Birleşik Arap Emirlikleri Yapay Zekâ Stratejisi olarak bilinmektedir.

2018 Yılında Ulusal Yapay Zekâ Stratejisini Yayınlayan Ülke ve Bölgeler

2018 yılında yapay zekâ stratejisi yayınlanmış ülke ve bölgeler sorumlu kurum/kuruluşlarıyla birlikte şöyledir:

Avrupa Birliği: Avrupa birliğinin yapay zekâ stratejisi Yapay Zekâ Koordinasyon Planı olarak adlandırılmaktadır. Sorumlu kurum ise Avrupa Komisyonu’dur. 2020 yılında yapay zekâ araştırmaları için yılda en az 1 milyar Euro (1,1 milyar ABD Doları) ve stratejinin diğer yönlerin için en az 4,9 milyar Avro (5,4 milyar ABD Doları) kaynak tahsisi yapılmıştır.

Fransa: İnsanlık için Yapay Zekâ: Fransız Yapay Zekâ Stratejisi. Sorumlu kurumlar ve kişiler ise Yüksek Öğretim, Araştırma ve İnovasyon Bakanlığı, Ekonomi ve Maliye Bakanlığı, İşletmeler Genel Müdürlüğü, Halk Sağlığı Bakanlığı, Silahlı Kuvvetler Bakanlığı, Ulusal Dijital Bilimler Araştırma Enstitüsü, Dijital Teknoloji ve Bilgi ve İletişim Sistemi Bakanlıklar Arası Direktörü’dür. 2020 yılı rakamlarına göre 2022’ye kadar 1,5 milyar Avro (1,8 milyar ABD Doları) söz konusu stratejiye kaynak tahsisi yapılması planlanmaktadır. Fransız Ulusal Dijital Bilimler Araştırma Enstitüsü (INRIA), ulusal yapay zekâ stratejisinin koordinasyonunda merkezi bir rol oynamayı taahhüt etmiştir ve ilerlemesi hakkında yıllık rapor sunacaktır.

Almanya: Federal hükümetin yapay zekâ (AI) stratejisi, Federal Eğitim ve Araştırma Bakanlığı, Federal Ekonomik İşler ve Enerji Bakanlığı ile Federal Çalışma ve Sosyal İşler Bakanlığı tarafından ülke çapında çevrimiçi bir danışma toplantısından alınan önerilere dayalı olarak ortaklaşa geliştirilmiştir. Bu strateji “AI Made in Germany” olarak da anılmaktadır. Stratejinin odak noktası, Almanya’yı bir araştırma merkezi olarak güçlendirmek ve endüstrilerinin değerini geliştirmektir. Ayrıca, stratejide kamu yararına ve insan hayatının ve çevrenin daha iyi hale getirilmesi için çalışma yapılmasına vurgu yapılmaktadır. Söz konusu stratejiye 2020 yılı rakamlarına göre 2019 bütçesinde 500 milyon Avro (608 milyon ABD Doları) ayrılmıştır ve 2025’e kadar ise 3 milyar Avro (3,6 milyar ABD Doları) kaynak tahsisi yapılması planlanmaktadır. Kasım 2019’da hükümet, Almanya yapay zekâ stratejisi hakkında bir ara ilerleme raporu yayınlamıştır.

Hindistan: Hindistan’ın yapay zekâ stratejisi #AIForAll olarak adlandırılmıştır. Yapay zekânın ekonomileri dönüştürme potansiyelini ve Hindistan’ın yaklaşımını stratejiye dönüştürme ihtiyacını kabul eden Maliye Bakanlığı, 2018-2019 bütçe sunumunda, Hindistan Ulusal Dönüşüm Kurumu (NITI Aayog)’nu, stratejiye rehberlik edilmesi ve yeni ve gelişen teknolojilerin takip edilmesi ve daha da geliştirilmesinden sorumlu tutmuştur. 2020 yılı rakamlarına göre stratejinin hayata geçirilmesi için 949 milyon ABD Doları kaynak tahsis edilmiştir. 2019 yılında, Elektronik ve Bilgi Teknolojileri Bakanlığı, tahsis edilen 400 INR (54 milyon ABD Doları) ile ulusal bir yapay zekâ programı oluşturmak için kendi teklifini yayınlamıştır. Hindistan hükümeti, organize bir yapay zekâ politikasını teşvik etmek ve Hindistan’ın yapay zekâ misyonunu geliştirmek için devlet kurumlarının kesin bir şekilde görevlerini oluşturmaya yönelik 2019’un sonlarında bir komite kurmuştur.

Meksika: Meksika’da yapay zekâ stratejisi ulusal gündem olarak belirlenmiş olup strateji belgesi Meksika’da Yapay Zekâ: Ulusal Bir Gündem olarak adlandırılmaktadır. 2018’de Meksika, yapay zekâ (AI) stratejisi başlatan dünyadaki ilk 10 ülkeden biri olmuştur. Sorumlu kurumlardan biri olan IA2030Mx, Meksika’daki profesyoneller, akademik kurumlar, şirketler, girişimler, kamu kurumları ve dijital ekosistemin ve Yapay Zekânın (AI) diğer önemli aktörlerinden oluşan çok sektörlü ulusal bir koalisyondur. Diğer sorumlu kurum Ekonomi Bakanlığı’dır. Latin Amerika’nın ilk stratejisi olan Meksika stratejisi, güçlü bir yönetişim çerçevesi geliştirmeye, çeşitli sektörlerdeki yapay zekânın ihtiyaçlarını belirlemeye ve Meksika’nın yapay zekâ liderliğini geliştirmeye vurgu yaparak en iyi hükümet uygulamalarını belirlemeye odaklanmaktadır. İnter-Amerikan Kalkınma Bankası’nın yakın tarihli fAIr LAC raporuna göre, Meksika, daha fazla uygulama için somut yapay zekâ politikaları oluşturma sürecinin başındadır.

Birleşik Krallık: İngiltere’nin yapay zekâ stratejisiEndüstriyel Strateji: Yapay Zekâ Sektörü Anlaşması olarak adlandırılmaktadır. Sorumlu kurum ise Yapay Zekâ Ofisi (OAI)’dir. Birleşik Krallık stratejisinde, iş dünyası, akademi ve hükümet arasında güçlü bir ortaklık vurgulanmaktadır ve başarılı bir endüstriyel strateji için beş temel amaç belirlenmektedir: dünyanın en yenilikçi ekonomisi haline gelmek, istihdam yaratmak ve daha iyi gelir potansiyeline sahip olmak, daha gelişmiş altyapı, elverişli iş koşulları ve tüm dünyada müreffeh toplumlar inşa etmek. 2020 yılı rakamlarına göre strateji için ayrılan kaynak 1,3 milyar ABD dolarıdır. Birleşik Krallık Yapay Zekâ Komitesi, 2017 ve 2019 yılları arasında ülkenin ilerlemesiyle ilgili yıllık bir rapor yayınlamıştır. Kasım 2020’de hükümet, savaşta devrim yaratmayı vaat eden yapay zekâ teknolojilerine büyük vurgu yaparak, savunma harcamalarında dört yıl içinde 21,8 milyar ABD doları tutarında büyük bir artış olduğunu açıklamıştır.

İsveç: İsveç’in yapay zekâ stratejisiYapay Zekâya Ulusal Yaklaşım (National Approach to Artificial Intelligence) olarak adlandırılmaktadır. İsveç, dijital dönüşümün sunduğu fırsatlardan yararlanma konusunda dünyada lider konumunda olmayı hedeflemektir.

Tayvan: Tayvan’ın yapay zekâ stratejisiTayvan Yapay Zekâ Eylem Planı (Taiwan AI Action Plan) olarak adlandırılmaktadır. Eylem planı kapsamında KOBİ’lerde yapay zekâ temelli inovasyonu hızlandırmak için;

  • KOBİ’lere yapay zekâ pilot projeleri, veri platformları, test alanları ve düzenleyici birlikler oluşturma süreçleri aracılığıyla yapay zekâ uygulamaları geliştirmelerinde yardımcı olunması,
  • Önde gelen uluslararası şirketleri, yerel işletmeleri küresel ortaklıklar ve dünya çapındaki fırsatlarla buluşturarak Tayvan’da yapay zekâ araştırma merkezlerinin kurulmasının teşvik edilmesi,
  • Yapay zekâ uygulamalarını yaygınlaştırmak için KOBİ’lere tek elden destek hizmeti sağlayan Nesnelerin İnterneti (IoT) Entegrasyon Hizmet Merkezi (IISC) ile açık araştırma platformları oluşturulması ve endüstri standartlarının teşvik edilmesi,
  • KOBİ’lerde yapay zekânın benimsenmesini ve yeni yapay zekâ şirketlerinin gelişimini hızlandırmak için mevcut politika araçlarından yararlanılmasının sağlanması

hedeflenmektedir.

2019 Yılında Ulusal Yapay Zekâ Stratejisini Yayınlayan Ülke ve Bölgeler

Estonya: Estonya’nın yapay zekâ stratejisi 2019-2021 Ulusal Yapay Zekâ Stratejisi olarak adlandırılmaktadır. Sorumlu kurum ise Ekonomi ve Haberleşme Bakanlığı (MKM)’dır. Strateji, hem kamu hem de özel sektörün yapay zekâ araştırma ve geliştirmesine yatırımı artırmak için yapılması gereken eylemleri vurgularken, aynı zamanda Estonya’da yapay zekâ için yasal ortam iyileştirilmektedir. Ek olarak, stratejinin uygulanmasını ve izlenmesini denetleyecek bir yönlendirme komitesi için çerçeve oluşturulmuştur. Söz konusu stratejiye 2020 yılı rakamlarına göre 2021’e kadar 10 milyon Avro (12 milyon ABD Doları) kaynak ayrılmıştır. Estonya hükümeti, Mayıs 2019’da yapay zekâ görev gücüne ilişkin bir güncelleme yayınlamıştır.

Rusya: Rusya’nın yapay zekâ stratejisi Ulusal Yapay Zekâ Geliştirme Stratejisi (National Strategy for the Development of Artificial Intelligence) olarak adlandırılmaktadır. Sorumlu kurum ve kuruluşlar Dijital Kalkınma, Haberleşme ve Kitle İletişim Bakanlığı ile Rusya Federasyonu Hükümeti’dir. Rusya’nın yapay zekâ stratejisi, ulusal çıkarlarına güçlü bir vurgu yapmaktadır. Strateji, 2017 ile 2030 arasında bir “bilgi toplumu” geliştirilmesi için yönergeler ortaya koymaktadır. Bunlar, ulusal bir teknoloji girişimini, federal yürütme organları için departman projelerini ve yapay zekâ eylem planlarını sektörler arasında uygulamak için tasarlanmış Rusya Federasyonu Dijital Ekonomisi gibi programları içermektedir. Aralık 2020’de Rusya Devlet Başkanı Vladmir Putin, Yapay Zekâ Yolculuğu Konferansı’na katılmış ve burada yapay zekâ politikaları için dört fikir öne sürmüştür: Yapay zekâ kullanımı için deneysel yasal çerçeveler oluşturma, yapay zekâ algoritmalarını uygulamak için pratik ölçütler geliştirme, yapay sinir ağı geliştiricilerine rekabet gücü sağlama açısından büyük verilere erişiminin sağlanması ve yerel yapay zekâ endüstrilerinde özel yatırımları artırma.

Singapur: Singapur’un yapay zekâ stratejisi Ulusal Yapay Zeka Stratejisi olarak adlandırılmaktadır. Sorumlu kurum Akıllı Ulus ve Dijital Devlet Ofisi (SNDGO) olarak adlandırılmaktadır. Singapur ekonomisini dönüştürmeyi ve yeni bir dijital çağa girmeyi amaçlayan bir devlet kurumu olan Smart Nation Singapore (Akıllı Ulus Singapur) tarafından başlatılan strateji, şu alanlarda beş ulusal yapay zekâ projesi tanımlamaktadır: ulaşım ve lojistik, akıllı şehirler ve mülkler, sağlık hizmetleri, eğitim ve emniyet ve güvenlik. 2019 stratejisi finansmandan bahsetmese de hükümet 2017’de ulusal program Yapay Zekâ Singapur’u başlatmıştır ve beş yıl içinde 150 milyon SGD (113 milyon ABD doları) yatırım yapma taahhüdü vermiştir. Kasım 2020’de Akıllı Ulus ve Dijital Devlet Ofisi (SNDGO), Singapur hükümetinin veri koruma çabalarına ilişkin ilk yıllık güncellemesini yayınlamıştır. Kamu sektörü veri güvenliğini güçlendirmek ve vatandaşların özel verilerini korumak için bugüne kadar alınan önlemleri burada açıklamıştır.

ABD: ABD’nin yapay zekâ stratejisi Amerikan Yapay Zekâ İnisiyatifi (American AI Initiative) olarak adlandırılmaktadır. Sorumlu kurum Beyaz Saray’dır. Amerikan Yapay Zekâ İnisiyatifi, federal hükümetin yapay zekâ Ar-Ge çalışmalarına yatırım yapma, federal kaynakların önündeki engelleri azaltma ve yapay zekâ teknolojilerinin güvenli bir şekilde geliştirilmesi, test edilmesi ve yayılması için teknik standartlar ortaya koyma ihtiyacına öncelik vermektedir. Beyaz Saray ayrıca yapay zekâyı hazır bir iş gücü olarak geliştirmeyi vurgulamaktadır ve yapay zekâ konusunda ABD liderliğini teşvik ederken yabancı ortaklarla işbirliği yapma taahhüdüne işaret etmektedir. ABD hükümeti, Şubat 2020’de birinci yıllık raporunu yayınlamıştır ve ardından Kasım ayında, yapay zeka inovasyonunu ve büyümesini teşvik eden ve halkın yapay zekaya olan güvenini artıran ilkeler de dahil olmak üzere özel sektördeki yapay zeka uygulamalarını düzenleme konusunda federal kurumlar için ilk rehberlik notunu yayınlamıştır. 2021 Mali Yılında Ulusal Savunma Yetkilendirme Yasası (NDAA) gereğince federal hükümet genelinde yapay zekâ araştırmalarını ve politikalarını koordine etmek için Amerikan Yapay Zekâ İnisiyatifi çağrıya çıkmıştır.

Diğer bulgular

  • 2020’de Yapay Zekâ Küresel Ortaklık (GPAI) ve Ekonomik İşbirliği ve Kalkınma Örgütü (OECD) Yapay Zekâ Politika Gözlemevi ve Yapay Zekâ Uzmanlar Ağı faaliyetlerine başlamış ve bu faaliyetler herkes için Yapay Zekâ gelişimini desteklemek için birlikte çalışmaya yönelik hükümetler arası çabaları teşvik etmiştir.
  • Amerika Birleşik Devletleri’nde 116. kongre, tarihindeki en yapay zekâ odaklı kongre oturumu olarak kayıtlara geçmiştir. Bu Kongre tarafından mevzuatta, komite raporlarında ve Kongre Araştırma Hizmeti (CRS) raporlarında yapay zekâdan bahsedenlerin sayısı 115. kongrenin üç katından fazladır.

Özetle, ulusal yapay zekâ strateji belgesi yayınlanan ülkeler ve bölgelerden bazılarına yer verilerek konu hakkında hem farkındalık oluşturulması hem de içgörü kazandırılması amaçlanmıştır.

Faydalı olması dileğiyle.

Bilimle ve teknolojiyle kalınız.

Yararlanılan Kaynaklar

  1. Daniel Zhang, Saurabh Mishra, Erik Brynjolfsson, John Etchemendy, Deep Ganguli, Barbara Grosz, Terah Lyons, James Manyika, Juan Carlos Niebles, Michael Sellitto, Yoav Shoham, Jack Clark, and Raymond Perrault, “The AI Index 2021 Annual Report,” AI Index Steering Committee, Human-Centered AI Institute, Stanford University, Stanford, CA, March 2021.
  2. https://www.ki-strategie-deutschland.de/home.html?file=files/downloads/Nationale_KI-Strategie_engl.pdf
  3. https://niti.gov.in/national-strategy-artificial-intelligence
  4. https://www.ia2030.mx/
  5. https://www.gov.uk/government/publications/artificial-intelligence-sector-deal/ai-sector-deal
  6. https://www.government.se/4a7451/contentassets/fe2ba005fb49433587574c513a837fac/national-approach-to-artificial-intelligence.pdf
  7. https://ai.taiwan.gov.tw/
  8. Estonia (2019). Estonia’s national artificial intelligence strategy 2019-2021. Government of the Republic of Estonia. https://f98cc689-5814-47ec-86b3-db505a7c3978.filesusr.com/ugd/7df26f_27a618cb80a648c38be427194affa2f3.pdf
  9. https://trumpwhitehouse.archives.gov/ai/ai-american-innovation/
Öne çıkan

Kanada Sağlık Sistemi: Canada Health Care System

1. Giriş

Kanada sağlık sistemini ele almadan önce ilerleyen kısımlarda bahsedileceği için ilk olarak Kanada’daki eyaletler Şekil 1 üzerinde verilmiştir.

Şekil 1: Kanada Eyaletleri

Canada United States Map Mapa polityczna, Canada, canada, grass, united  States png | PNGWing

Kaynak: https://www.pngwing.com/en/free-png-yghlx

  • Kanada, 10 eyalet ve 3 bölge olmak üzere toplam 13 siyasi bölümden oluşur. Bölgeler, Northwest Territories, Nunavut ve Yukon Territory’tir. Bir Kanada eyaleti ile bir Kanada bölgesi arasındaki en büyük fark, bir eyaletin Anayasa (17 Nisan 1982), bir bölgenin ise federal kanunla oluşturulmuş olmasıdır. Bu nedenle, federal hükümet bölgeler üzerinde doğrudan kontrole sahipken, eyalet hükümetleri üzerindeki etkisi dolaylıdır.
  • Kanada, Canadian Medicare adında merkezi olmayan, evrensel, kamu tarafından finanse edilen bir sağlık sistemine sahiptir.
  • Sağlık hizmetleri, öncelikle ülkenin 13 eyalet ve 3 bölgesi tarafından finanse edilir ve yönetilir. Her bir bölgenin kendi sigorta planı vardır ve her bir bölge federal hükümetten kişi başına nakit yardım almaktadır. Avantajlar ve sunum yaklaşımları eyaletler ve bölgeler arasında değişiklik gösterir.
  • Tüm vatandaşlar ve daimi ikamet edenler, tıbbi olarak temel hastane ve doktor hizmetlerini ücretsiz almaktadır.
  • Ayakta tedavi gören hastaların reçeteli ilaçları ve diş bakımı hariç diğer sağlık hizmetleri için ödeme yapmak üzere eyalet ve bölgeler, hedef nüfus grupları için bir miktar teminat sağlamaktadır.
  • Kanadalıların yaklaşık üçte ikisinin özel sigortası vardır.
  • Kanada’nın evrensel, kamu tarafından finanse edilen sağlık hizmetleri sistemi, ilk olarak 1957’de ve 1966’da kabul edilen federal düzenlemelerle oluşturulmuştur. 1984 yılında yürürlüğe giren Kanada Sağlık Yasası, önceki iki kanunun yerini almakta ve tıbbi olarak hastane, teşhis ve hekim hizmetlerini tek elde toplamaktadır.

2. Evrensel sağlık sigortası nasıl çalışır?

Kanada Medicare

Sağlık hizmetlerinde tam federal nakit katkıları almaya hak kazanabilmek için her bir eyalet ve bölge (P / T) sağlık sigortası planının Kanada Sağlık Yasası’nın aşağıdaki beş şartını sağlaması gerekir:

  1. Kamu Yönetimi: Eyalet ve bölge planları, eyalet veya bölge hükümetine karşı sorumlu bir kamu otoritesi tarafından kar amacı gütmeden yönetilmeli ve işletilmelidir.
  2. Kapsamlılık: Eyalet ve bölge planları, bir hastane ortamında çalışan hastaneler, pratisyen hekimler ve diş hekimleri tarafından sağlanan tıbbi olarak zorunlu tüm hizmetleri sigortalamalıdır.
  3. Evrensellik: Eyalet ve bölge planları, tüm sigortalı bireylere tek tip şartlar ve koşullarda sağlık sigortası teminatı sağlamalıdır.
  4. Erişilebilirlik: Eyalet ve bölge planları, tüm sigortalı kişilere mali veya diğer engeller olmaksızın tıbbi olarak gerekli hastane ve doktor hizmetlerine makul erişim sağlamalıdır.
  5. Taşınabilirlik: Eyalet ve bölge planları, Kanada içinde başka bir eyalete veya bölgeye taşındıklarında ve yurtdışına seyahat ettiklerinde tüm sigortalı kişileri kapsamalıdır. Eyaletler ve bölgeler, Kanada dışında sağlanan hizmetlerin kapsamı konusunda bazı sınırlamalara sahiptir ve kendi yetki alanları dışında sunulan acil olmayan hizmetler için önceden onay gerektirebilir.

Hükümetin rolü

  • Kanada eyalet / bölge hükümetleri, sağlık hizmetlerinin finansmanı, organizasyonu ve sunumu ile hizmet sunucularını denetleme konusunda birincil sorumluluğa sahiptir.
  • Yetkili makamlar, doktorları ve ilaç programlarını doğrudan finanse eder ve hastane, toplum ve uzun dönemli bakımın yanı sıra ruh ve koruyucu sağlık hizmetlerini sunmak için yetki verilmiş sağlık otoriteleri (tek bir eyalet otoritesi veya çok sayıda alt eyalet, bölge yetkilisi) ile sözleşme yapar.
  • Federal hükümet, eyalet / bölge evrensel sağlık sigortası programlarını finanse eder ve Kanada Yerlileri ve Eskimolar (First Nations and Inuit), Kanada Silahlı Kuvvetleri üyeleri, gaziler, yeni yerleştirilen mülteciler ve bazı mülteci davacıları ve federal ceza infaz kurumlarındaki mahkumlar dahil olmak üzere belirli nüfuslar için bir dizi hizmetleri yerine getirmektedir.
  • Aynı zamanda tıbbi cihazların, ilaçların ve doğal sağlık ürünlerinin güvenliğini ve etkinliğini düzenler, sağlık araştırmalarına ve bazı bilgi teknolojisi sistemlerine fon sağlar ve ulusal ölçekte çeşitli halk sağlığı görevlerini yönetir.

Ulusal düzeyde, çeşitli devlet kurumlarının belirli denetleme görevleri vardır:

  • Federal sağlık bakanlığı olan Health Canada, gıda ve ilaç güvenliği, tıbbi cihaz ve teknoloji incelemesinde ve evrensel sağlık sigortası için ulusal standartların yerine getirilmesinde önemli bir düzenleyici rol oynamaktadır.
  • Kanada Halk Sağlığı Kurumu (The Public Health Agency of Canada), halk sağlığı, acil durumlara hazırlık ve müdahale, bulaşıcı ve kronik hastalıkların kontrolü ve önlenmesi ile sağlığın geliştirilmesinden sorumludur.
  • Yeni bir federal hükümet departmanı olan Kanada Yerli Halk Hizmetleri (Indigenous Services Canada), Kanada Yerlileri ve Eskimolar (First Nations and Inuit) için belirli sağlık hizmetlerini finanse etmektedir.
  • Çoğu hizmet sunucu, eyalet / bölge yasası kapsamında kendi kendini (otonom) yönetir; eğitim, öğretim ve bakım kalitesi standartlarının karşılanmasını sağlayan eyalet düzeyinde bir düzenleyici kuruma (Hekimler ve Cerrahlar Koleji gibi) kayıtlıdırlar.Çoğu eyalette, hasta haklarını savunan bir ombudsman mevcuttur.

Kanada sağlık sistemi organizasyon şeması Şekil 2’de verilmiştir.

Şekil 2: Kanada Sağlık Sistemi Organizasyon Şeması

Kaynak: Gregory ve diğerleri, 2020

Kamu sağlık sigortasının rolü

  • Toplam sağlık harcamalarının 2017’de GSYİH’nin yüzde 11,5’ine ulaştığı tahmin edilmektedir. Kamu sektörü ve özel sektör, sırasıyla toplam sağlık harcamalarının yaklaşık yüzde 70’ini ve yüzde 30’unu oluşturmaktadır.
  • Her bir eyalet / bölge sağlık sigortası planı, tıbbi olarak gerekli tüm hastane ve doktor hizmetlerini (ön ödemeli olarak) kapsar.
  • Ek hizmetler veya Canadian Medicare (Kanada Medicare) kapsamına girmeyen sağlık hizmetleri, hasta cepten ödemelerden veya işveren katkılarıyla veya özel sigorta yoluyla büyük ölçüde özel olarak finanse edilir.
  • Eyaletler ve bölgeler, ilgili ikamet gerekliliklerine uygun olarak bütün bireyleri kapsar.
  • Geçici yasal ziyaretçiler, belgesiz göçmenler, Kanada’da yasal izin süresinden fazla kalan ziyaretçiler ve ülkeye yasadışı yollardan girenlerin tamamı federal veya eyalet / bölge sigorta programlarının kapsamı dışındadır. Eyaletler ve bölgeler, bu nüfuslara sınırlı acil durum hizmetleri sağlar – hiçbir doktor veya hastane acil bir durumda bakım sağlamayı reddedemez ve ebeler bazı doğum hizmetleri sağlar.
  • Ana finansman kaynağı genel olarak eyalet / bölge geliridir. •Eyalet / bölge gelirinin çoğu vergilendirmeden gelir.
  • Federal program olan Kanada Sağlık Transferi (Canada Health Transfer: CHT) tarafından eyaletler ve bölgelere sağlık hizmetlerinin finansmanı için yaklaşık yüzde 24 (2017-2018’de tahmini 37 milyar Kanada doları veya 29,4 milyar ABD doları) oranında kaynak aktarımı yapılmaktadır.
  • Kanada Sağlık Transferi veya kısa adıyla CHT, eyaletlere ve bölgelere yapılan en büyük kaynak transferidir. Sağlık hizmetleri için uzun dönemli öngörülebilir finansman sağlar ve Kanada Sağlık Yasası hükümlerine göre faaliyet gösterir.
  • Kanada Sağlık Transferi program ödemeleri, kişi başına eşit olarak yapılır ve hem nakit hem de vergi puan transferlerini içerir.

Özel sağlık sigortasının rolü

  • Kanadalıların yaklaşık üçte ikisinin kayıtlı olduğu özel sigorta kapsamında, görme ve diş bakımı, ayakta tedavi ilaçları, rehabilitasyon hizmetleri ve özel hastane odaları gibi genel sağlık kapsamı dışında kalan hizmetler sunulmaktadır.
  • 2015 yılında, özel sağlık planları için primlerin yaklaşık yüzde 90’ı bir grup sözleşmesi veya sigortasız sözleşme kapsamında işverenler, sendikalar veya diğer kuruluşlar aracılığıyla ödenmiştir (plan sponsoru, sigorta sözleşmesi dışında bir gruba fayda sağlar).
  • 2017 yılında, özel sigorta harcamaları toplam sağlık harcamalarının yüzde 12’sini oluşturmuştur.
  • Sigorta kurumlarının büyük bir çoğunluğu kar amaçlı örgütlerdir.

Kapsama alınan sağlık hizmetleri

  • Federal düzeydeki mali katkılara hak kazanmak için eyalet / bölge sigorta planları, tıbbi olarak zorunlu hekim, teşhis ve hastane hizmetlerini (yatarak tedavi gören reçeteli ilaçlar dahil) öncelikle kapsamalıdır. Tüm eyalet / bölge hükümetleri ayrıca kamu sigorta programlarının bir parçası olarak koruyucu sağlık hizmetleri (aşılar dahil)’ni sunar.
  • Ancak, ulusal olarak tanımlanmış yasal bir fayda paketi yoktur; daha çok eyalet / bölge hükümetleri tarafından fayda paketleri tanımlanır. Bu nedenle, ayakta tedavi reçeteli ilaçlar, ruh sağlığı bakımı, göz bakımı, diş bakımı, evde bakım, ebelik hizmetleri, tıbbi ekipman ve son dönem hasta bakımı hizmetleri federal olarak zorunlu kılınmadığından bu hizmetlerin sunumu eyalet / bölge sigorta planları arasında farklılık göstermektedir.
  • Çoğu eyalette, sosyal yardım alanlar, 65 yaş ve üstü yaşlılar ile çocuklar ve gençler gibi belirli nüfuslar için reçeteli ilaç kapsama programları vardır. Bazı programlar, genellikle gelire bağlı olarak prim almaktadır.
  • Diş hekimliği hizmetleri, fizyoterapi, psikolog ziyaretleri, alternatif tıp (chiropractic care) ve kozmetik bakım veya plastik cerrahi dahil olmak üzere çoğunlukla herhangi bir eyalet / bölge sigortası planı kapsamında olmayan bazı sağlık hizmetleri mevcuttur.

Maliyet paylaşımı ve cepten yapılan harcamalar

  • Kamu sigortalı doktor, teşhis ve hastane hizmetleri için herhangi bir maliyet paylaşımı yoktur.
  • Doktorların, müzakere edilen ücret tarifesinin üzerinde hasta ücreti talep etmesine izin verilmez.
  • 2016 yılında, cepten yapılan ödemeler toplam sağlık harcamalarının yaklaşık yüzde 15’ini oluşturmuştur. Bu harcamaların çoğunluğu hastane dışı kurumlara (çoğunlukla uzun dönemli evde bakım hizmetleri), reçeteli ilaçlara, diş bakımı ve göz bakımı hizmetlerine yapılmıştır.

Sosyal güvenlik ağları

  • Reçeteli ilaçların karşılanmasına yardımcı olmak için eyaletler ve bölgeler, özel işveren destekli sigortası olmayan bazı kişilere ayakta tedavi ilaç planları sağlamaktadır. Eyalet / bölge ayakta tedavi ilaç planlarının çoğu, sosyal yardım alan veya emeklilik yaşındaki kişileri hedef alarak, son çare olarak düşünülmektedir. Bu planlar önemli ölçüde farklılık göstermektedir. Örneğin, Quebec eyaleti, uygun bireylerin özel kapsama sahip olmasını zorunlu kılarak evrensel bir ilaç planı yürütmekte ve özel kapsam için uygun olmayanları ise kamu sigorta planlarına kaydettirmektedir.
  • Buna karşılık, Kanada’nın en kalabalık eyaleti olan Ontario, özel sigortası olmayan yaşlılar, çocuklar ve gençler ile sosyal yardım alanlara yönelik evrensel reçeteli ilaç programını yönetmektedir.
  • Eyalet / bölge hükümetleri ayrıca cepten harcamaları yüksek olan bireyler için bir miktar kolaylık sağlamaktadır. Vatandaşlar, yıllık tedavi harcamaları net gelirlerinin yüzde 3’ünden fazlasını veya 2,288 Kanada doları (1,816 ABD Doları)’nı aşan harcamalarda kalan harcamaların yüzde 15’ini vergi iadesi olarak alabilmektedir.
  • Ayrıca, eyalet / bölge hükümetleri kamu tarafından finanse edilen uzun dönemli bakım sağlayan kurumlarda yoksul bireylerin barınma ve yemek masraflarını (hemşirelik bakımı dışında) da karşılamaktadır.

3. Hizmet sunumu nasıl gerçekleştirilir ve hizmet sunuculara nasıl ödeme yapılır?

Doktorların eğitimi ve işgücü

  • Kanada’daki 17 devlet tıp fakültesinden birinden tıp diploması alan öğrenciler, 2018–2019 döneminde yıllık ortalama 14,780 Kanada doları (11,730 ABD doları) ödemiştir. Kanada’daki doktorların yaklaşık yüzde 27’si tıp derecelerini Kanada dışında bir ülkeden almıştır.
  • 2017’de hekimlerin yüzde 92’si kentsel yerleşim alanlarında çalışmıştır. Kırsal ve uzak yerlerde doktor tedarikini sağlayacak ulusal programlar bulunmamaktadır. Bununla birlikte, çoğu eyalette kırsal uygulama girişimleri mevcuttur. Örneğin, Alberta eyaleti Kırsal, Uzak, Kuzey Programı ile hekimlere 50.000 Kanada Dolarından (39.382 ABD Doları) daha yüksek bir geliri garanti etmektedir.

Birinci basamak sağlık hizmetleri

  • 2017 yılında her 1000 kişiye 2,3 pratisyen hekim düşmüştür; yaklaşık yarısı (1.000 kişi başına 1,2) aile hekimi veya pratisyen hekim (GPs) ve geri kalan uzmanlar (1.000 kişi başına 1,15)’dir. GP’ler büyük ölçüde kapı tutucu (gatekeepers) olarak faaliyet göstermektedir ve birçok eyalet, sevk edilmeyen konsültasyonlar için uzmanlara daha düşük ücretler ödemektedir.
  • Birinci basamak hekimlere yapılan ödeme yöntemleri arasında en çok kullanılan yöntem hizmet başına ödeme yöntemidir. Bu yöntemi kişi başı ödeme izlemiştir.
  • Hekimlerin çoğu özel muayenehanelerde serbest meslek sahibidir. Ulusal Hekim Araştırmasının son yılı olan 2014’te, pratisyen hekimlerin yaklaşık yüzde 46’sı bir grup muayenehanesinde, yüzde 19’u meslekler arası muayenehanede ve yüzde 15’i tek başına olduğu muayenehanede çalışmıştır. Bazı eyaletlerde, pratisyen hekim ağları birlikte çalışır ve kaynakları paylaşır. Ekiplerin yapısı ve boyutunda eyaletler arasında farklılıklar bulunmaktadır.

Ayakta uzman bakım hizmetleri

  • Uzman doktorlar çoğunlukla serbest meslek sahibidir. Birkaç resmi  düzeyde farklı uzmanlık klinikleri mevcuttur.
  • Hastane dışı tanı veya cerrahi kliniklerinde daha az basit düzeydeki hizmetler sağlama yönünde bir eğilim olmasına rağmen, uzman bakımının çoğu, hem yatan hasta hem de ayakta tedavi temelinde hastanelerde verilmektedir.
  • Eyaletler arasında farklılıklar olsa da uzmanlara çoğunlukla hizmet başına ücret ödenmektedir. Örneğin, Quebec eyaletinde, alternatif ödeme yapıları, British Columbia’da yüzde 22 ve Saskatchewan’da yüzde 33’e kıyasla, 2016-2017’de uzmanlara yapılan toplam ödemelerin yaklaşık yüzde 15’ini oluşturmuştur. •Hastalar doğrudan bir uzmana gitmeyi seçebilir, ancak pratisyen hekimlerin hastaları özel bakıma yönlendirmesi daha yaygındır.
  • Eyalet / bölge kamu sigorta planlarını faturalandıran uzmanların, kamu sigortası kapsamına girecek hizmetler için özel sigortalı hastalardan ödeme almalarına izin verilmez.

Hizmet sunuculara doğrudan hasta ödemeleri yapan idari mekanizmalar

  • Pratisyen doktorların ve uzmanların çoğu, eyalet / bölge hükümetlerine doğrudan fatura keserken, bazılarına bir hastane veya klinik tarafından maaş ödemesi yapılmaktadır.
  • Hastaların kamu sigorta planları kapsamında olmayan hizmetleri için cepten ödeme yapması gerekebilmektedir.

Mesai sonrası bakım

  • Mesai saatleri dışında bakım, genellikle hekim yönetimindeki kliniklerde ve hastanenin acil servislerinde sağlanır.
  • Çoğu eyalet ve bölgede, vatandaşların günde 24 saat esasına göre kayıtlı bir hemşireden ücretsiz telefon hizmetleriyle sağlık danışmanlığı hizmeti almasına olanak tanınır.
  • Yeni düzenlemeler kayıtlı hastalara mesai sonrası bakım sağlamayı mali teşvikler için şart koşmasına rağmen pratisyen hekimlerin mesai sonrası bakım sağlaması zorunlu hale getirilmemiştir.
  • 2015 yılında, Kanada’daki pratisyen hekimlerin (GPs) yüzde 48’i (Ontario’da % 67) hastaların mesai sonrası bir doktor veya hemşire görmeleri için düzenlemeler yaptıklarını bildirmiştir.  Yine de, 2016’da hastaların sadece yüzde 34’ü pratisyen hekimleri aracılığıyla mesai sonrası bakıma erişebildiğini beyan etmiştir.

Hastaneler

  • Hastaneler, çoğunlukla kar amacı gütmeyen, kamu ve özel kuruluşların bir karmasından oluşmaktadır. Genellikle, hastaneler toplumu temsil eden delege sağlık yetkilileri veya hastane kurulları tarafından yönetilirler. Çoğu eyalet ve bölgede, birçok hastanenin mülkiyeti kamuya ait iken Ontario’da bulunan hastanelerin çoğunluğu ağırlıklı olarak kar amacı gütmeyen özel kuruluşlardır.
  • Özel kar amacı gütmeyen kliniklerin (özellikle teşhis ve cerrahi klinikleri) sayısına ilişkin spesifik veri yoktur. Ancak, 2017 anketinde Kanada genelinde 136 özel kar amacı gütmeyen klinik belirlenmiştir.
  • Kanada’daki hastaneler genellikle, eyalet düzeyindeki sağlık bakanlığı veya yetkili sağlık otoritesi tarafından belirlenen yıllık global (genel) bütçeye göre faaliyet gösterir ve ödemeler bu yöntem temelinde hastanelere yapılır. Ancak, Ontario, Alberta ve British Columbia dahil olmak üzere bazı eyaletler, hastalara sunulan bazı hizmetler için sabit bir miktar ödeme yaparak hastanelere hizmete dayalı fon (hizmet başına ödeme) sağlamaya karar vermiştir.
  • Hastane bazlı hekimler (Hospital-based physicians) genellikle hastane çalışanı değildir ve hizmet bedeli doğrudan eyalet düzeyindeki sağlık bakanlıkları veya yetkili sağlık otoriteleri tarafından ödenir.

Ruh sağlığı hizmetleri

  • Doktor tarafından sağlanan ruh sağlığı hizmetleri, parçalı olarak sunulmakta olup Kanada Medicare kapsamındadır. Hastane tabanlı ruh sağlığı hizmetleri, psikiyatri dal hastanelerinde ve genel olarak ruh sağlığı hizmetlerinin sunulduğu yataklı hastanelerde verilmektedir.
  • Eyalet / bölge hükümetleri, vaka yönetimi, ailelere ve bakıcılara yardım, toplum temelli kriz yönetim hizmetleri ve destekleyici barınma hizmetleri dahil olmak üzere bir dizi toplum ruh sağlığı ve madde bağımlılığı hizmetleri sunar.
  • Özel psikologlara cepten veya özel sigorta yoluyla ödeme yapılmaktadır. Kamu tarafından finanse edilen kuruluşlarda çalışan psikologlar ise maaş almaktadır.
  • Ruh sağlığı resmi olarak birinci basamak sağlık hizmetlerine entegre edilmemiştir. Ancak, bazı kuruluşlar ve eyaletler, ruh sağlığı hizmetlerini birinci basamak sağlık hizmetleri ile koordine etmek veya birbirine entegre etmek için girişimler başlatmıştır. Örneğin, Ontario’da, sektörler arası bir ruh sağlığı stratejisi (intersectoral mental health strategy) 2011’den beri yürürlüktedir ve 2014’te ruh sağlığı ile birinci basamak sağlık hizmetlerini daha iyi entegre etmek için kapsamı genişletilmiştir.

Uzun dönemli bakım ve sosyal destekler

  • Hastane dışı tesislerde ve toplumda sağlanan uzun vadeli bakım ve terminal dönem hasta bakımı, Kanada Sağlık Yasası kapsamında sigortalı hizmetler olarak kabul edilmez. Tüm eyalet / bölge hükümetleri bu tür hizmetleri genel vergilendirme yoluyla finanse eder, ancak kapsam eyalet ve bölgelere göre değişiklik göstermektedir.
  • Tüm eyaletler, evde bakım hizmeti alan hastalar için bir miktar evde bakım ve hemşirelik bakımı hizmetlerini bir arada sağlar, ancak tıbbi ekipman, malzemeler ve ev desteği dahil olmak üzere diğer hizmetler söz konusu olduğunda eyalet ve bölgeler arasında önemli farklılıklar vardır. Pek çok eyalette bu tür hizmetler ek ödeme gerektirir.
  • Evde uzun dönemli bakım hizmetleri uygunluğu, genellikle sağlık durumuna ve fonksiyon bozukluğa dayalı bir ihtiyaç değerlendirmesi yoluyla belirlenir. Bazı eyaletler uygunluk değerlendirmesinde ayrıca gelir testine de yer verir. Eyalet / bölge hükümetlerinin yaklaşık yarısı, gelir testi yapmadan evde bakım hizmeti vermektedir, ancak hizmete erişim hem öncelik değerlendirmesine hem de sınırlı bütçelere bağlıdır.
  • Hükümet, uzun dönemli bakım tesislerinde kişisel ve hemşirelik bakımını finanse eder. Buna ek olarak, ödeme gücüne dayalı mali destekler, oda ve pansiyon maliyetlerini desteklemeye yardımcı olabilir. Bazı iller tesise kabul için uygunluk koşulu olarak asgari ikamet süreleri belirlemiştir.
  • Çoğu uzun dönem bakım tesisleri olan hastane dışı kurumlara yapılan harcamalar 2017’de toplam sağlık harcamalarının yüzde 11’inden fazlasını oluşturmakta olup, finansmanı çoğunlukla kamu kaynaklarından (% 70) karşılanmıştır.
  • Evde bakım hizmetlerinin kamu finansmanı, hizmetleri sunan kurumlarla eyalet / bölge hükümet sözleşmeleri yoluyla veya hastalara kendi hizmetlerini satın almaları için devlet ödenekleri yoluyla sağlanır. Örneğin, British Columbia’nın Bağımsız Yaşam Desteği programı, bireylere kendi evde bakım hizmetlerini satın almalarına olanak tanımaktadır.
  • Eyaletler ve bölgeler, bu tür masrafların çoğunun meydana geldiği hastanelerde (Kanada Medicare kapsamındadır) palyatif ve terminal dönem hasta bakımı sağlamaktan sorumludur. Ancak birçoğu, hekim ve bakım hizmetleri ve bakımevlerinde, bakım tesislerinde ve evde ilaç teminatı gibi bu ortamlar dışındaki hizmetler için de bir miktar teminat sağlamaktadır.
  • Eyalet / bölge hükümetleri ve tıp dernekleri, ölümcül veya geri döndürülemez hastalıklarla karşı karşıya kalan bireylere tıbbi yardım sağlamak için düzenlemeler getirmişlerdir.
  • 2012 yılında 8 milyondan fazla Kanadalı’nın kronik hastalıkları ve sosyal ihtiyaçları olan kişilere ücretsiz destek sağladığı tahmin edilmektedir. Gayri resmi bakıcı desteği (yaşlılara bakımın % 66 ila % 84’ünü oluşturmaktadır) eyalet ve bölgeye göre değişiklik göstermektedir. Örneğin, Nova Scotia’nın Bakıcı Yardımı Programı, bakıcılara ve bakım alanlara ayda 400 Kanada doları (317 USD) yardımda bulunmaktadır. Kanada Bakıcı Kredisi ve İstihdam Sigortası Şefkatli Bakım Yardımı (the Canada Caregiver Credit and the Employment Insurance Compassionate Care Benefit) da dahil bazı federal yardım programları bulunmaktadır.

4. Bakım kalitesini güvence altına almak için başlıca stratejiler nelerdir?

  • Pek çok eyalette sağlık hizmetleri sistemi raporları hazırlamaktan ve sistem performansını izlemekten sorumlu kurumlar bulunmaktadır.
  • Ayrıca, Kanada Sağlık Enformasyon Enstitüsü (the Canadian Institute for Health Information), hastane ve uzun dönemli bakım tesislerinin performans göstergeleri dahil olmak üzere sağlık sistemi performansı hakkında düzenli halka açık raporlar hazırlar. Bugüne kadar, ülke genelinde doktorların performansı hakkında kamuya açık bir bilgi bulunmamaktadır. Çoğu eyalet, özet inceleme raporlarını çevrimiçi olarak yayınlamaktadır.
  • Evde bakım kurumları, uzun dönemli evde bakım kurumlarından farklı olarak raporlama standartları mevcuttur. Kanada Sağlık Enformasyon Enstitüsü, Kanada genelinde kamu tarafından finanse edilen programlar dahilinde hizmet verilen bireylere yönelik demografik, klinik, faaliyet ve kaynak kullanım verilerini içeren Evde Bakım Raporlama Sistemi (Home Care Reporting System)’ne sahiptir. Ancak bu kapsamda 2018’de yalnızca sekiz bölge veri göndermiştir.
  • Kaliteyi iyileştirmede mali teşviklerin kullanımı sınırlıdır. Hekim düzeyinde, bugüne kadar kalite üzerinde kanıtlanabilir çok az etki bulunmuştur.

Devam eden diğer çeşitli kalite geliştirme girişimleri şöyledir:

  • Federal düzeyde finanse edilen Kanada Hasta Güvenliği Enstitüsü, en iyi uygulamaları teşvik etmekte ve stratejiler, standartlar ve ölçütler geliştirmektedir.
  • Eyalet kalite konseyleri, daha kaliteli sağlık hizmeti üretmek için süreç iyileştirmelerini kolaylaştırmaktadır.
  • Kanada Sağlık İlaç ve Teknolojileri Kurumu (the Canadian Agency for Drugs and Technologies in Health) kısa adıyla CADTH tarafından yürütülen Optimal Kullanım Projeleri (The Optimal Use Projects) programı, ilaçların uygun reçetelenmesi, satın alınması ve kullanılmasını teşvik etmek için hizmet sunuculara ve tüketicilere tavsiyeler (resmi klinik kılavuzlar olmasa da)’de bulunmaktadır.
  • Federal düzeyde finanse edilen 1996 yılında kurulan Kanada Sağlık Hizmetleri İyileştirme Kurumu (CFHI), performans iyileştirme girişimlerini uygulamaya koymak için eyalet / bölge hükümetleriyle birlikte çalışmaktadır.
  • Bir sivil toplum kuruluşu olan Akreditasyon Kanada (Accreditation Canada) bölgesel sağlık otoriteleri, hastaneler, uzun dönem bakım tesisleri ve toplum kuruluşları dahil olmak üzere Kanada genelinde yaklaşık 1.200 sağlık kuruluşuna gönüllü akreditasyon hizmetleri sağlar.
  • Eyalet kanser kayıt veri tabanları, kanser vakalarını izleyen ulusal bir idari araştırma birimi olan Kanada Kanser Kayıt Merkezine veri sağlar.
  • Eyalet / bölgeler, örneğin kalp hastalığı ve diyabeti tedavi etmeye ve maliyetleri düşürmeye yönelik uygulama rehberleri oluşturarak kaliteyi artırmak için 2012 yılında Sağlık Bakım İnovasyon Çalışma Grubu (Health Care Innovation Work Group)’nu kurmuştur.

5. Eşitsizlikleri azaltmak için neler yapılıyor?

  • Kanada Halk Sağlığı Kurumu, genel sağlık eşitsizliklerini ve Kanada Sağlık Enformasyon Enstitüsü de düşük gelirli Kanadalılara odaklanarak sağlık hizmetleri ve sağlık çıktılarındaki eşitsizlikleri raporlamaktadır. Eşitsizlikleri ölçmek için resmi veya periyodik süreç bulunmamaktadır. Ancak bazı eyalet / bölge hükümetleri, nüfus sağlığı ve sağlık eşitsizliklerini ele alan departmanlara ve kurumlara sahiptir.
  • Yerli ve yerli olmayan Kanadalılar arasındaki sağlık eşitsizlikleri, hem federal hem de eyalet / bölge düzeyinde hükümet için bir endişe kaynağıdır.
  • 2015 yılında, Hakikat ve Uzlaşma Komisyonu (the Truth and Reconciliation Commission), yerli toplumları etkileyen birkaç sağlık eşitsizliğini ele alan bir dizi eylem çağrısı yayınlamıştır.
  • Ontario’da, 2016 yılında, birinci basamak sağlık hizmetlerine yatırımlar, sağlık hizmeti sunucuları için kültürel yeterlilik eğitimi, taze meyve ve sebzelere erişim ve yerli (First Nations) gençlere yönelik ruh sağlığı hizmetlerine vurgu yapılarak yerli halkın sağlığını iyileştirmek için bir strateji başlatılmıştır.

6. Hizmet sunum sistemi entegrasyonunu ve bakım koordinasyonunu sağlamak için neler yapılmaktadır?

  • Eyaletler ve bölgeler, kronik hastalığı olan hastalara yönelik bakım entegrasyonunu ve koordinasyonunu iyileştirmek için çeşitli girişimler başlatmıştır. Bunlar arasında Aile Hekimliği Bölümleri (British Columbia), Aile Hekimliği Grupları (Quebec), Düzenlenmiş Sağlık Meslekleri Ağı (Nova Scotia) ve Sağlık Bağlantıları (Ontario) bulunmaktadır.
  • Buna ek olarak, Ontario’da Toplum Sağlığı Merkezleri ve Aborijin Sağlık Erişim Merkezleri dahil olmak üzere uzun süredir devam eden toplum temelli ve çok disiplinli birinci basamak bakım modelleri mevcuttur.

7. Elektronik sağlık kayıtlarının durumu nedir?

  • Sağlık bilgi teknolojilerinin kullanımı son yıllarda yavaş yavaş artmaktadır. Eyaletler ve bölgeler, ulusal finansman ve Canada Health Infoway aracılığıyla sağlanan destekle kendi elektronik bilgi sistemlerini geliştirmekten sorumludur. Ancak, elektronik sağlık kayıtlarının uygulanmasına yönelik ulusal bir strateji bulunmamaktadır.
  • Canada Health Infoway’e göre, eyaletlerde nüfusun çoğunluğunun sağlık kayıtları elektronik olarak kayıt altına alınmıştır. Ancak eyaletler arasında çalışabilirlik sınırlıdır. 2017’de pratisyen hekimlerin yüzde 85’i elektronik tıbbi kayıtları kullandıklarını bildirmiştir, ancak hastalar kendi elektronik sağlık bilgilerine sınırlı erişime sahiptir.

8. Maliyetler nasıl kontrol altına alınmaktadır?

Maliyetler, esas itibariyle tek ödeyici satın alma yoluyla kontrol edilir. Maliyet kontrol önlemleri şunları içerir:

  • Hastaneler ve bölgesel sağlık otoriteleri için zorunlu global bütçeler •Hizmet sunucularla müzakere edilmiş ücret programları
  • Eyalet ilaç planlarına yönelik ilaç formülleri
  • Hekimler ve hemşireler için kaynak kısıtlamaları (yıllık kabul edilen öğrenciler için il kotaları gibi)
  • Sermaye ve teknolojiye yeni yatırımla ilgili kısıtlamalar.

Kanada Sağlık İlaç ve Teknolojileri Kurumu, yeni teknoloji maliyetlerini sınırlamak için bir mekanizma olan ulusal sağlık teknoloji değerlendirme sürecini denetlemektedir. Bu kurum, ilaçların, tıbbi teknolojilerin ve sağlık sistemlerinin klinik etkinliği, maliyet etkinliği ve daha geniş etkileri hakkında bilgi üretmektedir.

Kanada Sağlık İlaç ve Teknolojileri Kurumu, Ortak İlaç İnceleme (The Common Drug Review) süreci ile ilaçların klinik etkililiğini ve maliyet etkinliğini değerlendirir ve erişim ve kanıta dayalı kaynak tahsisinde daha fazla tutarlılığı desteklemek için kamu tarafından finanse edilen eyalet ilaç planlarına (Quebec hariç) ortak, bağlayıcı olmayan öneriler sunmaktadır.

Ortak İlaç İncelemesi (CDR), yeni ilaçları gözden geçirmeye ve Kanada’da devlet tarafından finanse edilen federal, eyalet ve bölgesel ilaç yardım planlarına katılanlara listeleme önerileri sağlamaya yönelik tek bir süreçtir. CDR, klinik kanıtların standartlaştırılmış, titiz ve tekrarlanabilir sistematik bir incelemesini ve üretici tarafından sunulan bir farmako-ekonomik değerlendirmenin bir eleştirisini gerçekleştirir. Hekimler, eczacılar, sağlık ekonomistleri, klinik uzmanlar ve diğer danışmanlardan oluşan uzman ekipler bu incelemeleri yapmaktadır. İncelemede bulunanlar bir Çıkar Çatışması açıklama beyanı imzalamalıdır.

Bağımsız bir kurum olan federal düzeyde Patentli İlaç Fiyatları İnceleme Kurulu (Patented Medicine Prices Review Board), yeni patent almış ilaçların başlangıç fiyatlarını düzenler. Kurul, fabrika çıkış fiyatlarını düzenler ancak toptan satış veya eczane fiyatları veya eczacıların mesleki ücretleri üzerinde düzenleme yetkisi bulunmamaktadır.

Kanada İlaç Birliği (Pan-Canadian Pharmaceutical Alliance) kurumu, 2010 yılından bu yana 95 markalı ilaç için daha düşük fiyatlar üzerinde pazarlık yapmış ve en yaygın 15 jenerik için eşdeğer markalı ilaç fiyatlarının yüzde 18’i olarak fiyat limitleri belirlemiştir. Kuruma rağmen, jenerik ilaç fiyatları üzerinde düzenleme yetkisi ve kamu ilaç planları kapsamında fiyatlandırma ve satın alma kontrolü (ve bazı durumlarda, özel planlar kapsamında fiyatlandırma) eyaletler tarafından yapılmakta ve bu durum da bazı eyaletler arasında farklılıklara yol açmaktadır.

Kanada İlaç Birliği (Pan-Canadian Pharmaceutical Alliance (pCPA)), klinik olarak etkili ve uygun fiyatlı ilaç tedavilerine erişimi artırmak ve yönetmek için bir dizi kamu ilaç planı girişimlerinde işbirliği yapan eyalet, bölge ve federal hükümetlerinden oluşan bir birliktir.

PCPA’nın temel rollerinden biri, birliğin müzakere gücünü kullanarak kamu tarafından finanse edilen ilaç programları ve hastalar için daha fazla değer elde etmek amacıyla Kanada’da marka adı ve jenerik ilaçlar için ortak müzakereler yürütmektir. Birliğin hedefleri:

  • Klinik olarak etkili ve uygun maliyetli ilaç tedavisi seçeneklerine erişimi artırmak,
  • Katılımcı bölgeler için tutarlı ve daha düşük ilaç maliyetleri elde etmek,
  • Tekrarlanan müdahaleleri azaltmak ve kaynak kullanımını iyileştirmek,
  • Bölgeler arasında alınan kararların tutarlılığını artırmak.

Ayrıca, Kanada’yı Akıllıca Seçme (ChoosingWiselyCanada) kampanyası ile hükümetlere, hizmet sağlayıcılara ve halka düşük değerli bakımı azaltma konusunda tavsiyelerde bulunmaktadır. Kampanyanın temel amacı ise sağlık hizmetlerinde gereksiz test ve tedavileri azaltmaktır (https://choosingwiselycanada.org/).

9. Son zamanlarda hangi önemli yenilikler ve reformlar yapılmıştır?

  • Hastaneler dışındaki reçeteli ilaçlar kapsanmamaktadır. 2018’de, Ulusal Eczacılık Uygulama Danışma Konseyi (the Advisory Council on the Implementation of National Pharmacare) kurulmuş ve 2019’da bir ara rapor hazırlanmıştır.
  • Konsey, Kanadalılar ve aileleri, işverenleri ve bölge hükümetleri için uygun fiyatlı ulusal ilaç tarifelerinin nasıl uygulanacağı konusunda tavsiye niteliğinde kararlar alan bağımsız bir kurumdur.
  • Eyaletler ve bölgeler, verimliliği artırmak için yapısal reformları uygulamaya devam etmektedir. En son örnek, 2017 yılında Saskatchewan eyalet hükümeti 12 bölgesel sağlık otoritesini tek bir sağlık otoritesi altında birleştirmiştir. Bu girişim, daha büyük bir idari merkezileşmeye doğru ulusal bir eğilimi yansıtmaktadır. Benzer şekilde, artan reform çabasının bir parçası olarak, Manitoba ve Ontario eyalet hükümetleri de benzer adımlar atmıştır. 

10. Kanada Kamu Özel İşbirlikleri (KÖİ’ler)

  • 1993 yılında kurulan Kanada Kamu Özel İşbirliği Konseyi (CCPPP), misyonu tüm hükümet düzeylerinde KÖİ’ler aracılığıyla altyapı geliştirme ve hizmet sunumuna yenilikçi yaklaşımları teşvik etmek olan, kar amacı gütmeyen, üye tabanlı bir kuruluştur.
  • Kamu Özel İşbirliği (KÖİ) Kanada (Public-Private Partnerships Canada) ve Kanada Kamu-Özel Ortaklıkları Konseyi (CCPPP), Kanada’daki KÖİ’ler hakkında bilgi ve daha geniş anlamda KÖİ’ler hakkında yardımcı kaynaklar sağlar.
  • Kamu Özel İşbirliği Kanada, kamu ve özel sektör ortaklarını desteklemek ve Kanada’nın KÖİ pazarının daha da gelişmesini teşvik etmek için kamu ve özel sektörle birlikte çalışır.
  • Ayrıca, Kamu Özel İşbirliği Kanada, KÖİ fırsatlarını değerlendirme ve yürütme konusunda uzmanlık ve tavsiyeleri ile bunların eyalet düzeyindeki KÖİ birimleriyle olan bağlantılarını sağlar.

Mayıs 2017 itibarıyla Kanada’da sektöre ve hükümet düzeyine göre KÖİ projeleri Şekil 3’te verilmiştir.

Şekil 3: Kanada’da Sektöre ve Hükümet Düzeyine Göre KÖİ Projeleri, Mayıs 2017

Kaynak: OECD, 2018

Kanada’da sektöre göre KÖİ projelerinin dağılımı ise Şekil 4’te verilmiştir. Şekil 4’e göre bütün sektörlerdeki toplam proje sayısı 291, bu projelerin toplam değeri ise 139.483.997.951 $’dır. Toplam sağlık projelerinin sayısı 102, bu projelerin toplam proje değeri ise 30.000.906.951 $‘dır.

Şekil 4: Kanada’da Sektöre Göre KÖİ Projeleri, 30.12.2020

Kaynak: http://www.p3spectrum.ca/, 30.12.2020

Kanada’da KÖİ ile yapılan British Columbia eyaletinde yer alan örnek bir hastane çalışması ve projenin künyesi ile birlikte aşağıda verilmiştir.

Abbotsford Bölge Hastanesi ve Kanser Merkezi, Abbotsford’da ömrünü tamamlamak üzere olan MSA Hastanesine alternatif olarak inşa edilen 300 yataklı bir hastanedir.

Tesis, BC Kanser Kurumu tarafından işletilen eyalet düzeyindeki ağın bir parçası olan yeni bir kanser tedavi merkezinin entegre edilmesi dahil olmak üzere çeşitli gelişmiş programlar sunmaktadır. Kanser merkezi, yüksek düzeyde ihtiyaç duyulan teşhis ve tedavi hizmetleri vermektedir.

Bina yaklaşık 60.000 metrekare olup, eski MSA akut bakım hastanesinin yaklaşık üç katı büyüklüğündedir. Yeni bölge hastanesi ve kanser merkezi, en az 150 binlik nüfusun ihtiyacını karşılayacak şekilde tasarlanmıştır.

Kamu özel ortaklığı ile inşa edilen yeni tesisin inşaatı 2004 yılında başlamış ve 2008 yılı Ağustos ayında tamamlanarak hizmete açılmıştır.

Kaynak: http://www.p3spectrum.ca/, 30.12.2020

Bir diğer vaka çalışması ise Ontario eyaletinin Toronto şehrinde yapılan Bridgepoint Hastanesi olup, aşağıda verilmiştir. Vaka örneklerini burada artırmak mümkündür.

10 katlı, 680.000 metrekarelik Bridgepoint Hastanesi 2013 yılının Mart ayında tamamlanmış olup 472 yatak kapasitesine sahiptir. KÖİ projesi aynı zamanda önceki hastanenin, bir klinik binasının ve Toronto Hapishanesinin yıkılmasını ve daha sonra çevredeki cadde peyzaj işlerini içermektedir.

Şu anda Toronto akut bakım hastanelerinden sevklerin en yüksek oranda yapıldığı hastanedir.

Hastane komplike kronik hastalıkların tedavisi yönelik son teknolojik imkanlarla donatılan tesistir.

Bu hastaneyle birlik komplike inme (felçler) hastaları artık aynı veya daha iyi sonuçlarla eve öncekinden 12 gün önce eve dönmektedir.

Kamu özel işbirliği (KÖİ) Tasarla-Yap-Finanse Et-Bakımını Yap modeli kapsamında 33,5 yıllık sözleşme imzalanmıştır.

Kaynak: http://www.p3spectrum.ca/, 30.12.2020

Özetle, Kanada sağlık sistemi farklı boyutlarıyla ele alınarak konu hakkında hem farkındalık oluşturulması hem de içgörü kazandırılması amaçlanmıştır.

Faydalı olması dileğiyle.

Bilimle ve teknolojiyle kalınız.

Saygılarımla…

Not: Kaynak gösterilmeden alıntı yapılamaz veya kopyalanamaz.

Note: It can not be cited or copied without referencing.

Kaynakça

  1. https://www.canada.ca/en/health-canada/services/health-care-system/reports-publications/health-care-system/canada.html
  2. World Health Organization. Regional Office for Europe, European Observatory on Health Systems and Policies, Gregory P. Marchildon, Sara Allin & Sherry Merkur. (‎2020)‎. Canada: Health system review. Health Systems in Transition, 22 (‎3)‎, World Health Organization. Regional Office for Europe. https://apps.who.int/iris/handle/10665/336311
  3. Common Wealth Fund, https://www.commonwealthfund.org/international-health-policy-center/countries/canada
  4. Choosing Wisely Canada, https://choosingwiselycanada.org/
  5. Canadian Agency for Drugs and Technologies in Health (CADTH), https://www.cadth.ca/about-cadth
  6. Canadian Foundation for Healthcare Improvement, https://www.cfhi-fcass.ca/about/our-story
  7. Nova Scotia Regulated Health Professions Network Regulations for Scope of Practice, https://www.nsrhpn.ca/about-us/
  8. The Therapeutics Initiative (TI), https://www.ti.ubc.ca/2006/12/31/what-is-the-common-drug-review/
  9. Canadian Agency for Drugs and Technologies in Health (CADTH), https://cadth.ca/reimbursement-review-reports
  10. pan-Canadian Pharmaceutical Alliance, https://www.pcpacanada.ca/node/30
  11. https://www.canada.ca/en/health-canada/corporate/about-health-canada/public-engagement/external-advisory-bodies/implementation-national-pharmacare.html
  12. World Bank, http://documents1.worldbank.org/curated/en/600511468336720455/pdf/903840PPP0Refe0Box385311B000PUBLIC0.pdf
  13. PPP Knowledge Lab, https://pppknowledgelab.org/external-resources
  14. OECD (2018), Subnational Public-Private Partnerships: Meeting Infrastructure Challenges, OECD Multi-level Governance Studies, OECD Publishing, Paris, https://doi.org/10.1787/9789264304864-en.
  15. Infrastructure Canada, https://www.infrastructure.gc.ca/site/alt-format/pdf/plan/icp-pic/IC-InvestingInCanadaPlan-ENG.pdf
  16. P3spectrum, http://www.p3spectrum.ca/project/
  17. The Canadian Council for Public-Private Partnerships, https://www.pppcouncil.ca/
  18. https://www.pngwing.com/en/free-png-yghlx
Öne çıkan

ABD Sağlık Sistemi: The U.S. Health Care System

1. Giriş

ABD sağlık sistemine geçmeden önce konusu geçeçeği için ilk olarak ABD’deki eyaletleri Şekil 1 üzerinde verelim.

Şekil 1: ABD Eyaletleri

Kaynak: https://www.legendsofamerica.com/us-states/

  • Kuruluş yıllarında 13 eyaleti bulunan ABD, günümüzde 50 eyalet ve bu eyaletlerin bağlı olduğu bir federal devlet sistemi ile yönetilmektedir.
  • Amerika’da tek tip bir sağlık sistemi yoktur. Mevcut sağlık sistemi herkesi kapsamamaktadır.
  • Eyaletler arasında sağlık hizmeti sunumu ve sağlık sigortası ücretleri ile kapsamı farklılık göstermektedir.
  • Federal hükümet, 65 yaş ve üstü yetişkinler ve bazı engelli bireyler için ulusal Medicare programı ve ayrıca Medicaid ve Çocuk Sağlığı Sigortası Programı (CHIP) da dahil olmak üzere gaziler ve düşük gelirli bireyler için çeşitli programlar için finansman sağlamaktadır.
  • Eyaletler yerel kapsama alanını ve sosyal güvenlik ağını yönetmekte ve bunun için ödemelerde bulunmaktadır.
  • En yaygın teminat türü olan özel sigorta, öncelikle işverenler tarafından finanse edilmektedir.
  • Dönüm noktası olan Uygun Bakım Yasası (ACA)’nın, diğer bir deyişle Obamacare’nin yasalaştığı 2010’da sigortasızların oranında yüzde 16 düşüş sağlanarak sigortasız olanların oranı yüzde 8,5’i seviyesinde gerçekleşmiştir.
  • Kamu ve özel sigorta kurumları, federal ve eyalet düzenlemeleri çerçevesinde kendi fayda paketlerini ve maliyet paylaşım yapılarını belirlemektedir.

2. Sağlık hizmeti üretimi organizasyonları

  • Amerika’da hizmet organizasyonu çok parçalı bir yapıya sahiptir. Hizmet üreticisi olan hekimler ve hastaneler, finansman sağlayan kurumlardan hizmet satın almaktadır.
  • Geleneksel Amerikan sağlık sisteminde ödemelerin çoğu hizmet başına ödeme şeklinde yapılmaktadır. Hizmet başına ödemeler, sağlık hizmetlerinde artmakta ve gereksiz kullanımlara yol açabilmektedir.
  • Yönetilen sağlık bakım organizasyonları (Managed Care Organization: MCO) sağlık sisteminde örgütlenmeyi geliştirmek, maliyetleri azaltmak ve kaliteyi artırmak amacıyla ortaya çıkmıştır. Ayrıntılı sözleşmeler ile sağlık sigortası ve sağlık hizmetlerinin birleştiği bir organizasyonu temsil etmektedir.
  • Yönetilen sağlık bakım organizasyonları (MCO), mevcut farklı programlardan gelen hizmetleri koordine eden ve bunları üyelerin ihtiyaç ve tercihlerine göre uzun vadeli tek bir destek ve hizmet planında birleştiren bir Aile Bakım Programının bir parçasıdır. MCO’lar tüketiciler tarafından alınan hizmetlerin kalitesini iyileştirir.
  • Yönetilen bakımda, sigortalı kişinin birinci basamak sağlık hizmetlerini alacağı kurumu seçmesi ve uzmanlık hizmetleri için birinci basamaktan sevk alması gerekmektedir. Yönetilen bakım uygulamasının yaygınlaşmasıyla birinci basamak sağlık hizmetlerine olan ihtiyaç artmaktadır.

3. Sağlık sigortası planı ve sosyal güvenlik ağ türleri

  • Farklı ihtiyaçları karşılamak için tasarlanmış farklı sağlık sigortası pazar planları vardır.
  • Bazı plan türleri, hizmet sağlayıcı seçimlerinizi kısıtlar veya planın doktorlar, hastaneler, eczaneler ve diğer tıbbi hizmet sağlayıcılardan oluşan ağdan bakım almanızı teşvik eder. Bunların dışında kalanlar, plan ağı dışındaki hizmet sağlayıcılara daha büyük bir maliyet payı öder.
  • Hizmet sunulan bölgeye bağlı olarak, her metal seviyesinde sigorta pazarındaki plan türlerinin hepsini veya herhangi birini bulabilirsiniz.
  • Sigorta pazarındaki plan türleri Bronz, Gümüş, Altın ve Platin olmak üzere 4 kategoride ele alınmıştır.

Pazar Yeri’nde bulacağınız bazı plan türleri:

  • Münhasır Hizmet Sağlayıcı Örgütler (EPO): Hizmetlerin yalnızca plan ağındaki doktorlar, uzmanlar veya hastaneleri (acil durumlar dışında) kullanmanız durumunda kapsandığı bir yönetilen bakım planıdır.
  • Sağlık Bakım Örgütleri (HMO): Genellikle, HMO için çalışan veya HMO ile sözleşme yapan doktorların bakımını sınırlayan bir sağlık sigortası planı türüdür. Acil durumlar dışında genellikle ağ dışında kalan bakım hizmetlerini kapsamaz. Bir HMO, kapsama alınmasının uygunluğunun değerlendirilmesinde hizmet alanında yaşamanızı veya çalışmanızı isteyebilir. HMO’lar genellikle entegre bakım sağlayarak koruyucu ve sağlıklı yaşam hizmetlerine odaklanır. HMO’lar üyelerine gelişmiş sağlık hizmetleri sunan yönetilen bakım kuruluşlarıdır. Bu tür bir sigorta planı 20. yüzyılın başlarında başlamıştır, ancak 1973 tarihli Sağlık Bakım Örgütü Yasası’nın kabul edilmesiyle popülaritesi artmıştır. Bir HMO kapsamında, hasta, hazırlanmış kapsamlı bir sağlık bakım planında yardımcı olacak bir birinci basamak hekimi seçer.

Pazar Yeri’nde bulacağınız bazı plan türleri örnekleri:

  • Hizmet Noktası (POS): Planın ağına dahil olan doktorlar, hastaneler ve diğer sağlık hizmeti sağlayıcılarını kullanırsanız daha az ödediğiniz bir plan türüdür. POS planları, bir uzman görmeniz için birinci basamak doktorunuzdan bir sevk almanızı gerektirir.
  • Tercihli Hizmet Sağlayıcı Kuruluşlar (PPO): Planın ağındaki sağlayıcıları kullanırsanız daha az ödediğiniz bir sağlık planı türüdür. Ağın dışındaki doktorları, hastaneleri ve sağlayıcıları ek bir ücret karşılığında yönlendirme olmadan kullanabilirsiniz.

Sağlık sigorta pazarındaki plan kategorileri Şekil 2 üzerinde verilmiştir.

Şekil 2: Sağlık sigorta pazarındaki plan kategorileri

Kaynak: https://www.healthcare.gov/choose-a-plan/plans-categories/

4. Evrensel sağlık sigortası nasıl çalışır?

  • Amerika Birleşik Devletleri genel sağlık sigortasına sahip değildir. 2018’de nüfusun yaklaşık yüzde 92’si sigorta kapsamında olup 27,5 milyon kişinin veya nüfusun yüzde 8,5’inin sigortası bulunmamaktadır. Sağlık hizmeti hakkını güvence altına almaya yönelik adımlar atılmaya devam edilmektedir.
  • ABD’de işveren destekli sağlık sigortası 1920’lerde uygulamaya konulmuştur. II. Dünya Savaşı’ndan sonra hükümetin ücret kontrolleri uygulaması ve sağlık sigortası ve vergiden muaf gibi yan haklar ilan etmesiyle işveren destekli sağlık sigortası popülerlik kazanmıştır. 2018’de nüfusun yaklaşık yüzde 55’i işveren destekli sigorta kapsamındadır.
  • 1965’te, ilk kamu sigorta programları Medicare ve Medicaid, Sosyal Güvenlik Yasası ile yürürlüğe girmiş ve diğer sigorta programları bunu izlemiştir.

Medicare

  • Medicare, 65 yaş ve üstü kişiler için evrensel bir sağlık bakımı hakkı sağlar. Uygun nüfuslar ve kapsanan faydaların kapsamı kademeli olarak genişletilmiştir. 1972’de, 65 yaşın altındaki uzun süreli engelli veya son dönem böbrek hastalığı olan bireyler de bu kapsama alınmıştır.
  • Bütün bireyler, hastane sigortası (Kısım A) ve sağlık sigortası (Kısım B) sağlayan bir hizmet başına ödeme programı olan geleneksel Medicare hakkına sahiptir. 1973’ten beri bireyler, sigortalarını geleneksel Medicare veya Medicare Advantage (Kısım C) yoluyla alma seçeneğine sahipler, bu kapsamda bireyler özel bir sağlık bakım organizasyonuna (HMO) veya yönetilen bakım organizasyonuna (MCO) kaydolmaktadır.
  • 2003 yılında, gönüllü ayakta tedavilerde reçeteli ilaç teminatı seçeneği sunan Bölüm D, Medicare kapsamına alınmıştır.
  • Medicare, Hastane Sigorta Fonu Tröstü ve Tamamlayıcı Sağlık Sigortası Tröstü tarafından finanse edilmektedir.

Medicaid

  • Medicaid programı ilk olarak eyaletlere düşük gelirli ailelere, görme engeli olanlara ve diğer engelli bireylere sağlık hizmetleri sağlamak için federal eşleştirme fonu alma seçeneği sunmuştur.
  • Medicaid, eyaletler tarafından federal düzeydeki düzenlemelere göre yönetilir. Program, eyaletler ve federal hükümet tarafından ortaklaşa finanse edilmektedir.
  • Medicaid, düşük gelirli hamile kadınlar ve bebekler ile daha sonra 18 yaşına kadar olan çocuklar için kademeli olarak zorunlu hale getirilerek bu sigorta programının kapsamı genişletilmiştir.
  • Bugün gelinen noktada Medicaid, Amerikalıların yüzde 17,9’unu kapsamına almaktadır. Eyaletler tarafından yönetilen sigorta programına göre uygulamalar farklılaştığı için gelir testleri ve uygunluk kriterleri de eyaletlere göre değişir. Bireylerin Medicaid kapsamı için başvurmaları ve yıllık olarak yeniden kaydolmaları ve yeniden sertifika almaları gerekir. 2019 itibariyle, Medicaid yararlanıcılarının üçte ikisinden fazlası yönetilen bakım kuruluşlarına (MCO) kaydolmuştur.

Çocuk Sağlık Sigortası Programı (CHIP)

  • 1997’de Çocuk Sağlığı Sigortası Programı veya kısa adıyla CHIP, Medicaid’e hak kazanmak için çalışıyor olmak ancak özel sigorta alamayacak durumda olan düşük gelirli ailelerdeki çocuklar için eyaletler tarafından yönetilen bir program olarak oluşturulmuştur.
  • 2019 yılında, Çocuk Sağlığı Sigortası Programı 9,6 milyon çocuğu kapsamına almıştır. Program bazı eyaletlerde, Medicaid’in bir uzantısı olarak çalışmakta, diğer eyaletlerde ise ayrı bir program olarak yürütülmektedir.
  • 2019 yılında ABD’de 45.154.247 çocuktan 35.478.118’i Medicaid’e, 9,676,129’u ise CHIP’e kaydolmuştur.

Karşılanabilir Bakım Yasası (ACA)

2010 yılında, Hasta Koruma ve Uygun Bakım Yasası, kısa adıyla ACA’nın kabulü, hükümetin sağlık hizmetlerinin finansmanı ve düzenlenmesindeki rolünü bugüne kadarki en büyük şekilde genişletmiştir. Yasanın 2014 yılında uygulanan büyük kapsam genişletmelerinin bileşenleri şöyledir:

  • Amerikalıların çoğunun sağlık sigortası almasını veya bir ceza ödemesini zorunlu kılmak (ceza daha sonra kaldırıldı)
  • 26 yaşına kadar ebeveynlerinin özel sağlık planlarında kalmalarına imkan vererek gençlerin kapsamını genişletmek
  • Düşük ve orta gelirli bireylere prim sübvansiyonları sunan sağlık sigortası pazarı oluşturmak veya borsaları açmak
  • Federal sübvansiyonların yardımıyla Medicaid’in kapsamını genişletmek (bu seçeneği seçen eyaletlerde).

ACA, tahmini olarak 20 milyon bireyi kapsama almasıyla sonuçlanmıştır ve 19 yaşındaki sigortasız yetişkinlerin payını 2010’da yüzde 20’den 2018’de yüzde 12’ye düşürmüştür.

Federal Hükümetin Rolü

  • Federal hükümetin, Veterans Health Administration ve Indian Health Service haricinde, sağlayıcılara doğrudan sahip olma ve tedarik etme konusunda sadece ihmal edilebilir bir rolü vardır. ACA, tüm Amerikalıların uygun fiyatlı ve kaliteli sağlık sigortasına erişimini sağlamak için hükümet, işverenler ve bireyler arasında “ortak sorumluluk” oluşturmuştur. ABD Sağlık ve İnsan Hizmetleri Bakanlığı (Department of Health and Human Services) federal hükümetin sağlık hizmetleriyle ilgilenen ana kurumlarından biridir.
  • Eyaletler, CHIP ve Medicaid programlarını federal düzenlemelere göre finanse eder ve yönetir. Eyaletler uygun eşik değerleri, hasta maliyet paylaşım gereksinimlerini ve fayda paketlerinin çoğunu belirler.
  • Ayrıca, eyalet çalışanları için sağlık sigortasını finanse etmeye, özel sigortayı düzenlemeye ve sağlık uzmanlarına lisans vermeye yardımcı olur. Bazı eyaletler, Medicaid’e ek olarak, düşük gelirli bireyler için sağlık sigortası yönetimlerinden de sorumludur.

Şekil 3’te Sağlık ve İnsan Hizmetleri Bakanlığı (Health and Human Services-HHS) teşkilat şeması verilmiştir.

Şekil 3: ABD Sağlık ve İnsan Hizmetleri Bakanlığı Teşkilat Şeması

Kaynak: Kırılmaz ve diğerleri, 2017

  • Hem federal hem de eyalet hükümetlerinin yürütme, yasama ve yargı kolları vardır ve federal hükümetin yürütme yetkisinin altında, Sağlık ve İnsan Hizmetleri Bakanlığı (Health and Human Services-HHS) ABD sağlık sistemi içinde en büyük idari rolü üstlenmektedir. HHS, ABD hükümeti vatandaşlarının sağlığını korumakla yükümlüdür.
  • HHS’ye bağlı birimler sağlık ve sosyal bilim araştırmalarını yürütüp, hastalık salgınlarını önlemek, gıda ve ilaç güvenliğini temin etmek ve tüm vatandaşlara sağlık sigortası sağlamak için çalışmaktadır.
  • HHS, her dört Amerikalıdan birine sağlık sigortası sağlayan Medicare ve Medicaid’in yanı sıra, Ulusal Sağlık Enstitüsü (NIH), Gıda ve İlaç İdaresi (FDA) ve Hastalık Kontrolü ve Önleme Merkezini (CDC) de denetlemektedir.
  • HHS’ye bağlı kuruluşlar; Medicaid ve Medicare Hizmet Servisleri, Hastalık Kontrol ve Önleme Merkezleri, Ulusal Sağlık Enstitüsü, Sağlık Kaynakları ve Hizmetleri İdaresi, Sağlık Hizmeti Araştırma ve Kalite Kurulu, Gıda ve İlaç Yönetimi, Medicaid ve Medicare Geliştirme Merkezi, Hasta Merkezli Sonuçlar Araştırma Enstitüsü olarak sıralanabilir.
  • Hastalık Kontrol ve Önleme Merkezleri (CDC), Amerika’yı sağlık, emniyet ve güvenlik tehditlerine karşı koruma görevin üstlenmektedir. CDC ülkeyi pahalı ve tehlikeli sağlık tehditlerine karşı koruyan sağlık bilgileri sağlar ve bunlar ortaya çıktığında tepki verir.
  • Ulusal Sağlık Enstitüsü (NIH), sağlığın iyileştirilmesi ve hayat kurtaran önemli teknolojilerin geliştirilmesi alanlarında faaliyet gösteren tıbbi araştırma ajansıdır. Enstitü, dünya çapında önde gelen, en büyük biyomedikal araştırma merkezidir. NIH yaşam sistemlerinin doğası ve davranışları hakkında temel bilgiler ortaya koyan ve bu bilgileri sağlığın geliştirilmesinde, yaşam süresinin uzatılmasında, hastalık ve sakatlıkların azaltılmasında kullanan enstitüdür.
  • Sağlık Kaynakları ve Hizmetleri İdaresi (HRSA), kaliteli hizmetleri, nitelikli sağlık çalışanı ve yenilikçi programlara erişim yoluyla bireylere sunmaya çalışan, sağlığın iyileştirilmesi ve sağlık eşitliği sağlanmasında aktif rol oynayan birincil Federal kurumdur. HRSA programları coğrafi olarak izole edilmiş, ekonomik veya tıbbi açıdan dezavantajlı bireylere sağlık hizmeti sunmaktadır.
  • Sağlık Hizmeti Araştırma ve Kalite Kurulu (AHRQ), sağlık hizmetlerinin daha güvenli, daha kaliteli, daha erişilebilir, eşit ve uygun fiyatlı hale getirilmesi için kanıtlara dayalı araştırmalar yapan, bu araştırmalar sonucunda elde edilen bulguları HHS ve diğer kuruluşların kullanımına sunan kuruldur.
  • Gıda ve İlaç İdaresi (FDA), insan ve veteriner ilaçları, biyolojik ürünler ve tıbbi cihazların güvenliğini ve etkililiğini sağlayarak ve ülkenin gıda tedariğinin, kozmetik ürünlerinin ve radyasyon yayan ürünlerin güvenliğini sağlayarak halk sağlığını korumakla yükümlüdür.
  • Medicaid ve Medicare Geliştirme Merkezi (CMS), Medicare ve Medicaid programlarında kaliteyi ve hizmet sunumunu daha da iyileştimek için geliştirilen modellerin denemelerini yapmakla yükümlüdür.
  • Bağımsız, kar amacı gütmeyen bir sivil toplum kuruluşu olan Hasta Merkezli Sonuçlar Araştırma Enstitüsü (PCORI)’nün amacı, hastalar ve onlara bakım hizmeti verenler için mevcut olan birçok sağlık seçeneği arasından hangisinin belirli koşullar altında en iyi sonuç verebileceğini belirlemektir. •Bu amaçla hastalara, hizmet sunuculara, işverenlere, sigorta şirketlerine ve politika yapıcılara bilinçli sağlık kararları verebilmelerine yönelik tavsiye niteliğinde çalışmalar yürütür.

ABD sağlık sistemi organizasyon şeması Şekil 4’te verilmiştir.

Şekil 4: ABD Sağlık Sistemi Organizasyon Şeması

Kaynak: WHO, 2013

Kamu sağlık sigortasının rolü

  • 2017’de kamu harcamaları toplam sağlık harcamalarının yüzde 45’ini, GSYİH’nın ise yaklaşık yüzde 8’ini oluşturmaktadır. Federal sağlık harcamaları, toplam sağlık harcamalarının yüzde 28’ini temsil etmektedir.
  • Federal vergiler, Medicare, Medicaid, CHIP ve askeri sağlık sigortası programları (Veteran’s Health Administration, TRICARE) gibi kamu sigorta programlarını finanse eder. Medicare ve Medicaid Hizmet Merkezleri, devletin en büyük sağlık sigortası finansmanı kaynağıdır.
  • Medicare, genel federal vergiler, Kısım A için ödenen zorunlu bir maaş bordrosu vergisi (hastane sigortası) ve bireysel primlerden oluşan bir kombinasyonla finanse edilir.
  • Medicaid, maliyetlerin üçte ikisini (% 63) temsil eden federal vergi gelirleri ve geri kalanını eyalet ve yerel gelirler ile büyük ölçüde vergi ile finanse edilmektedir. Medicaid’in ACA kapsamındaki genişlemesi 2017 yılına kadar federal hükümet tarafından tamamen finanse edilmiştir. Bu yıldan sonra federal fon payı kademeli olarak yüzde 90’a düşmüştür.
  • CHIP, federal hükümet tarafından eyaletlere tahsis edilen eşleştirilmiş ödeneklerle finanse edilmektedir. Çoğu eyalet (2018’de 30) bu program kapsamında prim almaktadır.

Özel sağlık sigortasının rolü

  • Özel sağlık sigortası harcamaları 2018’deki toplam sağlık harcamalarının üçte birini (% 34) oluşturmuştur.
  • Özel sigorta, Amerikalıların üçte ikisinin (% 67) temel sağlık sigortasıdır. Özel sigortanın çoğunluğu (% 55) işveren tarafından finanse edilmektedir ve daha küçük bir pay (% 11) ise kar amacı gütmeyen kuruluşlar ve bireyler tarafından finanse edilmektedir.
  • Çoğu işveren, yardımları yönetmek için özel sağlık planları (sigortaları) ile sözleşme yapmaktadır. İşveren planlarının çoğu, çalışanları ve bakmakla yükümlü oldukları kişileri kapsar ve bu planların çoğunluğu birkaç plan seçeneği sunar. Hem işverenler hem de çalışanlar tipik olarak prime katkıda bulunur; çok daha az sıklıkla, primler tamamen işveren tarafından karşılanmaktadır.
  • ACA, özel planlarla bireysel temel sağlık sigortası veya diş sağlığı sigortası satın almak için bir federal sağlık pazarı olan HealthCare.gov’u uygulamaya koymuştur. Eyaletler ayrıca kendi sağlık pazar yerlerini de kurabilmektedir.
  • 2019’da Medicare yararlanıcılarının üçte birden fazlası, sigortalarını özel bir Medicare Advantage sağlık planı aracılığıyla almayı tercih etmiştir.
  • Medicaid yararlanıcıları, yardımlarını, eyalet Medicaid departmanlarından tipik olarak riske uyarlanmış ödemeler alan özel bir yönetilen bakım kuruluşu (MCO) aracılığıyla alabilirler. Medicaid yararlanıcılarının üçte ikisinden fazlası yönetimli bakım kuruluşlarına kayıtlıdır.

Kapsama Alınan Hizmetler: Medicare

  • Ulusal olarak tanımlanmış bir fayda paketi yoktur; kapsanan hizmetler sigorta türüne bağlıdır.
  • Medicare Kısım A kapsamında Medicare’e kayıtlı kişiler, uzun ve kısa süreli nitelikli hemşirelik bakımını içeren hastanede yatan hasta bakımı alma hakkına sahiptir.
  • Medicare B Kısımı ise doktor hizmetlerini, dayanıklı tıbbi ekipmanı ve evde sağlık hizmetlerini kapsar. Bu kısım, bakım tesislerinde veya evde rehabilitasyon hizmetleri gibi kısa vadeli akut sonrası bakımı kapsar, ancak uzun vadeli bakımı kapsamaz. Kısım B, bir muayenehane ortamında bir tıp uzmanı tarafından uygulanması gereken enjekte edilebilir veya infüze edilmiş ilaçlar dahil, yalnızca çok sınırlı ayakta tedavi reçeteli ilaç hizmetlerini kapsamaktadır.
  • Bazen “Kısım C” veya “MA Planları” olarak adlandırılan Medicare Advantage (MA) Planları (bir HMO veya PPO gibi kayıtlı kuruluşlardan), Medicare’in bir parçası olarak sahip olabileceğiniz başka bir Medicare sağlık planı seçeneğidir. “Kısım C”, Medicare tarafından onaylanan özel şirketler tarafından sunulur.
  • Bir Medicare Advantage Planı (Kısım C)’na katılırsanız, plan, tüm Kısım A (Hastane Sigortası) ve Kısım B (Sağlık Sigortası) teminatınızı sağlayacaktır. Medicare Avantaj Planları, görme, işitme, diş ve / veya sağlık ve sağlıklı yaşam programları gibi ekstra teminatlar sunabilmektedir. Bu teminatların çoğu, Medicare reçeteli ilaç kapsamını (Bölüm D) içerir.
  • Medicare, Medicare Advantage Planları sunan şirketlere her ay bakım için sabit bir miktar öder. Bu şirketler Medicare tarafından belirlenen kurallara uymalıdır. Ancak, her Medicare Advantage Planı, farklı tutarlarda cepten ödemeler gerektirebilir ve hizmetleri nasıl alacağınıza ilişkin farklı kurallar içerebilir (örneğin, bir uzmanla görüşmek için yönlendirmeye ihtiyacınız olup olmadığı veya yalnızca acil olmayan plana dahil olan doktorlara, tesislere veya tedarikçilere gitmeniz gerekiyorsa). Bu kurallar her yıl değişebilir.
  • Bireyler, Medicare Kısım D kapsamında özel reçeteli ilaç teminatı satın alabilmektedir.
  • Diş hekimliği ve görme hizmetlerinin kapsamı sınırlıdır ve çoğu yararlanıcı diş hekimi teminatından yoksundur.

Kapsama Alınan Hizmetler: Medicaid

  • Federal düzenlemeler uyarınca Medicaid, yatan ve ayakta hasta hastane hizmetleri, uzun süreli bakım, laboratuvar ve teşhis hizmetleri, aile planlaması, ebe ve hemşirelik hizmetleri, bağımsız doğum merkezleri ve tıbbi randevulara ulaşım dahil olmak üzere geniş bir hizmet yelpazesini kapsar.
  • Eyaletler, fizik tedavi, diş ve görme hizmetleri dahil ek fayda paketleri sunmayı seçebilirler. Çoğu eyalet (2018 itibariyle 39) diş sağlığı sigortası sağlamaktadır.
  • Ayakta tedavi gören hastaların reçeteli ilaçların kapsama alınması federal yasaya göre isteğe bağlı bir hizmettir; ancak, şu anda tüm eyaletler ilaç teminatı sağlamaktadır.

Kapsama Alınan Hizmetler: Özel Sağlık Sigortası

Özel sağlık planlarındaki sunulan hizmetler değişiklik gösterir. İşveren sağlık sigortası genellikle diş veya görme yardımlarını kapsamaz. ACA (Uygun Bakım Yasası), 10 kategoride “temel sağlık hizmetlerini kapsayacak şekilde bireysel pazar yeri ve küçük grup pazar planlarının (50 veya daha az çalışanı olan firmalar için) oluşturulmasını zorunlu kılmaktadır. Bu kategoriler şöyledir:

  1. ayakta hasta hizmetleri (doktor ziyaretleri)
  2. acil servisler
  3. hastanede kalma
  4. doğum ve yenidoğan bakımı
  5. ruh sağlığı hizmetleri ve madde kullanım bozukluğu tedavisi
  6. reçeteli ilaçlar
  7. rehabilitasyon hizmetleri ve cihazları
  8. laboratuvar hizmetleri
  9. koruyucu ve sağlıklı yaşam hizmetleri ile kronik hastalık yönetimi hizmetleri
  10. diş ve göz bakımı dahil pediatrik hizmetler.

Maliyet paylaşımı ve cepten harcamalar

  • 2018’de hane halkları, federal hükümet ile yaklaşık aynı toplam sağlık hizmeti harcamalarının % 28’ini finanse etmiştir. Cepten yapılan harcamalar bunun yaklaşık üçte birini, toplam sağlık harcamalarının ise yüzde 10’unu oluşturmuştur.
  • Hastalar genellikle belirli bir muafiyete kadar tam bakım maliyetini öder; 2018’de tek bir kişinin ortalama bakım maliyeti 1.846 dolar olarak gerçekleşmiştir. Bazı birinci basamak sağlık hizmetleri ise yalnızca katkı paylarını ödemeyi gerektirmektedir.
  • Cepten yapılan harcamalarda, diş bakımı (toplam harcamaların % 40’ı) ve reçeteli ilaçlar (toplam harcamaların % 14’ü) önemli bir paya sahiptir.

Sosyal güvenlik ağları

  • Medicare ve Medicaid dahil olmak üzere kamu sigorta programlarına ek olarak, vergi mükelleflerinin ödemeleri sigortasız, düşük gelirli ve ödeyemeyecek durumdaki hastalar için çeşitli sigorta programlarını finanse etmektedir. Örneğin, ACA (Uygun Bakım Yasası), ödeme gücüne bakılmaksızın 27 milyondan fazla yetersiz hizmet alan hastaya birinci basamak ve koruyucu sağlık hizmeti sağlayan federal düzeyde yetkilendirilmiş sağlık merkezlerine fon sağlamıştır. Bu sağlık merkezleri, hastaların gelirine göre ücret almakta ve sigortasız olanlara ve sigortası olmayan çocuklara ücretsiz aşı hizmeti vermektedir.
  • Medicare ve Medicaid, dışarıda kalan bakım maliyetlerini dengede tutmaya yönelik hastaları çoğunlukla kamu sigortası olan veya sigortasız olanlara göre hastanelere orantısız pay ödemeleri yapmaktadır. Eyalet vergileri ve yerel (local) vergiler, kamu hastaneleri ve yerel sağlık kuruluşları aracılığıyla ek yardım ve güvenlik ağı programları için ödeme yapılmasına kaynak oluşturmaktadır.
  • Ayrıca, sigortasız bireyler, çoğu hastanenin, ödeme gücü, sigorta durumu, ulusal köken veya ırktan bağımsız olarak, doğum yapan kadınlar da dahil olmak üzere acil bakıma ihtiyaç duyan tüm hastaları tedavi etmesini zorunlu hale getiren federal bir yasa aracılığıyla akut bakıma erişebilmektedir. Sonuç olarak, özel hizmet sunucuları önemli bir yardım kurumu ve karşılıksız sağlık hizmeti sunum kaynağıdır.

Hizmet sunumu nasıl gerçekleştirilir ve hizmet sunuculara nasıl ödeme yapılır?

Doktorların eğitimi ve işgücü

  • Tıp fakültelerinin çoğu (% 59) halka açıktır. 2019’da medyan öğrenim ücretleri, devlet tıp okullarında 39.153 ve özel okullarda ise 62.529 $’dır .
  • Öğrencilerin çoğu (% 73), tıp eğitimi ücretlerinden oluşan ortalama 200.000 $ (2019 yılı) borç ile mezun olmaktadır. Federal düzeyde çeşitli borç azaltma, kredi affı ve burs programları sunulmaktadır; yetersiz hizmet alan bölgelere bu öğrenciler bursiyer olarak yerleştirilmektedir. Sağlık Profesyoneli Eksik Bölgeler (Health Professional Shortage Areas)’de çalışan doktorlara, Medicare doktor ikramiye ödemesi yapılmaktadır.

Birinci Basamak Sağlık Hizmetleri

  • Profesyonel olarak aktif olan tüm doktorların yaklaşık üçte biri, aile hekimliği, genel pratisyenlik, iç hastalıkları, pediatri ve bazılarına göre geriatri uzmanlarını kapsayan bir kategori olan birinci basamak hekimleridir. 2018 yılında birinci basamak hekimlerinin yaklaşık yarısı hekime ait muayenehanelerde faaliyet göstermektedir; bu hekimler daha yaygın olarak aile hekimlerinden ziyade genel dahiliye uzmanlarından oluşmaktadır.
  • Birinci basamak hekimlerine, müzakere edilmiş ücretler (özel sigorta), kişi başı (özel sigorta ve bazı kamu sigortası) ve idari olarak belirlenen ücretler (kamu sigortası) dahil olmak üzere çeşitli yöntemlerin kombinasyonu yoluyla ödeme yapılmaktadır. Birinci basamak sağlık hizmetleri gelirlerinin çoğunluğu (% 66) hizmet başına ücret ödemelerinden gelmektedir. Medicare, 2012 yılından bu yana, birinci basamak sağlık hizmetleri ve uzman hizmet sunucuları için alternatif ödeme modellerini denemektedir.

Ayakta uzman bakım hizmetleri

  • Uzmanlar hem özel muayenehanelerde hem de hastanelerde çalışabilmektedir. Uzmanlık uygulamaları, hastane sistemleriyle giderek daha fazla entegre olmakta ve birbirleriyle bütünleşmektedir. Uzmanların çoğu grup muayenehanelerinde, özellikle de tek uzmanlık grup muayenehanelerinde faaliyet göstermektedir.
  • Ayakta tedavi uzmanları, hangi sigorta türünü kabul edeceklerini seçmekte özgürdür. Örneğin, Medicaid ve Medicare tarafından belirlenen nispeten düşük geri ödeme oranları nedeniyle uzmanların çoğu kamu sigortalı hastaları kabul etmemektedir. Bu programlardan yararlananlar için uzmanlara erişim bu nedenle özellikle sınırlı düzeyde kalabilmektedir.

Hizmet sunuculara doğrudan hasta ödemeleri yapan idari mekanizmalar

  • Doktor ziyaretlerinde alınan katkı payları genellikle hizmet sırasında ödenir veya daha sonra hastaya faturalandırılır. Bazı sigorta planları ve ürünleri (sağlık tasarruf hesapları dahil), hastaların geri ödeme almak için talepte bulunmalarını gerektirir.
  • Hizmet sunucular, verilen hizmetleri kodlayarak sigortacılara faturalandırır. Binlerce kod mevcuttur ve bu işlemi zaman alıcı hale getirir; hizmet sunucular genellikle kodlama ve faturalama işlemleri için ayrı personel çalıştırmaktadır.
  • İdari engellerden dolayı, az sayıda hizmet sunucu herhangi bir sigortayı kabul etmemektedir. Bunun yerine, bu hizmet sunucuları yalnızca nakit ödemeleri kabul etmekte veya hizmetlere gelişmiş erişim sunan “konsiyerj tıp” için hizmet sunuculara yıllık veya aylık avans ödemeleri talep etmektedirler.
  • Koruyucu hekimlik olarak da bilinen konsiyerj tıbbı, bir hasta ile birinci basamak hekimi arasındaki, hastanın yıllık ücret veya hizmet ödediği bir ilişkidir. Bu, diğer ücretlere ek olabilir veya olmayabilir.
  • Konsiyerj tıp, 1990’lardan beri var olan tıbbi hizmet sunum şeklidir. Esasen, tipik bir konsiyerj tıp uygulaması hasta sayısını sınırlar ve kapsamlı yıllık muayenehaneler, aynı gün randevular ile koruyucu bakım ve sağlık yaşam hizmetleri sunumunun 7 gün 24 saat prensibine dayalı olarak verildiği son derece kişiselleştirilmiş bakım sağlamaktadır. Konsiyerj tıbbı, yönetilen bakım kuruluşlarının (MCO) getirdiği sınırlamalardan rahatsız olan hem doktorlar hem de hastalar / tüketiciler arasında popüler hale gelmiştir. Pek çok hekimin bakış açısına göre, konsiyerj tıbbı daha fazla özerklik, daha yönetilebilir bir hasta yüküne dönme fırsatı ve hizmetleri için giderek azalan geri ödemeler nedeniyle düşen gelirlerini iyileştirme şansı sunmaktadır (Paul ve Skiba, 2016).

Mesai sonrası bakım

  • Birinci basamak hekimlerinin kayıtlı hastalarına mesai sonrası erişimi sağlaması veya planlaması beklenmez. Ancak, 2019 yılında birinci basamak hekimlerinin yüzde 45’i mesai sonrası düzenlemelerde bulunmaktadır: Bunların yüzde 38’i akşamları ve yüzde 41’i hafta sonları hizmet vermektedir.
  • Mesai sonrası bakım, tipik olarak epizodik bakıma ihtiyaç duyan ve birinci basamak sağlık hizmeti sağlayıcısı olmayan daha genç, daha sağlıklı bireylere hizmet veren özel acil bakım merkezlerinde veya perakende kliniklerinde randevularla giderek daha fazla sağlanmaktadır.
  • 2000 yılının başlarında uygulamaya giren perakende klinikleri (retail clinics), hastaların bir sağlık bakımı kliniğini ziyaret etmeleri için uygun bir yoldur. Bu klinikler, süpermarketler ve büyük mağazalar gibi perakende mağazaların içinde bulunur ve uygun bakım klinikleri (CCC’ler) adı verilen daha geniş bir kategorinin parçasıdır.
  • Perakende klinikleri, aşılar, hamilelik testleri ve kolesterol ve diyabet taraması dahil olmak üzere rutin laboratuvar testleri gibi önleyici bakımın yanı sıra boğaz ağrısı veya cilt rahatsızlıkları gibi küçük hastalıklar için temel sağlık hizmetlerine hızlı erişim sunar. CCA kuruluşuna göre, 43 eyalette ve Washington D.C.’de faaliyette olan 2.500’den fazla uygun bakım kliniği bulunmaktadır.

Hastaneler

  • 2018’de ABD’deki 5.198 kısa süreli akut bakım hastanesinin yüzde 57’si kar amacı gütmeyen kuruluşlardan oluşmaktadır. Bu hastanelerin yüzde 25’i kar amaçlı iken, yüzde 19’u devlete aittir (eyalet veya yerel hükümetin sahip olduğu) . Bunlara ek olarak, 209 federal hükümet hastanesi bulunmaktadır.
  • Hastaneler hangi sigortayı kabul edeceklerini seçmekte özgürdür. Çoğu hastanenin Medicare ve Medicaid’i kabul ettiği görülmektedir. Hastanelere çeşitli yöntemlerle ödeme yapılmaktadır.
  • Medicare, hastanelere, doğrudan hekim ödemelerini içermeyen ileriye dönük tanı ilişkili grup (DRG) oranları üzerinden ödeme yapmaktadır.
  • Medicaid ise hastanelere tanı ilişkili grup (DRG), gün başına veya maliyet geri ödeme sözleşmeleri (Cost Reimbursement Contracts)’ne göre ödeme yapar ve eyaletlerin hastane ödeme oranlarını belirleme konusunda önemli ölçüde takdir yetkisi bulunmaktadır.
  • Özel sigortalar, hastanelere genellikle gün başına ödeme yapar ve tipik olarak her hastane ve sigorta arasında yıllık olarak belirlenir.

Ruh sağlığı hizmetleri

  • Ruh sağlığı hizmetleri hem genel pratisyenler hem de uzmanlar tarafından sağlanır. Bu hizmetler çoğunlukla birinci basamak hekimleri, psikiyatristler, psikologlar, sosyal hizmet uzmanları ve hemşireler tarafından verilmektedir. Ruh sağlığı hizmetlerinin çoğunluğu ayakta tedavi olarak sunulmaktadır. Hizmet sunucular çoğunlukla özeldir (kar amacı güden ve gütmeyen)’dir.  Bunların yanında bazı kamu hizmet sunucuları da bulunmaktadır; örneğin kamu akıl sağlığı hastaneleri, gazi ve askerlere hizmet sunan merkezler ile federal düzeyde yetkilendirilmiş sağlık merkezleri.
  • Federal düzeyde Madde Kullanımı ve Ruh Sağlığı Hizmetleri İdaresi, eyaletlerde toplum ruh sağlığı hizmetlerini finanse etmektedir. Eyalet ve yerel yönetimler ise ek finansman sağlamaktadır.
  • ACA (Karşılanabilir Bakım Yasası), sigorta şirketlerine temel sağlık hizmeti olarak ruh sağlığı ve madde kullanım hizmetlerinin kapsama alınmasını zorunlu kılmıştır. Yasa ayrıca, işveren destekli planlar da dahil olmak üzere tüm özel sigortaların zihinsel ve fiziksel sağlık durumları için aynı düzeyde hizmet sunulmasını şart koşmaktadır.
  • Ciddi, uzun süreli akıl hastalıkları olan bazı bireyler, 65 yaşından önce Medicare almaya hak kazanmaktadır. Medicaid, ABD’deki ruh sağlığı hizmetleri için tek en büyük finansman kaynağıdır. İşveren sponsorluğundaki birçok plan ve bazı eyalet Medicaid programları, yönetilen sağlık hizmetleri kuruluşları (MCO’lar)’yla yapılan sözleşmeler aracılığıyla hizmet sunumu gerçekleştirir.

Uzun dönemli bakım ve sosyal destekler

  • Uzun dönemli bakım hizmetleri için evrensel bir sağlık sigortası teminatı yoktur. Kamu harcamaları, uzun dönemli bakım hizmetlerine yapılan toplam harcamaların yaklaşık yüzde 70’ini temsil etmektedir ve Medicaid çoğunluğu oluşturmaktadır.
  • Medicare ve işveren tarafından desteklenen planların çoğu, terminal dönem hasta bakımı, kısa süreli hemşirelik hizmetleri, hastaneye girişten sonra sadece akut sonrası bakım hizmetlerini ve huzurevinde kısa süreli kalışları kapsamaktadır (hastaneye kaldırıldıktan sonra 100 güne kadar akut gelişen hastalıklarda).
  • Özel uzun vadeli bakım sigortası mevcuttur, ancak nadiren satın alınmaktadır. Özel sigorta harcamaları, 2016 yılında toplam uzun dönemli bakım harcamalarının yalnızca yüzde 7,5’ini oluşturmaktadır.
  • ACA (Karşılanabilir Bakım Yasası) başlangıçta, çalışan bireyler için evrensel, gönüllü, kamuya açık bir uzun dönemli bakım sigortası seçeneği oluşturacak Toplumsal Yaşam Yardımı Hizmetleri ve Destekleri Yasası’nı içermekteydi. Ancak program uygulanamaz olarak değerlendirilmiş ve 2013 yılında kaldırılmıştır.

5. Bakım kalitesini güvence altına almak için başlıca stratejiler nelerdir?

  • ACA (Karşılanabilir Bakım Yasası), ABD Sağlık ve İnsan Hizmetleri Bakanlığı’nın, kamu ve özel sektör paydaşlarının oluşturduğu ortaklıklar tarafından desteklenen yerel, eyalet ve ulusal kalite iyileştirme çabalarına rehberlik edecek bir Ulusal Kalite Stratejisi (National Quality Strategy) için bir dizi ulusal hedef ve öncelik oluşturmasını zorunlu hale getirmiştir. Bu Strateji, seçilmiş bir dizi kalite ölçüleri hakkında yıllık raporlamayı içermektedir.
  • 2003 yılından bu yana, Sağlık Hizmetleri Araştırma ve Kalite Ajansı, sağlık hizmetleri kalitesinin iyileştirilmesinde ulusal ilerlemeyi rapor eden yıllık Ulusal Sağlık Hizmetleri Kalitesi ve Eşitsizlikler Raporu‘nu yayınlamaktadır. 2018 raporu, ABD sağlık hizmetlerinin kalitesinin 2000’den 2016’ya kadar genel olarak arttığını, ancak artıştaki bu iyileşmenin tutarsız olduğunu ortaya koymuştur. Örneğin, çoğu birey odaklı bakım ve hasta güvenliği önlemleri iyileşirken, finansal anlamda ulaşılabilirlik, diğer bir deyişle finansal koruma gelişme göstermemiştir.
  • Federal yasalar, bazı hizmet sunucuların hizmetlerinin kalitesine ilişkin verileri rapor etmesini ve Medicare ve Medicaid Hizmetleri Merkezlerinin de kalite ölçülerine ilişkin performansı kamuya açık bir şekilde rapor etmesini gerektirmektedir. Örneğin, Hospital Compare 4.000’den fazla hastanenin bakım süreçlerinin ölçümleri, bakım sonuçları ve hasta deneyimleri konusundaki performansını özetleyen halka açık bir çevrimiçi kaynaktır. İlgili kalite raporlama programları arasında Evde Hemşirelik Bakımı ve Doktor Karşılaştırma (Nursing Home Compare and Physician Compare)  programları yer almaktadır.
  • Sağlık Hizmetleri Etkililik Veri ve Bilgi Seti, hizmet sunucularının kalite değerlendirmesinde en yaygın kullanılan araçlardan biridir. Bu veri ve bilgi seti, hizmet sunucu kalitesini derecelendirmek için sağlık planları tarafından kullanılır. Veri seti, kanser tarama oranlarını, kronik hastalıklarda ilaç yönetimini, hasta takip ziyaretlerini ve diğer ölçümleri içerir. Kâr amacı gütmeyen Ulusal Kalite Forumu (National Quality Forum), Medicare’de kullanılacak ölçüler için tavsiyelerin sunulması da dahil olmak üzere ulusal performans ölçümü ve öncelikleri konusunda ortak fikrin oluşmasına katkıda bulunmaktadır.

6. Eşitsizlikleri azaltmak için neler yapılıyor?

  • Çeşitli federal kurumlar, eşitsizlikleri izlemek ve azaltmakla görevlendirilmiştir. Sağlık Hizmetleri Araştırma ve Kalite Kurumu, ırk / etnik köken, yaş ve cinsiyete göre sağlık hizmetleri kalitesindeki eşitsizlikleri ortaya koyan yıllık bir ulusal rapor yayınlamaktadır.
  • En son rapora göre, gelir ve ırkla ilgili eşitsizlikler devam etmektedir ancak 2000 ile 2016 arasında bu eşitsizliklerde azalma görülmüştür. Kalite ölçütlerinin yaklaşık yüzde 40’ına göre Afroamerikalılar, Amerikan Yerlileri, Alaska Yerlileri, Yerli Hawaiililer ve Pasifik Adalıları beyazlardan daha kötü kalitede sağlık hizmeti almışlardır. Hispanikler ve Asyalı Amerikalılar, kalite ölçü başına sırasıyla yüzde 35 ve yüzde 28’i daha kötü kalitede sağlık hizmeti almışlardır. Yoksul ve sigortasız nüfus için eşitsizlikler, kalite için başlıca öncelikli alanlardan olup, bu alanlarda çalışmalar devam etmektedir.

Bazı federal ofislerin eşitsizlikleri azaltmakla ilgili özel sorumlulukları bulunmaktadır:

  • Azınlık Sağlığı Dairesi (The Office of Minority Health), ırksal ve etnik azınlık grupları arasındaki eşitsizlikleri ortadan kaldırmaya yönelik politikalar ve programlar geliştirmekle görevlidir.
  • Sağlık Kaynakları ve Hizmetleri İdaresi (The Health Resources and Services Administration), HIV / AIDS’li bireyleri, anneleri hedefleyen özel programlar dahil olmak üzere, düşük gelirli, sigortasız, çocuklar (Anne ve Çocuk Sağlığı Bürosu aracılığıyla) ve kırsal veya uzak nüfus grupları ve diğer dezavantajlı nüfus gruplarına yönelik  bakım ve tedaviler için eyaletlere, yerel yönetimlere ve sivil toplum kuruluşlarına hibe sağlamakla görevlidir. Ayrıca, Sağlık Kaynakları ve Hizmetleri İdaresi sağlık eşitsizliklerini azaltmak için çalışan Sağlık Eşitliği Ofisi’ne de ev sahipliği yapmaktadır.
  • Yerli Sağlık Hizmeti (The Indian Health Service) kurumu, 37 eyalette federal düzeyde tanınan 500’den fazla kabileye mensup 2,6 milyon Amerikan ve Alaska Yerlisine hizmet vermektedir. Bu hizmetler tamamen federal hükümet tarafından finanse edilmektedir.
  • ACA (Karşılanabilir Bakım Yasası), yardım kuruluşu statüleri nedeniyle belirli vergileri ödemekten muaf olan kar amacı gütmeyen hastanelerin, kendi bünyesinde karşılanmamış sağlık ihtiyaçlarını belirlemek ve ele almak için hizmet sunucu paydaşlarla birlikte toplum sağlığı ihtiyaçları değerlendirmelerini yürütmek için yasal bir zorunluluk getirmiştir. Bu zorunluluk, İç Gelir Hizmetleri Dairesi (Internal Revenue Service) aracılığıyla yerine getirilmekte ve raporlama kamuya açık bir şekilde yapılmaktadır.

7. Hizmet sunum sistemi entegrasyonunu ve bakım koordinasyonunu sağlamak için neler yapılmaktadır?

  • ACA (Karşılanabilir Bakım Yasası), büyük ölçüde uzman odaklı olan sağlık hizmetleri sunum sisteminde tıbbi / klinik hizmet sunucular arasında hizmet sunum koordinasyonunu sağlamak için birkaç kaldıraç etkisi yaratan düzenleme getirmiştir. Örneğin, yasa, birinci basamak sağlık hizmeti yoluyla bakım sürekliliği ve koordinasyonunun yanı sıra kanıta dayalı sağlık bakımı, sağlık hizmetlerine daha kolay erişim, koruyucu ve kronik bakım hizmetlerine ağırlık veren “hasta odaklı evde bakım” modelinin benimsenmesini desteklemiştir.
  • Ayrıca, ACA, Medicare ve Medicaid Hizmet Merkezlerinin kaliteyi ödüllendiren, maliyetleri düşüren ve bakım koordinasyonunu iyileştirmeyi hedefleyen alternatif ödeme modellerini test etme becerisini  de artırmıştır. Bu yöndeki eğilim yasanın yürürlüğe girdiği tarihten beri kamu ve özel sektör ödeyiciyi kurumlar tarafından sürdürülmüştür.
  • Alternatif ödeme modellerinden biri, tek bir bakım için birden çok sağlayıcı tarafından sunulan tüm hizmetler için tek bir ödeme yapılan “paket ödemelerdir”. Diğer bir eğilim, sorumlu bakım kuruluşları (ACO’lar) ‘nın yaygınlaşmasıdır. Bu hizmet sunucu ağları, tanımlanmış bir popülasyona kalite hedeflerini karşılayan bakımın sunumunun sağlanması için sözleşme sorumluluğunu üstlenir. ACO’lardaki hizmet sunucular, öngörülen ve gerçekleşen sağlık bakımı harcamaları arasındaki farkı gösteren tasarrufları kamuoyuyla paylaşmaktadır.
  • 2019 itibariyle, kamu ve özel sektörde 32,7 milyon kişiyi kapsayan 1.000’den fazla ACO mevcuttur. Bu ACO’lardan 558’i Medicare ACO’ları olup, belirlenmiş ACO’lar dışındaki herhangi bir Medicare programından hizmet almakta özgür olan 12,3 milyon yararlanıcıya hizmet vermektedir. Medicare ACO’nun birçok çeşidi bulunmaktadır: En popüler olanı Medicare Ortak Tasarruf Programı’dır. Bu program tüm Medicare yararlanıcılarının yaklaşık üçte birine hizmet vermekte olan süreklilik arz eden bir programdır.
  • Koordinasyonu iyileştirmeye yönelik olarak ACO’lar, ilaç yönetimi, acil servis ziyaretlerinin ve hastaneye yeniden yatışların önlenmesi ile yüksek derecede sağlık bakım hizmeti ihtiyacı olan ve yüksek maliyetli hastaların yönetimini içeren programlar uygulamaktadır.

8. Elektronik sağlık kayıtlarının durumu nedir?

  • 2004 yılında kurulan Ulusal Sağlık Bilgi Teknolojileri Koordinatörlüğü Ofisi, sağlık bilgi teknolojilerinin kullanımını ve sağlık kayıtlarının elektronik alışverişini yerine getirme ve geliştirmeye yönelik ülke çapındaki faaliyetlerin koordinasyonundan sorumlu ana federal birimdir.
  • 2017 yılında, federal olmayan akut bakım hastanelerinin tahmini yüzde 96’sı ve ofisteki doktorların yüzde 86’sı “sertifikalı” bir elektronik sağlık kaydı (EHR) bulunmaktadır.
  • 2017 yılında hastanelerin yüzde 80’i ve doktor muayenehanelerinin yüzde 54’ü, hasta demografisini izleme, ilaçları listeleme, klinisyen notlarını saklama, ilaç siparişlerini, laboratuvar testlerini ve görüntüleme sonuçlarını izleme gibi gelişmiş yetenekleri olan elektronik sağlık kaydı kapsamına alınmıştır.
  • Elektronik sağlık kayıtlarının ülke düzeyinde kullanımını yaygınlaştırmak amacıyla 2016’da kabul edilen 21. Yüzyıl Tedavi Yasası (The 21st Century Cures Act) ile birlikte tüm sağlık hizmeti sunucularının hasta kayıtlarının elektronik kopyalarını, istek üzerine okunabilir biçimde hastalara sunulması zorunlu hale getirilmiştir.

9. Maliyetler nasıl kontrol altına alınmaktadır?

  • Amerika Birleşik Devletleri’nde kişi başına düşen yıllık sağlık harcaması, dünya ülkeleri arasında en yüksek seviyededir. 2018’de ortalama kişi başına düşen yıllık sağlık harcaması 11.172 ABD Doları olup, sağlık hizmetleri maliyetleri son 5 yılda yüzde 4,2 ile yüzde 5,8 arasında artış göstermiştir.
  • Özel sigorta kurumları kademeli hizmet fiyatlandırması ve artan hasta maliyet paylaşımı (örneğin, son zamanlarda yüksek indirilebilir sağlık planlarının yaygınlaşması yoluyla) dahil olmak üzere maliyetleri kontrol etmek için birkaç talep yönlü kaldıraç getirmiştir. Diğer kaldıraçlar arasında fiyat görüşmeleri, seçici hizmet sunucu sözleşmesi, risk paylaşım ödemeleri ve kullanım kontrolleri bulunmaktadır.

Federal hükümet,

  • Medicare ve Veterans Health Administration (Gazi Sağlık Hizmetleri Kurumu) için hizmet sunucu oranlarını belirleyerek,
  • Medicaid ve Medicare tarafından yönetilen bakım organizasyonlarına (MCO’lar) ödeme yaparak,
  • Medicare Advantage (Kısım C) planlarına kayıtlı kullanıcılara ve pazar / değişim planlarına kayıtlı bireyler için yıllık cepten yapılan ödemeleri sınırlandırarak
  • Gazi Sağlık Hizmetleri Kurumu için ilaç fiyatlarını görüşerek

maliyetleri kontrol altında tutmaya çalışmaktadır.

Ancak, çoğu Amerikalının özel sağlık sigortası olduğundan, federal hükümetin kullanabileceği sınırlı seçenekler mevcuttur. ACA (Karşılanabilir Bakım Yasası), pazar kapsamı sunan özel sigorta kurumları için maliyet kontrol kaldıraçları getirmiştir ve sigorta primlerini önemli ölçüde artırmayı planlayan sigorta kurumlarının gelecekteki oranlarını gözden geçirilmek üzere eyalete veya federal hükümete göndermelerini zorunlu hale getirmiştir.

Eyalet hükümetleri, özel sigortayı düzenleyerek, Medicaid hizmet sunucu ücretlerini belirleyerek, tercih edilen ilaç listelerini genişleterek ve Medicaid için daha düşük ilaç fiyatlarını müzakere ederek maliyetleri kontrol etmeye çalışmaktadır. Maryland ve Massachusetts, eyalet çapındaki toplam sağlık harcamalarını tahmin etmekte ve ödeyenler arasında sağlık hizmetleri maliyetleri için yıllık büyüme ölçütleri belirlemektedir. Bu eyaletlerde, sağlık kuruluşlarının karşılaştırma ölçütünü karşılamamaları halinde performans iyileştirme planları uygulamalarını zorunlu kılmaktadır.

İlaç harcamalarını kontrol altına alma girişimleri birkaç mekanizma ile sınırlıdır:

  • Özel sağlık planlarının reçeteli ilaçlar için ödediği fiyatlar formüllere dayanmaktadır.
  • İlaç hizmetleri yöneticileri, özel sigortalar adına üreticilerle ilaç fiyatlarını ve indirimlerini müzakere etmekle görevli şirketlerdir. İlaç Hizmetleri Yöneticileri veya PBM’ler, reçeteli ilaç hizmetlerini sağlık sigorta kurumları, Medicare Kısım D ilaç planları, büyük işverenler ve diğer ödeyenler adına yöneten şirketlerdir.
  • Miktar bazlı indirimler, genellikle ödeme yapanlar ve üreticiler tarafından ilaç fiyatlarını eşdeğeri olanlarla dengelemek için kullanılır.
  • Önceki yetkilendirmeler ve aşamalı tedaviler, daha düşük maliyetli alternatiflerin kullanımını teşvik eder.
  • Kamu kurumu ödeyenler arasında Veterans Health Administration (Gazi Sağlık Hizmetleri Kurumu) ilaçları için en yüksek düzeyde indirim alınmaktadır. Kurum yasal olarak federal olmayan ortalama üretici fiyatından en az yüzde 24 indirim alma hakkına sahiptir ve üreticilerle daha yüksek indirimler için pazarlık yapmayı seçebilir.
  • Medicaid ayrıca yasal olarak indirimli fiyat alma hakkına sahiptir ve daha fazla indirim için pazarlık yapabilir. Reçeteli ilaçların en büyük alıcısı olan Medicare, üreticilerle ilaç maliyetleri konusunda pazarlık yapmaz.

10. Son zamanlarda hangi önemli yenilikler ve reformlar yapılmıştır?

Medicare ve Medicaid Yenilikleri.

  • Karşılanabilir Bakım Yasası (ACA), kapsamı genişletmeyi, karşılanabilirliği ele almayı, kaliteyi ve verimliliği artırmayı, maliyetleri düşürmeyi ve birincil ve koruyucu bakım ile halk sağlığını güçlendirmeyi amaçlayan kapsamlı sigorta ve sağlık sistemi reformlarını başlatmıştır.
  • Yenilikler arasında en önemli itici güç, yeni Medicare ve Medicaid İnovasyon Merkezi’dir. ACA, Medicare ve Medicaid hizmetlerinin kalitesini iyileştirebilecek, maliyetlerini düşürebilecek veya her ikisini birden yapabilecek araştırma ve geliştirme yetkisi ile bu kuruluşa 10 yılda 10 milyar dolar fon tahsis etmiştir.
  • Medicare ve Medicaid İnovasyon Merkezi tarafından üstlenilen girişimler, federal aktüerler tarafından aynı maliyetle bakım kalitesini iyileştirdiği veya sağlık hizmeti maliyetlerini düşürürken kaliteyi koruduğu şeklinde onaylanırsa, ABD Sağlık ve İnsan Hizmetleri Sekreterliği, Medicare ve Medicaid programları için kongre onayı almadan bu girişimleri ulusal düzeyde uygulama yetkisine sahiptir.
  • Trump yönetimi, Medicare ve Medicaid programlarında birkaç değişiklik daha yapmıştır. Bunlar arasında, birinci basamak hekimlerinin ödemelerini basitleştirmeyi amaçlayan, 2021’de başlatılması planlanan yeni bir gönüllü ödeme modeli olan Öncelikli Birincil Bakım (Primary Care First: PCF)‘dır. Ayrıca, 2018’den bu yana, birçok eyalet, sağlıklı bireylerin Medicaid kapsamına alınması için asgari şartları karşıladıklarına dair bir belge sunması zorunlu hale getirilmiştir.

Öncelikli Birincil Bakım (Primary Care First: PCF) Modeli

  • Primary Care First Model Seçenekleri, gelişmiş birinci basamak sağlık hizmetlerinin sunulmasını desteklemek için yenilikçi bir ödeme yapısı sunarak değeri ve kaliteyi ödüllendiren bir dizi gönüllü beş yıllık ödeme seçeneğidir. Birinci basamak klinisyen paydaşlarından gelen girdilere yanıt olarak Primary Care First, mevcut CPC + model tasarımının temel ilkelerine dayanmaktadır: doktor-hasta ilişkisine öncelik verilmesi; karmaşık kronik ihtiyaçları olan ve yüksek ihtiyacı olan, yüksek risk grubundaki hastalar için bakımı iyileştirmek, idari yükü azaltmak ve mali ödülleri iyileştirilmiş sağlık sonuçlarına odaklamak.
  • Primary Care First Model Seçenekleri, 2021 başlangıç tarihi için 26 bölgede sunulacak: Alaska (eyalet çapında), Arkansas (eyalet çapında), California (eyalet çapında), Colorado (eyalet çapında), Delaware (eyalet çapında), Florida (eyalet çapında), Greater Buffalo bölgesi (New York), Büyük Kansas Şehri bölgesi (Kansas ve Missouri), Büyük Philadelphia bölgesi (Pennsylvania), Hawaii (eyalet çapında), Louisiana (eyalet çapında), Maine (eyalet çapında), Massachusetts (eyalet çapında), Michigan (eyalet çapında), Montana (eyalet çapında) ), Nebraska (eyalet çapında), New Hampshire (eyalet çapında), New Jersey (eyalet çapında), Kuzey Dakota (eyalet çapında), North Hudson-Capital bölgesi (New York), Ohio ve Kuzey Kentucky bölgesi (Ohio’da eyalet çapında ve Kentucky’de kısmi eyalet) , Oklahoma (eyalet çapında), Oregon (eyalet çapında), Rhode Island (eyalet çapında), Tennessee (eyalet çapında) ve Virginia (eyalet çapında).
  • Öncelikli Birincil Bakım, bölgeye dayalı, bakım sunumun ve ödemesinin çoklu ödeme kanalıyla yapıldığı model yaklaşımıdır. Öncelikli Birincil Bakım, birinci basamak sağlık hizmeti için esnekliği artırarak uygulayıcı bağımsızlığını teşvik eder ve katılımcı pratisyenlere, benzersiz hasta popülasyonu ve kaynaklarına dayalı olarak kendi bakım sunum yaklaşımlarını yenileme özgürlüğü sağlar.
  • Öncelikli Birincil Bakım modeli, kolay anlaşılan, eyleme geçirilebilir sonuçlara dayalı olarak sınırlı risk üstlendikleri için katılımcıları ek gelirle ödüllendirir.
  • Diğer bir deyişle, bu model, yenilikçi bir ödeme yapısıyla değer ve kaliteyi ödüllendirmektedir. Medicare ve Medicaid Hizmet Merkezleri (CMS) tarafından geliştirilen birinci basamak sağlık hizmetleri modeli ile hizmet sunumunun iyileştirilmesi, gelirin artırılması, yükün azaltılması amaçlanmaktadır.

Öncelikli Birincil Bakım (Primary Care First: PCF) Modeli Amaçları

  • Önlenebilir hastane yatışları ile Medicare harcamalarını azaltmak
  • Tüm kullanıcılar için özellikle komplike kronik rahatsızlıkları ve ciddi hastalığı olanlar için bakım kalitesini ve bakıma erişimi iyileştirmek

Öncelikli Birincil Bakım (Primary Care First: PCF) Modeli Özellikleri

  • Model ile 5 yıllık alternatif ödeme modeli getirilmektedir.
  • Katılımcılara daha fazla esneklik, daha fazla şeffaflık ve performansa dayalı ödemeler sunar.
  • Komplike kronik rahatsızlıkları olan hastalar ile yüksek risk grubunda yer alan ağır hasta popülasyonlarında uzman hekimler tarafından gerçekleştirilen muayenehaneler için hastalara ödeme seçenekleri sunar.
  • Modelde Medicare ve Medicaid Hizmet Merkezleri (CMS), muayenehanede sunulan bakımın kalitesini değerlendirmek için belirlenmiş bir dizi klinik kalite ve hasta deneyimi ölçümleri kullanmaktadır. Performansa dayalı bu modelde ödemeye hak kazanabilmek için kaliteli bakımı yansıtan standartlar karşılanmalıdır. Değerlendirme ölçütleri, hasta bakım araştırması sonuçlarını, yüksek tansiyon, diyabet hemoglobin düzeylerini, kolorektal kanser taramasını ve ileri bakım planlamasını içermektedir.

11. Sağlık Harcama Bütçesi

Şekil 5’te Sağlık ve İnsan Hizmetleri (HHS) Bakanlığı 2020 ve 2021 yılı zorunlu programlar bütçesi verilmiştir. Şekil 5’e göre hem 2020 hem 2021 yılında 1. sırada Medicare, 2. sırada ise Medicaid olduğu görülmektedir. Ancak Medicare’in toplam bütçe içerisindeki oranı değişmezken Medicaid’te 1 puanlık artış mevcuttur. Diğer taraftan 2021 bütçesinin bir önceki yıla göre yaklaşık 84 $ artış göstermiştir.

Şekil 5: Sağlık ve İnsan Hizmetleri (HHS) Bakanlığı 2020 ve 2021 Yılları Zorunlu Programlar Bütçesi

Kaynak: HHS, https://www.hhs.gov/about/budget/index.html

Faydalı olması ve farkındalık oluşturması dileğiyle.

Bilimle ve teknolojiyle kalınız.

Saygılarımla…

Not: Kaynak gösterilmeden alıntı yapılamaz veya kopyalanamaz.

Note: It can not be cited or copied without referencing.

Kaynakça

  1. Çelik, Yusuf. (2019).Sağlık Ekonomisi. Gözden Geçirilmiş 4. Baskı. Siyasal Kitapevi.
  2. Mimi, C. (2017). Health care reform: learning from other major health care systems. https://pphr.princeton.edu/2017/12/02/unhealthy-health-care-a-cursory-overview-of-major-health-care-systems/. Erişim Tarihi: 22.11.2020.
  3. 2015 International Profiles of Health Care Systems.(2016). Edited by Elias Mossialos and Martin Wenzl, Robin Osborn and Dana Sarnak. Commonwealth Fund pub. 1857.
  4. https://www.pgpf.org/blog/2020/07/how-does-the-us-healthcare-system-compare-to-other-countries
  5. https://nhspi.org/tools-resources/2020-key-findings/nhspi_2020_key_findings/
  6. Common Wealth Fund, https://www.commonwealthfund.org/international-health-policy-center/countries/united-states
  7. https://www.census.gov/content/dam/Census/library/publications/2020/demo/p60-271.pdf
  8. https://usafacts.org/articles/health-insurance-data-2019/
  9. CDC, https://www.cdc.gov/nchs/fastats/health-insurance.htm
  10. https://www.americashealthrankings.org/learn/reports/2020-annual-report/key-findings-clinical-care
  11. National Center for Health Statistics, National Health Interview Survey, 2019
  12. HHS, https://www.hhs.gov/about/budget/index.html
  13. Medicaid, https://www.medicaid.gov/chip/reports-evaluations/index.html
  14. Kırılmaz, H , Amarat, M , Ünal, Ö . (2017). Türkiye ve Amerika Birleşik Devletleri Sağlık Sistemlerinin Karşılaştırmalı Analizi . Strategic Public Management Journal , 3 (6) , 78-104 . DOI: 10.25069/spmj.342134
  15. Paul DP 3rd, Skiba M. Concierge Medicine: A Viable Business Model for (Some) Physicians of the Future? Health Care Manag (Frederick). 2016 Jan/Mar;35(1):3-8. doi: 10.1097/HCM.0000000000000088. PMID: 27892907.
  16. CDC, https://www.cdc.gov/contracts/about-cdc-contracts/types.html
  17. HHS, http://www.hhs.gov/about/agencies/orgchart/index.html.
  18. World Health Organization. Regional Office for Europe, European Observatory on Health Systems and Policies, Rice, Thomas, Rosenau, Pauline, Unruh, Lynn Y. et al. (‎2013)‎. United States of America: health system review. World Health Organization. Regional Office for Europe. https://apps.who.int/iris/handle/10665/330305
  19. U.S. Census Bureau, 2008 to 2019 American Community Surveys (ACS), 1-Year Estimates. https://www.census.gov/content/dam/Census/library/publications/2020/demo/p60-271.pdf
  20. The National Council for Public-Private Partnerships, https://ncppp.org/
  21. U.S. Census Bureau, Current Population Survey, 2020 Annual Social and Economic Supplement (CPS ASEC)
  22. HHS, https://www.hhs.gov/answers/medicare-and-medicaid/what-is-medicare-part-c/index.html
  23. https://www.legendsofamerica.com/us-states/
Öne çıkan

R’da Leaflet Paketi ile Harita Üzerinde Dinamik Etiketleme: Dynamic Tagging on Maps Using Leaflet Packages in R

Çalışma kapsamında ağırlıklı olarak leaflet, leaflet.extras, leaflet.extras2 ve mapview paketleri kullanılarak harita üzerinde etiketleme çalışmaları ile farklı formatta kaydetme çalışmaları yapılacaktır. Çalışmada R programlama dili kullanılmıştır.

Yüklenen Kütüphaneler

Aşağıdaki R kod bloğunun çalıştırılmasından sonra kütüphanelerin yüklenip yüklenmediğine dair aşağıdaki gibi mantıksal vektör sonuçları gelecektir. Eğer mantıksal vektör sonuçlarının hepsi TRUE ise kütüphanelerin tamamı yüklenmiştir. Kolaylık sağlaması açısından aşağıdaki kütüphanelerin yüklenmesini gösterir tabloyu da elde etmek ve daha kolay okumanız için aşağıdaki kod bloğu içerisinde kısa bir kod yazdım. Bu kod çalıştırıldığında aşağıdaki tabloda görüleceği üzere bütün kütüphaneler yüklenmiştir. Eğer ilgili kütüphane yüklenmemiş olursa Paket Kurulumu Gerekli ifadesi tablo satırında yazacaktır. Satırda yazan bu uyarı metnine göre paketi ya kurar yada yüklersiniz. Bir paketin kurulması ile yüklenmesinin aynı şey olmadığını burada ifade etmek gerekir konuyu yabancı olanlar için. Paket kurulumu ilk defa yapılan bir işlem iken, paketin yüklenmesi zaten kurulan bir paketin yüklenmesi yani çalışır duruma getirilmesidir. İlk defa bir paket kurulumu gerçekleştiriliyorsa install.packages() fonksiyonunu, zaten bir paket kurulumu gerçekleştirilmiş ise ilgili paketin veya kütüphanenin yüklenmesi veya okunması için library() veya require() fonksiyonlarını kullanıyoruz. Fonksiyonlardaki parantez () içerisine yüklenecek paket veya kütüphane adını yazıyoruz.

kütüphane<-c("dplyr","tibble","tidyr","ggplot2","readr","RColorBrewer","crosstalk","leaflet","DT", "htmlwidgets","kableExtra","readr", "leaflet.extras", "sf", "plotly", "leafpop", "downloadthis", "tidygeocoder", "leaflet.extras2")
yükle<-sapply(kütüphane, require, character.only = TRUE, warn.conflicts = FALSE)
 
#Kütüphane yüklenme durumunu gösteren tablo
 
tablo=suppressWarnings(yükle, classes = "warning")
   
isim=names(tablo)
   
deger=as_tibble(tablo)
   
data.frame(sıra=1:length(isim), kütüphane=isim, yuklenme_durumu=deger$value) %>% mutate(yuklenme_durumu=if_else(yuklenme_durumu==TRUE, "Yuklendi", "Paket Kurulumu Gerekli")) %>% kbl(caption = "Kütüphane Yüklenme Bilgisi") %>% kable_classic_2(full_width = F, html_font="arial")

Yukarıdaki kod bloğunun çalıştırılmasından sonra kütüphane yüklenme bilgisi aşağıdaki tabloda verilmiştir.

Veri Setinin Oluşturulması

Bu kısımda sentetik veri seti üretilerek bu veri seti üzerinde haritalama çalışmaları yapılmıştır.

deneme <- data.frame(
  Firma = rep(c("Ulusoy", "Metro", "Süzer", "Kanberoğlu"),3),
  Adres = rep(c("Ankara","İstanbul","Artvin","Rize"), 3),
  Tur=rep(c("A","B"),6),
  Ciro =rep(c(10000, 12500,30000,40000, 60000,80000),2)) %>%
  tidygeocoder::geocode(address = Adres, method = "osm", verbose = TRUE)
deneme

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen veri seti aşağıdaki tabloda verilmiştir. Kod bloğunda tidygeocoder::geocode() fonksiyonunun kullanılmasının nedeni illere göre enlem (lat) ve boylam (long) bilgisinin alınarak veri setine iki ayrı değişken olarak eklenmek istenmesidir. Doğal olarak enlem ve boylam bilgisi olmadan harita oluşturamıyoruz.

Haritanın Oluşturulması

leaflet(deneme) %>%
  addTiles(group = "OpenStreetMap") %>%
    addPulseMarkers(lng =~long, lat=~lat,  icon = makePulseIcon(), label=paste(deneme$Firma,"firmasının cirosu:", deneme$Ciro), labelOptions = labelOptions(noHide = F, direction = 'top', style = list(
        "color" = "green",
        "font-family" = "calibri",
        "font-style" = "bold",
        "box-shadow" = "3px 3px rgba(0,0,0,0.25)",
        "font-size" = "15px",
        "border-color" = "rgba(0,0,0,0.5)"
      ))) %>%
  addMiniMap() %>%  
  addSearchOSM() %>% 
  addReverseSearchOSM() %>% 
  addResetMapButton() %>% 
  addSearchGoogle()

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen harita aşağıda verilmiştir. R Studio üzerinde çalıştırıldığında harita üzerinde bulunan kırmızı işaretleyiciler yanıp sönmektedir. Bunun için addPulseMarkers() fonksiyonu kullanılmıştır. Ayrıca il üzerine tıklandığında açılan bir etiket tanımlanmıştır. Bu etiket atama işlemi ise label=paste(deneme$Firma,”firmasının cirosu:”, deneme$Ciro) fonksiyonu ile yapılmıştır. Yani kırmızı kutu üzerine işaretleyiciler üzerine tıklandığında Firma adı ile birlikte cirosu görünecektir. addMiniMap() fonskiyonu ile de harita üzerinde mini bir harita oluşturulmaktadır.

Haritada il üzerine tıklandığında açılan bir etiket aşağıdaki gibi olacaktır. Eğer etiketleri harita üzerinde sabitlemek istiyorsak labelOptions = labelOptions(noHide = T) fonksiyonunu yazmamız yeterlidir.

Belirli Bir Bölgenin Kare İçine Alınarak İşaretlenmesi I

Yukarıda yapılan işlemlerden farklı olarak faydalı olabilir düşüncesiyle harita üzerinde belirli koordinatlara sahip bir bölgenin kare içerisine alınması işlemini de göstermek istiyorum. Bu uygulama için Türkiye örneği üzerinden gidelim.

leaflet() %>% addTiles() %>%
  addRectangles(
    lng1=25, lat1=35,
    lng2=45, lat2=43,
    fillColor = "transparent", color="red", label="TÜRKİYE'NİN YAKLAŞIK KOORDİNATLARI", labelOptions = labelOptions(noHide = T, direction = 'top')
  )

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen Türkiye haritası kare içerisine alınmış bir şekilde aşağıda verilmiştir. Kare içerisine alınma işlemi addRectangles() fonksiyonu ile yapılmaktadır. Burada enlem ve boylamlar sırasıyla kuzey ve güney, ve aynı zamanda doğu ve batı şeklinde belirlenmelidir.

Belirli Bir Bölgenin Kare İçine Alınarak İşaretlenmesi II

Bu kısımda bir öncekinden farklı olarak kare içerisine alınmış bölgenin etiketi stilize edilmiştir. Bu amaçla aşağıda da görüleceği üzere addRectangles() fonskiyonu içerisinde tanımlanmış labelOptions parametresi içerisinde tanımlanmış style alt parametrisi kullanılmıştır.

leaflet() %>% addTiles() %>%
  addRectangles(
    lng1=25, lat1=35,
    lng2=45, lat2=43,
    fillColor = "transparent", color="red", label="YENİ STİLDE TÜRKİYE'NİN YAKLAŞIK KOORDİNATLARI", labelOptions = labelOptions(noHide = T, direction = 'top', style = list(
        "color" = "black",
        "font-family" = "Cursive",
        "font-style" = "Lucida Handwritingl",
        "box-shadow" = "3px 3px rgba(0,0,0,0.25)",
        "font-size" = "14px",
        "border-color" = "rgba(0,0,0,0.5)",
        "padding" = "4px",
        "background-color"= "rgba(255, 255, 255, 2)",
        "font-weight" = "bold"
      )))

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen Türkiye haritası kare içerisine alınmış bir şekilde yeni etiket tasarımı ile aşağıda verilmiştir.

Haritanın PNG ve JPEG Formatlarında Kaydedilmesi

Harita üzerinde yaptığımız işlemlerden sonra eğer haritayı kaydetmek istiyorsak önümüze farklı formatta seçenekler çıkmaktadır. Bu formatlar, html, png, pdf ve jpeg formatları olabilmektedir. Farklı formatlarda haritanın kaydedilmesi için bu kısımda mapview paketi kullanılmıştır. Aşağıdaki çalışmada bir önceki çalışmada elde edilmiş harita png formatında kaydedilmiştir. Bu kaydetme işleminde kullanılan fonksiyon mapshot() olup, bu fonksiyon içerisinde diğer formatlar da tanımlanabilmektedir.

library(mapview)
leaflet() %>% 
addTiles() %>%
addRectangles(
    lng1=25, lat1=35,
    lng2=45, lat2=43,
    fillColor = "transparent", color="red", label="YENİ STİLDE TÜRKİYE'NİN YAKLAŞIK KOORDİNATLARI", labelOptions = labelOptions(noHide = T, direction = 'top', style = list(
        "color" = "black",
        "font-family" = "Cursive",
        "font-style" = "Lucida Handwritingl",
        "box-shadow" = "3px 3px rgba(0,0,0,0.25)",
        "font-size" = "14px",
        "border-color" = "rgba(0,0,0,0.5)",
        "padding" = "4px",
        "background-color"= "rgba(255, 255, 255, 2)",
        "font-weight" = "bold"
      ))) %>% 
mapshot(file = "Turkiye.png")

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen Türkiye haritası kare içerisine alınmış bir şekilde png formatında aşağıda verilmiştir.

Bir diğer çalışmamızda ise çalışmamızın başında oluşturduğumuz haritayı jpeg formatında kaydedelim.

leaflet(deneme) %>%
addTiles(group = "OpenStreetMap") %>%
addPulseMarkers(lng =~long, lat=~lat,  icon = makePulseIcon(), label=paste(deneme$Firma,"firmasının cirosu:", deneme$Ciro), labelOptions = labelOptions(noHide = F, direction = 'top', style = list(
        "color" = "green",
        "font-family" = "calibri",
        "font-style" = "bold",
        "box-shadow" = "3px 3px rgba(0,0,0,0.25)",
        "font-size" = "15px",
        "border-color" = "rgba(0,0,0,0.5)"
      ))) %>% 
mapshot(file = "Turkiyeciro.jpeg")

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen haritamız jpeg formatında aşağıda verilmiştir.

Verinin harita üzerinde görselleştirilmesine yönelik yaptığım çalışmalardan biri olan bu R Markdown çalışmasının özellikle veri bilimi (data science) ile ilgilenen akademi ve saha çalışanlarına bir katkı sunacağı düşünülmektedir.

Faydalı olması ve farkındalık oluşturması dileğiyle.

Bilimle ve teknolojiyle kalınız.

Saygılarımla…

Not: Kaynak gösterilmeden alıntı yapılamaz veya kopyalanamaz.

Note: It can not be cited or copied without referencing.

Yararlanılan Kaynaklar

1.https://rstudio.github.io/crosstalk/ 

2.https://emilyriederer.github.io/demo-crosstalk/tutorial/tutorial-rmd.html 

3.https://www.jla-data.net/eng/leaflet-markers-in-r/ 

4.https://rstudio.github.io/leaflet/popups.html 

5.https://rstudio.github.io/crosstalk/using.html 

6.https://emilyriederer.github.io/demo-crosstalk/tutorial/tutorial-rmd.html 

7.https://plotly-r.com/client-side-linking.html 

8.https://nicar.r-journalism.com/docs/crosstalk-flexdashboard-leaflet-datatable/ 

9.https://rstudio-pubs-static.s3.amazonaws.com/367074_7396dc3734544b0f94e04b8801b24664.html 

10.https://rstudio.github.io/crosstalk/using.html 

11.https://rpubs.com/tevfik1461/deprem 

12.https://cran.r-project.org/web/packages/crosstalk/crosstalk.pdf 

13.https://cran.r-project.org/web/packages/leaflet.extras2/leaflet.extras2.pdf 

14.https://mrjoh3.github.io/2018/07/25/filtering-spatial-data/ 

15.https://rdrr.io/cran/leaflet/man/makeAwesomeIcon.html 

16.https://rstudio.github.io/leaflet/popups.html 

17.https://github.com/r-spatial/leafpop

18. Crostalk ve Leaflet Paketleriyle Türkiye Depremlerinin Analizi, https://rpubs.com/tevfik1461/harita

19. https://tevfikbulut.com/2021/06/29/crostalk-ve-leaflet-paketleriyle-turkiye-depremlerinin-analizi-analysis-of-turkey-earthquakes-using-crostalk-and-leaflet-packages/

20. RStudio Cloud: https://login.rstudio.cloud/

21. The R Project for Statistical Computing. https://www.r-project.org/

22. Mapview paketi, https://cran.r-project.org/web/packages/mapview/index.html

Öne çıkan

Crostalk ve Leaflet Paketleriyle Türkiye Depremlerinin Analizi: Analysis of Turkey Earthquakes Using Crostalk and Leaflet Packages

Çalışma kapsamında Türkiye’de son 1 yıl içerisinde gerçekleşen depremlerin keşifsel veri analizi yapılmıştır. Bu çalışmada rmdformats paketinde bulunan downcute teması kullanılarak R Markdown üzerinde html uzantılı raporlama yapılmıştır.Dolayısıyla bu formatta bir R Markdown raporu üretilmek isteniyorsa öncelikle rmdformats paketinin kurulumun yapılması gerektiği unutulmamalıdır.

Yüklenen Kütüphaneler

Aşağıdaki R kod bloğunun çalıştırılmasından sonra kütüphanelerin yüklenip yüklenmediğine dair aşağıdaki gibi mantıksal vektör sonuçları gelecektir. Eğer mantıksal vektör sonuçlarının hepsi TRUE ise kütüphanelerin tamamı yüklenmiştir. Kolaylık sağlaması açısından aşağıdaki kütüphanelerin yüklenmesini gösterir tabloyu da elde etmek ve daha kolay okumanız için aşağıdaki kod bloğu içerisinde kısa bir kod yazdım. Bu kod çalıştırıldığında aşağıdaki tabloda görüleceği üzere bütün kütüphaneler yüklenmiştir. Eğer ilgili kütüphane yüklenmemiş olursa Paket Kurulumu Gerekli ifadesi tablo satırında yazacaktır. Satırda yazan bu uyarı metnine göre paketi ya kurar yada yüklersiniz. Bir paketin kurulması ile yüklenmesinin aynı şey olmadığını burada ifade etmek gerekir konuyu yabancı olanlar için. Paket kurulumu ilk defa yapılan bir işlem iken, paketin yüklenmesi zaten kurulan bir paketin yüklenmesi yani çalışır duruma getirilmesidir. İlk defa bir paket kurulumu gerçekleştiriliyorsa install.packages() fonksiyonunu, zaten bir paket kurulumu gerçekleştirilmiş ise ilgili paketin veya kütüphanenin yüklenmesi veya okunması için library() veya require() fonksiyonlarını kullanıyoruz. Fonksiyonlardaki parantez () içerisine yüklenecek paket veya kütüphane adını yazıyoruz.

kütüphane<-c("dplyr","tibble","tidyr","ggplot2","readr","RColorBrewer","crosstalk","leaflet","DT", "htmlwidgets","kableExtra","readr", "leaflet.extras", "sf", "plotly", "leafpop", "downloadthis", "tidygeocoder")
yükle<-sapply(kütüphane, require, character.only = TRUE, warn.conflicts = FALSE)
Kütüphane Yüklenme Bilgisi
sıra	kütüphane	yuklenme_durumu
1	dplyr	Yuklendi
2	tibble	Yuklendi
3	tidyr	Yuklendi
4	ggplot2	Yuklendi
5	readr	Yuklendi
6	RColorBrewer	Yuklendi
7	crosstalk	Yuklendi
8	leaflet	Yuklendi
9	DT	Yuklendi
10	htmlwidgets	Yuklendi
11	kableExtra	Yuklendi
12	readr	Yuklendi
13	leaflet.extras	Yuklendi
14	sf	Yuklendi
15	plotly	Yuklendi
16	leafpop	Yuklendi
17	downloadthis	Yuklendi
18	tidygeocoder	Yuklendi

Verinin okunması

deprem <- read_table("deprem.txt")%>% rename(Enlem="Enlem(N)",Boylam="Boylam(E)", "Buyukluk"=ML, Derinlik="Derinlik(km)"
)
# deprem veri seti
deprem<- deprem[, c(-6,-8,-10)]
deprem

Veri Setinin Yapısı

glimpse(deprem)

Kaydırma Eksenine Bağlı Harita, Grafik Kombinasyonu

deprem <- read_table("deprem.txt")%>% rename(Enlem="Enlem(N)",Boylam="Boylam(E)", "Buyukluk"=ML, Derinlik="Derinlik(km)"
)

deprem<- deprem[, c(-6,-8,-10)]


d1 <- highlight_key(deprem)

kaydirma <- filter_slider("Büyüklük", "Depremin Büyüklüğü", d1,~Buyukluk)

p <- plot_ly(d1, x = ~Derinlik, y = ~Buyukluk) %>% 
  add_markers(alpha = 0.5) %>% 
  highlight("plotly_selected")

harita <- leaflet(d1) %>% 
  addTiles() %>% 
  addCircleMarkers(
    label=deprem$Buyukluk,lng = ~Enlem, lat = ~Boylam,
    labelOptions = labelOptions(noHide = T, direction = 'top'))%>% addSearchOSM() %>% addReverseSearchOSM() %>% addResetMapButton()

bscols(
  widths = c(12, 12, 12), 
 kaydirma,  p, harita)

Örnek Veri Tablosu ve Harita Oluşturma

deneme <- data.frame(
  ticker = c("Ulusoy", "Metro", "Süzer", "Kanberoğlu"),
  address = c("Ankara","İstanbul","Artvin","Rize")
) %>%
  tidygeocoder::geocode(address = address,
                        method = "osm") %>%
  sf::st_as_sf(coords = c("long", "lat"), crs = 4326)
  
leaflet(deneme) %>%
  addMarkers(label = ~ address) %>%
  addProviderTiles("CartoDB.Positron")

İkon ve Harita Temalarının Haritaya Eklenmesi 1

deneme <- data.frame(
  Firma = c("Ulusoy", "Metro", "Süzer", "Kanberoğlu", "Pamukkale","Kamil Koç", "Anadolu", "Dadaş"),
  Adres = c("Ankara","İstanbul","Artvin","Rize", "Kayseri", "Antalya", "İzmir", "Sivas"),
  Ciro =c(1000, 12500,3000,4000, 6000,8000,9000,1800))%>%
  tidygeocoder::geocode(address = Adres,
                        method = "osm") %>%
  sf::st_as_sf(coords = c("long", "lat"), crs = 4326)


awesome <- makeAwesomeIcon(
  icon = "fire",
  iconColor = "red",
  markerColor = "blue",
  library = "fa"
)

leaflet(deneme) %>%
  addAwesomeMarkers(icon = awesome,
                    label = ~ Ciro) %>%
  addProviderTiles("CartoDB.Positron")

İkon ve Harita Temalarının Haritaya Eklenmesi 2

deneme <- data.frame(
  Firma = c("Ulusoy", "Metro", "Süzer", "Kanberoğlu", "Pamukkale","Kamil Koç", "Anadolu", "Dadaş"),
  Adres = c("Ankara","İstanbul","Artvin","Rize", "Kayseri", "Antalya", "İzmir", "Sivas"),
  Ciro =c(1000, 12500,3000,4000, 6000,8000,9000,1800))%>%
  tidygeocoder::geocode(address = Adres,
                        method = "osm") %>%
  sf::st_as_sf(coords = c("long", "lat"), crs = 4326)


awesome <- makeAwesomeIcon(
  icon = "automobile",
  iconColor = "red",
  markerColor = "blue",
  library = "fa"
)

leaflet(deneme) %>%
  addAwesomeMarkers(icon = awesome,
                    label = ~ Ciro) %>%
  addProviderTiles("Esri.NatGeoWorldMap")

Haritaya Açılan Tablo Ekleme 1

deneme <- data.frame(
  Firma = c("Ulusoy", "Metro", "Süzer", "Kanberoğlu", "Pamukkale","Kamil Koç", "Anadolu", "Dadaş"),
  Adres = c("Ankara","İstanbul","Artvin","Rize", "Kayseri", "Antalya", "İzmir", "Sivas"),
  Ciro =c(1000, 12500,3000,4000, 6000,8000,9000,1800))%>%
  tidygeocoder::geocode(address = Adres,
                        method = "osm") %>%
  sf::st_as_sf(coords = c("long", "lat"), crs = 4326)

leaflet() %>%
  addTiles() %>%
  addCircleMarkers(data = deneme,
                   popup = popupTable(deneme))

Spesifik Yer İşaretleme

Bu kısımda Sanayi ve Teknoloji Bakanlığı’nın adresi, web sitesi etiketlenmiştir.

etiket=content <- paste(sep = "<br/>",
  "<b><a href='https://www.sanayi.gov.tr/anasayfa'>T.C. Sanayi ve Teknoloji Bakanlığı</a></b>",
  "Mustafa Kemal Mahallesi Dumlupınar Bulvarı (Eskişehir Yolu 7.km) 2151. Cadde No:154/A",
  "Çankaya/ANKARA, 06530"
)
leaflet() %>% addTiles() %>% setView(32.78216614147982,39.911152425885824, zoom = 15) %>% addPopups(32.78216614147982,39.911152425885824,etiket, options = popupOptions(closeButton = TRUE))

Buraya kadar yapılan çalışmaların tamamını ve daha fazlasını RPubs üzerinde yayınladığım Crostalk ve Leaflet Paketleriyle Türkiye Depremlerinin Analizi adlı çalışma içerisinde bulabilirsiniz.

Verinin harita üzerinde görselleştirilmesine yönelik yaptığım bu R Markdown çalışmasının özellikle veri bilimi (data science) ile ilgilenen akademi ve saha çalışanlarına bir katkı sunacağı düşünülmektedir.

Faydalı olması ve farkındalık oluşturması dileğiyle.

Bilimle ve teknolojiyle kalınız.

Saygılarımla…

Not: Kaynak gösterilmeden alıntı yapılamaz veya kopyalanamaz.

Note: It can not be cited or copied without referencing.

Yararlanılan Kaynaklar

1.https://rstudio.github.io/crosstalk/ 

2.https://emilyriederer.github.io/demo-crosstalk/tutorial/tutorial-rmd.html 

3.https://www.jla-data.net/eng/leaflet-markers-in-r/ 

4.https://rstudio.github.io/leaflet/popups.html 

5.https://rstudio.github.io/crosstalk/using.html 

6.https://emilyriederer.github.io/demo-crosstalk/tutorial/tutorial-rmd.html 

7.https://plotly-r.com/client-side-linking.html 

8.https://nicar.r-journalism.com/docs/crosstalk-flexdashboard-leaflet-datatable/ 

9.https://rstudio-pubs-static.s3.amazonaws.com/367074_7396dc3734544b0f94e04b8801b24664.html 

10.https://rstudio.github.io/crosstalk/using.html 

11.https://rpubs.com/tevfik1461/deprem 

12.https://cran.r-project.org/web/packages/crosstalk/crosstalk.pdf 

13.https://cran.r-project.org/web/packages/leaflet.extras2/leaflet.extras2.pdf 

14.https://mrjoh3.github.io/2018/07/25/filtering-spatial-data/ 

15.https://rdrr.io/cran/leaflet/man/makeAwesomeIcon.html 

16.https://rstudio.github.io/leaflet/popups.html 

17.https://github.com/r-spatial/leafpop

18. Crostalk ve Leaflet Paketleriyle Türkiye Depremlerinin Analizi, https://rpubs.com/tevfik1461/harita

Öne çıkan

R Markdown İle Örnek Uygulama Raporu Oluşturma: Example of Creating an Application Report with R Markdown

Bu çalışmanın amacı prettydoc paketi kullanılarak R Markdown üzerinde html uzantılı raporlama yapmaktır. Bu nedenle kod bloklarıyla birlikte adım adım uygulama adımlarına yer verilmiştir. Çalışma R programlama ara yüzü olan R Studio üzerinde yapılmıştır.

R Markdown Raporunu Tanımlama

title: "R Markdown Örnek Uygulama Raporu"
author: "Tevfik Bulut"
date: "`r format(Sys.time(), '%d %B %Y')`"
output:
  prettydoc::html_pretty:
    theme: cayman
    highlight: github
    toc: true
    toc_float: false
    #toc_depth: 4
    number_sections: true

Yüklenen Kütüphaneler

Aşağıdaki R kod bloğunun çalıştırılmasından sonra kütüphanelerin yüklenip yüklenmediğine dair aşağıdaki gibi mantıksal vektör sonuçları gelecektir. Eğer mantıksal vektör sonuçlarının hepsi TRUE ise kütüphanelerin hepsini yüklenmiştir demektir. Kolaylık sağlaması açısından yukarıda kütüphanelerin yüklenmesini gösterir tabloyu da elde etmek ve daha kolay okumanız için yukarıdaki kod bloğu içerisinden kısa bir kod yazdım. Bu kod çalıştırıldığında aşağıdaki tabloda görüleceği üzere bütün kütüphaneler yüklenmiştir. Eğer ilgili kütüphane yüklenmemiş olursa “Paket Kurulumu Gerekli” ifadesi satırda yazacaktır. Satırda yazan bu uyarı metnine göre paketi ya kurar yada yüklersiniz. Bir paketin kurulması ile yüklenmesinin aynı şey olmadığını burada ifade etmek gerekir konuyu yabancı olanlar için. Paket kurulumu ilk defa yapılan bir işlem iken, paketin yüklenmesi zaten kurulan bir paketin yüklenmesi yani çalışır duruma getirilmesidir. İlk defa bir paket kurulumu gerçekleştiriliyorsa install.packages() fonksiyonunu, zaten bir paket kurulumu gerçekleştirilmiş ise ilgili paketin veya kütüphanenin yüklenmesi veya okunması için library() veya require() fonksiyonlarını kullanıyoruz. Fonksiyonlardaki parantez () içerisine yüklenecek paket veya kütüphane adını yazıyoruz.


kütüphane&lt;-c(&quot;dplyr&quot;,&quot;tibble&quot;,&quot;tidyr&quot;,&quot;ggplot2&quot;,&quot;ggthemes&quot;,&quot;readr&quot;,&quot;readxl&quot;,&quot;ggpubr&quot;,&quot;formattable&quot;, &quot;ggstance&quot;, &quot;pastecs&quot;,&quot;writexl&quot;, &quot;psych&quot;, &quot;GGally&quot;,&quot;pander&quot;, &quot;rstatix&quot;,&quot;RColorBrewer&quot;, &quot;htmlwidgets&quot;,&quot;kableExtra&quot;,&quot;stargazer&quot;,&quot;readr&quot;, &quot;equatiomatic&quot;)
yükle% mutate(yuklenme_durumu=if_else(yuklenme_durumu==TRUE, "Yuklendi", "Paket Kurulumu Gerekli")) %&gt;% kbl(caption = "Kütüphane Yüklenme Bilgisi") %&gt;% kable_classic_2(full_width = F, html_font="arial")

Tanımlayıcı İstatistikler

mtcars Veri Seti

Çalışma kapsamında R içerisinde bulunan mtcars veri setinden yararlanarak tanımlayıcı ve çıkarımsal istatistikler ortaya konulmuştur.Veri seti 11 değişkenden ve 32 gözlemden oluşmaktadır.

  1. mpg:Mil/(ABD) galon
  2. cyl:Silindir sayısı
  3. disp:Displacement (m.in.)
  4. hp:Brüt beygir gücü
  5. drat:Arka aks oranı
  6. wt:Ağırlık (1000 lbs)
  7. qsec: 1/4 mil zaman
  8. vs:Motor (0 = V şeklinde, 1 = düz)
  9. am:Şanzıman (0 = otomatik, 1 = manuel)
  10. gear: İleri vites sayısı
veri=mtcars
veri %&gt;% kbl() %&gt;% kable_styling()

Tanımlayıcı İstatistikler Tablosu

veri1 &lt;- within(veri, {
   vs &lt;- factor(vs, labels = c(&quot;V&quot;, &quot;S&quot;)) #değişkenin nominal kategorik veri tipine dönüştürülmesi
   am &lt;- factor(am, labels = c(&quot;otomatik&quot;, &quot;manuel&quot;)) #değişkenin nominal kategorik veri tipine dönüştürülmesi
   cyl  &lt;- ordered(cyl) # değişkenin nominal sıra ölçekli veri tipine dönüştürülmesi
   gear &lt;- ordered(gear) # değişkenin nominal sıra ölçekli veri tipine dönüştürülmesi
   carb % kbl(caption = "Tanımlayıcı İstatistikler") %&gt;%
  kable_classic(full_width = F, html_font = "Cambria")

Tanımlayıcı İstatistikler Tablosu Alternatifi

cikarma=names(veri1) %in% c("vs", "am", "cyl","gear", "carb") # tanımlayıcı istatistiklerden çıkarılacak nominal değişkenler

stargazer(veri[!cikarma], type = "text",title="Tablo 1: Sürekli Değişkenlerde Tanımlayıcı İstatistikler Tablosu", digits=1, out="table3.html", flip=T)

Vites türüne göre yakıt tüketimleri ve beygir güçleri

Veri setinde ‘mpg’ değişkeni yakıt tüketimini, ‘am’ değişkeni vites tipini ve ‘hp’ değişkeni ise beygir gücünü göstermektedir.


veri1 %&gt;% ggplot(aes(x=mpg, y=hp, col=(am))) + geom_point()+
    facet_wrap(. ~ am, scales="free_y")+
    theme_economist()+
    theme(legend.position = "none")+
    theme(
      strip.text.x = element_text(
        size = 12, color = "black", face = "bold"
        ))
      

Eşitlik yazma

Eşitlik ortalanmak isteniyorsa eşitliğin soluna ve sağına çift dolar işareti ilave edilir. Eşitlik sola yaslanacaksa soluna ve sağına tek dolar işareti eklenir.

$$X_i$$

Büyüktür işareti

$$ x\ge y$$

Kesirli ifade yazımı

$$\frac{2}{3}$$

$$ x = \frac{-b \pm \sqrt{b^2 – 4ac}}{2a} $$

$$ E = mc^2 $$

Tabakalı örneklemede örneklem büyüklüğü formülü

İlgili değişken kesikli ise aşağıdaki eşitlik örneklem büyüklüüğünün hesaplanmasında kullanılır.

$$ n = \frac{Nt^2pq}{d^2(N-1)+t^2pq} $$

Standart sapma

$$\sigma = \sqrt{\frac{\sum\limits_{i=1}^{n} \left(x_{i} – \bar{x}\right)^{2}} {n-1}}$$

Sayı serilerini toplama

$$x_{1} + x_{2} + \cdots + x_{n}$$

$Y = X\beta + \epsilon$,footnotes^[Doğrusal regresyon modellerinde regresyon eşitliğini göstermektedir.].

Çıkarımsal İstatistikler

Modeli kurma ve eşitliklere dönüştürme

# Doğrusal regresyon modeli
model1 &lt;- lm(mpg ~ am + hp, veri1)
# Teorik modeli gösterme
equatiomatic::extract_eq(model1)

model2 &lt;- lm(mpg ~ am + hp+drat + wt, veri1)

Model 1 katsayılarını gösterme

equatiomatic::extract_eq(model1, use_coefs = TRUE,  wrap = TRUE)

Model 2 katsayılarını gösterme

equatiomatic::extract_eq(model2, use_coefs = TRUE,  wrap = TRUE)

Model 1 ve 2 Özeti

İki model karşılaştırıldığında kurulan 2. modelin açıklayıcılığı 1. modele göre daha yüksektir. Diğer bir ifadeyle düzeltilmiş R^2 (Adjusted R2) 1. modelde % yaklaşık % 76,7 iken 2. modelde % 82’dir.

stargazer(model1,model2, type = &quot;text&quot;, title=&quot;Model Karşılaştırmaları&quot;)

Regresyon Model1 Grafikleri

par(mfrow = c(2,2))
plot(model1)

Regresyon Model2 Grafikleri

par(mfrow = c(2,2))
plot(model2)

Yapılan bu R Markdown çalışmasının özellikle veri bilimi (data science) ile ilgilenen akademi ve saha çalışanlarına bir katkı sunacağı düşünülmektedir.

Çalışmaya ve kod bloklarının uygulama sonuçlarına https://rpubs.com/tevfik1461/Markdown linkinde yer verilmiş olup, buradan yukarıda yapılan işlemleri daha iyi takip edebilir, somut rapor çıktısını inceleyebilirsiniz.

Faydalı olması ve farkındalık oluşturması dileğiyle.

Bilimle ve teknolojiyle kalınız.

Saygılarımla…

Not: Kaynak gösterilmeden alıntı yapılamaz veya kopyalanamaz.

Note: It can not be cited or copied without referencing.

Yararlanılan Kaynaklar

  1. https://github.com/yixuan/prettydoc/
  2. https://bookdown.org/yihui/rmarkdown-cookbook/equatiomatic.html
  3. https://rmd4sci.njtierney.com/math
  4. Anderson, Daniel, Andrew Heiss, and Jay Sumners. 2021. Equatiomatic: Transform Models into LaTeX Equations. https://github.com/datalorax/equatiomatic.
  5. https://rpruim.github.io/s341/S19/from-class/MathinRmd.html
  6. https://www.rdocumentation.org/packages/datasets/versions/3.6.2/topics/mtcars
  7. https://cran.r-project.org/web/packages/kableExtra/vignettes/awesome_table_in_html.html#Add_header_rows_to_group_columns
  8. https://tevfikbulut.com/2020/07/12/rda-multinominal-lojistik-regresyon-uzerine-bir-vaka-calismasi-a-case-study-on-multinominal-logistic-regression-in-r/
  9. https://cran.r-project.org/web/packages/prettydoc/index.html
  10. https://rmarkdown.rstudio.com/docs/
  11. https://rpubs.com/tevfik1461/Markdown

R Markdown raporunun oluşturulmasında kullanılan kodların tamamı kod bloklarıyla birlikte aşağıdaki linkten pdf formatında indirilebilir.

Öne çıkan

Tabakalı Örnekleme Üzerine Bir Simülasyon Çalışması: A Simulation Study on Stratified Sampling

Öncelikle nicel araştırmalarda hedef popülasyon (target population) hakkında çıkarımlarda bulunmak istiyorsak mutlaka olasılıklı örnekleme yöntem veya yöntemlerinin kullanılması gerektiğini belirtelim. Çünkü yapılan tezlerde, yayınlanan bazı makalelerde ya da araştırma raporlarında bu konuya yeterince önem verilmediği ve yada konunun yeterince bilinmediği görülmektedir. Bu durum yapılan bilimsel çalışmanın niteliğinin sorgulanmasına neden olmaktadır.

Olasılıklı örneklemede temel felsefe popülasyonu oluşturan her popülasyon biriminin örnekleme seçilme şansının eşit olmasıdır. Olasılıklı örnekleme yöntemlerinden biri olan tabakalı örnekleme (stratified sampling)’de, popülasyon ya da evren, tabaka adı verilen üst üste binmeyen gruplara bölünür ve her tabaka içindeki bazı tasarımlarla bir örneklem seçilir. Tabakalı örnekleme tasarımları, popülasyondaki her örnekleme birimi için bilinen belirli bir özelliğe dayalı olarak bir popülasyonun tabakalara bölünmesini ve ardından her bir tabakadan bağımsız olarak örneklemlerin seçilmesini içerir. Bu tasarım, farklı tabakalarda örnekleme yöntemlerine esneklik kazandırır ve her tabaka göreceli olarak kendi içerisinde homojen birimlerden oluştuğunda, hedef parametrelerin tahminlerinde iyi kesinlik (precision) elde edilir.

Tabakalı örnekleme tasarımı, popülasyonun belirli bölümlerinin kolayca hedeflenmesini de sağlar. Örneğin, coğrafi bölgeler, habitat türü, yükseklik veya toprak türü gibi bilinen bazı değişkenler aracılığıyla benzer bölgelere ayrılabilir. Bir başka örnek, bir fabrikada monte edilen kusurlu ürünlerin oranlarını belirlemek olabilir. Bu durumda, örnekleme, üretim hatları, fabrika vb. faktörlere göre tabakalandırılabilir. Hatta COVID-19 pandemisinden örnek vermek gerekirse illeri COVID-19 vaka sayılarına göre 4 farklı şekilde tabakalandırabiliriz. Örneğin, mavi rengin az riskli, sarı rengin orta riskli, turuncu rengin yüksek riskli ve kırmızı rengin çok yüksek riskli iller olmak üzere Türkiye’yi 4 farklı tabakaya ayırabiliriz.

Tabakalı örnekleme genellikle tabakalar arasında eşit tahsis ile yapılır. Bu, örneklemdeki tabaka oranlarının popülasyondaki karşılık gelen oranları temsil etmediği anlamına gelir. Bu sorunu çözmek için, her tabaka için o tabaka büyüklüğünün toplam popülasyona oranı (sampling fraction (f)=n/N) olarak tanımlanan tabaka ağırlıkları dikkate alınarak örneklem büyüklüklerinin belirlenmesi gerekir. Bu yapıldığında, her tabaka için tahminler yanlılık (bias) içermez ve ilgili tabaka büyüklükleri ile çarpılan tabaka ağırlıkları (diğer bir ifadeyle f) tabaka büyüklükleri toplamına eşit olan popülasyon (N) tahminleri de yansız olur. Her tabaka için tarafsız bir tahmincinin varlığı, aynı tasarım için tabakadaki tüm olası örneklemler üzerindeki tahminlerin ortalamasının, tahmin edilen gerçek parametreye eşit olduğu anlamına gelir. Tabaka ağırlıkları doğru bir şekilde hesaplanmazsa, tahminde yanlılığa neden olur. Genel olarak, uygun tabakalı bir örneklemin ağırlıklı ortalaması, popülasyondan basit tekrarsız tesadüfi örnekleme (SRSWOR) ile çekilen örneklemin aritmetik ortalamasından daha az değişkenliğe yani varyansa sahiptir. Tabaka ağırlıkları, tabakalı veriler için varyans tahmininde de kullanılabilir.

Tabakalı örneklemenin mantıklı olacağı birkaç ek örnek düşünebilir misiniz? Tabakalı örneklemede amaç, tabakalar içinde homojenliği yani varyansı azaltmaktır. Tabakalar arasında ise heterojenlik söz konusudur. Tabakalı örnekleme çeşitli avantajları nedeniyle çoğu büyük ölçekli araştırmada kullanılmaktadır.

Tabakalı örneklemenin avantajları nelerdir?

  1. Alt popülasyonların tahmini: Nüfus özelliklerinin tahminlerinin sadece tüm popülasyon için değil, aynı zamanda farklı alt popülasyonları için gerekli olduğu durumlarda, bu tür alt popülasyonlar tabaka olarak ele alınmalıdır. Örneğin, ulusal bir işsizlik anketinde, hükümet tüm ülke için ve il düzeyinde işsizlik rakamlarını tahmin etmekle ilgilenebilir. Bu durumda her il bir tabaka olarak alınabilir.
  2. İdari uygunluk: Araştırmayı yürüten kurum, araştırmanın verimli bir şekilde denetlenebilmesi için nüfusu tabakalı hale getirebilir. Örneğin kurum, her tabaka için ayrı ayrı araştırma yapmak üzere ayrı denetmenler atayabilir.
  3. Örneklemin popülasyonu temsil kapasitesi: Tabakalı örneklemede, tabakaların oluşturulması ve örneklemlerin farklı tabakalara atanması, örneklemin çalışılan özelliklere göre popülasyonu temsil edebileceği şekilde yapılabilir. Örneğin, Türkiye’de farklı etnik grupları temsil eden bir okuldan öğrenci örneklemini seçmek istersek, okulun tamamından basit tesadüfi örnekleme (SRSWOR) ile seçilen örneklem temsil edici olmayabilir. Bu durumda, tabaka olarak farklı etnik gruplarını kullanan tabakalı bir örneklemenin, tüm okuldan alınan bir SRSWOR örnekleminden daha temsili bir örneklem olması beklenir.
  4. Etkinlik: Tabakalı örneklemede, her bir tabakanın çalışılan özelliğe göre homojen hale gelmesini sağlayacak şekilde tabakalar oluşturarak tahminlerin etkinliği artırılabilir. İlgili tabakalara uygun örnekleme şemaları, tahmin edicilerin etkinliklerini artırabilir.
  5. İyileştirilmiş veri kalitesi: Farklı tabakalarda farklı araştırmacılar kullanılarak iyileştirilmiş veri kalitesi elde edilebilir. Örneğin, yerel dilleri bilen araştırmacılar kırsal alanlarda görevlendirilebilirken, kentsel alanlarda İngilizce bilen araştırmacılar daha avantajlı olabilir.
  6. Maliyet: Araştırmada gözlem başına maliyet, popülasyon unsurlarının uygun tabakalara ayrılmasıyla azaltılabilir.

Tabakalı örneklemede notasyonlar şöyledir:

L = tabaka sayısı
Nh = her h. tabakadaki popülasyon büyüklüğü
nh = her h. tabakadan çekilen örneklem büyüklüğü
N = popülasyondaki toplam birim sayısı ya da popülasyon büyüklüğü, yani N1 + N2 + … + NL

Kafamızda canlanması adına tabakalı örnekleme yöntemi Şekil 1 üzerinde gösterilmiştir. Şekil 1’de SRSWOR ifadesi basit tesadüfi tekrarsız örnekleme anlamına gelmekte olup bu örnekleme tekniğinin literatürdeki kısaltılışıdır. Şekil 1 tabakalı örneklemeyi ortaya koysa da biraz bahsetmekte fayda vardır. Popülasyon veya evrenden belirlediğimiz birimlerden tabakalara atanmış popülasyon birimleri üzerinden seçim yaparız. Burada tabaka örneklem (n) büyüklükleri eşit tahsis şeklinde olabileceği gibi orantılı tahsis şeklinde de olabilir. Ancak bu iki yaklaşımdan orantılı olanı tabaka örneklemlerinin popülasyondaki tabakaları temsil etmesi açısından daha iyidir ve tabakalar içerisindeki varyansı eşit seçime göre daha da azaltırsınız. Tabaka örneklem büyüklüklerini belirledikten sonra sıra popülasyon tabakalarından örneklem tabakalarına örneklem birimlerinin seçiminde hangi olasılıklı örnekleme yöntemini benimseyeceğimize gelmektedir. Şekil 1’de görüleceği üzere burada araştırma tasarımına bağlı olarak basit tesadüfi tekrarsız örnekleme veya sistematik olasılıklı yöntemlerinden biri seçilebilir. Çalışmanın sonunda yararlanılan kaynaklar kısmında bu iki örnekleme yöntemleri üzerine R programla dili ve Microsoft Excel kullanarak uygulama olarak yaptığım örnek çalışmaların linklerine yer verilmiştir. Buradan bu iki olasılıklı örnekleme yöntemini uygulamalar üzerinden yakından inceleyebilirsiniz.

Şekil 1: Tabakalı Örnekleme Yöntemi

Örnek Uygulama

Tabakalı örneklemeden bahsettikten sonra şimdi uygulama aşamasına geçebiliriz. Uygulamada kullanılan popülasyon veri seti beden kitle endeksi (BKİ) değerlerini içeren ve 1000 (N) gözlemden oluşan sentetik veri setidir. Olasılıklı örneklem yöntemlerinden basit tekrarlı tesadüfi örnekleme yöntemiyle 7 ve 50 aralığında BKİ değerleri üretilmiştir. BKİ değerleri üretilirken Sağlık Bakanlığı resmi web sitesindeki BKİ alt ve üst referans değerlerinden yararlanılmıştır. Burada belirlenen BKİ alt ve üst limitleri şöyledir:

Parametre DeğeriKategori
18,5 kg/m2’nin altında isezayıf
18,5-24,9 kg/m2 arasında isenormal kilolu
25-29,9 kg/m2 arasında isefazla kilolu
30-34,9 kg/m2 arasında iseI.Derece obez
35-39,9 kg/m2 arasında iseII.Derece obez
40 kg/m2 üzerinde iseIII.Derece morbid obez
Kaynak: https://www.sbn.gov.tr/BKindeksi.aspx

Yukarıdaki tablodaki göstergelerden oluşturulan popülasyon (N) veri seti üzerinden tabakalı örnekleme yapılmıştır. Söz gelimi araştırma kapsamında bu tabakalarda yer alan bireylerle yüz yüze görüşme (face to face interview) yapılarak bu bireylerin beslenme ve sağlıklı yaşam alışkanlıkları araştırılsın. Çalışmanın sonunda tabakalı örnekleme çalışması simülasyonu paylaşılmıştır. Bu simülasyonda tabaka örneklem büyüklüğünün belirlenmesinden örneklem seçimine kadar pek çok konu bulunmaktadır. Zaten simülasyonu inceleyince konuyu çok yüksek ihtimalle ayrıntılı bir şekilde öğrenmiş olacaksınız. Tablo 1’de BKİ (Beden Kitle Endeksi) değerleri kategorize edilmiş ve tabaka olarak alınmıştır. Tabaka sayımız yani L=6, popülasyon büyüklüğü (N) ise 1000’dir.

Tablo 1: Tabakalar (L=6) ve Büyüklükleri

TabakaN
Zayıf257
Normal Kilolu161
Fazla Kilolu119
I.Derece Obez114
II.Derece Obez122
III.Derece Morbid Obez227
Toplam1000

Tabaka örneklemlerinin popülasyonu ve popülasyon tabakalarını daha iyi temsil etmesini istediğimiz için orantılı tahsis yöntem ile tabaka örneklem büyüklüklerini belirliyoruz. Ancak tabaka örneklem büyüklüğüne geçmeden önce popülasyon büyüklüğünün bilindiğinden hareketle popülasyondan çekilecek örneklem büyüklüğünü aşağıda yazılan eşitlikle hesaplayalım.

Aşağıdaki eşitlikte kullanılan parametreler içerisinde

N=Popülasyon büyüklüğünü

n=Örneklem büyüklüğünü

p= Olayın görülüş olasılığını

q= (1-p) = Olayın görülmeme olasılığını

t= t tablo değerini

d= Tolerans seviyesini

göstermektedir.

Örneklem büyüklüğünün hesaplanmasında bilinen parametreler aşağıdakiler olsun:

N=1000

p=0,05

q=0,05

t=1,96

d=0,05

Verilenlere göre popülasyondan çekilecek örneklem büyüklüğünü hesaplayalım.

Bu çalışmada söz gelimi popülasyondan çekeceğimiz örneklem büyüklüğü (n) yaklaşık 278’dir. Tabakaların örneklem büyüklüklerini hesaplamak için bu aşamada yapılacak ilk işlem tabaka ağırlığı (w)’nın hesaplanmasıdır. Tabaka ağırlığı, n/N eşitliği ile hesaplanmaktadır. Bu çalışmada belirlenen tabaka ağırlığı (w) = n/N=277,7/1000=0,2777‘dir.

Daha sonra bu ağırlık katsayısı ile tabaka büyüklüğü (Ni) çarpılarak tabaka örneklem büyüklükleri belirlenmektedir. Bu durumda tabakalara göre hesaplanan örneklem büyüklükleri Tablo 2’de verilmiştir. Burada somutlaştırmak adına Zayıf tabakasının örneklem büyüklüğünü hesaplayalım.

  • Zayıf tabakası (n1) için örneklem büyüklüğü n1=(257x 0,2777=71‘dir. Bu işlem diğer tabakalara da uygulanırsa Tablo 1’de en sağ sütundaki sonuçlar elde edilmiş olur.
  • Tabaka örneklem büyüklükleri belirlendikten sonra sıra tabaka örneklem (n) büyüklüklerine göre tabakalardan örneklem birimlerini seçmeye gelmiştir. Bu aşamada olasılıklı örnekleme yöntemlerinden biri olan basit tesadüfi tekrarsız örnekleme (SRSWOR) veya sistematik örnekleme yöntemini kullanabilirsiniz. Bu çalışmada kullanılan olasılıklı örnekleme yöntemi SRSWOR’dur. Bu örnekleme yönteminde tabakalardaki popülasyon birimlerinin her birine tabaka örneklemlerine eşit seçilme şansı veriyoruz.

Tablo 2: Tabakalar (L=6) ve Tabaka Örneklem (n) Büyüklükleri

TabakaNÖrneklem (n) Büyüklüğü
Zayıf25771,0
Normal Kilolu16145
Fazla Kilolu11933
I.Derece Obez11432
II.Derece Obez12234
III.Derece Morbid Obez22763
Toplam1000278

Bahsedilenler Şekil 2 üzerinde de özetlenmiştir.

Şekil 2: Tabakalı Örnekleme Uygulaması

Örnek uygulamadaki yapılanları ve tabaka örneklem birimlerinin seçimini göstermesi adına örneklem büyüklüğü (n) 278’de sabitlenmiş olup, aşağıda Microsoft Excel uzantılı (xlsx) olarak paylaşılmıştır. Buradan bu dokümanı indirebilirsiniz.

Örnek uygulama üzerinden hazırladığım simülasyon çalışması da aşağıda Microsoft Excel uzantılı (xlsx) olarak paylaşılmıştır. Burada örneklem büyüklüğü (n) tesadüfi bir şekilde belirlenmekte olup, çalışmalarınıza da uyarlayabilirsiniz. Bu simülasyonda örneklem büyüklüğünü sizin belirlemenize gerek bulunmamaktadır. =RASTGELEARADA(300;750) fonksiyonu ile 300 ile 750 arasında tesadüfi bir şekilde örneklem büyüklüğü belirlenmektedir. Aynı zamanda çalışma içerisinde F9 tuşuna basılı tutarak simulasyondan basit tekrarsız tesadüfi örnekleme yöntemiyle yeni örneklem birimleri seçebilirsiniz. Özellikle bu simülasyon çalışmasının sahada ve akademide faaliyet gösteren çalışanlara çok faydalı olacağı düşünülmektedir. Bu çalışmanın içerisinde olasılıklı örneklem seçiminden örneklem büyüklüğünün belirlenmesi kadar pek çok konu mevcuttur.

Buradan simülasyon çalışmasını indirebilirsiniz.

Simülasyon çalışmasında bazı sayfalardaki formüller şifre ile korunmuştur. Değişiklik yapılması istenmesi durumundan sayfa korumasının kaldırılması için şifre olarak “tevfik” girilmesi yeterlidir. Özellikle bu simülasyon çalışmasının sahada ve akademide faaliyet gösteren çalışanlara çok faydalı olacağı düşünülmektedir. Bu çalışmanın içerisinde olasılıklı örneklem seçiminden örneklem büyüklüğünün belirlenmesine kadar pek çok konu mevcuttur. Bu simülasyonda örneklem büyüklüğünü tesadüfi bir şekilde belirlendiğinden sizin belirlemenize gerek bulunmamaktadır.

Faydalı olması ve farkındalık oluşturması dileğiyle.

Bilimle ve teknolojiyle kalınız.

Saygılarımla…

Not: Kaynak gösterilmeden alıntı yapılamaz veya kopyalanamaz.

Note: It can not be cited or copied without referencing.

Yararlanılan Kaynaklar

Öne çıkan

Z Tablosuna Göre Güven Aralığının Hesaplanmasına Yönelik Bir Simülasyon Çalışması: A Simulation Study for Calculating Confidence Interval by Z Table

Güven aralıkları ingilizce ifadeyle confidence interval (CI) hem sahadan veri toplama yöntemleriyle elde edilen birincil verilerin hem de veri tabanlarından elde edilen işlenmiş ikincil verilerin analizinde çok yoğun bir şekilde kullanılmaktadır. Peki nedir bu güven aralığı? Güven aralığının hesaplanması için hangi parametrelere ihtiyaç vardır? Güven aralığı nasıl hesaplanır? Güven aralığını etkileyen faktörler nelerdir? Tanımlayıcı ve çıkarımsal istatistiklerin rolü nedir? Hipotez testlerinde yapılan hatalar nelerdir? Bu çalışmada bahsedilen bu sorulara cevaplar bulunacaktır. Bu amaçla olasılıklı örneklem yöntemlerinden biri olan ön yargısız (without bias) basit tesadüfi tekrarsız örneklem yöntemi kullanılmıştır. Basit tekrarlı örneklem yöntemi ile ise rastgele beden kitle endeksi verileri üretilmiştir. Üretilen bu sentetik veriler üzerinden deneysel güven aralığı çalışması hazırlanmıştır. Diğer programlama dilleri kullanılarak veya paket programlar üzerinde de bu çalışmanın yapılması her zaman mümkündür. Bunu da yapabilirdim ancak Microsoft Office Excel 2016 kullanılarak güven aralığı çalışması yapılmasının daha uygun olacağını düşündüm. Bunun nedeni excel üzerinde okuyucuya fonksiyon (formül) etkileşimleri gösterilerek konu hakkında daha fazla katkı sunulması amaçlanmasıdır. İki farklı güven aralığı çalışmasına yer verilmiştir. İlkinde güven aralığı çalışmasında elde edilen değerler sabitlenmiştir. İkincisi ise simülasyona izin verecek dinamik bir şekilde excel uzantılı dosya içerisinde sunulmuştur.Bunun nedeni seçilen örneklemlerdeki parametre ve güven aralıkları değişimlerinin karşılaştırmalı ve dinamik olarak sunulmak istenmesidir.

Tanımlayıcı istatistiklerin rolü nedir?

Adından da anlaşılacağı gibi, tanımlayıcı istatistikler (descriptive statistics) bir veri kümesini tanımlar. Burada, bir araştırmacının bir veri seti hakkında bilmek isteyebileceği üç şeyi nasıl belirleyeceğimizi tartışıyoruz:

  1. Merkezi eğilim noktaları,
  2. Değişkenlik miktarı (varyans derecesi)
  3. İki veya daha fazla değişkenin birbiriyle ilişkilendirilme derecesi.

Merkezi Eğilim Ölçüleri

Merkezi bir eğilim noktası, verilerin etrafında döndüğü bir noktadır, belirli bir değişkenle ilgili verilerin etrafında dolaştığı bir orta sayıdır. İstatistik dilinde, böyle bir noktayı belirleme tekniklerine atıfta bulunmak için merkezi eğilim ölçüleri terimini kullanıyoruz. Merkezi eğilimin yaygın olarak kullanılan üç ölçüsü mod, medyan (ortanca) ve ortalamadır ve her biri kendi özelliklerine ve uygulamalarına sahiptir.

Mod, en sık meydana gelen tek sayı veya puandır. Ortanca, bir puan setinin sayısal merkezidir. Ortalama ise belirli bir değişken için puanların aritmetik ortalamasıdır. Hesaplamak için tüm puanların toplamını hesaplıyoruz (her gerçekleştiğinde her puanı ekliyoruz) ve ardından toplam puan sayısına bölüyoruz.

Ortalama ayrıca istatistiksel analizlerde ve araştırma raporlarında en yaygın olarak kullanılan merkezi eğilim ölçüsüdür. Bununla birlikte, yalnızca aralık veya oran verileri için uygundur, çünkü yalnızca sayılar belirli bir ölçek boyunca eşit aralıkları yansıttığında bir ortalamayı hesaplamak matematiksel olarak mantıklıdır.

Medyan, sıralı verilerde daha uygundur. Medyan, bir araştırmacı bir yönde veya diğerinde oldukça çarpık bir veri kümesiyle uğraşırken de sıklıkla kullanılır. Medyanlar genellikle aile geliri ve finansal varlıkların düzeylerinde merkezi eğilimi yansıtmak için kullanılır; çoğu aile geliri ve hane halkı varlıkları ölçeğin alt ucunda kümelenmiştir ve yalnızca çok azı bu aralıkta yayılmıştır. Buradan medyanın uç değerlerden etkilenmediği anlaşılmaktadır.

Her durumda, temel bir ilke geçerlidir: Verilerin konfigürasyonu, o özel durum için en uygun merkezi eğilim ölçüsünü belirler. Veriler normal dağılım gösteren bir eğriye yaklaşan bir dağılıma yakınsarsa, bir merkezi eğilim ölçüsü gerektirirler. Eğer bir ogive-eğri niteliğine sahiplerse (bir büyüme durumunun özelliği), başka bir ölçüt gerekir. Birden fazla zirveye sahip olan çok modlu bir dağılım, yine de üçüncü bir yaklaşımı gerektirebilir; örneğin, araştırmacı onu iki veya daha fazla mod açısından tanımlayabilir. Araştırmacı, ancak verilerin özelliklerinin dikkatli ve bilinçli bir şekilde değerlendirilmesinden sonra en uygun istatistiği seçebilir.

Bu nedenle, veri analizlerinde istatistik kullanan araştırmacılar için temel bir kuralı vurgulamalıyız: Verilerin doğası istatistiksel tekniği belirler, tersi bir durum geçerli değildir. Tıpkı doktorun belirli hastalıklar ve bozukluklar için hangi ilaçların mevcut olduğunu bilmesi gerektiği gibi, araştırmacının da belirli araştırma taleplerine hangi istatistiksel tekniklerin uygun olduğunu bilmesi gerekir. Tablo A, her bir ölçünün uygun olduğu çeşitli veri türleri ile birlikte merkezi eğilim ölçüleri ve kullanımlarının bir özetini sunmaktadır.

Tablo A: Farklı Veri Türleri İçin Merkezi Eğilim Ölçülerini Kullanma

Merkezi Eğilim ÖlçüsüNasıl Belirlenir (N = puan sayısı)Uygun Olduğu Veriler
ModEn sık meydana gelen puan belirlenir.● Nominal, sıra, aralık ve oran ölçek türündeki veriler
● Çok modlu dağılımlar (bir dağıtımın birden fazla zirvesi olduğunda iki veya daha fazla mod tanımlanabilir)
MedyanPuanlar en küçükten en büyüğe sıralanır ve orta puan (N tek sayı olduğunda) veya iki orta puan arasındaki orta nokta (N çift sayı olduğunda) belirlenir.● Sıra, aralık ve oran ölçekleriyle ilgili veriler
● Oldukça çarpık veriler
Aritmetik ortalamaTüm puanlar toplanır ve toplamları toplam puan sayısına (N) bölünür.● Aralık ve oran ölçekleriyle ilgili veriler
● Normal dağılım gösteren veriler
Geometrik OrtalamaTüm puanlar birlikte çarpılır ve çarpımlarının N’inci kökü hesaplanır.● Oran ölçekleriyle ilgili veriler
● Bir büyüme (ogive) eğrisine yakın olan veriler (Örneğin, büyüme verileri)

Kaynak: Leedy ve Ormrod (2021). Practical Research: Planning and Design

Değişkenlik Ölçüleri: Dağılım ve Sapma

Veri merkezi eğilim noktası etrafında ne kadar çok kümelenirse, belirli bir veri noktasının nerede olduğuna dair doğru bir tahminde bulunma olasılığı o kadar artar. Şekil A’da gösterildiği gibi, ortalamaya yakın kümelenirlerse veriler daha benzerdir. Onları dağıtın ve tekdüzeliklerinin bir kısmını kaybederler; daha çeşitli, daha heterojen hale gelirler. Belirli veri noktaları ortalamadan uzaklaştıkça, kendilerini “ortalama” yapan kaliteyi giderek daha fazla kaybederler.

Şekil A: Değişkenlikte Farklılaşan Dağılımlar

Kaynak: Leedy ve Ormrod (2021). Practical Research: Planning and Design

Değişkenliğin en basit, en açık göstergesi, verilerin en düşük değerden en yüksek değere yayılmasını gösteren aralıktır:

Aralık = En yüksek puan – En düşük puan.

Aralığın hesaplanması kolay olmasına rağmen, değişkenliğin bir ölçüsü olarak sınırlı kullanışlılığa sahiptir ve aşırı üst veya alt sınırlar serideki diğer değerlerden atipik ise yanıltıcı olabilir.

Diğer değişkenlik ölçüleri, başlangıç noktası olarak daha az uç değerler kullanır. Böyle bir ölçü, çeyrekler arası aralıktır. Dağılımı dört eşit parçaya bölersek, 1. çeyrek grup üyelerinin % 25’inin altında olduğu bir noktada yer alır. 2. Çeyrek, grubu iki eşit parçaya böler ve medyan ile aynıdır. 3. çeyrek, değerlerin % 75’inin altında olduğu bir noktada yer alır. Çeyrekler aralığı, Çeyrek 3 (75. yüzdelik nokta) eksi Çeyrek 1’e (25. yüzdelik nokta) eşittir:

Çeyrekler arası aralık = 3. Çeyrek – 1. Çeyrek

Böylece, çeyrekler arası aralık bize dağılımdaki vakaların % 50’si için aralığı verir. Çeyrekler medyan ile ilişkili olduğundan, merkezi eğilim ölçüsü olarak medyanı kullanan herhangi bir araştırmacı, çeyrek sapmayı da değişkenlik için olası bir istatistiksel ölçü olarak dikkate almalıdır. Sıralı verilerle veya çok çarpık verilerle çalışırken, bazı araştırmacılar, en düşük ve en yüksek sayıların yanı sıra Çeyrek 1, ortanca (aynı zamanda Çeyrek 2’dir) ve Çeyrek 3’ten oluşan beş göstergeyi raporlar.

Şimdi bunun yerine ortalamayı başlangıç noktası olarak kullanalım. Her bir puanın ortalamadan ne kadar uzakta olduğunu belirlediğimizi hayal edin. Yani, her puan ile ortalama arasındaki farkı hesaplıyoruz (bu farka sapma diyoruz). Tüm bu farkları toplarsak (artı ve eksi işaretlerini göz ardı ederek) ve ardından toplamı puan sayısına bölersek (bu, puan ortalaması farklılıklarının sayısını da yansıtır), herhangi bir puan ile ortalama arasındaki farkların ortalamasını alırız. Bu işlem bazen ortalama sapma (AD) olarak adlandırılır. Ortalama sapma eşitliği:

Burada | X – M |, artı ve eksi işaretleri dikkate alınmadan X-M anlamına gelir. Diğer bir deyişle, her bir puan ile ortalama arasındaki farkın mutlak değeridir.

Ortalama sapma kolayca anlaşılır ve bu nedenle bazı anlamlar içerir. Başka bir istatistiksel prosedür düşünülmediğinde kabul edilebilir. Birincil zayıflığı, mutlak değerleri kullanmasıdır. Bunun yerine, hesapladığımız puanda artı ve eksi işaretlerini tutarsak ne olacağını hayal edin. Ortalamanın solunda bulunan (ve dolayısıyla ortalamadan daha küçük bir değere sahip olan) herhangi bir sayı için, sayı ile ortalama (X-M) arasındaki fark negatif bir sayı olacaktır. Buna karşılık, ortalamanın sağında bulunan herhangi bir sayı, pozitif bir X-M değeri verir. Tüm olumlu ve olumsuz sapmaları bir araya getirdiğimizde, birbirlerini tamamen dengeleyecekler, esasen birbirlerini “iptal edecekler” ve genel bir sıfır toplamı vereceklerdi. Ortalama sapma, artıları ve eksileri göz ardı ederek bu sorunu ortadan kaldırır. Yine de bu oldukça şüpheli bir prosedürdür. Sevmediğimiz şeyleri görmezden gelmek ne sağlam matematik ne de sağlam araştırma uygulamasıdır.

Ortalama sapma formülünden farklı olarak, standart sapma formülü, mutlak değerle negatifleri pozitiflere dönüştürür. Daha spesifik olarak formül, puan-ortalama farklılıklarının her birinin karesinin alınmasını gerektirir. Örneğin, (X-M)2.

Aritmetikte, negatif bir sayıyı kendisiyle çarptığımızda, sonuç pozitif bir sayıdır. Elbette aynı şey pozitif bir sayının karesini almak için de geçerlidir; dolayısıyla, pozitif farklılıkları dengelemek için negatif puan – ortalama farkı bu durumda yoktur.

Standart bir sapmayı hesaplamak için (sırasıyla bir popülasyon parametresi ve örneklem istatistiği için σ veya s olarak sembolize edilir), ortalama sapmanın hesaplanmasına benzer bir prosedür izliyoruz. Bununla birlikte, puanın mutlak değerlerini elde etmek yerine – ortalama farklar, bu farkların her birinin karesini alırız. Daha sonra tüm farkların toplamını (Σ) hesaplıyoruz, bu toplamı puan sayısına böleriz ve son olarak yeni elde edilen bölümün karekökünü buluruz. Bu nedenle, popülasyon standart sapmanın formülü aşağıdaki gibidir:

Bu görselin boş bir alt özelliği var; dosya ismi: image-5.png

Standart sapma, istatistiksel prosedürlerde en yaygın olarak kullanılan değişkenliğin ölçüsüdür. Birçok istatistiksel prosedür, standart sapmaya ek olarak veya bunun yerine ikinci, ilgili bir değişkenlik ölçüsü kullanır. Bu istatistik, basitçe standart sapmanın karesi olan varyans olarak bilinir:

Bu görselin boş bir alt özelliği var; dosya ismi: image-8.png

Normal ve normal olmayan dağılımların karakteristikleri nelerdir?

Genel olarak normal dağılım veya normal eğri olarak adlandırılan bu model için çan eğrisi terimini de görebilirsiniz. Normal dağılımın birkaç ayırt edici özelliğe sahiptir:

  • Yatay olarak simetriktir. Bir taraf, diğer tarafın aynadaki yansımasıdır, yani eğri simetriktir.
  • En yüksek noktası orta noktasıdır. Daha fazla insan (veya araştırmanın odağı olan diğer birimler), eğri boyunca başka herhangi bir noktada olduğundan daha tam ortada yer alır. İstatistiksel terimlerle, merkezi eğilimin yaygın olarak kullanılan üç ölçüsü, mod, medyan ve ortalama (tümü kısaca açıklanacak) bu noktada birbirine eşittir.
  • Nüfusun tahmin edilebilir yüzdeleri, eğrinin her iki bölümünde bulunur. Eğriyi standart sapmasına göre bölersek (ayrıca kısaca açıklanacaktır), popülasyonun belirli yüzdelerinin her iki kısmında yer aldığını biliyoruz. Özellikle, popülasyonun yaklaşık % 34,1’i ortalama ile ortalamanın altındaki bir standart sapma arasındadır ve diğer % 34,1’i ortalama ile ortalamanın üzerindeki bir standart sapma arasındadır. Nüfusun yaklaşık % 13,6’sı ortalamanın altında bir ila iki standart sapma arasında yer alırken, diğer % 13,6’sı ortalamanın üzerinde bir ve iki standart sapma arasında yer alır. Kalan % 4,6, dağılımın her bir ucunda % 2,3 ile ortalamadan iki veya daha fazla standart sapma uzaktadır. Bu model Şekil B’de gösterilmektedir. Normal dağılımın herhangi belirli bir bölümünde yer alan nüfus oranları, çoğu giriş istatistik kitabında bulunabilir.

Şekil B: Normal Dağılımın İki Kısmındaki Yüzdeler

Kaynak: Leedy ve Ormrod (2021). Practical Research: Planning and Design

Ancak bazen veriler normal bir dağılımı yansıtmaz. Örneğin, dağılımları orantısız veya çarpık olabilir. “Çarpıklık”, dağılımın biraz daha bir tarafa uzanan kısmıdır. Tepe orta noktanın solunda yer alıyorsa, dağılım pozitif olarak çarpıktır; tepe orta noktanın sağında yer alıyorsa, dağılım negatif olarak çarpıktır. Ya da belki bir dağılım alışılmadık derecede sivri veya düzdür, öyle ki dağılımın her bir bölümündeki yüzdeler Şekil B’de gösterilenlerden önemli ölçüde farklıdır. Burada, bir leptokürtik dağılımı yansıtan alışılmadık şekilde sivri bir dağılımla ve alışılmadık derecede düzleşen platikürtik bir dağılım olan basıklıktan bahsediyoruz (Bkz. Şekil C).

Şekil C: Normal Dağılımdan Ayrılışlar

Kaynak: Leedy ve Ormrod (2021). Practical Research: Planning and Design

Parametrik ve parametrik olmayan istatistikler arasında neden seçim yaparız?

İstatistiksel prosedürler seçiminiz, bir dereceye kadar verilerinizin yapısına ve bunların normal dağılımı ne ölçüde yansıttığına bağlı olmalıdır. Parametrik istatistikler olarak bilinen bazı istatistikler, söz konusu popülasyonun doğası hakkında belirli varsayımlara dayanmaktadır. En yaygın varsayımlardan ikisi şunlardır:

  • Veriler aralık veya oran ölçeğinde olmalıdır.
  • Veriler normal bir dağılım göstermelidir (örneğin, dağılımın merkezi bir yüksek noktası vardır ve ciddi şekilde çarpık, leptokurtik veya platikurtik değildir).

Bu varsayımlardan herhangi biri ihlal edildiğinde, parametrik istatistiklerden elde edilen sonuçlar hatalı olabilir.

Buna karşılık, parametrik olmayan istatistikler bu tür varsayımlara dayalı değildir. Örneğin, bazı parametrik olmayan istatistikler, doğası gereği aralıktan ziyade sıralı olan veriler için uygundur. Diğerleri, bir popülasyon bir yönde veya diğerinde oldukça çarpık olduğunda yararlı olabilir.

“Veriler hakkında herhangi bir varsayımda bulunmaktan (ve muhtemelen ihlal etmekten) kaçınmak için neden her zaman parametrik olmayan istatistikleri kullanmıyorsunuz?” diye düşünüyor olabilirsiniz. Nedeni basit: En karmaşık ve güçlü çıkarımsal istatistiklerimiz parametrik istatistiklere dayanmaktadır. Parametrik olmayan istatistikler, genel olarak, yalnızca nispeten daha basit analizler için uygundur.

İyimser bir not olarak, bazı istatistiksel prosedürlerin belirli varsayımlar açısından sağlam (robust) olduğunu belirtmeliyiz. Yani, bir varsayım karşılanmadığında bile genellikle geçerli sonuçlar verirler. Örneğin, belirli bir prosedür normal dağılımda olduğu gibi leptokürtik veya platikürtik dağılım için de geçerli olabilir, yani aralık verilerinden ziyade sıralı verilerle bile geçerli olabilir.

Çıkarımsal istatistiklerin rolü nedir?

Çıkarımsal (inferential) istatistikler, nispeten küçük örneklemlerden büyük popülasyonlar hakkında çıkarımlar yapmamızı sağlar. Daha spesifik olarak, çıkarımsal istatistiklerin iki ana işlevi vardır:

  1. Rastgele bir örneklemden bir popülasyon parametresini tahmin etmek,
  2. İstatistiksel temelli hipotezleri test etmek

Özellikle nicel araştırma yaptığımızda çoğu kez, örneklemin alındığı daha büyük popülasyon hakkında bilgi edinmek için bir örneklem kullanıyoruz. Tipik olarak, çalıştığımız örneklem için çeşitli istatistikleri hesaplıyoruz. Çıkarımsal istatistikler bize bu örneklem istatistiklerin genel popülasyonun parametrelerine ne kadar yakın olduğunu söyleyebilir. Örneğin, genellikle merkezi eğilim (örneğin, ortalama veya μ), değişkenlik (örneğin, standart sapma veya σ) ve oran (P) ile ilgili popülasyon parametrelerini tahmin etmek isteriz. Popülasyondaki bu değerler, örneklemdeki M veya X, s ve p parametreleri ile karşılaştırılır.

Buradaki sorun, örneklem istatistikleri temelinde popülasyon yani evren parametrelerini belirlemektir. Popülasyon parametrelerinin istatistiksel tahminleri, örneklemin tesadüfi seçildiği (mutlaka olasılıklı örnekleme yöntemi olmalı) ve toplam popülasyonu temsil ettiği varsayımına dayanmaktadır. Yalnızca tesadüfi, temsili bir örneklem olduğunda, istatistiklerimizin popülasyon parametrelerini ne kadar yakından tahmin ettiğine dair makul tahminlerde bulunabiliriz. Bir örneklem rastgele olmadığı ve dolayısıyla temsili olmadığı ölçüde – seçimi bir şekilde önyargılı olduğu ölçüde – hesapladığımız istatistikler, örneklemin alındığı popülasyonu yansıtmaz.

Popülasyonlardan gelen tesadüfi örneklemler – lütfen burada tesadüfi kelimesine dikkat edin – seçildikleri popülasyonlarla kabaca aynı özellikleri gösterir. Bu nedenle, örneklemimizin ortalama yüksekliğinin, genel popülasyonun ortalamasıyla yaklaşık olarak aynı olmasını beklemeliyiz. Ancak tam olarak aynı olmayacaktır.

Farklı örneklemler – her biri aynı popülasyondan rastgele seçilse bile – neredeyse kesinlikle o popülasyon hakkında biraz farklı tahminler verecektir. Popülasyon ortalaması ile örneklem ortalaması arasındaki fark, tahminimizde bir hata oluşturur. Popülasyonun tam olarak ne anlama geldiğini bilmediğimiz için tahminimizde ne kadar hata olduğunu da bilmiyoruz. Ancak üç şey biliyoruz:

  1. Sonsuz sayıda rastgele örneklemlerden elde edebileceğimiz ortalamalar normal bir dağılım oluşturur.
  2. Örneklemlerin ortalamalarının ortalaması, örneklemlerin alındığı popülasyonun ortalamasına eşittir (μ). Başka bir deyişle, popülasyon ortalaması, tüm örneklem ortalamalarının ortalamasına eşittir.
  3. Örneklem ortalamalarının dağılımının standart sapması, genel popülasyon için ölçülen değişkenin – tüm ortalamalarını hesapladığımız değişken – standart sapmasıyla doğrudan ilgilidir.

Nokta tahminleri mi yoksa aralık tahminleri mi?

Popülasyon parametrelerini tahmin etmek için örneklem istatistikleri kullanırken, iki tür tahmin yapabiliriz: nokta tahminleri ve aralık tahminleri.

Nokta tahmini, popülasyon parametresinin makul bir tahmini olarak kullanılan tek bir istatistiktir; örneğin, popülasyon ortalamasına yakın bir yaklaşım olarak örneklem ortalamasını kullanabiliriz. Nokta tahminlerinin kesin olma gibi görünen faydası olsa da, aslında bu kesinlik yanıltıcıdır. Bir nokta tahmini tipik olarak popülasyondaki eşdeğeriyle tam olarak uyuşmaz.

Daha doğru bir yaklaşım – yine de % 100 güvenilir olmasa da – parametrelerin aralık tahminlerini belirlemektir. Özellikle, bir popülasyon parametresinin muhtemelen içinde bulunduğu bir aralığı belirleriz ve gerçekte orada olma olasılığını belirtiriz. Bu tür bir aralığa genellikle güven aralığı denir, çünkü tahmine belirli bir olasılık seviyesi ekler. Yani, güven aralığı, tahmin edilen aralığın popülasyon parametresini içerdiğine dair belirli bir güven seviyesidir.

Hipotez testlerindeki hatalar nelerdir?

Elbette, belirli bir sonucun tek başına tesadüflerin sonucu olmadığına karar verdiğimizde hata yapmamız mümkündür. Aslında, herhangi bir sonuç muhtemelen tesadüflere bağlı olabilir; Örneğimiz, rastgele seçilmesine rağmen, sadece çekilişin şansı aracılığıyla atipik özellikleri gösteren bir şans olabilir. Aslında bir sonucun şans eseri olduğu halde bir sonucun şans eseri olmadığı sonucuna varırsak, yani eğer boş hipotezi yanlış bir şekilde reddedersek Tip I hatası yapıyoruz (alfa hatası da denir).

Başka bir durumda ise bir sonucun aslında tesadüflerden kaynaklandığı sonucuna varabiliriz. Böyle bir durum, aslında yanlış olan boş bir hipotezi reddetmeyi başaramadığımız durumdur. Bu durum, beta hatası olarak da bilinen Tip II hatasıdır. Örneğin, yeni bir ilacın, insanların kanındaki düşük yoğunluklu lipoprotein kolesterolü (“kötü” kolesterol türü) azaltmadaki etkilerine karşı plasebonun göreli etkilerini test ettiğimizi hayal edin. Belki de yeni ilacı alan kişilerin ortalama olarak, plasebo alanlara göre daha düşük bir kolesterol seviyesine sahip olduğunu görürüz, ancak fark küçüktür. Sadece şansa bağlı olarak 100 üzerinden 25 kez böyle bir farkın ortaya çıkabileceğini keşfederiz ve bu nedenle boş hipotezi muhafaza ederiz. Gerçekte, ilaç, kolesterolü bir plasebodan daha fazla düşürüyorsa, Tip II hatası yapmış oluruz.

İstatistiksel hipotez testi tamamen bir olasılık meselesidir ve her zaman Tip I veya Tip II hata yapma şansımız vardır. Önem düzeyimizi, örneğin 0,05’ten 0,01’e veya belki daha da düşük bir düzeye düşürerek Tip I hata yapma olasılığını azaltabiliriz. Bununla birlikte, bunu yapma sürecinde, Tip II hata yapma olasılığımızı artırıyoruz – aslında yanlış olan boş bir hipotezi reddetmekte başarısız olacağız. Tip II hata olasılığını azaltmak için, anlamlılık düzeyimizi (α) artırmamız gerekir; bu, sıfır hipotezini reddetme olasılığını artırdığı için, aynı zamanda Tip I hata olasılığını da artırır. Açıkçası, o zaman Tip I ve Tip II hataları arasında bir denge vardır: Birini yapma riskini her azalttığınızda, diğerini yapma riskini artırırsınız.

Yeni bir araştırmacı için önemsiz sonuçlar elde etmek son derece sinir bozucu olabilir – istatistiksel bir bakış açısıyla, sadece tesadüflere bağlı olanlar. Aşağıda, Tip II hata yapma olasılığını azaltmak ve böylece yanlış bir sıfır hipotezini doğru bir şekilde reddetme olasılığını artırmak için dört öneri bulunmaktadır. Başka bir deyişle, bunlar istatistiksel bir testin gücünü artırmak için önerilerdir:

  • Mümkün olduğu kadar büyük bir örneklem kullanın. Örneklem ne kadar büyükse, hesapladığınız istatistikler gerçek popülasyon parametrelerinden o kadar az farklılık gösterir.
  • Değerlendirme araçlarınızın geçerliliğini ve güvenilirliğini en üst düzeye çıkarın. Bir araştırma çalışmasındaki değerlendirme araçları nadiren mükemmel (% 100) geçerliliğe ve güvenilirliğe sahiptir, ancak bazı araçlar diğerlerinden daha geçerli ve güvenilirdir. Yüksek geçerlilik ve güvenilirliğe sahip araçları veya diğer değerlendirme stratejilerini kullanan araştırma projelerinin istatistiksel olarak anlamlı sonuçlar vermesi daha olasıdır.
  • Mantıksal olarak savunulabilir ve lojistik olarak pratikse, bağımlı değişkeninizin tekrarlanan ölçümlerini elde edin. Diğer şeyler eşit ya da sabit olduğunda, her katılımcı için belirli bir davranış veya özelliğin tekrarlanan ölçümleri istatistiksel analizlerin gücünü artırır. Tekrarlanan ölçümler, (a) her bir katılımcı için genel değerlendirme puanlarının güvenilirliğini artırarak ve/veya (b) değerlendirme puanlarındaki olası değişkenlik kaynakları olarak konular arasındaki farklılıkları istatistiksel olarak kontrol ederek istatistiksel gücü artırır.
  • Mümkün olduğunca parametrik olmayandan ziyade parametrik istatistikleri kullanın. Genel bir kural olarak, parametrik olmayan istatistiksel prosedürler parametrik tekniklerden daha az güçlüdür. “Daha az güçlü” ile parametrik olmayan istatistiklerin tipik olarak, araştırmacının boş bir hipotezi reddetmesini sağlayan sonuçlar elde etmek için daha büyük örnekler gerektirdiğini kastediyoruz. Verilerin özellikleri parametrik istatistik varsayımlarını karşıladığında bu istatistikleri kullanmanızı tavsiye ederiz.

Güven aralığı nedir?

Maliyetlerin yüksekliği, uzun zaman alması, güncel ve derinlemesine veri elde edilmesi gibi temel öncelikler esas alınarak sıklıkla kişiler ya da kurumlar popülasyonun tamamının yerine bu popülasyonu temsil eden örneklem üzerinde araştırma yapmayı tercih ederler. Ancak seçilen örneklemin popülasyonun tamamını temsil etmesi isteniyorsa yeterli örneklem büyüklüğü (n) belirlenerek mutlaka olasılıklı örneklem yöntemlerinden biri veya birkaçı birlikte kullanılmalıdır. Popülasyonun tamamı yerine bu popülasyondan seçilen örneklem söz konusu olunca örneklem popülasyonu ne kadar temsil ediyor sorusu ortaya çıkmaktadır. Güven aralığı ise aslında tam da bize bunu söylemektedir. Güven aralığı, popülasyon ortalamasının tahmincisi olup, bize örneklem ortalamalarının popülasyon ortalamasından ne kadarlık bir sapma olduğunu göstermektedir. Güven aralığının bir alt limit (lower bound)’i ve üst limit (upper bound)’i vardır. Bu alt ve üst limitlerin olması güven aralığına adını vermektedir. Yani örneklemden elde edilen güven aralıkları popülasyon ortalamasını mutlaka içerecektir. Burada güven aralığındaki alt ve üst limitin yorumlanması önem arz etmektedir. Alt ve üst limitler arasında fark ne kadar az ise, diğer bir deyişle güven aralığı genişliği (CI Width) ne kadar dar ise örneklem ortalaması popülasyon ortalamasına o kadar yakın ve popülasyon ortalamasını o kadar doğru tahmin ediyor demektir. Tersi bir durum, örneklem ortalamasının popülasyon ortalamasından uzaklaşması anlamı taşımaktadır ki, bu durum örneklemin popülasyonu kötü temsili anlamına gelmektedir.

Örneğin bir okulda 70 öğrenciden oluşan tesadüfi bir örneklem seçildi ve seçilen her öğrenciye bir matematik testi uygulandı. Matematik testi puanları için % 95 güven aralığı oluştururken alt limitimiz 56,302 puan, üst limitimiz 84,422 puan olsun. Yani 56,302<popülasyon ortalaması< 84,422 olsun. Bu durumda bizim güven aralığı yorumumuz şöyle olacaktır: Bu okuldaki tüm öğrencilerin popülasyonundaki ortalama matematik puanının 56,302 ile 84,422 arasında olduğuna % 95 eminiz demektir. Tersinden düşünürsek % 5 emin değiliz anlamı da çıkmaktadır. Bu % 5’lik hata, bizim Tip I (alfa hatası olarak da bilinir) hatamızı göstermektedir.

Güven aralığının hesaplanması için hangi parametrelere ihtiyaç vardır?

Genel olarak, güven aralığını hesaplamak için adım adım ele alınması gereken parametreler Şekil 1’de verilmiştir.

Şekil 1: Güven Aralığı Hesaplama Adımları

Şekil 1’de görüleceği üzere ilk olarak popülasyondan çekilen örneklemin ortalaması hesaplanır. Ortalama ise aşağıdaki eşitlik yardımıyla hesaplanmaktadır. Eşitlik örneklem ortalamasının hesaplanmasına yönelik olduğu için “X” parametresi kullanılmıştır. Örneklem ortalaması bütün gözlem değerlerinin toplamının toplam gözlem sayısına bölünmesi ile elde edilir. Eşitlikte küçük “n” örneklem büyüklüğünü ifade etmektedir.

Eğer popülasyon ortalamasını hesaplamış olsaydık eşitlikte n yerine büyük “N” e yer verecektik. Burada N popülasyondaki gözlem sayısını ifade etmektedir. Popülasyon ortalaması (μ) ise bütün gözlem değerlerinin toplamının toplam gözlem sayısı (N)’na bölünmesi ile elde edilmekte olup, aşağıdaki eşitlik yardımıyla hesaplanır.

Örnekleme ait standart sapmanın hesaplanmasında ise aşağıdaki eşitlikten faydalanılır. Burada standart sapma ile aslında örneklem ortalamasından ne kadarlık bir sapma olduğunu gösteriyoruz. Adım adım örneklem standart sapması şöyle hesaplanır:

  1. Örneklemdeki gözlem değerlerinin ortalaması hesaplanır.
  2. Her bir gözlemin gözlem ortalamasından farkı alınır.
  3. Her bir gözleme ait hesaplanan farkın karesi hesaplanır.
  4. Her bir gözleme ait hesaplanan farkların karesi toplanır.
  5. Elde edilen fark kareleri toplamı örneklemdeki gözlem sayısının bir eksiğine bölünür.
  6. Elde edilen değerin karesi hesaplanır.

Popülasyon standart sapmasının hesaplanması ise örneklem standart sapmasına benzer olup tek fark karekök içindeki eşitliğin paydasında büyük “N” e, diğer bir deyişle popülasyondaki toplam gözlem sayısına yer verilmesidir. Yukarıda örneklem standart sapmasındaki işlemler popülasyon standart sapması için de yapılır.

Element varyansı ise örneklem standart sapmasının karesi olup, aşağıdaki eşitlik yardımıyla hesaplanmaktadır.

Eğer örneklemin popülasyon içinde yüzdesi (f=(n/N) x 100) %5’ten büyükse örneklem varyansının hesaplanması ve bunun üzerinden standart hata hesaplanması yoluna gidilmelidir. Örneklem varyansı ise aşağıdaki eşitlik yardımıyla hesaplanır.

Popülasyon varyansı ise popülasyon standart sapmasının karesinin alınması ile hesaplanır. Aşağıdaki eşitlik yardımıyla popülasyon varyansı hesaplanır.

Standart hata (se), diğer bir ifade ile ortalamanın standart hatası aşağıdaki eşitlik yardımıyla hesaplanmaktadır. Örneklemin standart sapması (s)’nın karekök içerisindeki örneklem gözlem sayısı (n)’na bölünmesi bize ortalamanın standart hatası (standard error of the mean)’nı verir. Standart hatayı aynı zamanda örneklem varyansının karekökünü alarak da hesaplayabiliriz. Örneklem büyüklüğünün artırılması merkezi limit teoremi (central limit teorem)’ne dayalı olarak standart hatayı azaltır ve bu istenen bir durumdur. Böylece, örneklem dağılımı standart normal dağılıma (ortalaması 0, standart sapması 1) evrilir.

Güven aralığı nasıl hesaplanır?

Güven aralığının belirlenmesini sağlayan eşitliklere yer verildikten sonra sırasıyla şimdi çok yalın bir şekilde güven aralığı eşitliğini alt ve üst limitten başlayarak verelim. Bu çalışmada güven aralığı, ortalaması ve standart sapması bilinen bir popülasyon üzerinden hesaplanmıştır.

Güven aralığının alt ve üst limitini verdikten sonra bir bütün olarak güven aralığı (confidence interval) eşitliğini verelim. Eşitliğin ortasında yer verilen μ popülasyon ortalamasını göstermektedir. Daha önce de belirtildiği üzere güven aralıklarıyla aslında popülasyon ortalamasını tahmin ediyoruz.

Güven aralığının alt ve üst, diğer bir deyişle iki kuyruklu (two tailed) alfa katsayıları aşağıdaki şekil üzerinde verilmiştir. Z tablosu ortalaması 0, standart sapması 1 olan standart normal dağılımı kullanmaktadır. Standart normal dağılım eğrisi şeklinden dolayı can eğrisi (bell curve) olarak da adlandırılmaktadır. Eğrinin altında alanın toplamı 1’e eşittir. Burada belirlenen güven düzeyi % 95’tir. Bu güven düzeyi s

osyal bilimler dışında özellikle sağlık bilimlerinde % 95’in üzerine çıkabilmektedir daha kesin çıkarımlar (inferences) alınmak istendiğinden.

Güven aralığı eşitliğinde görüleceği üzere güven aralığının hesaplanması için gerekli parametreler örneklemin ortalaması, standart hatası (se) ve Z tablo değeridir. Burada Z tablo yerine pekala t tablo değeri de alınabilirdi. Ancak örneklem büyüklüğümüz bu çalışma kapsamında 30’un üzerinde (n>30) olduğu için Z tablosu kullanılmıştır. Ancak isteğe bağlı olarak çalışmada 30’un altında örneklem büyüklüğü (n) belirlenerek t tablo değeri hesaplanabilir. Diğer taraftan, genel olarak sosyal bilimlerdeki istatistiksel analiz ve araştırmalarda güven düzeyleri % 95 olarak alınmaktadır. Ancak bu çalışmada % 90 güven düzeyi benimsenmiştir. Güven düzeyinin % 90 olarak alınması % 10’luk hata payının (alfa hastasının ya da Tip I hatanın) önceden kabul edildiğini göstermektedir. Çalışmanın sonunda paylaştığım simülasyon çalışmasında % 95 üzeri ve altı güven düzeyleri için de güven aralıkları simüle edilebilmektedir.

Sırası gelmişken belirtmekte fayda olduğuna inanıyorum. Güven aralığının kamuoyunda ve literatürde sık sık yanlış yorumlandığı ve adlandırıldığı görülmektedir. Diğer bir deyişle, güven aralığı (confidence interval) ile güven düzeyi (confidence level) karıştırılmaktadır. Burada güven aralığı eğer yüzde olarak ifade edilmişse bu güven düzeyini, yüzde olarak ifade edilmemişse güven aralığını ifade etmektedir. % 95 güven düzeyine sahip olmak, sonuçlarınızın herkese anket yapmış gibi neredeyse aynı olduğundan emin olduğunuz anlamına gelir.

Güven aralığını etkileyen faktörler nelerdir?

Güven aralığını etkileyen faktörler şöyle sıralanabilir:

  1. Örneklem büyüklüğü: örneklem büyüklüğü (n) artıkça elde edilen cevapların popülasyonu doğrulama olasılığı o kadar artar. Diğer bir deyişle, örneklem büyüklüğünün artması güven aralığını daraltır. Ancak bu artış lineer olmayabilir.
  2. Örneklem seçiminde kullanılan yöntem: eğer örneklem olasıklı örneklem yöntemleri kullanılmadan ya da bu yöntemler kullanılsa bile hatalı örneklem seçimi yapılmışsa güven aralıklarını etkileyebilir. Dolayısıyla popülasyon parametresi olan ortalamalar doğru bir şekilde tahmin edilmemiş olur.
  3. Örneklem büyüklüğü sabit tutulduğunda güven düzeyi (% 95’ten % 99’a yükselmesi) yükseldikçe güven aralığı genişler.
  4. Örneklem ortalaması arttıkça güven aralığının genişliği aynı kalır. Dolayısıyla, örneklem ortalaması aralığın genişliğinde bir rol oynamaz.
  5. Örneklem standart sapmasının azalması varyansın azalması anlamına geldiğinden hata oranı düşer. Bu durum güven aralığının daralmasına ve daha yüksek doğruluk (accuracy) ile popülasyon ortalamasının tahmini anlamına gelmektedir.

Güven aralığından yeterince bahsettikten sonra şimdi uygulama aşamasına geçebiliriz. Uygulamada kullanılan popülasyon veri seti beden kitle endeksi (BKİ) değerlerini içeren ve 1000 (N) gözlemden oluşan sentetik veri setidir. Olasılıklı örneklem yöntemlerinden basit tekrarlı tesadüfi örnekleme yöntemiyle 7 ve 50 aralığında BKİ değerleri üretilmiştir. BKİ değerleri üretilirken Sağlık Bakanlığı resmi web sitesindeki BKİ alt ve üst referans değerlerinden yararlanılmıştır. Burada belirlenen BKİ alt ve üst limitleri şöyledir:

Parametre DeğeriKategori
18,5 kg/m2’nin altında isezayıf
18,5-24,9 kg/m2 arasında isenormal kilolu
25-29,9 kg/m2 arasında isefazla kilolu
30-34,9 kg/m2 arasında iseI.Derece obez
35-39,9 kg/m2 arasında iseII.Derece obez
40 kg/m2 üzerinde iseIII.Derece morbid obez
Kaynak: https://www.sbn.gov.tr/BKindeksi.aspx

İlk olarak popülasyondan tekrarsız basit tesadüfi örneklem yöntemi kullanarak her birinin örneklem büyüklüğü sırasıyla 456, 758 ve 434 olan 3 farklı örneklem çekilmiştir. Çekilen örneklemleri popülasyondaki ID koduyla birlikte excel (xlsx) formatında aşağıdaki linkten indirebilirsiniz.

Güven aralıklarını vermeden önce popülasyona ait temel parametrelerinin verilmesinin faydalı olduğu düşünülmektedir. Bu amaçla popülasyon parametre değerleri Tablo 1’te sunulmuştur.

Tablo 1: Popülasyon (N) Parametreleri

Popülasyon ParametreleriDeğer
Ortalama (µ)28,5
Varyans149,9
Standart Sapma12,2
N1000,0

Örneklem gruplarına ait üretilen güven aralıkları ise Tablo 2’de verilmiştir. Tablo 2’ye göre öne çıkan bulgular şöyledir:

  • Ortalamasının 28,07 ortalamanın standart hatasının (se) 0,22 olduğu örneklem 2 grubu popülasyon ortalamasını en doğru tahmin eden örnek grubu olarak öne çıkmıştır. Bu grupta güven aralığı genişliği (0,85) diğer gruplara göre daha dar olup güven aralığı (CI) “27,71 ≤ µ ≤28,43” şeklindedir. Buradan örneklem beden kitle endeksi ortalamasının % 90 olasılıkla veya güven aralığında 27,71 ile 28,43 arasında olduğunu söyleyebiliriz. Örneklem 2 grubunu ise güven aralığı genişliği (CI width) 0,71 olan örneklem 2 grubu izlemiştir. Burada güven düzeyi sabit, ancak örneklem büyüklüğü değiştiğinde bu tür bir yargıya vardığımızı özellikle ifade etmek gerekir.

Tablo 2: Örneklem Grubuna Göre Güven Aralıkları

Örneklem ParametreleriÖrneklem 1Örneklem 2Örneklem 3
Ortalama (m)28,6128,0728,60
Element Varyans (s^2)151,16147,84150,99
Standart Sapma (s)12,2912,1612,29
Örneklem büyüklüğünün popülasyon içindeki oranı (f)0,460,760,43
Finite population correction(fpc) (1-f): Popülasyon düzeltmesi0,540,240,57
Örneklem varyansı (var(x))0,180,050,20
Standart Hata (se)0,420,220,44
Nispi hata (Coefficient of Variation) (CV)1,480,771,55
Alfa (a/2) değeri (güven aralığının olasılık değeri)0,0500,0500,050
Z tablo değeri1,641,641,64
Güven Aralığı Alt Limit (Lower boundary of CI)27,9127,7127,87
Güven Aralığı Üst Limit (Upper boundary of CI)29,3028,4329,33
Güven Aralığı Genişliği (CI Width)1,400,711,46
Güven aralığı gösterimi (CI)27,91 ≤ µ ≤29,327,71 ≤ µ ≤28,4327,87 ≤ µ ≤29,33

Tablo 2’deki güven aralıkları genişlikleri baz alınarak örneklem gruplarına göre güven aralıkları Tablo 3’te verilmiştir. Görüleceği üzere güven aralığı genişliği en dar olan örneklem grubu 0,71 ile örneklem 1 grubudur. Buradan şöyle bir yorum yapabiliriz: güven düzeyi sabit tutulduğunda örneklem büyüklüğü (n) artıkça standart hata (se) düşer, buna bağlı olarak güven aralığı (CI width) daralır. Eğer biz burada güven düzeyini % 90’dan % 95’e veya % 99’a çıkarmış olsaydık güven aralığı genişleyecekti. Çalışmanın sonunda paylaştığım simülasyonda bunların tamamını test edebilirsiniz.

Tablo 3: Örneklem Gruplarına Göre Güven Aralığı Genişlikleri

Özet Çıkarımlar

1. Güven düzeyi sabit tutulduğunda örneklem büyüklüğü (n) artıkça standart hata (se) azalmakta ve buna bağlı olarak güven aralığı (CI) daralmaktadır. 
2. Örneklem büyüklüğü sabit tutulup güven düzeyi artırıldıkça ise güven aralığı genişlemektedir.
3. Örneklem büyüklüğü ve güven düzeyi yükseltildiğinde örneklem büyüklüğüne bağlı olarak güven aralığı daralmakta ve daha kesin sonuçlar alacağımızı göstermektedir. Tabi burada örneklem büyüklüğünün artması tip II hatayı yani beta hastasını azaltırken, diğer taraftan tip 1 hata olarak adlandırılan alfa hatası da azalmaktadır. Ancak genel olarak tip I hata ile tip II hata arasında ters orantı vardır. Yani birini azaltırken diğeri artış göstermektedir. Örneğimizde güven düzeyini 0,90’dan 0,99’a çıkarmamız tip I hatayı azaltmaktadır. Örneklem büyüklüğünü artırmamız ise aynı zamanda testin gücünü de gösteren beta hatasını azaltmaktadır. Ancak bu adımlardan birini artırırken diğeri sabit tutmak ister istemez hatalardan birini azaltırken diğerini de artırmaktadır. Burada önemli olan bir dengenin kurulmasıdır.

Burada Z tablosu üzerinden yapılan güven aralığı deneysel çalışmasının excel uzantılı dosyasını aşağıda linkten indirebilirsiniz.

Z tablosu üzerinden Güven aralığının hesaplanmasına yönelik olarak hazırladığım simülasyonu ise aşağıdaki linkten indirebilirsiniz. Simülasyon çalışmasında bazı sayfalardaki formüller şifre ile korunmuştur. Değişiklik yapılması istenmesi durumundan sayfa korumasının kaldırılması için şifre olarak “tevfik” girilmesi yeterlidir. Özellikle bu simülasyon çalışmasının sahada ve akademide faaliyet gösteren çalışanlara faydalı olacağı düşünülmektedir. Bu çalışmanın içerisinde olasılıklı örneklem seçiminden örneklem büyüklüğünün ve güven düzeylerinin belirlenmesi kadar pek çok konu mevcuttur. Bu simülasyonda örneklem büyüklüğünü sizin belirlemenize gerek bulunmamaktadır.

Faydalı olması ve farkındalık oluşturması dileğiyle.

Bilimle ve teknolojiyle kalınız.

Saygılarımla…

Not: Kaynak gösterilmeden alıntı yapılamaz veya kopyalanamaz.

Note: It can not be cited or copied without referencing.

Yararlanılan Kaynaklar

Öne çıkan

Küresel Ekonomik Sistem ve Dönüşüm Zamanlarında İşletmeler

Bu yazım kapsamında önemli olduğuna inandığım Birleşmiş Milletler Çevre Programı (UNEP) tarafından yayınlanan “Hayatta Kalmak İçin Uyum Sağlayın: Belirsizlik zamanlarında işletmelerin dönüşümü” adlı rapordan öne çıkan bulgulara yer verilmiştir.

Dünya, çevrede, teknolojide, ekonomide ve toplumda dramatik değişikliklere tanık oluyor. “Her zamanki gibi iş” anlayışı artık kabul edilemez ve bu noktada soru, dünyanın sürekli artan verimliliği esas alan tüketim ve büyümeyi ne kadar süre sürdürebileceğidir. COVID-19 salgını, küresel ekonominin son derece birbirine bağlı ve savunmasız durumunu ortaya koymuştur. Ayrıca salgın küresel ekonominin doğa ile ilişkini ve bu gezegendeki insanlar da dahil olmak üzere her canlı varlığın hayatta kalmak ve gelişmek için umutları hakkındaki endişelerini de artırmıştır.

Ancak bu endişe yeni değildir. Bilim, onlarca yıldır maddi, doğrusal, fosil yakıt temelli ekonomik büyüme ile ilgili sorunlara dikkat çekmiştir. 2019’da yayınlanan GEO-6 raporundaki kanıtlar, insanların halihazırda diğer insanların hayatta kalmasını riske attığıdır. Sadece yıkıcı iklim değişikliğine ve artan kirliliğe neden olmakla kalmıyor, aynı zamanda tüm ekosistemlerin istikrarı ve dayanıklılığı için gerekli olan zengin yaşam çeşitliliği olan benzeri görülmemiş bir biyoçeşitlilik kaybına da yol açıyoruz. Bu bilimsel fikir birliği, aynı zamanda, Küresel Doğa Anlaşması ile sonuçlanan Paris Anlaşması dahil olmak üzere yüksek düzeyli siyasi taahhütlere de dönüştürüldü.

Yakın zamandaki ilerlemeye ve artan ivmeye rağmen iş dünyası ve hükümetler de dahil olmak üzere küresel toplum, insanların hayatta kalması için gerekli dönüştürücü eylemleri gerçekleştirmede başarısız oldu. Baskın tepkiler, kısa vadeli finansal ve ekonomik iyileşme arayışına ve bu büyüme gezegenin doğal kaynakları ve uzun vadeli refahı pahasına olsa bile ilerlemenin itici gücü olarak büyümeye odaklanmış olmaya devam ediyor. Bu refahın şimdi dramatik ve belki de geri döndürülemez biçimde zayıflatılmasıyla dünyayı bu noktaya getiren düşünce ve sistemleri sorgulamaya ihtiyaç vardır. Dayanıklı ve sürdürülebilir bir ekonominin, doğanın ve insanların refahına öncelik veren ve onu destekleyen bir ekonomi olması gerektiği açıktır. Bu bağlamdadünyanın dört bir yanındaki topluluklar, ülkelerin ve işletmelerin enerji, gıda, ulaşım ve kaynaklarda doğa pozitif modelleri arama ve geliştirme içerisine girmiştir.

Ortaya çıkan bu hareket, işletmeleri yeni bir ekonomi türüne doğru yönlendirmeye yardımcı olabileceği için bir umut ve ilham kaynağıdır. Ancak, geleneksel ekonomik düşünceye saplanıp doğrusal, fosil yakıt temelli uygulamalara kilitlenmiş işletmelerin doğa ile olumlu bir ilişkiye doğru bu dönüştürücü değişimi benimsemesi varoluşsal zorluklar ortaya çıkarmaktadır.

Önümüzdeki on yıllardaki dönüştürücü değişimde yer almak ve hayatta kalmak için her işletmenin tüm yaratıcılık ve hayal gücünü kullanması gerekecektir. Bu durumda ekonomiyi ve işletmelerini doğanın ve insanların sömürülmesine dayanmaktan uzaklaştıracak ve yeşil ve yenileyici ilkelere dayalı yeni bir refah modeline doğru yönlendirecek CEO’lara ve girişimcilere ihtiyacımız olacaktır. İş dünyasındaki liderlerin bu yeni bağlamda amaçlarını, planlarını ve stratejilerini gözden geçirme ve farklı gelecekleri keşfetme, yeni ortaklarla ilişki kurma ve deneyimler için alan yaratma zamanı gelmiştir. Bu kadar çok şey söz konusu olduğunda her zamanki gibi geleneksel bakış açılarına bağlı kalınarak işe sarılmak sadece riskli değil, aynı zamanda dar ve sorumsuz bir yaklaşımdır. Geleceğe hazırlanmanın tek yolu, şirketlerin bugünden başlayarak, doğaya olumlu bir yaklaşımı nasıl benimseyebileceklerini keşfetmektir.

Peki bahsedilenler ışığında işletmeler nasıl dönüşebilir?

  • Doğanızın pozitif amacını (yeniden) tanımlayın.
  • İşletmenizi içeriden değiştirmeye başlayın.
  • Başarının tanımını değiştirin.
  • Yeni ortaklar bulun.
  • Doğayı olumlu etkileyen hedefler koyun ve raporlayın.

Küresel ekonomik sistem, çevresel hasar modeline kilitlenmiştir. Bir grup STK’nın belirli bir yılda insanlığın ekolojik kaynaklara ve hizmetlere yönelik talebinin gezegenin o yıl yeniden üretebileceğini aştığını tahmin ettiği Dünya Limit Aşımı Günü (World overshoot day), 2019’daki aşım gününden yalnızca 24 gün sonra 22 Ağustos 2020’de düştü. Bu, COVID-19 salgınının ilk aşamalarında azaltılmış kaynak kullanımıyla bile çevresel hasar modelinin hala küresel ekonomik sisteme bağlı olduğu anlamına geliyor. Ekonomik sistemler, dünyayı, olumlu değişikliklerin ve yeniliklerin sürekli artan malzeme tüketimi ve kirlilik ile dengelendiği bir kalkınma yoluna itiyor. Bu arada kısaca hatırlatmakta fayda olduğunu düşünüyorum. Küresel Ayak izi Ağı (Global Footprint Network) insanlığın doğa üzerindeki yıllık talebinin, dünyanın bir yılda sağlayabileceği kapasiteyi aştığı günü, Dünya Limit Aşımı Günü (World overshoot day) olarak tanımlamaktadır.

Bu çevresel zarardan ve bunun dramatik sonuçlarından kaçınmak, emisyonlardaki ve biyolojik çeşitlilik kaybındaki kademeli azalmalardan temelde farklı bir şey gerektirir. Bu süreç, insan refahını, sosyal ve ekonomik değeri artırırken çevre üzerindeki baskıları azaltan yeni düşünce yolları ile üretim ve tüketim modelleri gerektirir.

Ekonomiyi bu kısır döngüden çıkarmak, ekonominin kolektif olarak organize edilmesinden ve derin dönüştürücü değişikliklerden geçmektedir. Bu yeni bir anlayış değil, ancak ona göre hareket etmek son derece karmaşık, tartışmalı ve zorludur. Örneğin, kişisel ulaşım sistemlerinin temeli olan içten yanmalı motor, ekonomik sektörlerde ve organizasyonlarda “yol bağımlılığının” kasıtlı olarak “sürdürülebilirlik geçişlerini” nasıl engellediğini gösterir. Önem arz etmesi nedeniyle neredeyse tüm araç üreticileri, en azından çok yakın zamana kadar, motorun etkililiğinin ve verimliliğinin kademeli olarak iyileştirilmesine yatırım yapmaya devam etmenin mantıklı olduğunu düşünüyordu. Sonuç, araç yapımında kaynakların kullanımını azaltan ve motorları daha verimli hale getiren ancak araçların büyüyen boyutu, özellikleri, sayısı ve kullanımıyla eşleşmeyen “kaynak ayırmada” hafif ilerlemedir. Nihai sonuç, inovasyona ve verimliliğe odaklanan tüm çabaların baskın teknolojiye ve ekonomik modele yatırım olmasıdır: mevcut durumu güçlendirir, daha fazla kirlilik üretmeye devam eder ve bu bağımlılığı güçlendirir.

Belirli bir noktada inovasyon yoluyla elde edilen verimlilik kazançları sınırlarına ulaşır: fosil yakıtla çalışan bir motor, fosil yakıtlara bağımlıdır ve her zaman bir miktar emisyon üretir. Daha da kötüsü: Bir noktada karmaşıklık ve kilitlenme, daha fazla iyileştirme elde etmeyi gittikçe zorlaştıracak ve pahalı hale getirecektir. Bu tür işletmeler için farklı kaynak türlerine ve teknolojilere dayanan tamamen yeni iş modellerine geçişte değer önerileri ve piyasa yapıları, ekipman, personel ve varlıklara yapılan “batık” yatırımların yanı sıra tedarikçilere, ortaklara veya alıcılara yönelik yasal ve işbirliğine dayalı taahhütlerle daha da karmaşık hale gelir. Ancak bu tür işletmeler savunmasızdır ve yakında daha iyi alternatifler tarafından potansiyel olarak ezilecektir.

Dönüştürücü değişime ilişkin bu bakış açısı, olası kesintileri öngören ve istenen dönüşümleri yönlendirmeye ve hızlandırmaya yardımcı olan yollara odaklanan yeni stratejiler gerektirir. Aslında, bu zaten olmaktadır. AB, Çok Yıllı Finansal Çerçeve (MFF)’de bütçenin yüzde 30’unu kapsayan yeşil geçişler gibi iddialı hedefleri benimsiyor ve dönüştürücü değişime ivme kazandırmaktadır. Birleşmiş Milletler Dünya Şampiyonası’nın galibi Kosta Rika, son 15 yılda yüzde 100 yenilenebilir enerjiye geçti, ülkeyi yeniden ağaçlandırdı ve GSYH’yı ikiye katladı. Bu örnekler, politika düşüncesinde, kademeli iyileştirme ve ekonomik büyümenin ötesinde değişikliklere ihtiyaç duyulduğunun ve işletmeler için yeni ölçütlere, düzenlemelere, ekonomik koşullara ve kurumsal koşullara ihtiyaç duyulduğuna dair artan kabulün altını çizmektedir. Dönüştürücü politikalar, pandeminin diğer tarafında daha iyi bir dünya inşa etmeye yönelik toplum ve iş dünyasının birlikte çalışması için elverişli bir ortam oluşturmaktadır.

Faydalı olması ve farkındalık oluşturması dileğiyle…

Bilimle ve teknolojiyle kalınız.

Yararlanılan Kaynaklar

Öne çıkan

R’da Duygu Analizi Üzerine Vaka Çalışmaları: Case Studies on Sentiment Analysis in R

Giriş

Genel olarak pozitif, negatif  ve nötr dilin ölçümü anlamına gelen duygu analizi, fikir madenciliği (opinion mining) olarak da anılır. Nitel araştırmanın bir yönünü oluşturan bu analizle ürünlerden, reklamlardan, lokasyonlardan, reklamlardan ve hatta rakiplerden ortaya çıkan müşteri düşüncelerini açığa çıkarılabilmektedir. Müşterilerin hoşlandığı veya hoşlanmadığı ürünlerin tespitinde bu analiz önemli rol oynayarak ürün gamı ve ürünün kalitesi şekillendirilebilmektedir. Diğer bir deyişle, firmalar müşterilerin ne hissettiğini ve düşündüğünü bilerek müşteri beklentilerini daha iyi karşılayabilir. Sağlık sektöründe de benzer durum söz konusu olabilir. Hasta beklentileri, algıları ve yönetiminin analizleri ile sağlık krizlerinde fikirlerin analizinde duygu analizlerinin yoğun bir şekilde kullanıldığı literatürden yakinen bilinmektedir. Literatürde aynı zamanda duygu analizlerinden önce kelime bulutlarının oluşturulduğu da görülmektedir.

Veri madenciliğinin (data mining) bir kolunu oluşturan metin madenciliği (text mining) metotları içinde kelime bulutları (word clouds) metinlerde en sık kullanılan anahtar kelimeleri vurgulamamıza ve görselleştirmemize olanak tanır. Bu metotlarla metin verisinden metin bulutu veya etiket bulutu diyebileceğimiz kelime bulutu oluşturulabilir. Kelime bulutları metni hızlı analiz etmemize ve kelime bulutu olarak ortaya çıkan anahtar kelimeleri görselleştirmemize olanak tanır. Bahsedilenler ışığında metin verisini sunmada kelime bulutunu kullanmanız gerektiği durumlar şunlardır:

  1. Kelime bulutları sadelik ve yalınlık sağlar. En sık kullanılan anahtar kelimeler, kelime bulutu içinde daha iyi kendini gösterir.
  2. Kelime bulutları potansiyel iletişim araçlarıdır. Kelime bulutlarının anlaşılması, paylaşılması kolaydır ve kelime bulutları etkilidirler.
  3. Kelime bulutları bir tablo verisinden görsel olarak daha ilgi çekicidir.

Kelime bulutları, sektör ayrımı gözetilmeksizin bütün alanlarda kullanılabilmekle birlikte en sık kullanılan alanlarla en sık kullanılan meslek grupları şöyle özetlenebilir;

  1. Kalitatif (nitel) araştırma yapan araştırmacılar,
  2. Müşterilerin ihtiyaçlarının belirlenmesi noktasında pazarlamacılar,
  3. Temel konuları desteklemek için eğitimciler,
  4. Politikacı ve gazeteciler
  5. Kullanıcı görüşlerini toplayan, analiz eden ve paylaşan sosyal medya siteleri

Duygu analizi (sentiment analysis) ise kendisine bir çok farklı alanda uygulama alanı bulmakta olup başlıca kullanım alanları Şekil 1 üzerinde verilmiştir:

Şekil 1: Duygu Analizi Kullanım Alanları

Duygu analizlerinde temel veri kaynaklarının sosyal medya platformları, bilim veri tabanları ve arama motorları verileri olduğu görülmektedir. Duygu analizi çalışmalarında duygu sözlükleri adı verilen “leksikon” lardan yaygın bir şekilde yararlandığı görülmektedir. Literatürde yer alan başlıca leksikonlar Şekil 2’de verilmiştir.

Şekil 2: Duygu Analizinde Kullanılan Duygu Sözlükleri

Şimdi sırayla Şekil 2’de verdiğimiz leksikonlardan kısaca bahsedelim.

Polarite Testi

En basit duygu sözlüğünü oluşturan bu testte skorlar -1 ile 1 arasında değerler almaktadır. Kelime ve cümle bazında yapılan sınıflandırmalarda negatif ve pozitif olmak iki kategori bulunmaktadır.

NRC Leksikonu

Analizde kullanılan metin NRC lexiconu açısından analiz edilmiştir. NRC lexiconu hesaplamalı dil bilimci Saif Mohammad tarafından geliştirilmiş olup bu leksikon sözlüğünde 10 duygu bulunmaktadır. Bu hisler şöyledir;

  1. positive
  2. negative
  3. Anger
  4. Anticipation
  5. Disgust
  6. Fear
  7. Joy
  8. Sadness
  9. Surprise
  10. Trust

Afinn Leksikonu

Afinn dil sözlüğü, 2009 ve 2011 yılları arasında Finn Årup Nielsen tarafından geliştirilmiş olup dil sözlüğünde skorlar -5 (negatif) ve +5 (pozitif) arasında tamsayı değerleri almaktadır.

Bing Leksikonu

Bing leksikonunda ise duygular basit bir şekilde negatif ve pozitif olarak sınıflandırılarak skorlanır.

Syuzhet Leksikonu

Syuzhet, Nebraska Dil Bilim Laboratuarında (Nebraska Literary Lab) geliştirilmiş bir duygu sözlüğüdür. “Syuzhet” adı, metni “fabula” ve “syuzhet” olmak üzere iki bileşene ayıran Rus formalist Victor Shklovsky ve Vladimir Propp’tan gelmektedir.

Loughran Leksikonu

Finansal belgelerde kullanılmak üzere geliştirilmiş duygu sözlüğüdür. Bu sözlük, kelimeleri finansal bağlamlarında ele almakta olup altı duygu kategorisinden oluşmaktadır: “olumsuz”, “pozitif”, “ihtilaflı”, “belirsizlik”, “kısıtlayıcı” veya “gereksiz” (“negative”, “positive”, “litigious”, “uncertainty”, “constraining”, or “superfluous”).

Esasında bu platform üzerinde R programlama dili kullanarak duygu analizleri üzerine 2018 yılında, kelime bulutları üzerine ise farklı tarihlerde örnek uygulamalar yapmıştım. Ancak R kodları açık kaynak olarak paylaşmamıştım. Bu çalışma kapsamında yapılan örnek uygulama ile ilk olarak metnin kelime bulutları oluşturulmuş, ardından ise dil sözlükleri kullanılarak eş zamanlı olarak duygu analizleri yapılmıştır. Aşağıda göreceğiniz üzere en ince ayrıntısına kadar bütün R kodları paylaşılmıştır. Yapacağınız tek şey minor değişikliklerle kendi çalışmalarınıza uyarlamanızdır. Ancak temel R programlama bilginizin olması tavsiye edilir.

Metodoloji ve Uygulama Sonuçları

Örnek uygulama kapsamında ilk metin verisi 30.01.2021 tarihinde ücretsiz e-kitapların çeşitli formatlarda yayınlandığı https://www.gutenberg.org/ebooks/50540 adresinden alınmıştır. Metin verisi olarak alınan eserin adı Zeyneb Hanoum tarafından kaleme alınan Bir Türk Kadınının Avrupa İzlenimleri (A Turkish Woman’s European Impressions)‘dir. Eser 23 Kasım 2015 tarihinde https://www.gutenberg.org sitesinde yayınlanmıştır. Bu metin verisi ile yukarıda linki verilen web uygulaması üzerinden kelime bulutları oluşturulacaktır. Örnek uygulama metnini word (docx) formatında aşağıdaki linkten indirebilirsiniz.

Bir Türk Kadınının Avrupa İzlenimleri

Örnek uygulama kapsamında ikinci metin pdf formatında olup, Dünya Bankası tarafından 5 Ocak 2021 tarihinde 234 sayfalık Küresel Ekonomik Beklentiler (Global Economic Prospects) raporudur. Rapor https://openknowledge.worldbank.org/bitstream/handle/10986/34710/9781464816123.pdf?sequence=15&isAllowed=y url adresinde yayınlanmıştır.  Bu raporla ilgili 22 Şubat 2021 tarihinde blog sitemde, 23 Şubat 2021 tarihinde ise Sanayi Gazetesi’nde “Küresel Ekonomik Beklentiler 2021 Ocak Dönemi Raporuadlı yazım yayımlanmıştır. Raporu incelediğim için acaba bu raporun kelime bulutu ve duygu analizini de yapsam nasıl olur diye kendime sordum 🙂 . Neticede denemesi bedava 🙂 . Bu soru beni bu raporun kelime bulutlarını oluşturmaya ve duygu analizlerini yapmaya itmiştir. Bu çalışma kaynağından okunarak hem kelime bulutları çıkarılmış, ardından duygu analizleri yapılmıştır. İlk örnek uygulamanın aksine bu çalışma pdf formatında olan metinlerin analizini içerdiğinden bu yönüyle farklılık göstermektedir. Bu kısımdaki analiz 3. PDF dokümanların kelime bulutlarının çıkarılması ve duygu analizlerinin yapılması başlığı altında ele alınmıştır.

Örnek uygulama kapsamında 3. çalışma sentetik veriler üretilip kelime bulutlarının oluşturulmasıdır. 3. çalışma kapsamında sentetik olarak üretilen kelimelerin büyük bir çoğunluğu İstiklal Marşımızdan alınmıştır. Burada sentetik verilerin üretilmesinde tekrarlı örnekleme tekniği kullanılmış ve 10.000 gözlem üretilmiştir. Bu gözlemler üzerinde kelime bulutları oluşturulmuştur. Bu bölümdeki analiz ise 4. Sentetik veriler üzerinden kelime bulutlarının oluşturulması başlığı altında irdelenmiştir.

Çalışma kapsamında ilk olarak metnin kelime bulutları oluşturulmuş, ardından ise dil sözlükleri kullanılarak duygu sözlüklerine göre duygu analizleri yapılmıştır. İlk olarak analizde kullanılacak R kütüphanelerini vererek işe başlayalım. Aşağıda gerekenden fazla kütüphane verdiğimi biliyorum. Ancak daha çok esneklik ve estetik tasarım tanıdığı için genellikle olması gerekenden fazla kütüphane ile çalışıyorum. Kelime bulutlarının oluşturulması ve duygu analizlerinde kullanılan temel paketler “sentimentr”,”webshot”,”stringr”, “wordcloud”, “wordcloud2″,”RColorBrewer”, “htmlwidgets”,”syuzhet” paketleridir. Analizlerde R programlama dili kullanılmıştır. Bulguların çalışma kitaplarına yazdırılmasında ise xlsx uzantılı Microsoft Excel çalışma kitapları kullanılmıştır.

Yüklenecek Kütüphaneler

#Kütüphaneler

kütüphane<-c("dplyr","tibble","tidyr","ggplot2","ggthemes","readr","readxl","ggpubr","formattable", "ggstance", "pastecs","writexl", "psych", "GGally","pander", "rstatix", "stringr", "sentimentr","webshot","stringr","wordcloud", "wordcloud2","RColorBrewer", "htmlwidgets","syuzhet")
yükle<-sapply(kütüphane, require, character.only = TRUE)

#Kütüphane yüklenme durumunu gösteren tablo

tablo=suppressWarnings(yükle, classes = "warning")
  
isim=names(tablo)
  
deger=as_tibble(tablo)
  
data.frame(sira=1:length(isim), kutuphane=isim, yuklenme_durumu=deger$value) %>% mutate(yuklenme_durumu=if_else(yuklenme_durumu==TRUE, "Yuklendi", "Paket Kurulumu Gerekli")) %>% pander(caption="Kütüphane Yüklenme Bilgisi")

Yukarıdaki R kod bloğunun çalıştırılmasından sonra yukarıdaki kütüphanelerin yüklenip yüklenmediğine dair aşağıdaki gibi mantıksal vektör sonuçları gelecektir. Eğer mantıksal vektör sonuçlarının hepsi TRUE ise kütüphanelerin hepsini yüklenmiştir demektir. Kolaylık sağlaması açısından yukarıda kütüphanelerin yüklenmesini gösterir tabloyu da elde etmek ve daha kolay okumanız için yukarıdaki kod bloğu içerisinden kısa bir kod yazdım. Bu kod çalıştırıldığında aşağıdaki tabloda görüleceği üzere bütün kütüphaneler yüklenmiştir. Eğer ilgili kütüphane yüklenmemiş olursa “Paket Kurulumu Gerekli” ifadesi satırda yazacaktır. Satırda yazan bu uyarı metnine göre paketi ya kurar yada yüklersiniz. Bir paketin kurulması ile yüklenmesinin aynı şey olmadığını burada ifade etmek gerekir konuyu yabancı olanlar için. Paket kurulumu ilk defa yapılan bir işlem iken, paketin yüklenmesi zaten kurulan bir paketin yüklenmesi yani çalışır duruma getirilmesidir. İlk defa bir paket kurulumu gerçekleştiriliyorsa install.packages() fonksiyonunu, zaten bir paket kurulumu gerçekleştirilmiş ise ilgili paketin veya kütüphanenin yüklenmesi veya okunması için library() veya require() fonksiyonlarını kullanıyoruz. Fonksiyonlardaki parantez () içerisine yüklenecek paket veya kütüphane adını yazıyoruz.

---------------------------------------
 sira    kutuphane     yuklenme_durumu 
------ -------------- -----------------
  1        dplyr          Yuklendi     

  2        tibble         Yuklendi     

  3        tidyr          Yuklendi     

  4       ggplot2         Yuklendi     

  5       ggthemes        Yuklendi     

  6        readr          Yuklendi     

  7        readxl         Yuklendi     

  8        ggpubr         Yuklendi     

  9     formattable       Yuklendi     

  10      ggstance        Yuklendi     

  11      pastecs         Yuklendi     

  12      writexl         Yuklendi     

  13       psych          Yuklendi     

  14       GGally         Yuklendi     

  15       pander         Yuklendi     

  16      rstatix         Yuklendi     

  17      stringr         Yuklendi     

  18     sentimentr       Yuklendi     

  19      webshot         Yuklendi     

  20      stringr         Yuklendi     

  21     wordcloud        Yuklendi     

  22     wordcloud2       Yuklendi     

  23    RColorBrewer      Yuklendi     

  24    htmlwidgets       Yuklendi     

  25      syuzhet         Yuklendi     
---------------------------------------

Table: Kütüphane Yüklenme Bilgisi

1. Kelime bulutlarının oluşturulması

Bu kısımda bahse konu metin üzerinden adım adım kelime bulutları oluşturulacaktır. Kelime bulutlarının oluşturulması frekanslara göre oluşturulduğundan metnin dili çok belirleyici olmamaktadır. Ancak duygu analizinde durum biraz farklıdır. Yani duygu analizi yapıyorsanız metnin bulunduğu dili destekleyen bir R kütüphanesi ile çalışmak zorundasınız. Bunu da yeri gelmişken burada ifade etmekte yarar olduğunu düşünüyorum.

Veri setinin okunması

bs1 <- read.delim("metin.txt", col.names = "cumle")
bs1

Veri setindeki ilk 10 satırı tablo formatında aşağıda yazılan kod bloğu ile verebiliriz.

bs1 %>% head(10) %>% formattable()

Yukarıdaki R kod bloğunun çalıştırılmasından sonra elde edilen ilk 10 satır aşağıdaki tabloda verilmiştir.

Veri setinin yapısının incelenmesi

Aşağıda yazılan kod bloğu ile veri setindeki değişken tipi ve gözlem sayısı ortaya konulmuştur.

glimpse(bs1)

#alternatif
str(bs1)

Yukarıdaki kod bloğu çalıştırıldığında aşağıda verildiği üzere veri setinin 3,264 gözlemden yani cümleden oluştuğu, değişken tipinin ise karakter yani nominal olduğu görülmektedir. Veri setinin 1 değişkenden oluştuğu ve değişkenin “cumle” olduğu da görülmektedir.

Rows: 3,264
Columns: 1
$ cumle <chr> "This eBook is for the use of anyone anywhere at no cost and with", "almost no restrictions w...

Metin verisinin kelime bulutu oluşturulmadan önce temizlenmesi ve çıkarılacak kelimelerin belirlenmesi

Bu kısımda ilk olarak aşağıda yazılan kelimeler metinden çıkarılacaktır. Bu kısımda ister Türkçe isterse diğer dillerde çıkarılacak kelimeleri belirleyebilirsiniz.

rmv1<-c("may", "can","years","age","mean","diet", "qol","based","dog","two","per","model","will","is","aarc","results","label","among","are","level","cancer", "used","many", "nlm", "data", "study", "p", "n", "net", "biochar", "aloe", "ses", "systems","avs", "acid","rate","aha","year","time","since","stroke", "however", "p lt", "ssris", "score", "index","hia", "largest", "current", "ncds", "found", "labelobjective", "It","yet","models", "vera","total", "also", "ptsd", "lt", "sroi", "icdm", "scores", "new", "arm", "china", "sample", "semen", "survey", "labelconclusions","within","labelbacground","range","followed","tagsnps","mbovis","labeldesign","increased","published", "likely", "nlmcategorymethods", "acids", "fatty", "employersponsored","labelmethods", "using", "conclusions","setting", "whether","findings","crosssectional", "one", "three","review","associated", "analysis", "studies", "nlmcategory", "background", "nlmcategorymethods", "in", "of", "and", "as", "19", "the","have","were","an", "was", "during", "to", "for","a", "cth","or","hcs", "this", "u","ci", "t", "la", "043d", "064a","043b", "062a", "trastuzumab","ewars","research", "either", "ipps73","ippss","87,017", "ofips", "15,000", "eshre","tdabc","thaihealth", "0.157", "and", "analyzed", "methods", "terms", "subjects", "being", "there", "compared", "while",  "when", "their","these","between", "his","her", "which", "that","who", "after","related","higher","group", "other","each","those","lower", "number","rates","first", "about", "groups","through","including", "across", "should", "must", "have","months","adjusted", "analyses", "estimated", "could", "would", "without", "further", "versus", "cross", "method", "follow", "general", "under", "below", "estimate","following", "received", "available", "before", "aimed", "collected", "often", "often","include","relevant","having","therefore","because","thus", "gutenberg","almost", "license", "ebook", "anyone", "anywhere", "title", "author", "enough", "nothing", "cannot", "really", "never", "again", "wwwgutenbergorg", "whatsoever", "editor", "chapter","perhaps", "shall", "every","where", "been", "more", "than", "even", "with", "what",  "who", "when", "only", "your", "into", "in", "on", "always", "online", "copy", "away", "back", "myself", "still")

Bu kısımda aşağıda yazılan kod bloğundaki satırlarda sırasıyla;

  • Metindeki harflerin tamamı küçük harfe dönüştürülmüştür.
  • Metindeki noktalama işaretleri kaldırılmıştır.
  • Metinle iç içe geçmiş (kızgın325 gibi) rakam ve sayılar metinden ayıklanmıştır.
  • Metinden rakam ve sayılar çıkarılmıştır.
  • Yukarıdaki belirtilen kelimeler metinden çıkarılmıştır. Burada dikkat edilirse çıkarılan kelimeler daha çok zamir, sıfat, edat ve bağlaçlardır. İsteğe bağlı olarak burada değişiklikler yapabilirsiniz.
  • Karakter sayısı 3’ten büyük kelimeler filtrelenmiştir. İsteğe bağlı olarak burada değişiklikler yapabilirsiniz.
  • Metin istenmeyen formatta kelimeler varsa ve bu kelimeleri çıkarmanız analize zarar verecekse yerine kelimeler atayabilirsiniz.
  • Metnin değişiklikler sonrası “tibble” tablo düzenine dönüştürülmüştür.
tr<-bs1 %>% mutate(word=str_to_lower(cumle))%>% unnest_tokens(word, cumle) # Metindeki harflerin tamamı küçük harfe dönüştürülmüştür.
tr<-tr %>% mutate(word=removePunctuation(word)) # Metindeki noktalama işaretleri kaldırılmıştır.
tr<-tr %>% mutate(word=str_squish(word)) # Metinle iç içe geçmiş (kalem325) rakam ve sayılar metinden ayıklanmıştır.
tr<-tr %>% mutate(word=removeNumbers(word)) # Metinden rakam ve sayılar çıkarılmıştır.
tr<-tr %>% filter(!word %in% rmv1) # Yukarıdaki belirtilen kelimeler metinden çıkarılmıştır. Burada dikkat edilirse çıkarılan kelimeler daha çok zamir, sıfat, edat ve bağlaçlardır. İsteğe bağlı olarak burada değişiklikler yapabilirsiniz.
tr<-tr %>% filter(str_length(word)>3) # Karakter sayısı 3'ten büyük kelimeler filtrelenmiştir. İsteğe bağlı olarak burada değişiklikler yapabilirsiniz.
tr<-str_replace(tr$word, "[ı]", "i") # Metin istenmeyen formatta kelimeler varsa ve bu kelimeleri çıkarmanız analize zarar verecekse yerine kelimeler atayabilirsiniz.
tr<-tr %>% as_tibble()%>%rename(word=value) # Metnin değişiklikler sonra tibble tablo düzenine dönüştürülmüştür.
tr

Kelime sıklıklarının ortaya konulması

Aşağıda yazılan kod bloğunda metindeki kelimelerin sıklıkları bulunmuş, ardından ise frekansı en yüksek ilk 50 kelime verilmiştir. En sonda ise kelimeler ve frekansları xlsx uzantılı Microsoft Excel çalışma kitabına yazdırılmıştır.

# Kelime sıklıklarının elde edilmesi
sayi<-tr %>% group_by(word) %>% count() %>% arrange(desc(n))
sayi<-sayi %>% add_column(id=1:NROW(sayi),.before = "word")
sayi

#Frekansı en yüksek ilk 50 kelime
sayi %>% head(50)  %>% pander(caption="Frekansı En Yüksek İlk 50 Kelime")

#xlsx uzantılı çalışma kitabına sıklıklarına göre kelimelerin yazdırılması
write_xlsx(sayi, "kelimeler.xlsx")

Yukarıdaki kod bloğunda ikinci alt blok çalıştırıldığında elde edilen frekansı en yüksek ilk 50 kelime aşağıda verilmiştir.

---------------------------
 id        word         n  
---- ---------------- -----
 1         they        250 

 2       turkish       154 

 3         from        138 

 4        women        130 

 5         life        97  

 6        little       84  

 7         them        82  

 8        woman        79  

 9       country       66  

 10        know        66  

 11       people       64  

 12        same        55  

 13        come        54  

 14        like        54  

 15       zeyneb       54  

 16       turkey       52  

 17        here        50  

 18        much        50  

 19        very        50  

 20        said        47  

 21        some        47  

 22       think        46  

 23        most        44  

 24        such        43  

 25        then        43  

 26       harem        42  

 27        find        40  

 28       great        40  

 29        long        38  

 30        west        38  

 31      western       38  

 32       friend       37  

 33        ever        36  

 34        over        35  

 35        seen        35  

 36       asked        34  

 37        came        34  

 38     understand     34  

 39       house        32  

 40       paris        32  

 41        went        32  

 42        made        31  

 43        read        31  

 44        told        31  

 45        left        30  

 46      thought       30  

 47   constantinople   29  

 48       seemed       29  

 49        tell        29  

 50      another       28  
---------------------------

Table: Frekansı En Yüksek İlk 50 Kelime

Yukarıdaki kod bloğunda üçüncü alt blok çalıştırıldığında elde edilen kelimeler ve frekansları xlsx uzantılı Microsoft Excel çalışma kitabına yazdırılmış olup aşağıda linkten indirebilirsiniz.

Kelime bulutlarının oluşturulması

Bu kısımda aynı metinden birden fazla kelime bulutu oluşturulacaktır. İlk kelime bulutunu wordcloud kütüphanesini kullanarak aşağıdaki kod bloğunda verelim. Aşağıda yazılan kod bloğunda kelime frekansımız minimum 20, maksimum 200 olacak şekilde düzenledik. Dilerseniz wordcloud fonksiyonu içerisindeki parametreleri değiştirerek farklı alternatifler deneyebilirsiniz.

set.seed(1923) # Aynı sonuçları almak için sabitlenmiştir.
wordcloud(words = sayi$word, freq = sayi$n, min.freq = 20,
          max.words=200, random.order=FALSE, rot.per=0.35, 
          colors=brewer.pal(8, "Dark2"))

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde ettiğimiz kelime bulutu aşağıda verilmiştir. Aşağıdaki kelime bulutunda dikkat edeceğiniz üzere metinde hala temizlenmeyi bekleyen “they”, “whom”, “till”, “does”, “over”, “from”, “just”, “here”, “some” gibi zamir, yardımcı fiiller ve yer zarfları bulunmaktadır. Literatürde yapılan çalışmalarda bu hususa çok dikkat edildiği söylenemez ama siz dikkat etmelisiniz iyi bir araştırma ortaya koymak açısından. Metin verisinin kelime bulutu oluşturulmadan önce temizlenmesi ve çıkarılacak kelimelerin belirlenmesi başlığı altında yer alan kod bloğundaki vektör içerisine bahsettiğim bu kelimeleri girerek kelime bulutundan bu kelimeleri çıkarabilirsiniz.

Şimdi de diğer kütüphanemiz olan wordcloud2‘yi kullanarak kelime bulutları oluşturalım. Burada aynı zamanda oluşturulan kelime bulutu png ve html uzantılı olarak da kaydedilmektedir. Aşağıda yazılan kod bloğunda en yüksek frekansa sahip ilk 250 satırdaki kelimelerin frekansı ele alınmıştır.

#kelime bulutunun oluşturulması
hw1=wordcloud2(head(sayi[,2:3], 250), size=1, minSize = 10, shape = "circle", color = "random-light",backgroundColor = "black")

#html ve png olarak kaydedilmesi
saveWidget(hw1,"26.html",selfcontained = F)
webshot::webshot("26.html","hw1.png",vwidth = 1800, vheight = 1000, delay =10)

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde ettiğimiz kelime bulutu aşağıda verilmiştir.

Farklı düzenlerde kelime bulutunu elde etmek mümkündür. Yıldız şeklinde eğer kelime bulutu elde etmek istersek yazacağımız kod bloğunda yapacağımız tek şey shape parametresinde “star” şeklinde değişiklik yapmaktır.

#kelime bulutunun oluşturulması
hw1=wordcloud2(head(sayi[,2:3], 250), size=1, minSize = 10, shape = "star", color = "random-light",backgroundColor = "black")

#html ve png olarak kaydedilmesi
saveWidget(hw2,"27.html",selfcontained = F)
webshot::webshot("27.html","hw1.png",vwidth = 1800, vheight = 1000, delay =10)

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde ettiğimiz kelime bulutu aşağıda verilmiştir.

Şimdide aşağıda yazılan kod bloğunda beşgen (pentagon) düzeninde ve gri arka planında başka bir kelime bulutu oluşturalım. Aynı zamanda veri setinde frekansı en yüksek ilk 350 kelimeyi baz alalım.

#kelime bulutunun oluşturulması
hw1=wordcloud2(head(sayi[,2:3], 350), size=1, minSize = 10, shape = "pentagon", color = "random-light",backgroundColor = "grey")

#html ve png olarak kaydedilmesi
saveWidget(hw2,"27.html",selfcontained = F)
webshot::webshot("27.html","hw1.png",vwidth = 1800, vheight = 1000, delay =10)

Yukarıda yazılan kod bloğunun çalıştırılmasından sonra elde edilen beşgen (pentagon) düzeninde ve gri arka planında kelime bulutu aşağıda verilmiştir.

2. Duygu analizlerinin yapılması

Bu kısımda yukarıda giriş kısmında bahsedilen dil sözlükleri kullanılarak duygu analizleri yapılacaktır.

Polarite testi

Bu kısımda aşağıda yazılan kod bloğu ile kelime bazlı polarite testi yapılmıştır. Cümle bazlı polarite testi yapılabileceğini hatırlatmakta fayda vardır.

polarite<-sentiment(tr$word)

tablo<-cbind(tr$word, polarite[,c(3,4)])

  ggplot(tablo, aes(word_count, sentiment))+
  geom_point(color="blue")+
  geom_hline(yintercept = mean(tablo$sentiment), color="red", size=1)+
  labs(y = "Skor", x = "Kelimelerin Frekansı") +
  theme_igray()+
  labs(caption = "Veri Kaynağı: A Turkish Woman’s European Impressions adlı eserden Tevfik Bulut tarafından analiz edilmiştir.") +
  theme(plot.caption = element_text(hjust = 0, face = "italic"))

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen polarite skorları aşağıdaki grafikte verilmiştir. Daha önce polarite skorlarının -1 ile +1 arasında değiştiğini ifade etmiştik. Elde edilen bulgular eserde hakim olan duygunun nötr (0)’e yakın olduğunu göstermektedir.

Polarite test sonuçlarına ilişkin tanımlayıcı istatistikler ise aşağıda yazılan kod bloğu ile elde edilmiştir.

stat.desc(polarite$sentiment, basic=T) %>% pander()

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen Polarite testi tanımlayıcı istatistikleri aşağıdaki tabloda verilmiştir. Elde edilen ortalama (0,02947) polarite test değeri nötr (0)’e yakın bir görünüm sergilemektedir.

----------------------------------------------------------------------------
 nbr.val   nbr.null   nbr.na   min   max   range    sum    median    mean   
--------- ---------- -------- ----- ----- ------- ------- -------- ---------
  14754     10936       0      -1     1      2     434.8     0      0.02947 
----------------------------------------------------------------------------

Table: Table continues below

 
-------------------------------------------------------
 SE.mean    CI.mean.0.95    var     std.dev   coef.var 
---------- -------------- -------- --------- ----------
 0.002724     0.00534      0.1095   0.3309     11.23   
-------------------------------------------------------

Bing leksikonu

Aşağıda yazılan kod bloğu ile Bing leksikonu duygu grupları (pozitif ve negatif) elde edilmiştir.

d6<-sayi[,-1] %>% inner_join(get_sentiments("bing"),by="word")
d6[,c(1,3,2)]%>% group_by(sentiment) %>% arrange(desc(n)) %>%
  top_n(10) %>%
  ggplot(aes(x=reorder(word,n), y=n, fill = sentiment)) +
  geom_col(show.legend = FALSE) +
  facet_wrap(~sentiment, scales = "free_y") +
  labs(
    y = "Kelime",
    x = "Sıklık"
  ) +
  coord_flip()+
 theme_hc()+
 labs(caption = "A Turkish Woman’s European Impressions adlı eserden Tevfik Bulut tarafından analiz edilmiştir.")+
 theme(plot.caption = element_text(hjust = 0, face = "italic"))

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen Bing leksikonu sonuçları kelime frekansı en yüksek olan ilk 10 kelimeye göre aşağıdaki grafikte verilmiştir. Elde edilen bulgular metinde baskın olan duygunun olumlu (pozitif) olduğunu göstermektedir.

Bing leksikonuna ilişkin tanımlayıcı istatistikler ise aşağıda yazılan kod bloğunda verilmiştir.

d6<-sayi[,-1] %>% inner_join(get_sentiments("bing"),by="word")
#duygu grubuna göre frekanslar
d6[,c(1,3,2)]%>% group_by(sentiment) %>% summarise(toplam=sum(n)) %>% mutate(oran=round(toplam/sum(toplam)*100,2)) %>% arrange(desc(oran)) %>% formattable()

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen Bing leksikonu tanımlayıcı istatistikleri aşağıdaki tabloda verilmiştir. Aşağıda verilen bulgudan şu bilgi çıkarılmalıdır: Metinde pozitif kelimelerin frekansı ve frekansların oranı (n=1119, frekansların toplam içindeki oranı = %52,09) negatif olanlardan daha yüksek olduğundan metinde pozitif duygu daha ağır basmaktadır.

Afinn leksikonu

Afinn dil sözlüğünde skorlar -5 (negatif) ve +5 (pozitif) arasında tamsayı değerleri almaktadır. Afinn leksikonu bulguları aşağıda yazılan kod bloğu ile elde edilmiştir.

#Afinn leksikon değerlerinin elde edilmesi
d6<-tr %>% inner_join(get_sentiments("afinn"),by="word")

#Tanımlayıcı istatistikler
stat.desc(d6$value, basic=T) %>% pander()

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen Afinn leksikonu tanımlayıcı istatistikleri aşağıdaki tabloda verilmiştir. Aşağıda verilen bulgudan şu bilgi çıkarılmalıdır: Afinn leksikon sonuçlarına bakıldığında merkezi dağılım ölçülerinden biri olan ortalama 0,3821 olduğu için metinde nötr (0)’ün biraz üstünde ve pozitife yakın duyguların daha ağırlıkta olduğu söylenebilir.

-------------------------------------------------------------------------
 nbr.val   nbr.null   nbr.na   min   max   range   sum   median    mean  
--------- ---------- -------- ----- ----- ------- ----- -------- --------
  1879        0         0      -4     4      8     718     1      0.3821 
-------------------------------------------------------------------------

Table: Table continues below

 
-----------------------------------------------------
 SE.mean   CI.mean.0.95    var    std.dev   coef.var 
--------- -------------- ------- --------- ----------
 0.04935      0.0968      4.577    2.139     5.599   
-----------------------------------------------------

Loughran leksikonu

Loughran leksikonunda kelimeler altı duygu kategorisinde ele alınır: “olumsuz”, “pozitif”, “ihtilaflı”, “belirsizlik”, “kısıtlayıcı” veya “gereksiz” (“negative”, “positive”, “litigious”, “uncertainty”, “constraining”, or “superfluous”). Loughran leksikonu bulguları aşağıda yazılan kod bloğu ile elde edilmiştir.

#Loughran leksikon değerlerinin elde edilmesi
l1<-tr %>% inner_join(get_sentiments("loughran"),by="word")

#Duygu grubuna göre frekanslar
l1 %>% group_by(sentiment) %>% summarise(toplam=n()) %>% mutate(oran=round(toplam/sum(toplam)*100,2)) %>% arrange(desc(oran)) %>% formattable()

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen Loughran leksikonu tanımlayıcı istatistikleri aşağıdaki tabloda verilmiştir. Aşağıda verilen bulgudan şu sonuç çıkarılmalıdır: %45,53 ile negatif duygunun metnin genelinde baskın olduğu görülmektedir. Metinde negatif duyguyu pozitif ve belirsizlik duyguları izlemiştir.

Loughran leksikonu sonuçları aşağıda yazılan kod bloğu ile grafik üzerinde de verebiliriz.

  l1 %>% 
  group_by(sentiment) %>% summarise(n=n())%>%
  ggplot(aes(reorder(sentiment, n), n, fill=sentiment)) +
  geom_bar(stat="identity", show.legend = FALSE)+
  labs(y = "Frekans", x = "Duygu")+
  theme_igray()+
  labs(caption = "Veri Kaynağı: A Turkish Woman’s European Impressions adlı eserden Tevfik Bulut tarafından analiz edilmiştir.")+
  theme(plot.caption = element_text(hjust = 0, face = "italic"))

Yukarıdaki kod bloğu çalıştırıldığında Loughran leksikonuna göre metinden elde edilen duygular aşağıdaki grafikte verilmiştir.

Dil sözlükleri içerisinde duygu kategorisine filtreleme yapmak oldukça kolaydır. Örnek teşkil teşkil etmesi adına Loughran leksikonunda pozitif olarak etiketlenen kelimelerden ilk 50’sini aşağıda yazılan kod bloğu ile verelim. Dilersek pozitif olarak etiketlenen kelimelerin tamamı elde edebilir ve xlsx uzantılı çalışma kitaplarına yazdırabiliriz. Benzer işlemleri diğer dil sözlüklerinde de yapabiliriz.

l1 %>% filter(sentiment=='positive') %>% head(50) %>% pander(caption="Pozitif olarak etiketlenen ilk 50 kelime")

Yukarıdaki kod bloğunun çalıştırılmasından sonra metinde pozitif olarak etiketlenen ilk 50 kelime aşağıdaki tabloda verilmiştir.

-------------------------
    word       sentiment 
------------- -----------
    good       positive  

    dream      positive  

    great      positive  

    easy       positive  

   better      positive  

    great      positive  

  greatest     positive  

 diligently    positive  

  progress     positive  

 exclusively   positive  

    great      positive  

    great      positive  

  happiness    positive  

  pleasure     positive  

    great      positive  

    great      positive  

   highest     positive  

  beautiful    positive  

   pleased     positive  

  strength     positive  

   better      positive  

  pleasure     positive  

   perfect     positive  

  delighted    positive  

   impress     positive  

    great      positive  

    best       positive  

  stronger     positive  

  beautiful    positive  

  beautiful    positive  

   winner      positive  

    great      positive  

  satisfied    positive  

    great      positive  

    great      positive  

  beautiful    positive  

    happy      positive  

  greatest     positive  

    easy       positive  

    great      positive  

    great      positive  

  pleasure     positive  

    able       positive  

  stronger     positive  

   invent      positive  

    great      positive  

   better      positive  

   leading     positive  

 compliment    positive  

    great      positive  
-------------------------

Table: Pozitif olarak etiketlenen ilk 50 kelime

Şimdide Loughran leksikonunda duygulara göre etiketlenmiş kelimelerin tamamını aşağıda yazılan kod bloğu ile verelim.

l1<-tr %>% inner_join(get_sentiments("loughran"),by="word")
write_xlsx(l1, "loughranleksikonu.xlsx")

Yukarıdaki kod bloğunun çalıştırılmasından sonra Loughran leksikonundaki duygu kategorilerine göre etiketlenmiş metindeki bütün kelimeler xlsx uzantılı Microsoft Excel çalışma kitabına yazdırılmış olup aşağıdaki linkten indirebilirsiniz.

Loughran leksikonundaki duygu kategorilerine göre etiketlenmiş 50 kelimeyi olasılıklı örnekleme yöntemlerden biri olan ve önyargı (bias) içermeyen tekrarsız basit tesadüfi örnekleme yöntemi kullanarak seçmek için aşağıdaki gibi basit bir kod satırı yazalım.

set.seed(1985) # Örneklemde aynı gözlem birimlerinin elde edilmesi için sabitlenmiştir.
tr %>% inner_join(get_sentiments("loughran"),by="word") %>% sample_n(50) %>% pander(caption="Basit Tekrarsız Örnekleme Yöntemi İle Seçilen Kelimeler ve Duygu Etiketleri")

Loughran leksikonundaki duygu kategorilerine göre etiketlenmiş 50 kelime tekrarsız basit tesadüfi örnekleme yöntemi kullanarak belirlenmiş ve aşağıdaki tabloda verilmiştir.

-----------------------------
     word        sentiment   
-------------- --------------
 exceptional      positive   

  neglected       negative   

     poor         negative   

    doubt       uncertainty  

    unjust        negative   

  delighted       positive   

    strict      constraining 

     hurt         negative   

   possible     uncertainty  

   pleased        positive   

     risk       uncertainty  

    great         positive   

 disastrously     negative   

    error         negative   

    slowly        negative   

     good         positive   

     late         negative   

   probably     uncertainty  

   believed     uncertainty  

    risked      uncertainty  

     good         positive   

    great         positive   

   exposed        negative   

 permissible    constraining 

    force         negative   

   perfect        positive   

    great         positive   

    great         positive   

    ceased        negative   

    might       uncertainty  

 unknowingly      negative   

     lost         negative   

   against        negative   

    strong        positive   

    court        litigious   

    great         positive   

   pleasure       positive   

   suddenly     uncertainty  

  satisfied       positive   

  exaggerate      negative   

    vague       uncertainty  

   believed     uncertainty  

  excitement      positive   

     best         positive   

    great         positive   

  criticism       negative   

   harmful        negative   

 disappointed     negative   

   pleasure       positive   

  suffering       negative   
-----------------------------

Table: Basit Tekrarsız Örnekleme Yöntemi İle Seçilen Kelimeler ve Duygu Etiketleri

Nrc leksikonu

NRC dil sözlüğünde 10 duygu bulunmaktadır. Bu duygular şöyledir:

  1. positive
  2. negative
  3. Anger
  4. Anticipation
  5. Disgust
  6. Fear
  7. Joy
  8. Sadness
  9. Surprise
  10. Trust

Aşağıda yazılan kod bloğu ile Nrc leksikonuna göre metindeki duygular ortaya konulmuştur.

#Nrc leksikon değerlerinin elde edilmesi
nrc<-tr %>% inner_join(get_sentiments("nrc"),by="word")

#Duygu grubuna göre frekanslar
nrc %>% group_by(sentiment) %>% summarise(toplam=n()) %>% mutate(oran=round(toplam/sum(toplam)*100,2)) %>% arrange(desc(oran)) %>% formattable()

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen Nrc leksikonu tanımlayıcı istatistikleri aşağıdaki tabloda verilmiştir. Aşağıda verilen bulgudan şu sonuç çıkarılmalıdır: %22,12 ile pozitif duygunun metnin genelinde baskın olduğu görülmektedir. Metinde pozitif duyguyu negatif ve güven (trust) duyguları izlemiştir.

Nrc leksikonu sonuçlarına frekansı en yüksek ilk 5 kelime duygu kategorilerine göre aşağıda yazılan kod bloğu ile grafik üzerinde de verilmiştir.

   nrc  %>% 
   group_by(sentiment) %>% 
   count(word, sort=T) %>% 
   top_n(5) %>% 
   ggplot(aes(reorder(word, n), n, fill=sentiment)) +
   geom_bar(stat="identity", show.legend = FALSE) +
   facet_wrap(~sentiment, scales="free_y", ncol=5) +
   labs(y = "Frekans", x = NULL) +
   coord_flip()+
   labs(caption = "Veri Kaynağı: A Turkish Woman’s European Impressions adlı eserden Tevfik Bulut tarafından analiz edilmiştir.")+
   theme(plot.caption = element_text(hjust = 0, face = "italic"))

Yukarıdaki kod bloğu çalıştırıldığında Nrc leksikonuna göre metinden elde edilen duygular aşağıdaki grafikte verilmiştir.

Syuzhet leksikonu

Syuzhet leksikonu -1 +1 değeri arasında değer almaktadır. Bu leksikona dair bulgular aşağıda yazılan kod bloğu ile elde edilmiştir.

#Syuzhet leksikon değerlerinin elde edilmesi
sskor=get_sentiment(as.vector(tr$word), method="syuzhet")
syuzhet=tibble(kelime=tr$word, skor=sskor)

#Tanımlayıcı istatistikler
stat.desc(syuzhet$skor, basic=T) %>% pander()

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen Syuzhet leksikonu tanımlayıcı istatistikleri aşağıdaki tabloda verilmiştir. Aşağıda verilen bulgudan şu bilgi çıkarılmalıdır: Syuzhet leksikon sonuçlarına bakıldığında merkezi dağılım ölçülerinden biri olan ortalama 0,02742 olduğu için metinde nötr (0)’ün biraz üstünde ve pozitife yakın duyguların daha ağırlıkta olduğu söylenebilir. Syuzhet testinde elde edilen ortalama değer ile polarite (negatif ve pozitif duygular) testi sonucu elde edilen ortalama (0,02947) değer birbirine oldukça yakındır.

----------------------------------------------------------------------------
 nbr.val   nbr.null   nbr.na   min   max   range    sum    median    mean   
--------- ---------- -------- ----- ----- ------- ------- -------- ---------
  14754     11031       0      -1     1      2     404.5     0      0.02742 
----------------------------------------------------------------------------

Table: Table continues below

 
-------------------------------------------------------
 SE.mean    CI.mean.0.95    var     std.dev   coef.var 
---------- -------------- -------- --------- ----------
 0.002631     0.005157     0.1021   0.3196     11.66   
-------------------------------------------------------

3. PDF dokümanların kelime bulutlarının çıkarılması ve duygu analizlerinin yapılması

Bu kısımda bahse konu metin üzerinden adım adım kelime bulutları oluşturulacaktır. Kelime bulutlarının oluşturulması frekanslara göre oluşturulduğundan metnin dili çok belirleyici olmamaktadır.

Veri setinin kaynağından okunması

#Raporun bulunduğu URL adresi
url="https://openknowledge.worldbank.org/bitstream/handle/10986/34710/9781464816123.pdf?sequence=15&isAllowed=y"
# Pdf fonksiyonu içerisinde URL adresinin tanımlanması ve dilin ingilizce olarak belirlenmesi doküman ingilizce olduğu için
rapor<- readPDF(control=list(text="-layout"))(elem=list(uri=url), language="en")
rapor <- rapor$content
#Rapor içeriğinin tibble tablo formatına dönüştürülmesi
rp=as_tibble(rapor) %>% rename(cumle=value)
rp

Veri setinin yapısının incelenmesi

Aşağıda yazılan kod bloğu ile veri setindeki değişken tipi ve gözlem sayısı ortaya konulmuştur.

glimpse(rp)

#alternatif
str(rp)

Yukarıdaki kod bloğu çalıştırıldığında aşağıda verildiği üzere veri setinin 234 gözlemden yani cümleden oluştuğu, değişken tipinin ise karakter yani nominal olduğu görülmektedir. Veri setinin 1 değişkenden oluştuğu ve değişkenin “cumle” olduğu da görülmektedir. Bu veri setinde her bir gözlem raporun bir sayfasını göstermektedir. Zira söz konusu rapor da 234 sayfadan oluşmaktadır.

Rows: 234
Columns: 1
$ cumle <chr> "A World Bank Group\r\nFlagship Report\r\n                   JANUARY 2021\r\n

Metin verisinin kelime bulutu oluşturulmadan önce temizlenmesi ve çıkarılacak kelimelerin belirlenmesi

Bu kısımda ilk olarak aşağıda yazılan kelimeler metinden çıkarılacaktır. Bu kısımda ister Türkçe isterse diğer dillerde çıkarılacak kelimeleri belirleyebilirsiniz.

rmv1<-c("may", "can","years","age","mean","diet", "qol","based","dog","two","per","model","will","is","aarc","results","label","among","are","level","cancer", "used","many", "nlm", "data", "study", "p", "n", "net", "biochar", "aloe", "ses", "systems","avs", "acid","rate","aha","year","time","since","stroke", "however", "p lt", "ssris", "score", "index","hia", "largest", "current", "ncds", "found", "labelobjective", "It","yet","models", "vera","total", "also", "ptsd", "lt", "sroi", "icdm", "scores", "new", "arm", "china", "sample", "semen", "survey", "labelconclusions","within","labelbacground","range","followed","tagsnps","mbovis","labeldesign","increased","published", "likely", "nlmcategorymethods", "acids", "fatty", "employersponsored","labelmethods", "using", "conclusions","setting", "whether","findings","crosssectional", "one", "three","review","associated", "analysis", "studies", "nlmcategory", "background", "nlmcategorymethods", "in", "of", "and", "as", "19", "the","have","were","an", "was", "during", "to", "for","a", "cth","or","hcs", "this", "u","ci", "t", "la", "043d", "064a","043b", "062a", "trastuzumab","ewars","research", "either", "ipps73","ippss","87,017", "ofips", "15,000", "eshre","tdabc","thaihealth", "0.157", "and", "analyzed", "methods", "terms", "subjects", "being", "there", "compared", "while",  "when", "their","these","between", "his","her", "which", "that","who", "after","related","higher","group", "other","each","those","lower", "number","rates","first", "about", "groups","through","including", "across", "should", "must", "have","months","adjusted", "analyses", "estimated", "could", "would", "without", "further", "versus", "cross", "method", "follow", "general", "under", "below", "estimate","following", "received", "available", "before", "aimed", "collected", "often", "often","include","relevant","having","therefore","because","thus", "gutenberg","almost", "license", "ebook", "anyone", "anywhere", "title", "author", "enough", "nothing", "cannot", "really", "never", "again", "wwwgutenbergorg", "whatsoever", "editor", "chapter","perhaps", "shall", "every","where", "been", "more", "than", "even", "with", "what",  "who", "when", "only", "your", "into", "in", "on", "always", "online", "copy", "away", "back", "myself", "still", "from", "figure", "over", "such")

Bu kısımda aşağıda yazılan kod bloğundaki satırlarda sırasıyla;

  • Metindeki harflerin tamamı küçük harfe dönüştürülmüştür.
  • Metindeki noktalama işaretleri kaldırılmıştır.
  • Metinle iç içe geçmiş (kızgın325 gibi) rakam ve sayılar metinden ayıklanmıştır.
  • Metinden rakam ve sayılar çıkarılmıştır.
  • Yukarıdaki belirtilen kelimeler metinden çıkarılmıştır. Burada dikkat edilirse çıkarılan kelimeler daha çok zamir, sıfat, edat ve bağlaçlardır. İsteğe bağlı olarak burada değişiklikler yapabilirsiniz.
  • Karakter sayısı 3’ten büyük kelimeler filtrelenmiştir. İsteğe bağlı olarak burada değişiklikler yapabilirsiniz.
  • Metin istenmeyen formatta kelimeler varsa ve bu kelimeleri çıkarmanız analize zarar verecekse yerine kelimeler atayabilirsiniz.
  • Metnin değişiklikler sonrası “tibble” tablo düzenine dönüştürülmüştür.
tr<-rp %>% mutate(word=str_to_lower(cumle))%>% unnest_tokens(word, cumle) # Metindeki harflerin tamamı küçük harfe dönüştürülmüştür.
tr<-tr %>% mutate(word=removePunctuation(word)) # Metindeki noktalama işaretleri kaldırılmıştır.
tr<-tr %>% mutate(word=str_squish(word)) # Metinle iç içe geçmiş (kalem325) rakam ve sayılar metinden ayıklanmıştır.
tr<-tr %>% mutate(word=removeNumbers(word)) # Metinden rakam ve sayılar çıkarılmıştır.
tr<-tr %>% filter(!word %in% rmv1) # Yukarıdaki belirtilen kelimeler metinden çıkarılmıştır. Burada dikkat edilirse çıkarılan kelimeler daha çok zamir, sıfat, edat ve bağlaçlardır. İsteğe bağlı olarak burada değişiklikler yapabilirsiniz.
tr<-tr %>% filter(str_length(word)>3) # Karakter sayısı 3'ten büyük kelimeler filtrelenmiştir. İsteğe bağlı olarak burada değişiklikler yapabilirsiniz.
tr<-str_replace(tr$word, "[ı]", "i") # Metin istenmeyen formatta kelimeler varsa ve bu kelimeleri çıkarmanız analize zarar verecekse yerine kelimeler atayabilirsiniz.
tr<-str_replace(tr$word, "emdes", "emde") # Metin istenmeyen formatta kelimeler varsa ve bu kelimeleri çıkarmanız analize zarar verecekse yerine kelimeler atayabilirsiniz.
rpc<-tr %>% as_tibble() %>% rename(word=value) # Metnin değişiklikler sonrası tibble tablo düzenine dönüştürülmüştür.
rpc

Kelime sıklıklarının ortaya konulması

Aşağıda yazılan kod bloğunda metindeki kelimelerin sıklıkları bulunmuş, ardından ise frekansı en yüksek ilk 100 kelime verilmiştir. En sonda ise kelimeler ve frekansları xlsx uzantılı Microsoft Excel çalışma kitabına yazdırılmıştır. Veri setindeki yeni gözlem sayısı 68,142’dir. Yani xlsx uzantılı çalışma kitabında 68,142 satır bulunmaktadır. Bu yüzden çalışma kitabını açarken biraz beklemeniz gerekebilir.

sayi<-rpc %>% group_by(word) %>% count() %>% arrange(desc(n))
sayi<-sayi %>% add_column(id=1:NROW(sayi),.before = "word")
sayi

#Frekansı en yüksek ilk 100 kelime
sayi %>% head(100)  %>% pander(caption="Frekansı En Yüksek İlk 100 Kelime")

#xlsx uzantılı çalışma kitabına sıklıklarına göre kelimelerin yazdırılması

write_xlsx(sayi, "kelimelerrapor.xlsx")

Yukarıdaki kod bloğunda ikinci alt blok çalıştırıldığında elde edilen frekansı en yüksek ilk 100 kelime aşağıda verilmiştir. Raporda frekansı en yüksek ilk 4 kelime sırasıyla “growth”, “emde”, “bank”, “pandemic” kelimeleridir. emde kelimesi gelişmekte olan ve gelişmiş ekonomilerin kısaltmasıdır.

----------------------------
 id        word         n   
----- --------------- ------
  1       growth       1108 

  2        emde        922  

  3        bank        716  

  4      pandemic      704  

  5       global       628  

  6        world       626  

  7       percent      578  

  8        debt        570  

  9      economies     563  

 10       policy       523  

 11      economic      487  

 12      countries     426  

 13       covıd       407  

 14      financial     400  

 15        asset       381  

 16     investment     379  

 17       fiscal       372  

 18       market       326  

 19        term        324  

 20      monetary      281  

 21      advanced      276  

 22        long        276  

 23       output       275  

 24      expected      270  

 25      purchase      265  

 26       central      252  

 27     washington     231  

 28     government     225  

 29   ınternational   225  

 30       average      222  

 31       prices       222  

 32      programs      217  

 33       capital      216  

 34      forecasts     212  

 35      recovery      212  

 36       income       190  

 37    productivity    187  

 38       effects      185  

 39       economy      181  

 40      potential     177  

 41      emerging      173  

 42       reform       173  

 43      activity      172  

 44       support      169  

 45       january      167  

 46        some        167  

 47      prospects     166  

 48       country      158  

 49     developing     158  

 50        asia        156  

 51      measures      156  

 52        paper       154  

 53        risk        154  

 54       crisis       153  

 55     development    152  

 56      forecast      150  

 57       africa       148  

 58      purchases     147  

 59       working      147  

 60       reforms      146  

 61        bond        144  

 62        risks       143  

 63        labor       141  

 64        large       141  

 65       region       137  

 66      policies      136  

 67        last        134  

 68       capita       133  

 69      increase      133  

 70       outlook      133  

 71       public       133  

 72       markets      130  

 73        trade       125  

 74       decade       124  

 75        fund        120  

 76    announcements   118  

 77       crises       116  

 78     percentage     115  

 79      projected     113  

 80      exchange      112  

 81        here        112  

 82      inflation     112  

 83       yields       110  

 84        note        109  

 85      economics     108  

 86       health       108  

 87       impact       108  

 88       levels       107  

 89        south       107  

 90        lıcs       106  

 91        cases       105  

 92       losses       104  

 93       change       103  

 94      includes      103  

 95       sector       102  

 96       demand       100  

 97      education     100  

 98      episodes      100  

 99       private      100  

 100      remain       100  
----------------------------

Table: Frekansı En Yüksek İlk 100 Kelime

Yukarıdaki kod bloğunda üçüncü alt blok çalıştırıldığında elde edilen kelimeler ve frekansları xlsx uzantılı Microsoft Excel çalışma kitabına yazdırılmış olup aşağıda linkten indirebilirsiniz.

Kelime bulutlarının oluşturulması

Bu kısımda wordcloud2 kütüphanesini kullanarak aşağıdaki kod bloğunda verelim. Burada aynı zamanda oluşturulan kelime bulutu png ve html uzantılı olarak da kaydedilmektedir. Aşağıda yazılan kod bloğunda en yüksek frekansa sahip ilk 350 satırdaki kelimelerin frekansı ele alınmıştır. Dilerseniz wordcloud2 fonksiyonu içerisindeki parametreleri değiştirerek farklı alternatifler deneyebilirsiniz.

sayi<-rpc %>% group_by(word) %>% count() %>% arrange(desc(n))
sayi<-sayi %>% add_column(id=1:NROW(sayi),.before = "word")

#kelime bulutunun oluştuurlması
rp <- wordcloud2(head(sayi[,2:3], 350), size=1, minSize = 10, color = "random-light",backgroundColor = "dark", shape = "circle")

#html ve png olarak kaydedilmesi
saveWidget(rp,"28.html",selfcontained = F)
webshot::webshot("28.html","rp.png",vwidth = 1800, vheight = 1000, delay =10)

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde ettiğimiz kelime bulutu aşağıda verilmiştir.

Duygu analizlerinin yapılması

Bu kısımda Loughran dil sözlüğü kullanılarak duygu analizi yapılmıştır. Loughran leksikonunda kelimeler altı duygu kategorisinde ele alınır: “olumsuz”, “pozitif”, “ihtilaflı”, “belirsizlik”, “kısıtlayıcı” veya “gereksiz” (“negative”, “positive”, “litigious”, “uncertainty”, “constraining”, or “superfluous”). Loughran leksikonu bulguları aşağıda yazılan kod bloğu ile elde edilmiştir.

#Loughran leksikon değerlerinin elde edilmesi
l2<-rpc %>% inner_join(get_sentiments("loughran"),by="word")
 
#Duygu grubuna göre frekanslar
l2 %>% group_by(sentiment) %>% summarise(toplam=n()) %>% mutate(oran=round(toplam/sum(toplam)*100,2)) %>% arrange(desc(oran)) %>% formattable()

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen Loughran leksikonu tanımlayıcı istatistikleri aşağıdaki tabloda verilmiştir. Aşağıda verilen bulgudan şu sonuç çıkarılmalıdır: %57,70 ile negatif duygunun 2021 Küresel Ekonomik Beklentiler (Global Economic Prospects) raporunun genelinde baskın olduğu görülmektedir. Metinde negatif duyguyu pozitif ve belirsizlik duyguları izlemiştir. Aslında duygu analizi bulguları, dünya ekonomisinde yaşanan durumu da ortaya koymaktadır.

Loughran leksikonu sonuçları aşağıda yazılan kod bloğu ile grafik üzerinde de verebiliriz.

l2 %>% 
group_by(sentiment) %>% summarise(n=n())%>%
ggplot(aes(reorder(sentiment, n), n, fill=sentiment)) +
geom_bar(stat="identity", show.legend = FALSE)+
geom_text(aes(label=n), vjust=-0.3, size=3.5)+
labs(y = "Frekans", x = "Duygu")+
theme_economist_white()+
labs(caption = "Veri: Global Economic Prospects adlı 2021 raporundan Tevfik Bulut tarafından analiz edilmiştir.")+
theme(plot.caption = element_text(hjust = 0, face = "italic"))

Yukarıdaki kod bloğu çalıştırıldığında Loughran leksikonuna göre 2021 Küresel Ekonomik Beklentiler raporundan elde edilen duygular aşağıdaki grafikte verilmiştir.

Duygu sözlükleri içerisinde duygu kategorisine filtreleme yapmak oldukça kolaydır. Örnek teşkil teşkil etmesi adına Raporda Loughran leksikonuna göre negatif olarak etiketlenen kelimelerden ilk 50’sini aşağıda yazılan kod bloğu ile verelim. Dilersek pozitif olarak etiketlenen kelimelerin tamamı elde edebilir ve xlsx uzantılı çalışma kitaplarına yazdırabiliriz. Benzer işlemleri diğer dil sözlüklerinde de gerçekleştirebiliriz.

l2 %>% filter(sentiment=='negative') %>% head(50) %>% pander(caption="Negatif olarak etiketlenen ilk 50 kelime")

Yukarıdaki kod bloğunun çalıştırılmasından sonra metinde negatif olarak etiketlenen ilk 50 kelime aşağıdaki tabloda verilmiştir.

-----------------------------
      word         sentiment 
----------------- -----------
     errors        negative  

    omissions      negative  

  discrepancies    negative  

     failure       negative  

   limitation      negative  

   disclaimer      negative  

      error        negative  

   disclaimer      negative  

    infringe       negative  

     claims        negative  

  infringement     negative  

    critical       negative  

    dangerous      negative  

 disappointments   negative  

      lost         negative  

   persistent      negative  

    deficits       negative  

   challenges      negative  

   challenges      negative  

   challenges      negative  

 disappointments   negative  

    weakness       negative  

   weaknesses      negative  

   downgraded      negative  

   downgraded      negative  

   downgrades      negative  

     crisis        negative  

   downgrades      negative  

     adverse       negative  

    dangerous      negative  

      lost         negative  

   persistent      negative  

    deficits       negative  

   challenges      negative  

    inaction       negative  

   challenges      negative  

     delayed       negative  

     crises        negative  

     damage        negative  

     adverse       negative  

     errors        negative  

     losses        negative  

    setbacks       negative  

    setbacks       negative  

   persistence     negative  

    setbacks       negative  

    setbacks       negative  

    setbacks       negative  

   devastating     negative  

   devastating     negative  
-----------------------------

Table: Negatif olarak etiketlenen ilk 50 kelime

Şimdide Loughran leksikonunda duygulara göre etiketlenmiş kelimelerin tamamını aşağıda yazılan kod bloğu ile verelim.

l2<-rpc %>% inner_join(get_sentiments("loughran"),by="word")
write_xlsx(l2, "rapor_loughranleksikonu.xlsx")

Yukarıdaki kod bloğunun çalıştırılmasından sonra Loughran leksikonundaki duygu kategorilerine göre etiketlenmiş metindeki bütün kelimeler xlsx uzantılı Microsoft Excel çalışma kitabına yazdırılmış olup aşağıdaki linkten indirebilirsiniz.

Loughran leksikonundaki duygu kategorilerine göre etiketlenmiş 50 kelimeyi olasılıklı örnekleme yöntemlerden biri olan ve önyargı (bias) içermeyen tekrarsız basit tesadüfi örnekleme yöntemi kullanarak seçmek için aşağıdaki gibi basit bir kod satırı yazalım.

set.seed(61) 
rpc %>% inner_join(get_sentiments("loughran"),by="word") %>% sample_n(50) %>% pander(caption="Basit Tekrarsız Tesadüfi Örnekleme Yöntemi İle Seçilen Kelimeler ve Duygu Etiketleri")

Loughran leksikonundaki duygu kategorilerine göre etiketlenmiş 50 kelime tekrarsız basit tesadüfi örnekleme yöntemi kullanarak belirlenmiş ve aşağıdaki tabloda verilmiştir.

-----------------------------
     word        sentiment   
-------------- --------------
   exposed        negative   

    crisis        negative   

   despite        positive   

   impaired     constraining 

 forbearance     litigious   

   friendly       positive   

 improvement      positive   

  deviation       negative   

  recessions      negative   

   greater        positive   

   whereas       litigious   

    crises        negative   

    gains         positive   

   success        positive   

    risks       uncertainty  

    crisis        negative   

  challenges      negative   

    risks       uncertainty  

    better        positive   

  effective       positive   

    risks       uncertainty  

    easing        negative   

   negative       negative   

  aggravate       negative   

    risks       uncertainty  

     poor         negative   

   require      constraining 

  discourage      negative   

  regulatory     litigious   

   advances       positive   

    damage        negative   

  aggravate       negative   

   stronger       positive   

    crises        negative   

  uncertain     uncertainty  

    crises        negative   

    sudden      uncertainty  

  excessive       negative   

 transparency     positive   

 forbearance     litigious   

    boost         positive   

  regulatory     litigious   

    severe        negative   

 probability    uncertainty  

    gains         positive   

     good         positive   

 difficulties     negative   

   despite        positive   

   advances       positive   

   adverse        negative   
-----------------------------

Table: Basit Tekrarsız Tesadüfi Örnekleme Yöntemi İle Seçilen Kelimeler ve Duygu Etiketleri

Dünya Bankasının raporu üzerinden sadece Loughran leksikonu kullanarak duygu analizi yapılmıştır. Burada 2. bölümde belirttiğim diğer duygu sözlükleri uygulama adımları kullanılarak diğer leksikonlara göre de duygu analizi yapılabilir.

4. Sentetik veriler üzerinden kelime bulutlarının oluşturulması

Örnek uygulama kapsamında son çalışma sentetik veriler üretilip kelime bulutlarının oluşturulmasıdır. Bu çalışma kapsamında sentetik olarak üretilen kelimelerin büyük bir çoğunluğu İstiklal Marşımızdan alınmıştır. Burada sentetik verilerin üretilmesinde tekrarlı örnekleme tekniği kullanılmış ve 10.000 gözlem üretilmiştir. Bu gözlemler üzerinde kelime bulutları oluşturulmuştur. Şimdi adım adım kelime havuzu oluşturup, ardından tekrarlı örnekleme tekniğini kullanarak 10000 gözlem üretelim. Ardından ise kelime bulutlarını oluşturalım. İlk olarak aşağıda yazılan kod bloğu ile vektör içerisinde kelime havuzumuzu oluşturalım.

#kelime havuzu oluşturma
havuz=c("anadolu", "türkiye", "vatan", "mehmetçik", "istanbul", "ankara", "başkent", "istiklal", "güvenlik","türk", "anıtkabir","fatih", "atatürk","ertuğrul", "diriliş", "lonca","kültür", "asker", "göktürk", "bağımsızlık", "zafer", "ulus","sancak","yurt","siper","hilal","hür", "toprak","millet","hürriyet","izmihlal", "ezan", "şüheda", "inklap","cumhuriyet", "bayrak", "şafak","iman", "medeniyet","ecdat","arş", "hür","hakk", "hüda","secde", "cüdâ", "şafak", "ay","yıldız", "bayrak")

Şimdi aşağıda yazılan kod bloğu ile tibble tablo düzeni içerisinde tekrarlı basit tesadüfi örnekleme yöntemiyle 10000 gözlemden oluşan bir tablo oluşturalım.

#tekrarlı örnekleme tekniği ile kelime tablosu oluşturma
set.seed(1299) # Aynı örneklem birimlerini almanız için sabitlenmiştir. 
orneklem= tibble(kelime=sample(havuz, size=10000, replace = TRUE))

Kelime tablomuzu oluşturduğumuza göre aşağıda yazılan kod bloğu ile kelimelerin sıklıklarını (frekanslarını) hesaplayabiliriz.

deneme<-orneklem %>% group_by(kelime) %>% count() %>% arrange(desc(n))
deneme<-deneme %>% add_column(id=1:NROW(sayi),.before = "kelime")
deneme

Kelime sıklık tablosunu oluşturduk. Şimdi sıra aşağıda yazılan kod bloğu ile kelime bulutlarını oluşturmaya gelmiştir. Aşağıda kod bloğunda kelime bulutunu hem png hem html olarak kaydedebilirsiniz. Size bu noktada bir tavsiye vereyim böyle bir durumda yani farklı formatta dosyaları aynı dosyaya kaydetmesi için R çalışma sayfasını çalışmaya başlamadan önce oluşturduğunuz bir klasör içerisinde açınız.

#kelime bulutunun oluşturulması
bulut1<- wordcloud2(head(deneme[,-1],150), size=0.5, color = "random-light", backgroundColor = "grey")

#html ve png olarak kaydedilmesi
saveWidget(bulut1,"bulut1.html",selfcontained = F)
webshot::webshot("bulut1.html","bulut1.png",vwidth = 1800, vheight = 1000, delay =10)

Yukarıdaki kod bloğunun çalıştırılmasından sonra sentetik verilerden ürettiğimiz kelime bulutu daire (circle) düzeninde aşağıda verilmiştir.

Son olarak aşağıda yazılan kod bloğu ile yıldız (star) düzeninde kelime bulutunu oluşturalım. Kelime bulutunda arka fonumuz kutsal bayrağımız rengi olan kırmızı, yıldızımız ise beyaz olsun.

#kelime bulutunun oluşturulması
bulut2<- wordcloud2(deneme[,-1], size=0.4, color = "white", backgroundColor = "red", shape="star", minRotation = -pi/6, maxRotation = -pi/6, rotateRatio = 1)

#html ve png olarak kaydedilmesi
saveWidget(bulut2,"bulut2.html",selfcontained = F)
webshot::webshot("bulut2.html","bulut2.png",vwidth = 1800, vheight = 1000, delay =10)

Yukarıdaki kod bloğunun çalıştırılmasından sonra sentetik verilerden ürettiğimiz kelime bulutu yıldız (star) düzeninde aşağıda verilmiştir.

“4. Sentetik veriler üzerinden kelime bulutlarının oluşturulması” başlığı altındaki bu çalışmayı yüce milletimize her koşulda hizmet eden şehit ve gazi kahraman Mehmetçiklerimize atfediyorum.

Yapılan bu özgün çalışmalar ile özellikle keşifsel veri analizi (exploratory data analysis), metin ve fikir madenciliği (text and opinion mining) alanlarına katkı sunulması amaçlanmıştır.

Veri bilimine gönül vermiş öğrenci, akademisyen ve saha çalışanlarına faydalı olması dileğiyle.

Bilimle ve teknolojiyle kalınız.

Saygılarımla.

Not: Kaynak gösterilmeden alıntı yapılamaz veya kopyalanamaz.

Note: It can not be cited or copied without referencing.

Yararlanılan Kaynaklar

Öne çıkan

Küresel Ekonomik Beklentiler 2021 Ocak Dönemi Raporu

Dünya Bankası tarafından 5 Ocak 2021 tarihinde 234 sayfalık Küresel Ekonomik Beklentiler (Global Economic Prospects) raporunun Ocak 2021 sayısı yayınlanmıştır. Raporda ağırlıklı olarak COVID-19 pandemisinin ekonomik etkileri değerlendirilmiş, projeksiyonlar çizilerek sonuçları analiz edilmiş, ardından küresel toplumun ihtiyaç duyduğu alınacak politika tedbirleri ortaya konularak önerilerde bulunulmuştur. Bu yazımızda raporda yer verilen küresel ekonomik görünüm, Orta Doğu ve Kuzey Afrika (MENA) bölge ülkeleri ile Avrupa ve Batı Asya (ECA) bölge ülkelerine ilişkin ekonomik görünümlerde öne çıkan bulgular ele alınmıştır. Küresel Ekonomik Beklentiler Raporu’nun 2020 Ocak dönemi sayısında öne çıkan bulgular başlıklara göre şöyledir:

Küresel Ekonomik Görünüm

COVID-19 pandemisi, 1929 Dünya Ekonomik Bunalımı ve ikinci Dünya Savaşı’nın neden olduğu küresel durgunluktan daha derin küresel bir durgunluğa neden olmuştur. Küresel ekonomik faaliyet yeniden büyüyor olsa da öngörülebilir gelecekte olağan faaliyetlere dönülmesi olası değildir. Ciddi sayıda can kaybına neden olan salgın, aynı zamanda milyonları aşırı yoksulluğa sürüklemiştir. Uzun bir süre boyunca faaliyet ve geliri pandemi öncesi eğilimlerinin çok altında kalan bireylerin üzerinde kalıcı yaralar bırakması beklenmektedir. Küresel ekonomik çıktı, COVID-19’un tetiklediği ekonomik durgunluğun ardından toparlansa da, uzun bir süre için pandemi öncesi eğilimlerin altında kalacaktır. Pandemi, on yıllık bir küresel borç birikimi dalgasıyla ilişkili riskleri daha da kötüleştirmiştir. Pandeminin önümüzdeki on yılda potansiyel büyümede uzun zamandır beklenen yavaşlamayı da hızlandırması muhtemel görülmektedir.

Gelişmiş ekonomilerin, 2021 ve 2022 yıllarında sırasıyla yüzde 3,3 ve yüzde 3,5’e ulaşması öngörülen büyümenin yaygın aşılama ve maliye politikalarındaki kısmi genişleme ile birlikte para politikası düzenlemeleri sayesinde toparlanması beklenmektedir. Gelişmekte olan ülkelerde büyümenin 2021’de yüzde 5’e, 2022’de yüzde 4,2’ye yükselmesi öngörülse de iyileşme büyük ölçüde Çin’in beklenen toparlanmasını yansıtmaktadır.

Orta Doğu ve Kuzey Afrika (MENA) Bölgesi Ekonomik Görünümü

Orta Doğu ve Kuzey Afrika (MENA) ülkelerindeki üretimin 2020’de yüzde 5,0 daraldığı tahmin edilmektedir. COVID-19 kaynaklı aksaklıklar petrol fiyatları ve petrol talebindeki keskin düşüşle birlikte kendini göstermiştir. MENA ülkelerindeki petrol ihracatçılarının üretiminin 2020’de yüzde 5,7 daraldığı tahmin edilmektedir. Bu daralma, bölgede zaten yavaşlayan büyümeyi daha da şiddetlendirmekte ve pandemi öncesi kişi başına gelir kayıplarını artırmaktadır. Pandemi kontrol altına alındığında ve kısıtlamalar hafifletildiğinde küresel petrol talebi artarken ve politika desteği devam ederken büyümenin 2021’de yüzde 2,1’e yükselmesi beklenmektedir.

Ancak pandeminin bölgede kalıcı ekonomik izler bırakması ve potansiyel büyümeyi azaltması beklenmektedir. COVID-19’un yeniden alevlenmesi, jeopolitik gerilimler ve siyasi istikrarsızlıkla ilgili daha fazla sorun alanlarının olması, petrol fiyatları ve ödemeler dengesi üzerinde aşağı yönlü bir görünümün ortaya çıkmasına neden olan risklerdir. Petrol ihracatçı ülkeler arasında, petrol talebinin normalleşmesi, OPEC ve petrol üretim kesintilerinin planlı bir şekilde gevşetilmesi, politika desteği ve yerel salgınla ilgili kısıtlamaların kademeli olarak kaldırılmasıyla büyümenin 2021’de yüzde 1,8’e çıkması beklenmektedir. Suudi Arabistan’da pandemi sırasında ertelenen kamu sermayesi yatırım projelerinin yeniden başlaması büyümeyi destekleyecektir. İran’daki büyümenin iç tüketim ve turizmin normale dönmeye başlaması ve COVID-19’un seyrinin stabil hale gelmesiyle toparlanması beklenmektedir. MENA bölge ülkelerinde piyasa fiyatlarına göre reel GSYH’da büyüme tahminleri ve 2021 öngörüleri Tablo 1’de verilmiştir.

Tablo 1: Orta Doğu ve Kuzey Afrika (MENA) Bölge Ülkelerinde Piyasa Fiyatlarına Göre Reel GSYH Tahminleri (%)

Kaynak: Dünya Bankası verilerinden tarafımca düzenlenmiştir.

Avrupa ve Batı Asya (ECA) Bölgesi Ekonomik Görünümü

ECA ülkelerinde COVID-19’un yeniden alevlenmesi faaliyetlerde kalıcı kesintilere neden olduğu için bölgesel ekonominin 2021’de yüzde 3,3 büyümesi beklenmektedir. Virüsün hızlı yayılması ve artan jeopolitik gerilimlerle birlikte ECA ekonomilerinin yaklaşık yüzde 75’indeki aşağı yönlü revizyonları yansıtan bölgesel tahminler 2021’de daha da düşürülmüştür. Pandeminin ekonomik etkilerinin giderek azalması ve ticaret ve yatırımdaki toparlanmanın ivme kazanmasıyla ECA ülkelerindeki büyümenin 2022’de yüzde 3,9’a yükselmesi beklenmektedir. 2022’deki iyileşmeye rağmen, GSYH’nin pandemi öncesi döneme göre tahminlerin yaklaşık yüzde 3 altında kalması beklenmektedir. 2020 yılında ekonomilerin yaklaşık beşte birinde salgın nedeniyle kişi başına düşen gelir, beş veya daha fazla yıl boyunca kaybedilmiştir. Ayrıca salgının, yatırım ve beşeri sermaye birikimi üzerindeki zararlı etkileri nedeniyle uzun vadede verimlilik artışındaki yavaşlamayı daha da şiddetlendirmesi beklenmektedir. Orta Avrupa’da büyümenin 2021’de yüzde 3,6’ya yükselmesi öngörülmektedir. Bu öngörü Euro bölgesinde faaliyet hacminin artmasıyla birlikte ticaretteki toparlanmayla da desteklenmektedir. Ancak COVID-19 vakalarındaki son artışla birlikte ekonomik görünüm tahminleri düşürülmüştür. Sıfıra yakın politika faiz oranları olan Macaristan, Polonya ülkeleri de dahil olmak üzere olağanüstü politika düzenlemelerinin 2021 boyunca devam etmesi beklenmektedir. ECA alt bölgeleri arasında en yüksek oranda mali destek paketi GSYH’nın yüzde 9’uyla Orta Avrupa ülkelerinde gerçekleşmiştir. COVID-19 ile mücadelenin bir parçası olarak Orta Avrupa ülkelerine yönelik hazırlanan Avrupa Birliği (AB) yapısal fon paketi orta vadeli büyümeyi desteklemektedir.

Türkiye ekonomisi 2020’de daralmadan kaçınmış ve kredilerdeki önemli artışla birlikte işlem tahmini yüzde 0,5 oranında artırmıştır. İç talepteki toparlanmanın sürmesi ile büyümenin 2021’de yüzde 4,5’e yükselmesi beklenmektedir. Politika faiz oranındaki artışlara rağmen Türk lirası ABD doları karşısında yeniden düşüşe geçmiştir. Bu durum bilançoları aşındırmış ve ek döngüsel karşı politika tedbirlerine başvurulmuştur. Yeni COVID-19 vakalarındaki keskin artış beklenenden daha zayıf uluslararası turizm talebi oluşturmuş, daha sıkı para politikası uygulanması ise ekonomik iyileşme üzerinde baskı yaratmıştır.

Denemelerde yüksek etkinlik oranlarına sahip birden fazla COVID-19 aşısının geliştirilmesine rağmen ekonomik görünümün riskleri hala yüksektir. ECA ülkelerinde kısa vadeli büyüme görünümü bazı ülkelerde sosyal refah düşüşleri, yeniden tırmanan jeopolitik gerilimler ve yeni vakalardaki artışla birlikte daha da belirsiz bir hal almıştır. Birkaç Euro bölgesi ülkesi, ECA’daki dış talebi zayıflatabilecek ülke çapında kapanmaları yeniden uygulamaya zorlanmıştır. Benzer şekilde, ECA içinde artan vakalar daha katı kısıtlamalar getirebilir.

Seyahatteki gerileme uzun sürerse, özellikle turizme bağımlı Orta Avrupa, Türkiye, Batı Balkan ekonomilerinde büyüme tahminleri çok daha zayıf bir seyir izleyebilir. COVID-19 aşılarının üretimi, tedariki veya dağıtımındaki gecikmeler, beklenenden düşük aşı etkinliği veya pandemiye bağlı kısıtlamaların devam etmesi de ekonomik iyileşmeyi geciktirebilir. Dağıtım ve aşılamanın zorlukları, sağlık hizmeti kapasitesinin ECA’nın diğer bölgelerinden daha zayıf kalan Orta Asya’da özellikle artmaktadır. ECA bölge ülkelerinde piyasa fiyatlarına göre reel GSYH’da büyüme tahminleri ve 2021 öngörüleri ise Tablo 2’de verilmiştir.

Tablo 2: Avrupa ve Batı Asya (ECA) Bölge Ülkelerinde Piyasa Fiyatlarına Göre Reel GSYH Tahminleri (%)

Kaynak: Dünya Bankası verilerinden tarafımca düzenlenmiştir.

Faydalı olması ve farkındalık oluşturması dileğiyle.

Bilimle ve teknolojiyle kalınız.

Yararlanılan Kaynaklar

  • World Bank. 2021. Global Economic Prospects, January 2021. Washington, DC: World Bank. DOI: 10.1596/978-1-4648-1612-3. License: Creative Commons Attribution CC BY 3.0 IGO.
  • Microsoft Corporation. (2016). Microsoft Excel. Retrieved from https://office.microsoft.com/excel
Öne çıkan

R’da Normal Dağılım Dönüşümleri Üzerine Vaka Çalışmaları: Case Studies on Normal Distribution Transformations in R

Giriş

Analizle uğraşan gerek akademik gerekse saha çalışanları verinin normal dağılım göstermediği durumlarda sıklıkla verinin normal dağılım dönüşümlerine başvurdukları bilinmekte ve görülmektedir. Normal dağılım sürekli olasılık dağılımlarından biridir. Geleneksel istatistik literatüründe özellikle parametrik test varsayımlarından birinin verinin normal dağılım gösterdiği varsayımıdır. Ancak genellikle biz uygulamada verinin normal dağılım göstermediğini biliriz. Peki bu durumda ne yaparız? Bu durumda yapılması gereken veriyi normal dağılıma uygun hale getirmektir. Peki ama nasıl? Öncelikle verinin dağılım yapısı histogramlarla, q-q, p-p ve kutu grafiklerle veya en kesin sonuç normalite testleriyle ortaya konulabilir. Normalite testleri tek değişkenli olarak yapılacaksa hepimizin yakından bildiği Shapiro-Wilk test veya Kolmogorov-Smirnov testi yapılır. Genellikle gözlem sayısının 50’nin altında değişken veri setlerinde Shapiro-Wilk testin kullanılmasının uygun olacağı iddia edilse de daha yüksek gözlem sayılarında da bu normalite testinin kullanıldığı görülmektedir. Literatürde yaygın olarak kullanılan diğer tek değişkenli normalite testleri ise şöyledir:

  • Lilliefors düzeltmeli K-S testi,
  • Anderson-Darling testi
  • Cramer-von Mises testi
  • D’Agostino çarpıklık testi
  • Anscombe-Glynn basıklık testi
  • D’Agostino-Pearson omnibus testi
  • Jarque-Bera testi.

Tek değişkenli normalite testlerinde yokluk (Hnull) hipotezimiz yani “H0:Dağılım normal dağılım gösterir” şeklinde kurulur. Test sonucunda bulunan önemlilik düzeyi(p), a (alfa) yanılma düzeyinden diğer bir ifadeyle tip I hata (alfa hatası)’dan büyükse dağılımın normal dağılım gösterdiğini söyleriz. Örneğin Shapiro-Wilk veya Kolmogorov-Smirnov test istatistikleri söz gelimi 0,73 ve p değeri 0,06 ise p değeri a=0,05’ten büyük olduğu için dağılımın normal dağılım gösterdirdiği söylenir ve bu durumda H0 hipotezi kabul edilir. Diğer yandan ise alternatif hipotez red edilir. Alternatif hipotezin reddedilmesi, dağılımın normal dağılım göstermediği anlamına gelir. Bu arada değişken veri setinin çarpıklık (skewness) ve basıklık (kurtosis) değerlerine ve şekline de bakarak dağılımın yapısında bir yargıya ulaşılabilir. Çarpıklık, bir simetri ölçüsüdür, daha doğrusu, simetri eksikliğini gösterir. Bir dağılım veya veri kümesi, merkez noktanın solunda ve sağında aynı görünüyorsa simetriktir. Basıklık ise verilerin normal bir dağılıma göre kalın veya hafif kuyruklu olup olmadığının bir ölçüsüdür. Standart normal bir dağılımda çarpıklık ve basıklık değerleri 0’a eşittir. Diğer bir deyişle, yüksek basıklığa sahip veri setleri, büyük veya aykırı değerler (outliers)’e sahip olma eğilimindedir. Düşük basıklığa sahip veri kümeleri, düşük kuyruklara veya düşük aykırı değerlere sahip olma eğilimindedir. Ayrıca aralık yöntemi de değişken veri setinin normal dağılıma uygunluğunun test edilmesinde kullanılabilir. Diğer bir yaklaşım ise merkezi dağılım ölçülerinden olan ortalama, medyan ve mod değerlerine bakılarak dağılımın yapısı hakkında fikir edinilebilmesidir. Örneğin standart normal dağılımın ortalaması 0 ve standart sapması ise 1’e eşittir. Buradan bakıldığında eğer değişken veri setinin ortalaması ne kadar 0’a, standart sapması ise 1’e yakın olursa dağılımın normal dağılımına evrildiğini söyleyebiliriz.

Dönüşüm, ingilizce ifadeyle transformation veri setindeki değişkenlerin farklı bir birimle ifade edilmesidir. Dağılımını normal dağılıma dönüştürmek aslında hepimizin bildiği can eğrisine dönüştürmektir. Sözü gelmişken ifade etmek isterim verinin dönüştürülmesi ile standardizasyon iki farklı kavramdır. Dolayısıyla birbirine karıştırılmaması gerekir. Verinin dönüştürülmesinde dağılımın şekli değişirken, standardizasyonda dağılımın şeklinde bir değişiklik olmaz. Yani bu iki kavram farklı amaçlara hizmet etmektedir. Farklı yöntemlerle verinin standardize edilmesine yönelik daha önce yaptığım uygulamalı çalışmayı görmek isteyenler için çalışmanın linkini aşağıda paylaşıyorum.

Verinin Standartlaştırılması Üzerine Vaka Çalışmaları

Esasında normallik dönüşümü yapmakta amacımız, Şekil 1’de ortada yer alan normal dağılım olarak adlandırdığımız simetrik dağılıma veriyi dönüştürmektir. Simetrik dağılım ya da standart normal dağılımda şekilde görüleceği üzere ortalama (mean), medyan (median) ve mod (mode) değerleri birbirine eşittir. Normallik dönüşümlerinde de bizim amacımız Şekil 1’in solunda yer alan pozitif çarpık (sağa çarpık) ve Şekil 1’in sağında yer alan negatif çarpık (sola çarpık) dağılımları normal dağılıma yani simetrik dağılıma evrilmesini sağlamaktır. Pozitif çarpık bir dağılımda Mod <Medyan <Ortalama sırası bulunmakta iken, negatif çarpık bir dağılımda ise Mod> Medyan> Ortalama sırası bulunmaktadır.

Şekil 1: Normal ve Çarpık Dağılımlar

Kaynak: https://www.oreilly.com

Ancak dikkat edilmesi gereken bir konu olduğu için burası önemlidir: eğer kurulacak çok değişkenli analiz modellerinde normal dağılım varsayımı geçerliyse aynı anda bütün değişkenlerin içerisinde olduğu çok değişkenli normalite testi yapılmalıdır. Çünkü değişkenlerin bireysel bazda normal dağılım varsayımı karşılaması birlikte bu varsayımı karşılayacağı anlamına gelmemektedir. Yani her bir değişken durumuna uygun dönüşümle normal dağılıma uygun hale getirildikten sonra çok değişkenli normalite testi yapılmalıdır. Bir diğer durum değişken veri setlerinde bazı değişkenlerin normal dağılım gösterirken diğerlerinin normal dağılım göstermemesidir. Bu durumda da çok değişkenli normalite testi yapılmalıdır. Dolayısıyla normallik dönüşümlerinin iki farklı boyutu olduğu için iki başlık altında ele alınmaktadır:

a) Tek değişkenli veri seti setlerinde normallik dönüşümleri

b) Çok değişkenli veri seti setlerinde normal dağılım varsayımının incelenmesi

a) Tek değişkenli veri seti setlerinde normallik dönüşümleri

Tek değişkenli veri setlerinde dağılımın çarpıklık yapısına bağlı olarak yapılacak dönüşümler farklılık göstermektedir:

  1. Eğer dağılım ılımlı derecede pozitif çarpık, diğer bir ifadeyle ılımlı derecede sağa çarpık ise karekök dönüşümü ve bazı durumlarda ondan daha etkili olan küp kök dönüşümü yapılır. Eğer karekök dönüşümü yapılacak değişken veri setinde 1’den küçük değerler varsa en küçük değeri 1 yapacak şekilde bir sabit terimin gözlem değerlerine ilave edilmesi gerekir. Bazen de bu dağılım yapılarında Tukey dönüşümü (Tukey’s Ladder of Powers transformation) de kullanılmaktadır. Burada mutlak şekilde bu veya şu dönüşümü kullanmak gerektiğini söylemek çok doğru bir yaklaşım olmaz, verinin üzerinde test edilip değerlendirilmesi gerekir.
  2. Eğer dağılım şiddetli derecede pozitif çarpık, diğer bir ifadeyle şiddetli derecede sağa çarpık ise logaritmik (log) dönüşümü yapılır. Eğer log dönüşümü yapılacak değişken veri setinde 1’den küçük değerler varsa en küçük değeri 1 yapacak şekilde bir sabit terimin gözlem değerlerine ilave edilmesi gerekir.
  3. Eğer dağılım ılımlı veya şiddetli derecede negatif çarpık, diğer bir ifadeyle sola çarpık ise veri setindeki her bir gözlem, veri setindeki maksimum değer + 1 değerinden çıkarılarak dağılımı pozitif çarpık bir dağılıma dönüştürülür. Daha sonra pozitif çarpık dağılımlarda uygulanan dönüşüm yöntemleri uygulanarak dağılım normal dağılıma dönüştürülür. Negatif çarpık dağılımlarda değişken veri setinde kare veya küp dönüşümü de yapılabilmektedir. Ayrıca değişken veri setindeki değerler 0-1 aralığında ise bu durumda da log(x/(1-x)) dönüşümü uygulanabilmektedir. Doğrudan negatif çarpık dağılımların normallik dönüşümlerinde sıralı çeyreklik normalleştirme dönüşümü (Ordered Quantile (ORQ) normalizing transformation) de kullanılabilmektedir. Sıralı çeyreklik normalleştirme dönüşümü g(x) = Φ ^ {-1} ((sıra(x) – 0,5) / (uzunluk(x))) eşitliği ile hesaplanmaktadır. Eşitlikte Φ, standart normal kümülatif dağılım fonksiyonu (cdf)’nu ifade ederken, sıra (x) her bir gözlemin sırasını ve uzunluk (x) gözlem sayısını ifade etmektedir.

Değişkenin veri tipine göre de yapılacak dönüşüm farklılık gösterebilmektedir. Eğer kesikli nicel bir veri tipine sahipsek karekök dönüşümü uygulanabilmektedir. Diğer taraftan aşırı derecede çarpık dağılıma sahip bir değişken veri setinde değişken veri setinin tersi de alınabilmektedir. Ancak oran türünde bir değişken veri setine sahip isek bu durumda sıklıkla logit dönüşümü kullanabiliriz. Logit dönüşüm eşitliği şöyledir: Logit(p)=loge(p/1-p). Logit dönüşüm daha çok regresyon analizlerinde kullanılmaktadır. Pozitif çarpık dağılımlar uygulamada en sık karşılaşılan dağılımlardan biridir. Basedilenler ışığında kullanılan dönüşüm yöntemleri Şekil 2 üzerinde verilmiştir.

Şekil 2: Normallik Dönüşüm Yöntemleri

b) Çok değişkenli veri seti setlerinde normal dağılım varsayımının incelenmesi

Çok değişkenli veri setlerinde aynı anda normalite testlerinin yapılması ile değişken bazında normalite testlerinin yapılması aynı sonucu doğurmamaktadır. Diğer bir ifadeyle, bütün değişken veri setlerinin bireysel bazda normal dağılım göstermesi tamamı aynı anda değerlendirildiği zaman normal dağılım göstereceğini garanti etmez. Bunu şöyle düşünebiliriz; Bir futbol takımı düşünün her bir oyuncu oynadığı pozisyonda iyi işler çıkarıyor. Ancak iş takım oyununa geldiğinde uyum problemi yaşanabiliyor. Yani 1 futbolcunun 11 kişilik takımda bireysel anlamda iyi olması 11 kişilik takımın da iyi olacağı anlamına ve takım üyelerinin birbirine iyi uyum sağlayacağı anlamına gelmez. Bu örnekten hareketle çok değişkenli normalite testleri de aslında takım üyelerinin (bütün değişkenlerin) aynı anda normal dağılım gösterip göstermediğini bize verir. Literatürde daha fazla çok değişkenli normalite testleri bulunmakla birlikte öne çıkan çok değişkenli normalite testleri şöyledir:

  • Mardia’nın çok değişkenli normallik testi: Mardia’nın testi çok değişkenli çarpıklık ve basıklık katsayılarını ve bunlara karşılık gelen istatistiksel anlamlılıklarını hesaplar. Küçük örneklem büyükleri (n <20) için çarpıklık katsayısının düzeltilmiş versiyonunu da hesaplayabilir. Çok değişkenli normallik için hem çarpıklık hem de basıklık istatistiğinin p değerleri 0,05’ten büyük olmalıdır. Verilerde eksik gözlemler varsa, liste halinde silme uygulanır ve tam bir durum analizi gerçekleştirilir.
  • Henze-Zirkler çok değişkenli normallik testi: Henze-Zirkler testi, iki dağılım (gözlemlenen ve teorik) arasındaki mesafeyi ölçen negatif olmayan bir fonksiyona dayanmaktadır. Çok değişkenli veriler normalse, test istatistiği (HZ) yaklaşık olarak log-normal olarak dağılım gösterir. Verilerde eksik gözlemler varsa, liste halinde silme uygulanır ve tam bir durum analizi gerçekleştirilir.
  • Royston çok değişkenli normallik testi: Çok değişkenli normalite testlerinden en sık kullanılanlardan biri de Royston tarafından 1992 yılında önerilen Royston testidir. Bu testte çok değişkenli normal dağılıma uygunluğun test edilmesinde Shapiro-Wilk veya Shapiro-Francia test istatistiğinden yararlanılır. Öncelikle bu testte her bir değişken için basıklık değerleri hesaplanır, ardından değişkenlerin basıklık katsayıları 3’ten büyükse Shapiro-Francia test istatistik değeri, eğer basıklık değeri 3’ten küçükse Shapiro-Wilk test istatistik değeri kullanılır.
  • Enerji çok değişkenli normallik testi: Çok değişkenli dağılımlar arasındaki enerji mesafesi kavramına dayanmaktadır. Enerji adlandırması, Newton’un yerçekimi potansiyel enerjisi ile yakın bir benzetmeden kaynaklanmaktadır.

Bireysel baz kurulan hipotezlere benzer olarak çok değişkenli normalite testlerinde de aşağıda belirtildiği gibi hipotezler kurulur.

  • H0 (yokluk): Değişkenler çok değişkenli normal dağılım gösterir.
  • H1 (alternatif): Değişkenler çok değişkenli normal dağılım göstermez.

Çalışma kapsamında tesadüfi bir şekilde üretilen değişken gözlemleri üzerinden değişken veri setlerinin normallik dönüşümü öncesi ve sonrası normal dağılım varsayımı test edilmiştir. Ayrıca çok değişkenli normalite testleri de yapılarak normallik varsayımı bir bütün olarak ele alınmıştır.

Metodoloji ve Uygulama Sonuçları

İlk olarak analizde kullanılacak R kütüphanelerini vererek işe başlayalım. Aşağıda gerekenden fazla kütüphane verdiğimi biliyorum. Ancak daha çok esneklik ve estetik tasarım tanıdığı için genellikle olması gerekenden fazla kütüphane ile çalışıyorum. İki veya daha fazla değişkenli veri seti setlerinde normal dağılım varsayımının incelenmesinde kullanılan kütüphaneler “MVN” iken, normallik dönüşümlerinde ise “dlookr”, “bestNormalize” kütüphaneleridir. Analizlerde R programlama dili kullanılmıştır. Bulguların çalışma kitaplarına yazdırılmasında ise xlsx uzantılı Microsoft Excel çalışma kitapları kullanılmıştır.

Yüklenecek kütüphaneler

# Kütüphaneler
library<-c("dplyr","tibble","tidyr","ggplot2","ggthemes","readr","readxl","ggpubr","formattable", "ggstance", "pastecs","writexl", "psych", "GGally","pander", "MVN", "dlookr")
loading<-sapply(library, require, character.only = TRUE)
 
# Kütüphane yüklenme durumunu gösteren tablo
tablo=suppressWarnings(loading, classes = "warning")
 
isim=names(tablo)
 
deger=as_tibble(tablo)
 
data.frame(kutuphane=isim, yuklenme_durumu=deger$value) %>% mutate(yuklenme_durumu=if_else(yuklenme_durumu==TRUE, "Yuklendi", "Paket Kurulumu Gerekli")) %>% pander(caption="Kütüphane Yüklenme Bilgisi")

Yukarıdaki R kod bloğunun çalıştırılmasından sonra yukarıdaki kütüphanelerin yüklenip yüklenmediğine dair aşağıdaki gibi mantıksal vektör sonuçları gelecektir. Eğer mantıksal vektör sonuçlarının hepsi TRUE ise kütüphanelerin hepsi yüklenmiştir demektir. Kolaylık sağlaması açısından yukarıda kütüphanelerin yüklenmesini gösterir tabloyu da elde etmek ve daha kolay okumanız için yukarıdaki kod bloğu içerisinden kısa bir kod yazdım. Bu kod çalıştırıldığında aşağıdaki tabloda görüleceği üzere bütün kütüphaneler yüklenmiştir. Eğer ilgili kütüphane yüklenmemiş olursa “Paket Kurulumu Gerekli” ifadesi satırda yazacaktır. Satırda yazan bu uyarı metnine göre paketi ya kurar yada yüklersiniz. Bir paketin kurulması ile yüklenmesinin aynı şey olmadığını burada ifade etmek gerekir konuyu yabancı olanlar için. Paket kurulumu ilk defa yapılan bir işlem iken, paketin yüklenmesi zaten kurulan bir paketin yüklenmesi yani çalışır duruma getirilmesidir. İlk defa bir paket kurulumu gerçekleştiriliyorsa install.packages() fonksiyonunu, zaten bir paket kurulumu gerçekleştirilmiş ise ilgili paketin veya kütüphanenin yüklenmesi veya okunması için library() veya require() fonksiyonlarını kullanıyoruz. Fonksiyonlardaki parantez () içerisine yüklenecek paket veya kütüphane adını yazıyoruz.

-------------------------------
  kutuphane    yuklenme_durumu 
------------- -----------------
    dplyr         Yuklendi     

   tibble         Yuklendi     

    tidyr         Yuklendi     

   ggplot2        Yuklendi     

  ggthemes        Yuklendi     

    readr         Yuklendi     

   readxl         Yuklendi     

   ggpubr         Yuklendi     

 formattable      Yuklendi     

  ggstance        Yuklendi     

   pastecs        Yuklendi     

   writexl        Yuklendi     

    psych         Yuklendi     

   GGally         Yuklendi     

   pander         Yuklendi     

     MVN          Yuklendi     

   dlookr         Yuklendi     
-------------------------------

Table: Kütüphane Yüklenme Bilgisi

Veri setinin oluşturulması

Oluşturulan veri setinde 4 değişken bulunmakta olup, aşağıdaki kurallara göre oluşturulmuştur.

  • v1 değişkeni pozitif çarpık dağılım gösteren üstel (exponential) dağılımdan tesadüfi bir şekilde üretilen 1000 gözlemden oluşmaktadır. Üstel beta dağılıma göre veri üretmek için rexp() fonksiyonu kullanılmıştır.
  • v2 değişkeni negatif çarpık dağılım gösteren beta dağılımdan tesadüfi bir şekilde üretilen 1000 gözlemden oluşmaktadır. Beta dağılımdan veri üretmek için rbeta() fonksiyonu kullanılmıştır.
  • v3 değişkeni negatif çarpık dağılım gösteren beta dağılımdan tesadüfi bir şekilde üretilen 1000 gözlemden oluşmaktadır. Tek biçimli (uniform) dağılıma göre veri üretmek için runif() fonksiyonu kullanılmıştır.
  • v4 değişkeni negatif çarpık dağılım gösteren beta dağılımdan tesadüfi bir şekilde üretilen 1000 gözlemden oluşmaktadır. Normal dağılıma uygun veri üretmek için rnorm() fonksiyonu kullanılmıştır.
set.seed(61) #üretilen değişken gözlem değerlerini sabitlemek için

v1=rexp(1000,rate=2) #Üstel dağılımdan tesadüfi bir şekilde üretilen 1000 gözlemli pozitif çarpık dağılım

v2=rbeta(1000,2,0.5,ncp=2) ##Beta dağılımdan tesadüfi bir şekilde üretilen 1000 gözlemli negatif çarpık dağılım

v3=runif(1000,min=0,max=2) # Tek biçimli (uniform) dağılımdan üretilen 1000 gözlemli iki modlu dağılım

v4=rnorm(n=1000, mean=0, sd=1) #standart normal dağılım (ortalama=0, standart sapma=1)'dan üretilen 1000 gözlemli  değişken

veri=cbind(v1,v2,v3,v4) %>% as_tibble()
veri

#ilk 10 gözlemin gösterilmesi
head(veri,10) %>% formattable()

Yukarıdaki R kod bloğu çalıştırıldıktan sonra elde edilen ilk 10 gözlem aşağıdaki tabloda verilmiştir.

a) Tek değişkenli değişken veri setlerinin normallik dönüşümleri

Veri setindeki değişkenlerin dağılım yapısının yoğunluk grafikleriyle ortaya konulması

Aşağıda yazılan kod bloğu ile ilk olarak oluşturulan veri setindeki değişkenlerin dağılım yapısı yoğunluk grafikleriyle karşılaştırmalı olarak ortaya konulmuştur.

# V1 değişkeninin dağılımı
v1=ggdensity(veri, x = "v1", fill = "red", title = "v1: Pozitif Çarpık", add = "mean")

# V2 değişkeninin dağılımı
v2=ggdensity(veri, x = "v2", fill = "red", title = "v2: Negatif Çarpık", add = "mean") 

# V3 değişkeninin dağılımı
v3=ggdensity(veri, x = "v3", fill = "red", title = "v3: İkili Mod Dağılımı", add = "mean") 

# V4 değişkeninin dağılımı
v4=ggdensity(veri, x = "v4", fill = "red", title = "v4: Standart Normal Dağılım", add = "mean")

ggarrange(v1,v2,v3,v4, ncol=2, nrow=2)

Yukarıdaki R kod bloğunun çalıştırılmasından sonra elde edilen yoğunluk grafikleri değişkenlere göre aşağıda verilmiştir. Grafiklerde gösterilen y eksenine paralel kesikli siyah doğru ortalamayı göstermektedir.

Aşağıda yazılan kod bloğu ile ayrıca veri setindeki değişkenlerin dağılım yapısı teorik normal dağılım ile birlikte yoğunluk grafikleriyle ortaya konulmuştur.

# V1 değişkeninin dağılımı
v1=ggdensity(veri, x = "v1", fill = "red", title = "v1: Pozitif Çarpık", add = "mean") +
  stat_overlay_normal_density(color = "blue", linetype = "dashed")

# V2 değişkeninin dağılımı
v2=ggdensity(veri, x = "v2", fill = "red", title = "v2: Negatif Çarpık", add = "mean") +
  stat_overlay_normal_density(color = "blue", linetype = "dashed")

# V3 değişkeninin dağılımı
v3=ggdensity(veri, x = "v3", fill = "red", title = "v3: İkili Mod Dağılımı", add = "mean") +
  stat_overlay_normal_density(color = "blue", linetype = "dashed")

# V4 değişkeninin dağılımı
v4=ggdensity(veri, x = "v4", fill = "red", title = "v4: Standart Normal Dağılım", add = "mean") +
  stat_overlay_normal_density(color = "blue", linetype = "dashed")

ggarrange(v1,v2,v3,v4, ncol=2, nrow=2)

Veri setindeki değişkenlerin dağılım yapısı teorik normal dağılım ile birlikte yoğunluk grafikleriyle aşağıda verilmiştir. Bu grafiklerde teorik normal dağılım eğrisinin verilmesi mevcut değişken veri setindeki dağılım ile olması gereken normal dağılım yapısı arasındaki farkı görmek açısından önem arz etmektedir. Grafiklerde gösterilen y eksenine paralel kesikli siyah doğru ortalamayı göstermektedir.

Veri setindeki değişkenlerin dağılım yapısının q-q grafikleriyle ortaya konulması

Aşağıda yazılan kod bloğu ile veri setindeki değişkenlerin dağılım yapısı q-q grafikleriyle karşılaştırmalı olarak ortaya konulmuştur.

v1=ggplot(data=veri,                 
       aes(sample=v1)) +
  geom_qq() +                     
  geom_qq_line() +
  ggtitle("v1: Pozitif Çarpık")

v2=ggplot(data=veri,                 
       aes(sample=v2)) +
  geom_qq() +                     
  geom_qq_line() +
  ggtitle("v2: Negatif Çarpık")

v3=ggplot(data=veri,                 
       aes(sample=v3)) +
  geom_qq() +                     
  geom_qq_line() +
  ggtitle("v3: İkili Mod Dağılımı")

v4=ggplot(data=veri,                 
       aes(sample=v4)) +
  geom_qq() +                     
  geom_qq_line() +
  ggtitle("v4: Standart Normal Dağılım")

ggarrange(v1,v2,v3,v4, ncol=2, nrow=2)

Veri setindeki değişkenlerin dağılım yapısı q-q grafikler ile birlikte aşağıda verilmiştir. Veri setinin normal dağılıma uygun olup olmadığını ortaya koymada sıklıkla yararlanılan q-q grafiklerde teorik doğru üzerinde veri setinin dağılımın olması o veri setinin normal dağılıma sahip olduğunu veya normal dağılıma evrildiğini göstermektedir. Aşağıdaki grafiklere bakıldığında v4 değişkenindeki gözlemlerin doğru boyunca ilerlediği görülmektedir. Dolayısıyla burada v4 değişkeninin normal dağılım gösterdiğini söyleyebiliriz.

Veri setindeki değişkenlerin çarpıklık ve basıklık değerlerinin hesaplanması

Veri setindeki özellikle çarpık değerleri dağılım simetrik yapısını ortaya koymada oldukça yararlıdır. Aşağıda yazılan kod bloğu ile veri setindeki değişkenlerin hem çarpıklık hem de basıklık değerleri ortaya konulmuştur.

#çarpıklık değerlerinin hesaplanması
cv1=Skew(veri$v1)
cv2=Skew(veri$v2)
cv3=Skew(veri$v3)
cv4=Skew(veri$v4)

carpiklik= rbind(cv1, cv2, cv3,cv4)

#basıklık değerlerinin hesaplanması
bv1=Kurt(veri$v1)
bv2=Kurt(veri$v2)
bv3=Kurt(veri$v3)
bv4=Kurt(veri$v4)

basiklik= rbind(bv1, bv2, bv3,bv4)

#test etiketleri
test_tur=c(rep("Çarpıklık", 4), rep("Basıklık", 4))

#değişken etiketleri
degisken=rep(paste("V",1:4, sep = ""), 2)

#tablo oluşturma
tablo=cbind(degisken, test_tur,rbind(carpiklik,basiklik)) %>% as_tibble() %>% rename(deger=V3) %>% mutate(deger=round(as.numeric(deger),3))

formattable(tablo, align =rep("l",3), list(
  `test_tur` = formatter("span", style = ~ style(color = "black",font.weight = "bold")), 
  `deger`= color_bar("#00FF7F")
))

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen veri setindeki değişkenlerin çarpıklık ve basıklık değerleri aşağıdaki tabloda verilmiştir. Daha önce bahsettiğimiz üzere standart normal bir dağılımda çarpıklık ve basıklık değerleri 0’a eşittir. Buradan baktığımızda çarpıklık ve basıklık değerleri 0’a ne kadar yakınsa o ölçüde normal dağılıma evrildiğini söyleyebiliriz. Tabloya bakıldığında 0’a en yakın çarpıklık ve basıklık değerleri olan değişken v4 değişkeni olduğu için normal dağılıma sahip olduğunu söyleyebiliriz.

Veri setindeki değişkenlerin normalite testleri

Önceki kısımda yaptığımız testler her ne kadar dağılımın normal dağılım gösterip göstermediğini ortaya koymada yardımcı olsa da kesin bir karara varmak için normalite testleri yapılması gerekir. Aşağıda yazılan kod bloğu ile veri setindeki her bir değişkenin iki kuyruklu (two-sided) Kolmogorov-Smirnov (K-S) ve Shapiro-Wilks (S-W) testleri yapılarak dağılımın normal dağılıma uyup uymadığı kesin olarak ortaya konulmuştur.

options(scipen = 999)#sayısal bulguları bilimsel notasyondan kurtarmak için

#Kolmogorov-Smirnov (K-S) testleri (iki kuyruklu)
v1=ks.test(veri$v1, "pnorm", mean=mean(veri$v1), sd=sd(veri$v1))
v2=ks.test(veri$v2, "pnorm", mean=mean(veri$v2), sd=sd(veri$v2))
v3=ks.test(veri$v3, "pnorm", mean=mean(veri$v3), sd=sd(veri$v3))
v4=ks.test(veri$v4, "pnorm", mean=mean(veri$v4), sd=sd(veri$v4))

ks_testistastistigi=rbind(v1$statistic, v2$statistic, v3$statistic, v4$statistic)
ks_pdegeri=rbind(v1$p.value, v2$p.value, v3$p.value, v4$p.value)

#Shapiro-Wilks (S-W) testleri
v1=shapiro.test(veri$v1)
v2=shapiro.test(veri$v2)
v3=shapiro.test(veri$v3)
v4=shapiro.test(veri$v4)

sw_testistastistigi=rbind(v1$statistic, v2$statistic, v3$statistic, v4$statistic)
sw_pdegeri=rbind(v1$p.value, v2$p.value, v3$p.value, v4$p.value)

#test etiketleri
test_tur=c(rep("Kolmogorov-Smirnov", 4), rep("Shapiro-Wilks", 4))

#değişken etiketleri
degisken=rep(paste("V",1:4, sep = ""), 2)

#tablo oluşturma
t=cbind(degisken, test_tur, rbind(ks_testistastistigi,sw_testistastistigi),rbind(ks_pdegeri,sw_pdegeri)) %>% as_tibble() 
t= t %>% rename(testin_turu=test_tur, test_istatistigi=D, p_degeri=V4)%>% mutate(p_degeri=as.numeric(p_degeri), test_istatistigi=as.numeric(test_istatistigi)) %>% mutate(sonuc=if_else(p_degeri>0.0499, "normal dağılım göstermektedir", "normal dağılmamaktadır")) %>% mutate_if(is.numeric, round, 3) %>% formattable()
t

Yukarıda yazılan kod bloğunun çalıştırılması ile elde edilen veri setindeki her bir değişkenin iki kuyruklu (two-sided) Kolmogorov-Smirnov (K-S) ve Shapiro-Wilks (S-W) test sonuçları aşağıdaki tabloda verilmiş ve yukarıda yazılan basit bir algoritmayla yorumlanmıştır. Aşağıdaki tablodan görüleceği üzere v4 değişkeninde p değeri 0,05’ten büyük olduğu için hem Kolmogorov-Smirnov (K-S) hem de Shapiro-Wilks (S-W) test sonuçları istatistiksel olarak anlamlı olup, bu sonuç v4 değişkeninin normal dağılım gösterdiğini ortaya koymaktadır. Bu durumda “Dağılım normal dağılım gösterir” şeklinde kurulan H0 hipotezi kabul edilirken H1 yani alternatif hipotez reddedilir.

Veri setindeki değişkenlerin normal dağılıma dönüştürülmesi

  1. v1 değişkeninin dönüştürülmesi

v1 değişkeni aşağıda yazılan kod bloğu ile Tukey (Tukey’s Ladder of Powers) dönüşüm uygulanarak normal dağılıma dönüştürülmüştür. Aynı zamanda dönüştürülen değişken gözlemlerinin grafiklerle ve Shapiro-Wilk testi ile normal dağılıma uygunluğu test edilmiştir.

#v1 değişkenine Tukey dönüşümünün uygulanması
tt=transformTukey(veri$v1,plotit=T)
tt

#Orjinal gözlemlerin ve dönüştürülmüş gözlemlerin tabloya taşınması
dv1=tibble(v1=veri$v1, dv1=tt[1:1000])

# v1 değişkeninin karşılaştırmalı dağılımı
v1=ggdensity(dv1, x = "v1", fill = "red", title = "v1: Pozitif Çarpık", add = "mean") +
  stat_overlay_normal_density(color = "blue", linetype = "dashed")

# dönüşüm uygulanmış değişken (dv1) gözlemlerinin dağılımı
dv1=ggdensity(dv1, x = "dv1", fill = "red", title = "dv1: Tukey Dönüşüm", add = "mean") +
  stat_overlay_normal_density(color = "blue", linetype = "dashed")

ggarrange(v1, dv1, ncol=2, nrow=1)

Yukarıdaki R kod bloğunda çalıştırıldığında elde edilen dönüşüm sonrası gözlemlerin karşılaştırmalı yoğunluk dağılım grafikleri aşağıda verilmiştir. Görüleceği üzere v1 değişkeni gözlemleri Tukey dönüşüm uygulanarak dönüştürüldüğünde normal dağılıma evrildiği görülmektedir. Ancak bu dönüşüme rağmen yine de bir normalite testinin yapılması yerinde bir karar olacağı düşünülmektedir. Grafiklerde gösterilen y eksenine paralel kesikli siyah doğru ortalamayı göstermektedir.

Aşağıda yazılan R kod bloğu dönüştürülmüş v1 (dv1) değişken gözlemlerinin normallik varsayımı Shapiro-Wilk testi ile test edilmiştir. Aynı zamanda dönüştürülmüş v1 değişken gözlemleri xlsx uzantılı Microsoft Excel çalışma kitabına yazdırılmıştır.

#dv1 değişkeni Shapiro-Wilk normalite testi
shapiro.test(dv1$dv1)

#dv1 değişkeninin excel çalışma kitabına yazdırılması
write_xlsx(dv1,"donusturulmus_v1_degiskeni.xlsx")

Yukarıdaki R kod bloğunun çalıştırılmasından sonra elde edilen Shapiro-Wilk normalite testi sonucu aşağıda verilmiştir. Bulgular dönüştürülmüş v1 değişken gözlemlerinin normal dağılım gösterdiğini ortaya koymaktadır. Çünkü p (0,09496) değeri 0,05’ten büyüktür.

#dv1 değişkeni Shapiro-Wilk normalite testi sonucu
W = 0.99731, p-value = 0.09496

Yukarıda yazılan kod bloğunun son satırı çalıştırıldığında dönüştürülmüş v1 (dv1) değişkeni ile dönüştürülmemiş v1 değişkeni xlx uzantılı çalışma kitabına yazdırılmış olup, aşağıdaki linkten indirebilirsiniz.

2. v2 değişkeninin dönüştürülmesi

v2 değişkeni aşağıda yazılan kod bloğu ile sıralı çeyreklik normalleştirme dönüşümü (Ordered Quantile (ORQ) normalizing transformation) uygulanarak normal dağılıma dönüştürülmüştür. Aynı zamanda dönüştürülen değişken gözlemlerinin grafiklerle ve Shapiro-Wilk testi ile normal dağılıma uygunluğu test edilmiştir.

#v2 değişkenine sıralı çeyreklik normalleştirme dönüşümü (Ordered Quantile (ORQ) normalizing transformation) uygulanması
sira=orderNorm(veri$v2)

#Orjinal gözlemlerin ve dönüştürülmüş gözlemlerin tabloya taşınması
d2=tibble(v2=veri$v2, dv2=sira$x.t)

#v2 değişkeninin karşılaştırmalı dağılımı
v2=ggdensity(d2, x = "v2", fill = "red", title = "v2: Negatif Çarpık", add = "mean") +
  stat_overlay_normal_density(color = "blue", linetype = "dashed")

#Dönüşüm uygulanmış değişken (dv2) gözlemlerinin dağılımı
dv2=ggdensity(d2, x = "dv2", fill = "red", title = "dv2: ORQ Dönüşümü", add = "mean") +
  stat_overlay_normal_density(color = "blue", linetype = "dashed")

ggarrange(v2, dv2, ncol=2, nrow=1)

Yukarıdaki R kod bloğunda çalıştırıldığında elde edilen dönüşüm sonrası gözlemlerin karşılaştırmalı yoğunluk dağılım grafikleri aşağıda verilmiştir. Görüleceği üzere v2 değişkeni gözlemleri sıralı çeyreklik (ORQ) normalleştirme dönüşümü uygulanarak dönüştürüldüğünde normal dağılıma evrildiği görülmektedir. Ancak bu dönüşüme rağmen yine de bir normalite testinin yapılması yerinde bir karar olur. Grafiklerde gösterilen y eksenine paralel kesikli siyah doğru ortalamayı göstermektedir.

Aşağıda yazılan R kod bloğu dönüştürülmüş v2 (dv2) değişken gözlemlerinin normallik varsayımı Shapiro-Wilk testi ile test edilmiştir. Aynı zamanda dönüştürülmüş v2 değişken gözlemleri xlsx uzantılı Microsoft Excel çalışma kitabına yazdırılmıştır.

#dv2 değişkeni Shapiro-Wilk normalite testi
shapiro.test(d2$dv2)

#dv2 değişkeninin excel çalışma kitabına yazdırılması
write_xlsx(d2,"donusturulmus_v2_degiskeni.xlsx")

Yukarıdaki R kod bloğunun çalıştırılmasından sonra elde edilen Shapiro-Wilk normalite testi sonucu aşağıda verilmiştir. Bulgular dönüştürülmüş v2 değişken gözlemlerinin normal dağılım gösterdiğini ortaya koymaktadır. Çünkü p (1) değeri 0,05’ten büyüktür.

#dv2 değişkeni Shapiro-Wilk normalite testi sonucu
W = 0.99995, p-value = 1

Yukarıda yazılan kod bloğunun son satırı çalıştırıldığında dönüştürülmüş v2 (dv2) değişkeni ile dönüştürülmemiş v2 değişkeni xlx uzantılı çalışma kitabına yazdırılmış olup, aşağıdaki linkten indirebilirsiniz.

3. v3 değişkeninin dönüştürülmesi

v3 değişkeni aşağıda yazılan kod bloğu ile v2 değişkeninde olduğu gibi sıralı çeyreklik normalleştirme dönüşümü (Ordered Quantile (ORQ) normalizing transformation) uygulanarak normal dağılıma dönüştürülmüştür. Aynı zamanda dönüştürülen değişken gözlemlerinin grafiklerle ve Shapiro-Wilk testi ile normal dağılıma uygunluğu test edilmiştir.

#v2 değişkenine sıralı çeyreklik normalleştirme dönüşümü (Ordered Quantile (ORQ) normalizing transformation) uygulanması
sira=orderNorm(veri$v3)

#Orjinal gözlemlerin ve dönüştürülmüş gözlemlerin tabloya taşınması
d3=tibble(v3=veri$v3, dv3=sira$x.t)

# v2 değişkeninin karşılaştırmalı dağılımı
v3=ggdensity(d3, x = "v3", fill = "red", title = "v3: İkili Mod Dağılımı", add = "mean") +
  stat_overlay_normal_density(color = "blue", linetype = "dashed")

#Dönüşüm uygulanmış değişken (dv3) gözlemlerinin dağılımı
dv3=ggdensity(d3, x = "dv3", fill = "red", title = "dv3: ORQ Dönüşümü", add = "mean") +
  stat_overlay_normal_density(color = "blue", linetype = "dashed")

ggarrange(v3, dv3, ncol=2, nrow=1)

Yukarıdaki R kod bloğunda çalıştırıldığında elde edilen dönüşüm sonrası gözlemlerin karşılaştırmalı yoğunluk dağılım grafikleri aşağıda verilmiştir. Görüleceği üzere v3 değişkeni gözlemleri sıralı çeyreklik (ORQ) normalleştirme dönüşümü uygulanarak dönüştürüldüğünde normal dağılıma evrildiği görülmektedir. Ancak bu dönüşüme rağmen yine de bir normalite testinin yapılması, kesin bir karara varmak açısından önem taşımaktadır. Grafiklerde gösterilen y eksenine paralel kesikli siyah doğru ortalamayı göstermektedir.

Aşağıda yazılan R kod bloğu dönüştürülmüş v3 (dv3) değişken gözlemlerinin normallik varsayımı Shapiro-Wilk testi ile test edilmiştir.

#dv3 değişkeni Shapiro-Wilk normalite testi
shapiro.test(d3$dv3)

Yukarıdaki R kod bloğunun çalıştırılmasından sonra elde edilen Shapiro-Wilk normalite testi sonucu aşağıda verilmiştir. Bulgular dönüştürülmüş v3 değişken gözlemlerinin normal dağılım gösterdiğini ortaya koymaktadır. Çünkü p (1) değeri 0,05’ten büyüktür.

dv3 değişkeni Shapiro-Wilk normalite testi sonucu
W = 0.99995, p-value = 1

Aşağıda yazılan kod bloğu ile dönüştürülmüş ilk üç değişkeni içeren veri setini birleştirelim ve xlsx uzantılı çalışma kitabına yazdıralım sonuçları görmek isteyenler için.

#veri setinin birleştirilmesi
don_veri=tibble(dv1=dv1$dv1, dv2=d2$dv2, dv3=d3$dv3)

#veri setinin xlsx uzantılı Microsoft Excel çalışma kitabına yazdırılması
write_xlsx(don_veri, "donusturul_veri_seti.xlsx")

Yukarıdaki kod bloğunun çalıştırılmasından sonra dönüştürülmüş veri xlsx uzantılı Microsoft Excel çalışma kitabına yazdırılmış olup, aşağıdaki linkten bu veri setini indirebilirsiniz.

b) Çok değişkenli veri seti setlerinde normal dağılım varsayımının incelenmesi

Bu bölüme kadar oluşturduğumuz veri setlerinde değişkenlerin bireysel olarak normallik dönüşümlerini yaparak yine bireysel normal dağılım gösterip göstermediğini test ettik. Ancak merak edilen konu değişkenlerin takım halinde normal dağılım varsayımının karşılayıp karşılanmadığıdır. Bu amaçla oluşturulmuş değişken veri setlerinin (v1’den v4’e kadar (dahil)) bu bölümde aynı anda normal dağılım gösterip göstermediği test edilmiştir. v4 değişkeninin bireysel olarak normal dağılım gösterdiği bilinmektedir. Çok değişkenli normalite testleri olarak

  • Mardia’nın çok değişkenli normallik testi
  • Henze-Zirkler çok değişkenli normallik testi
  • Royston çok değişkenli normallik testi
  • Enerji çok değişkenli normallik testi

testlerinden yararlanacağız. Bireysel bazda kurulan hipotezlere benzer olarak çok değişkenli normalite testlerinde de aşağıda belirtildiği gibi hipotezler kurulur.

  • H0 (yokluk): Değişkenler çok değişkenli normal dağılım gösterir.
  • H1 (alternatif): Değişkenler çok değişkenli normal dağılım göstermez.

Mardia’nın çok değişkenli normallik testi

Bu kısımda öncelikle aşağıda yazılan kod bloğu ile çok değişkenli Mardia’nın normalite testi yapılmıştır.

mardia=mvn(veri, mvnTest = "mardia", alpha = 0.5)
mardia=mardia$multivariateNormality 
mardia

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen Mardia normalite test sonuçları aşağıda verilmiştir. Mardia normalite testine göre değişkenler normal dağılım göstermemektedir.

TestStatisticp valueResult
Mardia Skewness1014,340,00NO
Mardia Kurtosis9,860,00NO
MVNNO

Henze-Zirkler çok değişkenli normallik testi

Aşağıda yazılan kod bloğu ile çok değişkenli Henze-Zirkler’in normalite testi yapılmıştır.

Henze_Zirkler=mvn(veri, mvnTest = "hz", alpha = 0.5)
Henze_Zirkler=Henze_Zirkler$multivariateNormality
Henze_Zirkler

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen Henze-Zirkler normalite test sonuçları aşağıda verilmiştir. Henze-Zirkler normalite testine göre değişkenler normal dağılım göstermemektedir.

TestHZp valueMVN
Henze-Zirkler8,4436130NO

Royston çok değişkenli normallik testi

Aşağıda yazılan kod bloğu ile çok değişkenli Royston’un normalite testi yapılmıştır.

royston=mvn(veri, mvnTest = "royston", alpha = 0.5)
royston=royston$multivariateNormality
royston

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen Royston normalite test sonuçları aşağıda verilmiştir. Royston normalite testine göre değişkenler normal dağılım göstermemektedir.

TestHp valueMVN
Royston355,87450,000NO

Enerji çok değişkenli normallik testi

Aşağıda yazılan kod bloğu ile çok değişkenli Enerji normalite testi yapılmıştır. Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen Royston normalite test sonuçları aşağıda verilmiştir.

enerji=mvn(veri, mvnTest = "energy", alpha = 0.5)
enerji=enerji$multivariateNormality
enerji

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen Enerji normalite test sonuçları aşağıda verilmiştir. Enerji normalite testine göre değişkenler normal dağılım göstermemektedir.

TestStatisticp valueMVN
E-statistic17,103330,000NO

Yapılan açık kaynak R kodlu normallik dönüşüm çalışmaları ile veri bilimi (data science) ile ilgilenen akademi ve saha çalışanlarına bir katkı sunulması amaçlanmıştır. Literatürde yukarıdaki bahsedilen hususlara dikkat etmeyen pek çok bilimsellikten uzak çalışma bulunmaktadır. Dolayısıyla yapacağınız çalışmalarda nitelikli araştırma yaparak ve içinize sinerek bir çalışma yapmanız her şeyden önce gerekmektedir. Amacımız sayısal çoğunluk değil nitelikli çoğunluk olmalıdır diye düşünüyorum.

Faydalı olması ve farkındalık oluşturması dileğiyle.

Bilimle ve teknolojiyle kalınız.

Saygılarımla.

Not: Kaynak gösterilmeden alıntı yapılamaz veya kopyalanamaz.

Note: It can not be cited or copied without referencing.

Yararlanılan Kaynaklar

Öne çıkan

Apriori Algoritması Üzerine Bir Vaka Çalışması: A Case Study on Apriori Algorithm

Birliktelik kuralı, veriler tarafından desteklenen bir sonuç veya algoritmik anlamda ifade edecek olursak eğer-o zaman (if-then-rule) kuralıdır. Birliktelik kurallarının geliştirilmesinin arkasında yatan motivasyon, büyük perakendecilerin satış noktası işlemlerinin içeriği ile ilgilenen pazar sepeti (market basket) analizidir. Böyle bir çalışmadan ortaya çıkan tipik bir birliktelik kuralında “ekmek ve tereyağı satın alan tüm müşterilerin yüzde 90’ı aynı zamanda süt de alıyor” olabilir. Müşteri davranışına ilişkin iç görüler, müşteri anketleri yoluyla da elde edilebilir, ancak işlem verilerinin analizi, çok daha ucuz olma ve mevcut tüm müşterileri kapsama avantajına sahiptir. Müşteri anketleriyle karşılaştırıldığında, işlem verilerinin analizinin bazı ciddi sınırlamaları vardır. Örneğin, satış noktası verileri tipik olarak müşterilerin kişisel ilgi alanları, yaşı ve mesleği hakkında herhangi bir bilgi içermez. Diğer taraftan, pazar sepeti analizi müşteri davranışına ilişkin yeni iç görüleri ortaya çıkarabilir ve daha iyi müşteri ilişkileri, müşteriyi elde tutma, daha iyi ürün yerleştirmeleri, ürün geliştirme ve sahtekarlık tespiti yoluyla daha yüksek karlar elde edilmesine imkan sağlayabilir. Çok sayıda müşteri tarafından birlikte satın alınan ürünler pazar sepeti analizi ile ortaya konabilir.

Birliktelik kurallarından ve kural madenciliği (rule mining) uygulamalarından biri olan Apriori algoritması, Agrawal ve Srikant tarafından 1993 yılında geliştirilmiştir. Apriori algoritması birliktelik analizlerinin yapılıp birliktelik kurallarının tespit edilmesinde yaygın bir şekilde kullanılan bir algoritmadır. Geniş ürün veya hizmet kümelerindeki ilişki kurallarının ortaya konulmasında kullanılan apriori algoritmasının ilk uygulama alanı olan pazar sepeti analizi (Market basket analysis), perakende alışverişle sınırlı değildir. Apriori algoritması pazar sepeti analizin yanında aşağıdaki şekilde belirtilen iş alanlarında da uygulanmaktadır:

Çalışma kapsamında apriori algoritmasının teorik çerçevesi verilmiş, ardından örnek bir olay kurgusu içerisinde sentetik veri üretilerek bu veri seti üzerinden örnek uygulama yapılmıştır.

Metodoloji

Bu kısımda ilk olarak apriori algoritmasının teorik çerçevesi verilmiştir. Ardından örnek olay senaryosu kapsamında basit tesadüfi örnekleme yöntemi kullanılarak üretilen sentetik veriler üzerinden örnek uygulama yapılmıştır. Analiz aşamasında R programlama dili, sonuçların çalışma kitaplarına yazdırılmasında ise Microsoft Excel çalışma kitapları kullanılmıştır.

Teorik Çerçeve

Birliktelik kuralı, {X -> Y} şeklindedir, burada {X} ve {Y} öğeler kümesidir. Bu birliktelik kuralının anlamı şudur: {X} içindeki tüm öğeler bir sepet içinde oluyorsa, {Y} de bu sepette “büyük olasılıkla” olacaktır.

  • {X} öncül veya birliktelik kuralının sol tarafı (LHS: left-hand-side) olarak da adlandırılır ve
  • {Y}, peşi sıra gelen veya birliktelik kuralının sağ tarafı (RHS: right-hand-side) olarak adlandırılır.

Bahsedilenleri aşağıdaki şekil üzerinde bir örnekler gösterirsek daha iyi anlaşılacağını düşünüyorum.

X market ürünleri için örnek bir ilişkilendirme kuralı {Patates, Soğan} -> {Ekmek} olabilir, yani X’den Patates ve Soğan {X} satın alınırsa, müşteriler büyük olasılıkla Ekmek de satın alır {Y} . “ -> ” sembolünün {X} ve {Y} arasında nedensel bir ilişkiyi göstermediğine dikkat etmek gerekir. Bu sembol yalnızca, {X} verildiğinde {Y} ‘nin koşullu olasılığının bir tahminini ortaya koymaktadır.

Şimdi on binlerce farklı ürünün bulunduğu bir gross market düşünün. Olası her ürün kombinasyonu arasındaki tüm ilişkileri hesaplamak istemeyiz . Bundan ziyade, tüm olası kurallar kümesinden yalnızca potansiyel olarak “ilgili” kuralları seçmek isteriz. Bu nedenle, analiz etmemiz gereken ilişki sayısını azaltmak için destek, güven ve lift ölçütlerini kullanırız:

  • Destek (support) ölçütü, bir dizi öğenin sepetlerde ne sıklıkta göründüğünün bir göstergesidir. Destek(X–>Y)=sayı(X,Y)/N formülü ile destek metriği hesaplanmaktadır. Burada N bize toplam işlem sayısını göstermektedir. İfadeyi açacak olursak destek ölçütü, X ve Y ürünlerini satın alanların sayısının toplam işlem sayısına oranlanması ile hesaplanır. Karşılaştırmalı modellerde destek ölçütü değeri ne kadar yüksek ise o kadar iyidir. Destek ölçüt değerinin destek eşik (threshold) değerlerinden büyük olması gerekir. Altında olanlar elenerek bir sonraki adıma geçilir.
  • Güven (confidence) ölçütü, destek kuralının ne kadar sıklıkla doğru bulunduğunun bir göstergesidir. Güven(X–>Y)=sayı(XY)/sayı(X). Güven ölçütü, X ve Y ürünlerini satın alanların sayısının X ürünleri satın alanların sayısına oranlanması ile hesaplanan bir olasılık değeridir. Karşılaştırmalı modellerde güven ölçütü değeri ne kadar yüksek ise o kadar iyidir. Güven ölçüt değerinin güven eşik (threshold) değerlerinden büyük olması gerekir. Altında olanlar elenerek bir sonraki adıma geçilir.
  • Lift , hem desteği hem de güveni kullanan bir birliktelik ölçütüdür. Bu ölçüt, Y ve X öğelerinin ne kadar sıklıkta olduğunu kontrol ederken, X öğesi satın alındığında Y öğesinin satın alınma olasılığının ne kadar yüksek olduğunu bize gösterir. İstatistiksel olarak bağımsız olsalardı, X ve Y’nin beklenenden kaç kez daha sık birlikte meydana geldiğini ölçer. Lift(X–>Y)=Destek(X∪Y) / (Destek(X) x Destek(Y)) eşitliği ile hesaplanır. Lift değeri eşik değerleri ve yorumu şöyledir:
    • lift = 1 ise öğeler (ürünler veya hizmetler) arasında ilişki olmadığı anlamına gelir.
    • lift> 1 ise X ürünü satın alınırsa Y ürünü satın alınma olasılığının yüksek olduğu anlamına gelir.
    • lift <1 ise X ürünü satın alınırsa Y öğesinin satın alınmasının olası olmadığı anlamına gelir.

Örnek Uygulama

İlk olarak analizde kullanılacak R kütüphanelerini vererek işe başlayalım. Aşağıda gerekenden fazla kütüphane verdiğimi biliyorum. Ancak daha çok esneklik ve estetik tasarım tanıdığı için genellikle olması gerekenden fazla kütüphane ile çalışıyorum. Apriori algoritması için temel paketler “arules” ve “arulesViz” paketleridir.

Yüklenecek kütüphaneler

# Kütüphaneler
library<-c("dplyr","tibble","tidyr","ggplot2","ggthemes","readr","readxl","ggpubr","formattable", "ggstance", "pastecs", "rmarkdown", "knitr", "gtsummary", "writexl", "psych", "reshape2", "GGally", "Hmisc", "corrplot","dendextend", "kableExtra", "pander","arules","arulesViz", "RColorBrewer")
loading<-sapply(library, require, character.only = TRUE)

# Kütüphane yüklenme durumunu gösteren tablo
tablo=suppressWarnings(loading, classes = "warning")

isim=names(tablo)

deger=as_tibble(tablo)

cbind(kutuphane=isim, deger) %>% rename(yuklenme_durumu=value) %>% mutate(yuklenme_durumu=if_else(yuklenme_durumu==TRUE, "Yuklendi", "Paket Kurulumu Gerekli")) %>% pander(caption="Kütüphane Yüklenme Bilgisi")

Yukarıdaki R kod bloğunun çalıştırılmasından sonra yukarıdaki kütüphanelerin yüklenip yüklenmediğine dair aşağıdaki gibi mantıksal vektör sonuçları gelecektir. Eğer mantıksal vektör sonuçlarının hepsi TRUE ise kütüphanelerin hepsini yüklenmiştir demektir. Kolaylık sağlaması açısından yukarıda kütüphanelerin yüklenmesini gösterir tabloyu da elde etmek ve daha kolay okumanız için kod da yazdım. Bu kod çalıştırıldığında aşağıdaki tabloda görüleceği üzere bütün kütüphaneler yüklenmiştir. Eğer ilgili kütüphane yüklenmemiş olursa “Paket Kurulumu Gerekli” ifadesi satırda yazacaktır.

     --------------------------------
  kutuphane     yuklenme_durumu 
-------------- -----------------
    dplyr          Yuklendi     

    tibble         Yuklendi     

    tidyr          Yuklendi     

   ggplot2         Yuklendi     

   ggthemes        Yuklendi     

    readr          Yuklendi     

    readxl         Yuklendi     

    ggpubr         Yuklendi     

 formattable       Yuklendi     

   ggstance        Yuklendi     

   pastecs         Yuklendi     

  rmarkdown        Yuklendi     

    knitr          Yuklendi     

  gtsummary        Yuklendi     

   writexl         Yuklendi     

    psych          Yuklendi     

   reshape2        Yuklendi     

    GGally         Yuklendi     

    Hmisc          Yuklendi     

   corrplot        Yuklendi     

  dendextend       Yuklendi     

  kableExtra       Yuklendi     

    pander         Yuklendi     

    arules         Yuklendi     

  arulesViz        Yuklendi     

 RColorBrewer      Yuklendi     
--------------------------------

Table: Kütüphane Yüklenme Bilgisi

Örnek olay

Ankara ilinde ikamet olmakta olan Fehmi 🙂 , Covid-19’un devam ettiği dönemde mağaza zincirlerinin birinden 1 ayda farklı günlerde 9 kez alış-veriş yapmıştır. Bütün alış verişler içerisinde alınan toplam farklı ürün sayısı 12’dir. Bu 12 ürün şöyledir: “seker”, “cay”, “ekmek”, “süt”, “patates”, “soğan”, “zeytin”, “peynir”, “makarna”, “luppo”, “tomates”, “deterjan”. Tatlı apur cuburlara düşkün olan Fehmi alış-veriş listesine hepimizin bildiği Halley benzeri ürün olan Luppo’yu da eklemeyi ihmal etmemiştir 🙂 . Fehmi’nin yapılan alış-verişlerde aldığı ürünlerin listesi Tablo 1’de verilmiştir. Örneğin, Fehmi ilk alışverişte Tablo 1’de görüleceği üzere {deterjan, zeytin ve tomates} ürünlerini almıştır. Covid-19 yasaklarının başlayacağı hafta sonuna denk gelen Fehmi’nin son alışverişinde ise {tomates, seker, deterjan, patates, luppo, ekmek, peynir, cay, zeytin, makarna, süt} ürünleri alınmıştır. Bu son alış-veriş işlemi Tablo 1’de İ9 (işlem 9: transaction 9) olarak kodlanmıştır. Örnek olay kapsamındaki veriler tekrarsız basit tesadüfi örnekleme (simple random sampling without replacement) yöntemi kullanarak üretilmiştir. Not: Bu örnek olay kurgudan ibarettir, gerçek hayatta karşılığı bulunmamaktadır.

İstenenler

  1. Apriori algoritmasına uygun model veri setini oluşturunuz.
  2. Apriori modelini kurunuz.
  3. Güven, destek ve lift ölçüt değerlerinin grafiklerini çiziniz.
  4. Modelde ilk ve son en az 10 kuralın ağ ve gruplandırılmış matris grafiklerini çiziniz.
  5. Kurulan modelde en yüksek lift değerlerine sahip ilk 10 kuralı tablo halinde veriniz.
  6. Diğer ürünlerin yanında Luppo ürünü alınan durumların (rhs) kurallarını gösteriniz.
  7. Kurulan Luppo ürün modelinde en yüksek lift değerlerine sahip ilk 10 kuralı tablo halinde veriniz.
  8. Analizlerde elde edilen veri setlerini xlsx formatında oluşturunuz.
  9. Kurulacak 2. modeldeki destek (support) eşik değeri 0,5, güven (confidence) eşik değeri ise 0,6’dır. Maksimum ürün uzunluğu ise 10’dur. Bu parametrelere göre 2. modeli kurarak, oluşan kurallarının tamamını xlsx uzantılı çalışma kitabına yazdırınız. Aynı zamanda kurulan 2. modelden üretilen kuralları lift değerlerinin büyüklüğüne göre sıralayıp tabloda gösteriniz.

Verilenler

  1. Destek (support) eşik değeri 0,3, güven (confidence) eşik değeri ise 0,5’tir. Maksimum ürün uzunluğu ise 10’dur.

Tablo 1: Fehmi’nin Alış-veriş Listesi

İşlemÜrün
İ1deterjan
İ1zeytin
İ1tomates
İ2luppo
İ2deterjan
İ2makarna
İ2süt
İ3cay
İ3tomates
İ3luppo
İ3seker
İ3süt
İ4makarna
İ4ekmek
İ4peynir
İ4luppo
İ4süt
İ4tomates
İ5deterjan
İ5peynir
İ5patates
İ5ekmek
İ5luppo
İ5soğan
İ5makarna
İ6tomates
İ6süt
İ6soğan
İ6ekmek
İ6patates
İ6luppo
İ6makarna
İ6seker
İ7cay
İ7deterjan
İ7makarna
İ7peynir
İ7tomates
İ7luppo
İ7zeytin
İ7soğan
İ7ekmek
İ8cay
İ8makarna
İ8seker
İ8deterjan
İ8soğan
İ8luppo
İ8zeytin
İ8peynir
İ8patates
İ8tomates
İ9tomates
İ9seker
İ9deterjan
İ9patates
İ9luppo
İ9ekmek
İ9peynir
İ9cay
İ9zeytin
İ9makarna
İ9süt

Yukarıdaki tabloyu aynı zamanda xlsx formatında aşağıdaki linkten indirebilirsiniz.

Alışveriş listesinin oluşturulması

Yukarıdaki tablo ilk olarak R’da yazılan aşağıdaki kod ile oluşturulmuş ve üretilmiştir.

#ürün listesi
urun=c("seker", "cay", "ekmek","süt", "patates", "soğan","zeytin", "peynir", "makarna", "luppo", "tomates","deterjan")

set.seed(61)#basit tekrarsız örnekleme tekniği ile ürün listesinden tesadüfi alış-veriş listeleri oluşturulmuştur.

orneklem1=sample(urun, size=3, replace = F)

orneklem2=sample(urun, size=4, replace = F)

orneklem3=sample(urun, size=5, replace = F)

orneklem4=sample(urun, size=6, replace = F)

orneklem5=sample(urun, size=7, replace = F)

orneklem6=sample(urun, size=8, replace = F)

orneklem7=sample(urun, size=9, replace = F)

orneklem8=sample(urun, size=10, replace = F)

orneklem9=sample(urun, size=11, replace = F)

#Alış-verişe konu ürünlerin liste formatına dönüştürülmesi
sepet <-  
  list(orneklem1, orneklem2, orneklem3, orneklem4, orneklem5, orneklem6, orneklem7, orneklem8, orneklem9
  )
names(sepet) <- paste("İ", 1:length(sepet), sep = "")

sepet

Yukarıdaki R kod bloğunun çalıştırılmasından sonra elde edilen 1 ay içerisinde yapılan 9 alış-veriş listesi aşağıda verilmiştir. Tablo 1’de de görüleceği üzere aynı liste aşağıda da mevcuttur.

$İ1
[1] "deterjan" "zeytin"   "tomates" 

$İ2
[1] "luppo"    "deterjan" "makarna"  "süt"     

$İ3
[1] "cay"     "tomates" "luppo"   "seker"   "süt"    

$İ4
[1] "makarna" "ekmek"   "peynir"  "luppo"   "süt"     "tomates"

$İ5
[1] "deterjan" "peynir"   "patates"  "ekmek"    "luppo"    "soğan"    "makarna" 

$İ6
[1] "tomates" "süt"     "soğan"   "ekmek"   "patates" "luppo"   "makarna" "seker"  

$İ7
[1] "cay"      "deterjan" "makarna"  "peynir"   "tomates"  "luppo"    "zeytin"   "soğan"    "ekmek"   

$İ8
 [1] "cay"      "makarna"  "seker"    "deterjan" "soğan"    "luppo"    "zeytin"   "peynir"   "patates" 
[10] "tomates" 

$İ9
 [1] "tomates"  "seker"    "deterjan" "patates"  "luppo"    "ekmek"    "peynir"   "cay"      "zeytin"  
[10] "makarna"  "süt" 

Listenin excel (xlsx) çalışma kitabına yazdırılması

Aşağıda yazılan kod bloğu ile yukarıdaki liste excel çalışma kitabına yazdırılmıştır. Yukarıda excel çalışma kitabı verildiğinden burada tekrar paylaşılmayacaktır.

library(plyr)
tablo=ldply(sepet,data.frame)
write_xlsx(tablo, "ürün.xlsx")

Listenin analize uygun hale getirilmesi

Burada oluşturulmuş olan liste aşağıda yazılan kod bloğu ile analizden önce “transactions” yani işlem formatına dönüştürülmüştür. Burada esasında yapılan şey, alış verişlerin sırası satırlara (alışverişin id’si), alınan ürünlerin adları ise sütunlara yazdırılır.

#Veri setinin satırlara ve sütunlara dönüştürülmesi: Bu işlemde yapılan alışverişlerin sırası satırlara ve satın alınan ürünler ise sütunlara dönüştürülür.
islem <- as(sepet, "transactions")
islem
dim(islem)#veri setinin boyutu (sonuç=[1]  9 12) yani veri seti 9 satır (alış veriş işlemi), 12 sütun (ürünler:değişkenler)'dan oluşmaktadır.

Yukarıdaki ilk satırdaki kod bloğunun çalıştırılmasından sonra veri setimiz işlem formatına dönüştürülmüştür. Aşağıdaki bulgular veri setimizin 9 satır, yani 9 kez alış veriş yaptığımızı, sütunlarda da 12 ürünümüzün olduğunu göstermektedir. 2. sıradaki kod ise 1. sıradaki yazılan koda dayalı olarak çalışan ve 1. sıradaki kod ile aynı işlevi göstermektedir. dim() fonksiyonu veri setlerinde veri setinin boyutlarını, yani veri setinin kaç satır, kaç sütundan oluştuğunu göstermektedir. Bu işlemleri yaptıktan sonra modelimizi kurabilir.

transactions in sparse format with
 9 transactions (rows) and
 12 items (columns)

Veri setindeki ürünlerin adları alınmak istenirse aşağıdaki kod bloğu yazılabilir.

itemLabels(islem)

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen ürün adları vektör olarak aşağıda verilmiştir.

 [1] "cay"      "deterjan" "ekmek"    "luppo"    "makarna"  "patates"  "peynir"   "seker"    "soğan"   
[10] "süt"      "tomates"  "zeytin"  

Ürünlerin alışverişlerdeki sıklıklarına bakacak olursak aşağıdaki kod bloğunu yazabiliriz.

itemFrequencyPlot(islem, topN = 10,  
                          col = brewer.pal(10, "Greens"), 
                          main = 'Göreceli Ürün Frekansı', 
                          type = "relative", 
                          ylab = "Göreceli Sıklık")

Yukarıdaki R kod bloğunun çalıştırılmasından sonra alışverişler içerisinde en sık satın alınan ürünler aşağıdaki grafikte verilmiştir.

Modelin kurulmasından önce işlemlerimizin özetini de aşağı yazılan R kod bloğu ile verelim.

summary(islem)

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen alış-veriş işlemleri özeti aşağıda verilmiştir. Yukarıdaki frekansları gösteren grafikteki sonuçlara benzer olarak aşağıda tabloda da en sık alış veriş yapılan ürünler aşağıda da verilmiştir. Bunun dışında veri setimizin 9 satır ve 12 sütun (değişken=ürün)’dan oluştuğu görülmektedir. En son satırda ise box plot dediğimiz kutu diyagram parametreleri görülmektedir. Yani minimum ve maksimum değerler ile ortalama, 1. çeyreklik ve 3. çeyreklik verileri ortaya konulmuştur.

transactions as itemMatrix in sparse format with
 9 rows (elements/itemsets/transactions) and
 12 columns (items) and a density of 0.5833333 

most frequent items:
   luppo  makarna  tomates deterjan    ekmek  (Other) 
       8        7        7        6        5       30 

element (itemset/transaction) length distribution:
sizes
 3  4  5  6  7  8  9 10 11 
 1  1  1  1  1  1  1  1  1 

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
      3       5       7       7       9      11 

Aşağıda yazılan kod bloğu ile 12 ürünün çapraz tablosunu da verelim.

crossTable(islem, sort=TRUE)

Yukarıdaki R kod bloğunun çalıştırılmasından sonra elde edilen çapraz tablo aşağıda verilmiştir.

  1. Modelin kurulması

Aşağıda yazılan R kod bloğu ile model kurulmuştur. Pazar sepet analizlerinde alınan ürünler arasındaki ilişki düzeyleri tanımlamada iki ölçütten yararlanılmaktadır. Bunlardan ilki destek (support), diğeri ise güven (confidence) ölçütleridir. Modelde minimum destek oranı değerimiz 0,3, güven olasılık değerimiz ise 0,5 olarak alınmıştır.

#Min destek 0.3, güven ise 0.5.
model <- apriori(islem, 
                 parameter = list(supp=0.3, conf=0.5, 
                                  maxlen=10, 
                                  target= "rules"))

summary(model)

Yukarı kod bloğundaki model çalıştırıldıktan elde edilen model sonuçları aşağıda verilmiştir. Elde edilen bulgulara göre;

  • Modelimiz 786 kuraldan oluşmaktadır. Diğer ifadeyle lhs (X) ve rhs (Y) kural uzunlukların toplamı (R)= 7+92+243+260+135+42+7=786’ya eşittir.
  • Ortalama lift değerleri 1’in üzerindedir. Bu bulgu X ürünü satın alınırsa Y ürünü satın alınma olasılığının da yüksek olduğunu göstermektedir.
  • Güven ve destek ölçüt değerleri de belirlenmiş eşik değerlerin üzerindedir.
set of 786 rules

rule length distribution (lhs + rhs):sizes
  1   2   3   4   5   6   7 
  7  92 243 260 135  42   7 

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  1.000   3.000   4.000   3.735   4.000   7.000 

summary of quality measures:
    support         confidence        coverage           lift           count      
 Min.   :0.3333   Min.   :0.5000   Min.   :0.3333   Min.   :0.750   Min.   :3.000  
 1st Qu.:0.3333   1st Qu.:0.7500   1st Qu.:0.3333   1st Qu.:1.125   1st Qu.:3.000  
 Median :0.3333   Median :1.0000   Median :0.3333   Median :1.286   Median :3.000  
 Mean   :0.3598   Mean   :0.8773   Mean   :0.4283   Mean   :1.406   Mean   :3.238  
 3rd Qu.:0.3333   3rd Qu.:1.0000   3rd Qu.:0.4444   3rd Qu.:1.500   3rd Qu.:3.000  
 Max.   :0.8889   Max.   :1.0000   Max.   :1.0000   Max.   :2.250   Max.   :8.000  

Kuralların excel (xlsx) çalışma kitabına yazdırılması

i=inspect(model)
write_xlsx(i, "kurallar.xlsx")

Yukarıdaki kod bloğunun çalıştırılmasından sonra excel çalışma kitabına yazdırılan kurallar (R=786) setini ölçütlerle birlikte aşağıdaki linkten indirebilirsiniz.

Kurulan modelden üretilen ilk 15 kural aşağıdaki tabloda verilmiştir.

lhsrhssupportconfidencecoverageliftcount
{}=>{süt}0,5560,5561,0001,0005,000
{}=>{ekmek}0,5560,5561,0001,0005,000
{}=>{peynir}0,5560,5561,0001,0005,000
{}=>{deterjan}0,6670,6671,0001,0006,000
{}=>{tomates}0,7780,7781,0001,0007,000
{}=>{makarna}0,7780,7781,0001,0007,000
{}=>{luppo}0,8890,8891,0001,0008,000
{zeytin}=>{cay}0,3330,7500,4441,6883,000
{cay}=>{zeytin}0,3330,7500,4441,6883,000
{zeytin}=>{peynir}0,3330,7500,4441,3503,000
{peynir}=>{zeytin}0,3330,6000,5561,3503,000
{zeytin}=>{deterjan}0,4441,0000,4441,5004,000
{deterjan}=>{zeytin}0,4440,6670,6671,5004,000
{zeytin}=>{tomates}0,4441,0000,4441,2864,000
{tomates}=>{zeytin}0,4440,5710,7781,2864,000

İlişki kurallarının grafiğe taşınması

Aşağıda yazılan kod bloğu ile ilk olarak güven ve destek ölçüt değerleri ile lift değerlerini gösteren grafik verilmiştir.

plot(model, main="786 Kuralın Lift Değerlerinin Saçılım Grafiği")

Yukarıdaki kod bloğunun çalıştırılmasından sonra ilk olarak güven ve destek ölçüt değerleri ile lift değerlerini gösteren grafik verilmiştir. Grafik, x eksenindeki desteği ve y eksenindeki güveni göstermektedir. Lift değerleri griden kırmızıya değişen farklı seviyelerde bir renk olarak gösterilmektedir.

Aşağıda yazılan kod bloğu ile alternatif olarak aynı grafiği html formatında da elde ederek daha yakın plandan ve dinamik olarak ölçütleri inceleyebiliriz. Aynı zamanda hangi kuralların 1’in üzerinde olduğunu görebiliriz.

plot(model, engine = "htmlwidget")

Yukarıdaki kod bloğunun çalıştırılmasından sonra güven ve destek ölçüt değerleri ile lift değerlerini gösteren dinamik grafik aşağıda verilmiştir. Aşağıda göreceğiniz grafik dinamik değildir. Bunun nedeni sitemin temel düzeyde olmasıdır. R’da yukarıda verilen kod bloğu çalıştırıldığında dinamik olduğunu rahatlıkla görebilirsiniz.

Grafikte sadece güven (confidence) değerlerini görmek istersek aşağıdaki kod bloğunu yazmamız yeterlidir.

plot(model, measure = "confidence", main="786 Kuralın Güven Değerlerinin Saçılım Grafiği")

Yukarıdaki kod bloğunun çalıştırılmasından sonra elde edilen güven ölçütü değerleri aşağıda grafikte verilmiştir.

Eğer kurduğumuz modeldeki kuralları güven, destek ve lift değerleri ile birlikte dinamik formatta (html) olarak görmek ve kaydetmek istersek aşağıdaki kod bloğunu yazabiliriz.

html <- inspectDT(model)
htmlwidgets::saveWidget(html, "kurallar.html", selfcontained = FALSE)
browseURL("kurallar.html")

Yukarıdaki kod bloğu çalıştırıldıktan sonra karşınıza aşağıdaki ekran görüntüsü gelecektir. Buradan ölçütleri eşik değerlere göre filtreleme yapabilir ve daha yakın plandan inceleyebilirsiniz.

Şimdide süpriz yapayım diyeceğim ama süpriz olmayacak 🙂 . Kurulan model ile ilgili simülasyon oluşturmak istersek ise aşağıdaki kod bloğunu yazmamız yeterli olacaktır. Bu simülasyon, model ile ilgili parametre yani ölçüt değerlerini değiştirmekten tutun da grafikler elde etmeye ve csv uzantılı olarak verileri kaydetmeye kadar pek değişikliğe olanak sağlamaktır. Kısaca bu simülasyon ara yüzü ile kurduğunuz modeli dilediğiniz gibi tasarlayabilir ve dizayn edebilirsiniz.

ruleExplorer(model, parameter = NULL)

Yukarıdaki kod bloğu çalıştırıldıktan sonra karşınıza aşağıdaki gibi simülasyon (Association Rule Explorer) ara yüz ekran görüntüsü gelecektir. Buradan ölçütleri dilediğiniz gibi değiştirebilir ve model iyileştirmeleri yapabilirsiniz.

Model kural ağının ve gruplandırılmış ürün grafiklerinin oluşturulması

Kurulan modelde ilişki kurallarının ağını çizmek ve onları yorumlamak mümkündür. Ancak ağın tamamını çizmek anlaşılırlığı azaltacağından aşağıda yazılan kod bloğu ile modeldeki ilk 30 ve son 15 kuralların ağ grafiği bu kısımda verilmiştir. Bunun nedeni oluşturulan kural gruplarının giderek artan ürün sayısına sahip olmasıdır.

#İlk 30 kural
set.seed(61) #ağ yapısını sabitlemek için
plot(head(model,30), method="graph", main="Modeldeki Ürünlerin İlk 30 Kural Ağı")

#Son 15 kural
set.seed(61) #ağ yapısını sabitlemek için
plot(tail(model,15), method="graph", main="Modeldeki Ürünlerin Son 15 Kural Ağı")

Yukarıdaki kod bloğunun ilk iki satırı çalıştırıldığında elde edilen ilk 30 kural ağı aşağıdaki ağ grafiğinde verilmiştir. Aşağıdaki grafikte destek ölçütü değerinin büyüklüğü dairenin büyüklüğü, lift değerinin büyüklüğü ise renk tonu ile doğru orantılı olarak değişiklik göstermektedir. Yani daire ne kadar büyükse destek (support) değeri, dairenin renki ne kadar koyu tonlarda ise lift değeri o kadar yüksek demektir.

Yukarıdaki kod bloğunun son iki satırı çalıştırıldığında elde edilen son 15 kural ağı aşağıdaki ağ grafiğinde verilmiştir. Aşağıdaki grafikte destek ölçütü değerinin büyüklüğü dairenin büyüklüğü, lift değerinin büyüklüğü ise renk tonu ile doğru orantılı olarak değişiklik göstermektedir. Yani daire ne kadar büyükse destek (support) değeri, dairenin renki ne kadar koyu tonlarda ise lift değeri o kadar yüksek demektir.

Şimdi de ilk 20 kuralın gruplandırılmış matrisini aşağıda yazılan kod bloğu ile verelim. Son 20 kural burada verilmemiştir. Bunun nedeni gruplar içerisindeki ürün sayısının artışına bağlı olarak matrisin aşırı karmaşık hal almasıdır.

set.seed(61)
plot(head(model,20), method = "grouped",  main="Modeldeki Ürünlerin İlk 20 Gruplandırılmış Matrisi")

Yukarıdaki kod bloğu çalıştırıldığında elde edilen ilk 20 kuralın gruplandırılmış ürün matrisi aşağıdaki grafikte verilmiştir.

Model Lift değerlerinin incelenmesi

Kurulan modelde en yüksek lift ölçütü değerlerine göre sahip ilk 10 kurala aşağıda yazılan kod bloğu ile bakalım.

inspectDT(head(model, by = "lift", 10))

Yukarıdaki kod bloğunun çalıştırılmasından sonra kurulan modelde en yüksek lift değerine sahip ilk 10 kural aşağıdaki tabloda verilmiştir. İdeal lift değerlerinin 1’den büyük olması istenir. Seçilen kurallara bakıldığında lift değerleri ile birlikte güven ve destek ölçüt eşik değerlerinin karşılandığını göstermektedir. Tabi biz burada en yüksek lift değerine sahip ilk 10 kuralı verdik. Dilerseniz araştırmanızın amacına ve tasarımına bağlı olarak ilk 20 veya son 30 gibi kurallar belirleyebilirsiniz. Bu tamamen sizin ne yapmak istediğiniz ile ilgili olan bir şeydir.

Belirli kuralları inceleme

Kurulan modelde sadece belirli kuralları, örneğin rhs (Y) kuralına göre luppo ürününe bakacak olursak aşağıdaki gibi bir kod bloğu yazabiliriz. Kurulan modele göre gruplarda oluşacak ürün sayısı en az iki en fazla ise 10’dur.

luppo_rhs <- apriori(islem, 
                          parameter = list(supp=0.3, conf=0.5, 
                                         maxlen=10, 
                                         minlen=2),
                          appearance = list(default="lhs", rhs="luppo"))
inspect(luppo_rhs[1:10])

Yukarıdaki R kod bloğunun çalıştırılmasından sonra diğer ürünlerin sağ tarafında (rhs:right-hand-side) yer alan Luppo ürününe giden ilk 10 kural aşağıdaki tabloda verilmiştir. Örneğin ilk sıradaki kuraldan şunu anlamamız gerekir; {Zeytin} -> {luppo} yani zeytinin bulunduğu bir ürün kümesinde lupponun da bulunma olasılığı güven (confidence) değerine bakacak olursak % 75’dir. Ancak lift değeri 1’in altında olduğu için yorumlamaktan kaçınmak yerinde olacaktır. Diğer taraftan ikinci satıda yer alan süt ürününün bulunduğu bir ürün kümesinde lupponun da bulunma olasılığı güven (confidence) değerine bakacak olursak % 100’dür. Aynı zamanda burada lift değeri 1’den de büyüktür.

Yukarıda Luppo ürünü ile ilgili olarak kurulan modelde diğer ürünlere göre sağ tarafta (rhs:right-hand-side) yer alan luppo ürününe giden son 10 kural ise aşağıda yazılan kod bloğunda verilmiştir.

inspectDT(tail(luppo_rhs,10))

Yukarıdaki R kod bloğunun çalıştırılmasından sonra diğer ürünlerden sağ tarafta (rhs:right-hand-side) yer alan Luppo ürününe giden son 10 kural verilmiştir. İlk satırdaki yorumlamak ile işe başlayabiliriz. {deterjan,ekmek,makarna,peynir} ürünlerin bulunduğu bir ürün kümesinde lupponun da bulunma olasılığı ({deterjan,ekmek,makarna,peynir} -> {luppo}) güven (confidence) değerine bakacak olursak % 100’dür. Lift değeri ise 1’in üstünde olduğu için makuldur. Aşağıdaki bütün ürün grupları esasında güven, destek ve lift ölçütlerine ilişkin değerleri eşik değerlerin üzerindedir. Dolayısıyla tamamı kabul edilebilir ve yorumlanabilirdir. Dilerseniz sizler de diğer ürünlerin rhs (X) ve lhs (Y) parametrelerini modele girerek bu ürünlere de ulaşabilirsiniz.

Yukarıda Luppo ürünü ile ilgili olarak modelde diğer ürünlere göre sağ tarafta (rhs:right-hand-side) yer alan Luppo ürününe giden son 10 ve ilk 15 kuralın ağ yapısı yukardaki tablonun yanı sıra aşağıda yazılan kod bloğu ile de verilmiştir.

#son 10 kural
plot(tail(luppo_rhs,10), method="graph", main="Luppo Ürünü Son 10 Kural (RHS) Ağı")
#ilk 15 kural
plot(head(luppo_rhs,15), method="graph", main="Luppo Ürünü İlk 15 Kural (RHS) Ağı")

Yukarıda yer alan kod bloğunun çalıştırılmasından sonra Luppo ürününe giden son 10 kuralın ağ yapısı aşağıda verilmiştir. Aşağıdaki grafikte destek ölçütü değerinin büyüklüğü dairenin büyüklüğü, lift değerinin büyüklüğü ise renk tonu ile doğru orantılı olarak değişiklik göstermektedir. Yani daire ne kadar büyükse destek (support) değeri, dairenin renki ne kadar koyu tonlarda ise lift değeri o kadar yüksek demektir.

Yukarıda yer alan kod bloğunun çalıştırılmasından sonra Luppo ürününe giden ilk 15 kuralın ağ yapısı aşağıda verilmiştir. Aşağıdaki grafikte destek ölçütü değerinin büyüklüğü dairenin büyüklüğü, lift değerinin büyüklüğü ise renk tonu ile doğru orantılı olarak değişiklik göstermektedir. Yani daire ne kadar büyükse destek (support) değeri, dairenin renki ne kadar koyu tonlarda ise lift değeri o kadar yüksek demektir.

Şimdi de kurulan Luppo ürünü modelinin gruplandırılmış matrisini aşağıda yazılan kod bloğu ile verelim.

set.seed(61)
plot(luppo_rhs, method = "grouped",  main="Luppo Ürünü Gruplandırılmış Matrisi")

Yukarıdaki kod bloğu çalıştırıldığında elde edilen Luppo ürünü gruplandırılmış matrisi aşağıdaki grafikte verilmiştir.

Luppo ürünü Lift değerlerinin incelenmesi

Kurulan luppo ürünü modelinde en yüksek lift ölçütü değerlerine göre sahip ilk 10 kurala aşağıda yazılan kod bloğu ile bakalım.

inspectDT(head(luppo_rhs, by = "lift", 10))

Yukarıdaki kod bloğunun çalıştırılmasından sonra kurulan Luppo ürünü modelinde en yüksek lift değerine sahip ilk 10 kural aşağıdaki tabloda verilmiştir. İdeal lift değerlerinin 1’den büyük olması istenir. Seçilen kurallara bakıldığında lift değerleri ile birlikte güven ve destek ölçüt eşik değerlerinin karşılandığını göstermektedir. Tabi biz burada en yüksek lift değerine sahip ilk 10 kuralı verdik. Dilerseniz araştırmanızın amacına ve tasarımına bağlı olarak ilk 20 veya son 30 gibi kurallar belirleyebilirsiniz. Bu tamamen sizin ne yapmak istediğiniz ile ilgili olan bir şeydir.

Yukarıdaki kod bloğunun çalıştırılmasından sonra kurulan modelde en yüksek lift değerine sahip ilk 10 kural aşağıdaki tabloda verilmiştir. İdeal lift değerlerinin 1’den büyük olması istenir. Seçilen kurallara bakıldığında lift değerleri ile birlikte güven ve destek ölçüt eşik değerlerinin karşılandığını göstermektedir. Tabi biz burada en yüksek lift değerine sahip ilk 10 kuralı verdik. Dilerseniz araştırmanızın amacına ve tasarımına bağlı olarak ilk 20 veya son 30 gibi kurallar belirleyebilirsiniz. Bu tamamen sizin ne yapmak istediğiniz ile ilgili olan bir şeydir.

Yukarıdaki Luppo ürününe ilişkin kurulan modelde elde edilen kuralların tamamını ölçütlerle birlikte eğer excel çalışma kitabına yazdırmak istersek aşağıdaki kod bloğunu yazmamız yeterlidir.

luppo_kural=inspect(luppo_rhs)
write_xlsx(luppo_kural, "luppo.xlsx")

Yukarıdaki kod bloğunun çalıştırılmasından sonra luppo ürününe ilişkin elde elde edilen rhs (sağ taraf) kuralları (R=121)’nın tamamını xlsx formatında aşağıdaki linkten indirebilirsiniz.

2. Modelin kurulması

Aşağıda yazılan R kod bloğu ile 2. model kurulmuş, ardından kurallar Microsoft excel çalışma kitabına yazdırılmıştır. Pazar sepet analizlerinde alınan ürünler arasındaki ilişki düzeyleri tanımlamada temel iki ölçütten yararlanılmaktadır. Bunlardan ilki destek (support), diğeri ise güven (confidence) ölçütleridir. 2. modelde minimum destek oranı değerimiz 0,5, güven olasılık değerimiz ise 0,6 olarak alınmıştır.

model2 <- apriori(islem, 
                 parameter = list(supp=0.5, conf=0.6, 
                                  maxlen=10, 
                                  target= "rules"))
summary(model2)

Yukarı kod bloğundaki model çalıştırıldıktan elde edilen model sonuçları aşağıda verilmiştir. Elde edilen bulgulara göre;

  • Modelimiz 36 kuraldan oluşmaktadır. Diğer ifadeyle lhs (X) ve rhs (Y) kural uzunlukların toplamı (R)= 4+20+12=36’ya eşittir.
  • Ortalama lift değerleri 1’in üzerindedir. Bu bulgu X ürünü satın alınırsa Y ürünü satın alınma olasılığının da yüksek olduğunu göstermektedir.
  • Güven ve destek ölçüt değerleri de belirlenmiş eşik değerlerin yani destek ölçütü için 0,5, güven için 0,6’nın üzerindedir.
Absolute minimum support count: 4 

set item appearances ...[0 item(s)] done [0.00s].
set transactions ...[12 item(s), 9 transaction(s)] done [0.00s].
sorting and recoding items ... [7 item(s)] done [0.00s].
creating transaction tree ... done [0.00s].
checking subsets of size 1 2 3 done [0.00s].
writing ... [36 rule(s)] done [0.00s].
creating S4 object  ... done [0.00s].
set of 36 rules

rule length distribution (lhs + rhs):sizes
 1  2  3 
 4 20 12 

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  1.000   2.000   2.000   2.222   3.000   3.000 

summary of quality measures:
    support         confidence        coverage           lift            count      
 Min.   :0.5556   Min.   :0.6250   Min.   :0.5556   Min.   :0.9184   Min.   :5.000  
 1st Qu.:0.5556   1st Qu.:0.7143   1st Qu.:0.5556   1st Qu.:1.0000   1st Qu.:5.000  
 Median :0.5556   Median :0.8333   Median :0.7778   Median :1.1250   Median :5.000  
 Mean   :0.5988   Mean   :0.8339   Mean   :0.7377   Mean   :1.1088   Mean   :5.389  
 3rd Qu.:0.5556   3rd Qu.:1.0000   3rd Qu.:0.8889   3rd Qu.:1.1652   3rd Qu.:5.000  
 Max.   :0.8889   Max.   :1.0000   Max.   :1.0000   Max.   :1.2857   Max.   :8.000 

2. Model kurallarının excel (xlsx) çalışma kitabına yazdırılması

i2=inspect(model2)
write_xlsx(i2, "2.modelkurallar.xlsx")

Yukarıdaki kod bloğunun çalıştırılmasından sonra excel çalışma kitabına yazdırılan kurallar (R=36) setini ölçüt değerleriyle birlikte aşağıdaki linkten indirebilirsiniz.

Kurulan 2. modelden üretilen kurallar (R=36) lift değerlerinin büyüklüğüne göre büyükten küçüğe doğru sıralanmış ve aşağıdaki tabloda verilmiştir.

lhsrhssupportconfidencecoverageliftcount
{ekmek}=>{makarna}0,5561,0000,5561,2865
{makarna}=>{ekmek}0,5560,7140,7781,2865
{peynir}=>{makarna}0,5561,0000,5561,2865
{makarna}=>{peynir}0,5560,7140,7781,2865
{ekmek,luppo}=>{makarna}0,5561,0000,5561,2865
{luppo,makarna}=>{ekmek}0,5560,7140,7781,2865
{luppo,peynir}=>{makarna}0,5561,0000,5561,2865
{luppo,makarna}=>{peynir}0,5560,7140,7781,2865
{deterjan,luppo}=>{makarna}0,5561,0000,5561,2865
{süt}=>{luppo}0,5561,0000,5561,1255
{luppo}=>{süt}0,5560,6250,8891,1255
{ekmek}=>{luppo}0,5561,0000,5561,1255
{luppo}=>{ekmek}0,5560,6250,8891,1255
{peynir}=>{luppo}0,5561,0000,5561,1255
{luppo}=>{peynir}0,5560,6250,8891,1255
{makarna}=>{luppo}0,7781,0000,7781,1257
{luppo}=>{makarna}0,7780,8750,8891,1257
{ekmek,makarna}=>{luppo}0,5561,0000,5561,1255
{makarna,peynir}=>{luppo}0,5561,0000,5561,1255
{deterjan,makarna}=>{luppo}0,5561,0000,5561,1255
{makarna,tomates}=>{luppo}0,5561,0000,5561,1255
{deterjan}=>{makarna}0,5560,8330,6671,0715
{makarna}=>{deterjan}0,5560,7140,7781,0715
{luppo,makarna}=>{deterjan}0,5560,7140,7781,0715
{luppo,tomates}=>{makarna}0,5560,8330,6671,0715
{}=>{deterjan}0,6670,6671,0001,0006
{}=>{tomates}0,7780,7781,0001,0007
{}=>{makarna}0,7780,7781,0001,0007
{}=>{luppo}0,8890,8891,0001,0008
{luppo}=>{tomates}0,6670,7500,8890,9646
{tomates}=>{luppo}0,6670,8570,7780,9646
{deterjan}=>{luppo}0,5560,8330,6670,9385
{luppo}=>{deterjan}0,5560,6250,8890,9385
{tomates}=>{makarna}0,5560,7140,7780,9185
{makarna}=>{tomates}0,5560,7140,7780,9185
{luppo,makarna}=>{tomates}0,5560,7140,7780,9185

Yapılan apriori algoritması çalışması ile veri bilimi (data science) ile ilgilenen akademi ve saha çalışanlarına bir katkı sunulması amaçlanmıştır.

Faydalı olması ve farkındalık oluşturması dileğiyle.

Bilimle ve teknolojiyle kalınız.

Saygılarımla.

Not: Kaynak gösterilmeden alıntı yapılamaz veya kopyalanamaz.

Note: It can not be cited or copied without referencing.

Yararlanılan Kaynaklar

Öne çıkan

Virüs, Kriz ve Yapay Zeka Arama Terimlerine Bağlı Olarak Google Trend Verilerinin Ülkeler Açısından Karşılaştırmalı Analizi: Comparative Analysis of Google Trend Data Based on Virus, Crisis and AI Search Terms by Countries

Bilindiği üzere Google Trends ile bir ülke veya bölgede öne çıkan içerikler ortaya konulabilmektedir. Google Trends, Google Arama’da en çok yapılan arama sorgularının çeşitli bölge ve dillerdeki popülerliğini analiz eden bir Google web sitesidir. Web sitesi, zaman içindeki farklı sorguların arama hacmini karşılaştırmalı olarak ortaya koyan grafikler sunmaktadır. Google Trendler ayrıca, kullanıcılara iki veya daha fazla arama terimi ile göreli arama hacmini karşılaştırmasına olanak da tanımaktadır.

Araştırma kapsamında ilk üç çalışma yapılarak ülkelere göre karşılaştırmalı olarak ortaya konulacaktır. İlk çalışmada “virüs” aramalarının seyri, ardından ise “kriz” ve “yapay zeka” arama terimlerinin ülkelere göre ve dünyadaki seyri incelenecektir. Son kısımda ise “Suriye” arama terimleri Türkiye özelinde ele alınacaktır.

Metodoloji ve Bulgular

a) İlk Çalışma

Çalışma kapsamında 01-01-2020 ile 31-01-2021 tarihleri arasında “virüs” arama terimine bağlı olarak başta COVID-19 olmak üzere bütün virüs kaynaklı aramaların Amerika, Türkiye, Kanada, Fransa özelinde ve Dünya ölçeğinde izlediği seyrin ortaya konulması amaçlanmıştır. Aynı zamanda bu arama verisinden yola çıkarak gelecek 1 yıl için tahmin yapılmıştır.

b) İkinci Çalışma

Çalışma kapsamında 01-01-2004 ile 27-10-2020 tarihleri arasında “kriz” arama terimine bağlı olarak başta ekonomik ve sağlık olmak üzere kriz aramalarının Amerika, Türkiye, Kanada, Fransa özelinde ve Dünya ölçeğinde izlediği seyrin ortaya konulması amaçlanmıştır.

c) Üçüncü Çalışma

Bu kısımda 01-01-2004 ile 31-01-2021 tarihleri arasında “yapay zeka” arama terimine bağlı olarak Amerika, Türkiye, Kanada, Fransa özelinde ve Dünya ölçeğinde yapay zeka arama teriminin hit sayıları üzerinden izlediği seyrin ortaya konulması amaçlanmıştır.

d) Dördüncü Çalışma

Bu bölümde 29-04-2011 ile 01-02-2021 tarihleri arasında “Suriye” arama terimine bağlı olarak Türkiye‘de Suriye arama teriminin hit sayıları üzerinden izlediği seyrin ortaya konulması amaçlanmıştır. Ayrıca Suriye arama terimiyle ilişkili diğer aramalar da bu çalışma kapsamında ortaya konulmuştur.

Uygulama ve Bulgular

Çalışma kapsamında R programlama dili kullanılmıştır. Veri gtrendsR paketi ile Google Trends veri tabanından eş zamanlı olarak alınacaktır. O zaman işe koyulma zamanı 🙂 . İlk olarak yüklenecek R paketlerini verelim. Arama terimleri karşılaştırılacak ülkenin kullandığı dile göre yapılmalıdır.

Yüklenecek kütüphaneler

Yüklenecek kütüphane konusunda her zamanki gibi bonkorüm galiba 🙂 ; daha az kütüphaneyle de aynı analizleri yapabilirsiniz. Ancak daha çok esneklik ve estetik tasarım tanıdığı için olması gerekenden fazla kütüphane ile çalışıyorum.

kutuphane<-c("dplyr","tibble","tidyr","ggplot2","formattable","ggthemes","readr","readxl","ggpubr","formattable", "ggstance","pander", "gtrendsR","explore", "lubridate", "writexl", "tidytext","prophet")
yukle<-sapply(kutuphane, require, character.only = TRUE)
yukle

a) İlk Çalışma

Bu kısımda 01-01-2020 ile 31-01-2021 tarihleri arasında “virüs” arama terimine bağlı olarak Amerika, Türkiye, Kanada ve Fransa özelinde izlediği seyir ortaya konulmuştur. Aynı zamanda bu arama verisinden yola çıkarak gelecek 1 yıl için tahmin yapılmıştır.

arama = gtrends(c("virus","virus","virüs", "virus"), geo = c("US","CA","TR", "FR"), gprop = "web", time = "2020-01-01 2021-01-31")[[1]]
arama=arama %>% mutate(geo = recode(geo, 
  "US" = "ABD",
  "CA" = "Kanada",
  "TR" = "Türkiye",
  "FR" = "Fransa"))

ggplot(data = arama, aes(x = date, y = hits, group = geo)) +
  geom_line(size = 1, alpha = 0.7, aes(color = geo), show.legend = FALSE) +
  geom_point(size = 0) +
  theme(legend.title=element_blank(), axis.title.x = element_blank()) +
  ylab("Hit Sayısı") + 
  xlab("Tarih")+
  ggtitle("Virüs Arama Terimine Göre Google Trendleri")+
  facet_wrap(~geo)+
  theme_hc()

Yukarıdaki R kod bloğunun çalıştırılmasından sonra virüs arama terimine göre Google Trendleri karşılaştırmalı olarak aşağıdaki grafikte verilmiştir. Grafiğe göre virüs arama terimi hit sayısının bütün ülkelerde Mart 2020’de zirveye ulaştığı görülmektedir. Ancak bu ülkeler içerisinde en yüksek hit sayısı ABD’de görülürken en düşük hit sayısı Türkiye’de görülmüştür. 2021 yılının ocak ayında ise bütün ülkeler en düşük hit sayısına sahip olduğu görülmektedir.

Yukarıdaki arama trend verilerine bağlı olarak bir de Facebook tarafından geliştirilen prophet paketi kullanarak gelecek 1 yıla ilişkin ülkelere göre tahmin yapalım. Önceliği Türkiye’ye verelim 🙂 .

# 1 Yıllık Tahmin
TR<-filter(arama, geo=="Türkiye")

tahmin <- TR[,c("date","hits")]
colnames(tahmin) <-c("ds","y")

t1 <- prophet(tahmin)

gelecek <- make_future_dataframe(t1, periods = 365)
ongoru <- predict(t1, gelecek)
plot(t1, ongoru)

Yukarıdaki R kod bloğunun çalıştırılmasından Türkiye için gelecek 1 yıllık (2022 yılının 31 Ocağına kadar) virüs arama trendi aşağıdaki grafikte verilmiştir. Görüleceği üzere virüs arama trendinin %95 güven aralığı içerisinde azalan bir trend ortaya koyduğu görülmektedir.

Türkiye tahmin verilerini aşağıda yazdığım R kod bloğu ile xlsx uzantılı Microsoft Excel çalışma kitabına yazdırdım.

turkiye=forecast[c('ds', 'yhat',  'yhat_lower', 'yhat_upper')] 
write_xlsx(turkiye, "turkiyetahminleri.xlsx")

Yukarıdaki R kod bloğu çalıştırıldıktan sonra elde edilen Türkiye virüs arama 1 yıllık tahmin verilerini güven aralıklarıyla birlikte aşağıdan indirebilirsiniz.

Yukarıdaki arama trend verilerine bağlı olarak gelecek 1 yıla ilişkin ABD virüs arama tahminlerini ortaya koyalım.

ABD<-filter(arama, geo=="ABD")
tahmin <- ABD[,c("date","hits")]
colnames(tahmin) <-c("ds","y")

t1 <- prophet(tahmin)
gelecek <- make_future_dataframe(t1, periods = 365)
ongoru <- predict(t1, gelecek)
plot(t1, ongoru)

Yukarıdaki R kod bloğunun çalıştırılmasından ABD için gelecek 1 yıllık (2022 yılının 31 Ocağına kadar) virüs arama trendi aşağıdaki grafikte verilmiştir. Görüleceği üzere virüs arama trendinin %95 güven aralığı içerisinde azalan bir trend ortaya koyduğu görülmektedir. Ancak bu azalma trendi Türkiye’den daha hızlı ve keskindir. Bunu sol tarafta yer alan y (tahmin) değerlerinden rahatlıkla görüyoruz.

Yukarıdaki arama trend verilerine bağlı olarak şimdi de gelecek 1 yıla ilişkin Fransa virüs arama tahminlerini ortaya koyalım.

fr<-filter(arama, geo=="Fransa")
tahmin <- fr[,c("date","hits")]
colnames(tahmin) <-c("ds","y")

t1 <- prophet(tahmin)
gelecek <- make_future_dataframe(t1, periods = 365)
ongoru <- predict(t1, gelecek)
plot(t1, ongoru)

Yukarıdaki R kod bloğunun çalıştırılmasından Fransa için gelecek 1 yıllık (2022 yılının 31 Ocağına kadar) virüs arama trendi aşağıdaki grafikte verilmiştir. Görüleceği üzere virüs arama trendinin %95 güven aralığı içerisinde diğer ülkelerdekine benzer olarak azalan bir trend ortaya koyduğu görülmektedir. Ancak bu azalma trendi Türkiye’den ve ABD’den daha düşüktür. Bunu sol tarafta yer alan y (tahmin) değerlerinden rahatlıkla görüyoruz.

Yukarıdaki arama trend verilerine bağlı olarak son olarak gelecek 1 yıla ilişkin Kanada virüs arama tahminlerini ortaya koyalım.

kn<-filter(arama, geo=="Kanada")
tahmin <- kn[,c("date","hits")]
colnames(tahmin) <-c("ds","y")

t1 <- prophet(tahmin)
gelecek <- make_future_dataframe(t1, periods = 365)
ongoru <- predict(t1, gelecek)
plot(t1, ongoru)

Yukarıdaki R kod bloğunun çalıştırılmasından Kanada için gelecek 1 yıllık (2022 yılının 31 Ocağına kadar) virüs arama trendi aşağıdaki grafikte verilmiştir. Görüleceği üzere virüs arama trendinin %95 güven aralığı içerisinde diğer ülkelerdekine benzer olarak azalan bir trend ortaya koyduğu görülmektedir. Ancak bu azalma trendi Türkiye ve Fransa’dan daha yüksek iken ABD ile benzerdir. Bunu sol tarafta yer alan y (tahmin) değerlerinden rahatlıkla görüyoruz.

Virüs” arama terimine bağlı olarak Dünyadaki google trendlerine de elimiz değmişken aşağıda yazdığım R kod bloğu ile bakalım 🙂 .

virus = gtrends(c("virus","virus","virüs", "virus"), gprop = "web", time = "2020-01-01 2021-01-31")[[1]]

virus= virus  %>% mutate(hits=as.numeric(hits))

ggplot(data = virus, aes(x = date, y = hits)) +
  geom_line(size = 1, alpha = 0.7, aes(color = geo), show.legend = FALSE) +
  geom_point() +
  theme(legend.title=element_blank(), axis.title.x = element_blank()) +
  ylab("Hit Sayısı") + 
  xlab("Tarih")+
  ggtitle("Virüs Terimine Göre Dünyada Google Trendleri")+
  theme_economist_white()

Yukarıdaki R kod bloğunun çalıştırılmasından sonra Dünyadaki “virüs” arama google trendleri aşağıdaki grafikte verilmiştir.

b) İkinci Çalışma

Bu bölümde 01-01-2004 ile 27-10-2020 tarihleri arasında “kriz” arama terimine bağlı olarak başta ekonomik ve sağlık olmak üzere kriz aramalarının Amerika, Türkiye, Kanada ve Fransa özelinde izlediği seyir aşağıda yazılan kod bloğu ile ortaya konulmuştur. Elde edilen bulgular ülkelere ve yıllara göre karşılaştırmalı olarak verilmiştir.

kriz = gtrends(c("crisis","crisis","kriz", "crise"), geo = c("US","CA","TR", "FR"), gprop = "web", time = "2004-01-01 2020-10-27")[[1]]

kriz=kriz %>% mutate(geo = recode(geo, 
  "US" = "ABD",
  "CA" = "Kanada",
  "TR" = "Türkiye",
  "FR" = "Fransa"))

ggplot(data = kriz, aes(x = date, y = hits, group = geo)) +
  geom_line(size = 1, alpha = 0.7, aes(color = geo), , show.legend = FALSE) +
  geom_point(size = 0) +
  theme(legend.title=element_blank(), axis.title.x = element_blank()) +
  ylab("Hit Sayısı") + 
  xlab("Tarih")+
  ggtitle("Kriz Arama Terimine Göre Google Trendleri")+
  facet_grid(~geo)+
  theme_hc()

Yukarıdaki R kod bloğunun çalıştırılmasından sonra elde “kriz” arama terimine bağlı olarak elde edilen bulgular ülkelere ve yıllara göre karşılaştırmalı olarak aşağıdaki grafikte verilmiştir. Elde edilen bulgulara göre kriz terimi arama sayısının en yüksek olduğu ülke Fransa olup, en yüksek olduğu tarih ise 01.10.2008 tarihidir. Bu tarihte Fransa’da kriz arama terimindeki hit sayısı 100’dür. Genel olarak bakıldığında karşılaştırılan ülkeler içerisinde Fransa’da kriz arama terimine bağlı olarak ortaya çıkan hit sayıları ve bu hit sayılarının seyri diğer ülkelere göre daha yüksek olduğu söylenebilir. Türkiye özelinde bakıldığında ise kriz arama terimine bağlı olarak ortaya çıkan hit sayıları açısından en düşük ülkedir. Ancak Türkiye kendi içerisinde değerlendirildiğinde kriz arama teriminin sayısının en yüksek olduğu ilk 3 tarih hit sayısına göre şöyledir: 03.01.2004 (Hit sayısı: 24), 11.01.2008 (Hit sayısı: 23) ve 05.01.2004 (Hit sayısı: 22).

Türkiye için en yüksek ilk 10 kriz hit sayısının olduğu tarihler ise aşağıda yazılan kod bloğu ile verilmiştir.

kriz %>% filter(geo=="Türkiye") %>% select(date, hits) %>% arrange(desc(hits)) %>% head(10) %>% formattable()

Yukarıdaki R kod bloğunun çalıştırılmasından sonra Türkiye için elde edilen en yüksek ilk 10 kriz hit sayısı tarihlere göre aşağıda verilmiştir.

Fransa için en yüksek ilk 10 kriz hit sayısının olduğu tarihler ise aşağıda yazılan kod bloğu ile verilmiştir.

kriz %>% filter(geo=="Fransa") %>% select(date, hits) %>% arrange(desc(hits)) %>% head(10) %>% formattable()

Yukarıdaki R kod bloğunun çalıştırılmasından sonra Fransa için elde edilen en yüksek ilk 10 kriz hit sayısı tarihlere göre aşağıda verilmiştir.

Son olarak ABD için en yüksek ilk 10 kriz hit sayısının olduğu tarihler ise aşağıda yazılan kod bloğu ile verilmiştir.

kriz %>% filter(geo=="ABD") %>% select(date, hits) %>% arrange(desc(hits)) %>% head(10) %>% formattable()

Yukarıdaki R kod bloğunun çalıştırılmasından sonra ABD için elde edilen en yüksek ilk 10 kriz hit sayısı tarihlere göre aşağıda verilmiştir.

“Kriz” arama terimine bağlı olarak elde edilen bulguların veri seti aşağıda yazılan R kod bloğu ile ülkelere ve tarihlere göre karşılaştırmalı olarak xlsx uzantılı Microsoft Excel çalışma kitabına yazdırdım.

write_xlsx(kriz, "ulkeverileri.xlsx")

Buradan bu veri setini indirebilirsiniz.

Kriz” arama terimine bağlı olarak Dünyadaki google trendlerine de elimiz değmişken aşağıda yazdığım R kod bloğu ile bakalım :).

crisis = gtrends(c("crisis","crisis","kriz", "crise"), gprop = "web", time = "2004-01-01 2020-10-27")[[1]]

crisis= crisis  %>% mutate(hits=as.numeric(hits))

ggplot(data = crisis, aes(x = date, y = hits)) +
  geom_line(size = 1, alpha = 0.7, aes(color = geo), show.legend = FALSE) +
  geom_point() +
  theme(legend.title=element_blank(), axis.title.x = element_blank()) +
  ylab("Hit Sayısı") + 
  xlab("Tarih")+
  ggtitle("Kriz Terimine Göre Dünyada Google Trendleri")+
  theme_economist_white()

Yukarıdaki R kod bloğunun çalıştırılmasından sonra Dünyadaki “kriz” arama google trendleri aşağıdaki grafikte verilmiştir.

Dünyada en yüksek ilk 10 “kriz” arama terimi hit sayısının olduğu tarihler aşağıda yazılan kod bloğu ile verilmiştir.

crisis %>% mutate(hits=as.numeric(hits)) %>% select(date, hits) %>% arrange(desc(hits)) %>% head(10) %>% formattable()

Yukarıdaki R kod bloğunun çalıştırılmasından sonra Dünyada en yüksek ilk “kriz” arama terimi hit sayısı tarihlere göre aşağıdaki tabloda verilmiştir. Zaten ortaya konulan bu bulgular hepimizin bildiği üzere 2008 yılının son aylarında ortaya çıkan ve dünyayı etkisi altına alan 2008 Dünya ekonomik krizini doğrular niteliktedir.

“Kriz” arama terimine bağlı olarak elde edilen bulguların veri seti aşağıda yazılan R kod bloğu ile tarihlere göre karşılaştırmalı olarak xlsx uzantılı Microsoft Excel çalışma kitabına yazdırdım.

veri=crisis %>% mutate(hits=as.numeric(hits))
write_xlsx(veri, "krizdunya.xlsx")

Buradan bu Dünya kriz veri setini indirebilirsiniz.

c) Üçüncü Çalışma

Bu bölümde 01-01-2004 ile 31-01-2021 tarihleri arasında “yapay zeka” arama terimine bağlı olarak Amerika, Türkiye, Kanada ve Fransa özelinde izlediği seyir aşağıda yazılan kod bloğu ile ortaya konulmuştur. Elde edilen bulgular ülkelere ve yıllara göre karşılaştırmalı olarak verilmiştir. Elde edilen bulgular ülkelere ve yıllara göre karşılaştırmalı olarak verilmiştir.

ai = gtrends(c("artificial intelligence","artificial intelligence","yapay zeka", "intelligence artificielle"), geo = c("US","CA","TR", "FR"), gprop = "web", time = "2004-01-01 2020-01-31")[[1]]

ai=ai %>% mutate(geo = recode(geo, 
  "US" = "ABD",
  "CA" = "Kanada",
  "TR" = "Türkiye",
  "FR" = "Fransa"))

ggplot(data = ai, aes(x = date, y = hits, group = geo)) +
  geom_line(size = 1, alpha = 0.7, aes(color = geo), , show.legend = FALSE) +
  geom_point(size = 0) +
  theme(legend.title=element_blank(), axis.title.x = element_blank()) +
  ylab("Hit Sayısı") + 
  xlab("Tarih")+
  ggtitle("Yapay Zeka Arama Terimine Göre Google Trendleri")+
  facet_grid(~geo)+
  theme_hc()

Yukarıdaki R kod bloğunun çalıştırılmasından sonra elde “yapay zeka” arama terimine bağlı olarak elde edilen bulgular ülkelere ve yıllara göre karşılaştırmalı olarak aşağıdaki grafikte verilmiştir. Elde edilen bulgular yapay zeka arama trendlerinin dalgalı bir seyir izlediğini göstermektedir. Yapay zeka terimi arama sayısının en yüksek olduğu ülke Türkiye olup, en yüksek olduğu tarih ise 01.11. 2004 tarihidir. Bu tarihte Türkiye’de yapay zeka arama terimindeki hit sayısı 100’dür. Genel olarak bakıldığında karşılaştırılan ülkeler içerisinde Türkiye’de yapay zeka arama terimine bağlı olarak ortaya çıkan hit sayıları ve bu hit sayılarının seyri diğer ülkelere göre daha yüksek ve bu konunun daha popüler olduğu söylenebilir. Türkiye kendi içerisinde değerlendirildiğinde yapay zeka arama teriminin sayısının en yüksek olduğu ilk 3 tarih hit sayısına göre şöyledir: 01.11. 2004 (Hit sayısı: 100), 01.10.2004 (Hit sayısı: 98) ve 01.02.2004 (Hit sayısı: 95).

Türkiye için en yüksek ilk 10 yapay zeka hit sayısının olduğu tarihler aşağıda yazılan kod bloğu ile verilmiştir.

ai %>% filter(geo=="Türkiye") %>% select(date, hits) %>% arrange(desc(hits)) %>% head(10) %>% formattable()

Yukarıdaki R kod bloğunun çalıştırılmasından sonra Türkiye için elde edilen en yüksek ilk 10 yapay zeka hit sayısı tarihlere göre aşağıda verilmiştir.

“Yapay zeka” arama terimine bağlı olarak elde edilen bulguların veri seti aşağıda yazılan R kod bloğu ile ülkelere ve tarihlere göre karşılaştırmalı olarak xlsx uzantılı Microsoft Excel çalışma kitabına yazdırdım.

write_xlsx(ai, "ulkeverileriai.xlsx")

Buradan bu veri setini indirebilirsiniz.

Yapay Zeka” arama terimine bağlı olarak Dünyadaki google trendlerine de elimiz değmişken aşağıda yazdığım R kod bloğu ile bakalım 🙂 .

ai = gtrends(c("artificial intelligence","artificial intelligence","yapay zeka", "intelligence artificielle"), gprop = "web", time = "2004-01-01 2020-01-31")[[1]]
ai= ai  %>% mutate(hits=as.numeric(hits))

ggplot(data = ai, aes(x = date, y = hits)) +
  geom_line(size = 1, alpha = 0.7, aes(color = geo), show.legend = FALSE) +
  geom_point() +
  theme(legend.title=element_blank(), axis.title.x = element_blank()) +
  ylab("Hit Sayısı") + 
  xlab("Tarih")+
  ggtitle("Yapay Zeka Terimine Göre Dünyada Google Trendleri")+
  theme_economist_white()

Yukarıdaki R kod bloğunun çalıştırılmasından sonra Dünyadaki “yapay zeka” arama google trendleri aşağıdaki grafikte verilmiştir.

d) Dördüncü Çalışma

Bu bölümde 29-04-2011 ile 01-02-2021 tarihleri arasında “Suriye” arama terimine bağlı olarak Türkiye‘de Suriye arama teriminin hit sayıları üzerinden izlediği seyrin ortaya konulması amaçlanmıştır. Ayrıca Suriye arama terimiyle ilişkili diğer aramalar da bu çalışma kapsamında ortaya konulmuştur. Elde edilen bulgular yıllara göre karşılaştırmalı olarak verilmiştir.

TUR = gtrends("suriye", geo = "TR", gprop = "web", time = "2004-01-01 2020-02-01")
top<-filter(TUR$related_topics, related_topics=="top")
top<-top[,c(3,1)] %>%  as.tibble() %>% rename(word=value, freq=subject) %>% mutate(freq=as.numeric(freq))

top  %>% mutate(word = fct_reorder(word, freq)) %>% slice(1:10) %>% 
  ggplot( aes(x=word, y=freq)) +
    geom_bar(stat="identity", fill="#f68060", alpha=.6, width=.4) +
    coord_flip() +
    xlab("") +
    ylab("Frekans")+
   theme_economist()

Yukarıdaki R kod bloğunun çalıştırılmasından sonra elde “Suriye” arama terimine bağlı olarak elde edilen bulgular ilişkili konularla birlikte aşağıdaki grafikte verilmiştir. Elde edilen bulgulara bakıldığında ilişkili top konularda da Suriye 1. sırada olduğu, bunu sırasıyla harita (map) ve savaş (war) izlediği görülmektedir. Diğer top konular ise sırasıyla şöyledir: Suriye savaşı, Irak, Rusya, Iran ve Özgür Suriye Ordusu’dur.

Suriye arama terimine bağlı olarak Türkiye’de yıllara göre arama trendlerinin sayısı aşağıda yazılan kod bloğu ile verilmiştir.

TUR = gtrends("suriye", geo = "TR", gprop = "web", time = "2011-04-29 2020-02-01")[[1]]
tur= TUR  %>% mutate(hits=as.numeric(hits))
ggplot(data = tur, aes(x = date, y = hits, group = geo)) +
  geom_line(size = 1, alpha = 0.7, aes(color = geo), , show.legend = FALSE) +
  geom_point(size = 0) +
  theme(legend.title=element_blank(), axis.title.x = element_blank()) +
  ylab("Hit Sayısı") + 
  xlab("Tarih")+
  ggtitle("Türkiye'de Suriye Arama Terimine Göre Google Trendleri")+
  facet_grid(~geo)+
  theme_hc()

Yukarıdaki R kod bloğunun çalıştırılmasından sonra Suriye arama terimine göre Türkiye’de yıllara göre arama hit sayısı aşağıdaki grafikte verilmiştir.

Yapılan çalışma ile özellikle veri bilimi (data science) ile ilgilenen akademi ve saha çalışanlarına bir katkı sunulması amaçlanmıştır.

Faydalı olması ve farkındalık oluşturması dileğiyle.

Bilimle ve teknolojiyle kalınız.

Saygılarımla.

Not: Kaynak gösterilmeden alıntı yapılamaz veya kopyalanamaz.

Note: It can not be cited or copied without referencing.

Yararlanılan Kaynaklar

Öne çıkan

Metin Madenciliği Üzerine Vaka Çalışmaları: Case Studies on Text Mining

Veri madenciliğinin (data mining) bir kolunu oluşturan metin madenciliği (text mining) metotları, metinlerde en sık kullanılan anahtar kelimeleri vurgulamamıza ve görselleştirmemize olanak tanır. Bu metotlarla metin verisinden metin bulutu, etiket bulutu diyebileceğimiz kelime bulutu oluşturulabilir. Kelime bulutları metni hızlı analiz etmemize ve kelime bulutu olarak ortaya çıkan anahtar kelimeleri görselleştirmemize olanak tanır.

Bahsedilenler ışığında metin verisini sunmada kelime bulutunu kullanmanız gerektiği durumlar şunlardır:

  1. Kelime bulutları sadelik ve yalınlık sağlar. En sık kullanılan anahtar kelimeler, kelime bulutu içinde daha iyi kendini gösterir.
  2. Kelime bulutları potansiyel iletişim araçlarıdır. Kelime bulutlarının anlaşılması, paylaşılması kolaydır ve kelime bulutları etkilidirler.
  3. Kelime bulutları bir tablo verisinden görsel olarak daha ilgi çekicidir.

Kelime bulutları, sektör ayrımı gözetilmeksizin bütün alanlarda kullanılabilmekle birlikte en sık kullanılan alanlarla en sık kullanılan meslek grupları şöyle özetlenebilir;

  1. Kalitatif (nitel) araştırma yapan araştırmacılar,
  2. Müşterilerin ihtiyaçlarının belirlenmesi noktasında pazarlamacılar,
  3. Temel konuları desteklemek için eğitimciler,
  4. Politikacı ve gazeteciler
  5. Kullanıcı görüşlerini toplayan, analiz eden ve paylaşan sosyal medya siteleri

Bugün daha önce R programlama dili kullanarak R Shiny üzerinde geliştirdiğim metin madenciliği (text mining) web uygulamasından bahsedeceğim. İlk olarak sade bir tasarıma sahip geliştirdiğim metin madenciliği uygulamasının 3. versiyonunun linkini vererek işe başlayayım. Aşağıdaki linkten bu uygulamayı açabilirsiniz.

Metin Madenciliği Uygulaması

Uygulama ile boyut, büyüklük ve dil sınırı olmaksızın bütün metinlerin kelime bulutunu oluşturabilirsiniz hem de farklı tasarım varyasyonları ile birlikte. Versiyon 3’te ilave olarak uygulamanın arka planında Türkçe ve ingilizce dillerinde metinden çıkarılacak edat ve bağlaçlarının sayısı artırılarak kullanıcının veri temizleme (data cleaning) işlemi kısaltılmak istenmiştir. Burada adım adım uygulamadan bahsedildikten sonra örnek bir metin üzerinden gidilerek kelime bulutu oluşturulacaktır.

Aşağıda uygulaması ve anlaşılması kolay olabilmesi adına oldukça sade ve fonksiyonel tasarımla geliştirilen uygulamanın ekran görüntüsü verilmiştir. Aşağıdaki uygulama ekran görüntüsünde sol panelde sırasıyla Metni giriniz, Kelime sıklığı, Maksimum kelime sayısı, Renk seçiniz, Kelime bulutu oluştur sekmelerini görüyorsunuz. Sağ panelde ise Kelime Bulutu alanına ve altında uyarı metinlerine yer verilmiştir. Dilerseniz sırasıyla kısaca sol panel alanlarından bahsedelim.

Sol panel sekmeleri

  1. Metni giriniz: Bu alana kopyalanan metin girilmektedir. Yani bu alana kopyala-yapıştır (copy-paste) yapmanız yeterlidir. Metni giriniz sekmesindeki metin kutucuğu sağ alt köşeden genişleyebilmekte ve girdiğiniz metnin tamamını bu sayede daha rahat görebilirsiniz. Bu kutucu metin verisi girildiğinde sağ panelde yer alan “Uyarı 1: Metin alanı boş geçilemez” uyarı metni ortadan kalkacaktır.
  2. Kelime sıklığı: Metni giriniz sekmesinde yer alan kutucuğa metin verisi girildikten sonra sıra kelime sıklıklarını belirlemek gelmektedir. Bu sekmede mouse ile 0’dan büyük olacak şekilde kelime sıklığı belirmememiz gerekir. Aksi takdirde bildiğiniz üzere 🙂 kelime bulutu oluşmaz. Kelime sıklığı 0’dan büyük olduğunda sağ panelde yer alan “Uyarı 2: Kelime sıklığı 0’dan büyük olmalıdır” uyarı metni ortadan kalkacaktır.
  3. Maksimum kelime sayısı: İlk iki sekmelere yani Metni giriniz ve Kelime sıklığı sekmelerine istenen şekilde metin verisi girildikten sonra sıra “Maksimum kelime sayısı” nın belirlenmesine gelmektedir. Maksimum kelime sayısı 0’dan büyük olduğunda sağ panelde yer alan Uyarı 3: Maksimum kelime sayısı 0’dan büyük olmalıdır uyarı metni ortadan kalkacaktır. Böylece Uyarı 3 ile birlikte diğer uyarılar da hep birlikte ortadan kalkacaktır. Buraya anlatılanlar kelime bulutu oluşturulması için yeterlidir. Bu aşamadan sonra Kelime bulutu oluştur butonuna tıklayarak kelime bulutu oluşturabilirsiniz. Oluşturduğunun kelime bulutu sağ panelde Kelime Bulutu başlığı altında yer alacaktır.
  4. Renk seçiniz: Bu sekme daha çok kelime bulutunun tasarımı yani rengi ile ilgili olup, zorunlu değildir. Default (otomatik) olarak belirlenen renk üzerinden doğrudan kelime bulutu elde edilebilir. Ancak çok daha seçenek sunulması ve daha estetik bir görünüm elde edilebilmesi adına bu sekmeyi uygulamaya entegre ettim. Renk ölçeğinin üzerine tıkladıktan sonra ileri-geri ilerleyerek dileğiniz renge göre kelime bulutu elde edebilirsiniz.

Örnek Uygulamalar

a) İngilizce Metinlerde Uygulama

Örnek uygulama kapsamında metin verisi 30.01.2021 tarihinde ücretsiz e-kitapların çeşitli formatlarda yayınlandığı https://www.gutenberg.org/ebooks/50540 adresinden alınmıştır. Metin verisi olarak alınan eserin adı Zeyneb Hanoum tarafından kaleme alınan Bir Türk Kadınının Avrupa İzlenimleri (A Turkish Woman’s European Impressions)‘dır. Eser 23 Kasım 2015 tarihinde https://www.gutenberg.org sitesinde yayınlanmıştır. Bu metin verisi ile yukarıda linki verilen web uygulaması üzerinden kelime bulutları oluşturulacaktır. Aynı zamanda metni word formatında aşağıdaki linkten indirebilirsiniz.

  1. İlk uygulama parametrelerimiz şöyle olsun: Default renk seçeneği ile kelime sıklığı 524, maksimum kelime sayısı ise 83 olsun. Bu durumda kelime bulutumuz aşağıdaki gibi olacaktır. Kelime bulutu uygulaması içerisindeki algoritma kelimeleri random atadığı için aynı kelime düzenini elde edemeyebilirsiniz. Bunu burada belirtmek gerekir. Uygulamada kelime üzerine tıkladığınızda ilgili kelimenin metinde ne kadar sıklıkla kullanıldığını görebilirsiniz.

2. İkinci uygulama parametrelerimiz şöyle olsun: #00FFC4 renk seçeneği ile kelime sıklığı 403, maksimum kelime sayısı ise 50 olsun. Bu durumda kelime bulutumuz aşağıdaki gibi olacaktır.

b) Türkçe Metinlerde Uygulama

Bu kısımda Atatürk’ün Dehâsı, Davranışları ve Çalışma Biçimleri adlı makale analiz edilerek kelime bulutu oluşturulmuştur. Metin 30.01.2021 tarihinde Milli Eğitim Bakanlığı’nın http://meb.gov.tr/ataturk/Makaleler adresinden alınmıştır. Uygulamada kullanılan metin aşağıda verilmiştir.

Dehâ ve dâhi kavramı türlü biçimlerde ele alınmış ve tarif edilmiştr. Bunların başlıcalarını anıyoruz.
a) Doğuştan olağanüstü işler görmek ve eserler yaratmak kabiliyetinde olmak, yani olağanüstü yaratıcı bir dimağ taşımak.
b) Herkesten çok önce anlamak görmek, sezmek, kavramak, duymak ve duygulanmak.
c) Anlaşılması ve anlatılması imkânsız olan doğuştan büyüklük ve ululuk.
d) İnsanlığın gelişmesi sırasında ulaşabileceği en yüksek zirveleri görüp göstermek ve topluluğu oraya götürecek olağanüstü yaradılışta olmak.
e) Bazıları dehâyı uzun bir sabır diye tarif etmişlerdir.
f) Bir akşam sofrada (1926 yazı) dâhinin tarifi yapılır ve herkes bir görüş ortaya atarken, Atatürk şunu demiştir: 'Dâhi odur ki, ileride herkesin takdir ve kabul edeceği şeyleri ilk ortaya koyduğunda herkes onlara delilik der.'
Atatürk'ün taşıdığı vasıflar, bu tariflerin hepsine ayrı ayrı uyar. Onun dehâsının belirtilerini incelersek şunları görürüz. O, olağanüstü seziş, kavrayış ve duyuş hassalarına şu yönleri de eklerdi:
Ortaya çıkması muhtemel konu, sorun ve olayları çok önceden tahmin edip, onlar üzerinde derinden derine dimağını işletir, en kötü ihtimallere kadar her şeyi gözönünde bulundurarak gereken tedbirleri kararlaştırır ve durumun ilerdeki gelişme derecelerine göre bunları kafasında sıralardı. Amaçlarını iyice tesbit ederdi; kafasında hiç dağınıklığa yer vermezdi ve hiç bir olay onu boş bulmazdı.

Yukarıda Çanakkale vuruşmaları sırasında onun bu gibi davranıp ve görüşlerine rastladık. 6 Ağustos 1915 de başlayan İngiliz saldırıları dolayısiyle iki ay önce uyarılmaya çalışmış olduğu Liman von Sanders ve Esat Paşalar için: '... fikren hazırlanmamış oldukları harekât-ı hasmane karşısında pek nakıs tedbirlerle vaziyet-i umumiyeyi ve vatana pek büyük tehlikeye maruz bıraktıklarına vakayı şahit oldu' diye yazmıştır. İmlediğimiz üç kelime Mustafa Kemal'in büyük önem verdiği bir yönü aydınlatmaktadır.
Conkbayırı'nın geri alınması sorunu dolayısiyle O, şunu yazmıştır: 'Muharebede kuvvetten ziyade, kuvveti maksada muvafık sevk ve idare etmek mühim olduğu düşünülmüyordu.'

Yine bu Conkbayırı işinde kendisi üst ve alt makamlardakilerin inançlarına aykırı davranmaya karar vermesini izahı için şunları yazmıştır: 'Bazı kanaatler vardır ki onların hesap ve mantıkla izahı pek güçtür. Bahusus muharebenin kanlı ve ateşli safhasında duyguların tevlit ettiği kanaatler... Bittabi her kanaat ve karar, içinde bulunulan ahval ve şerait tetkik ve bu tetkikat netayicini teferrüs (sezmek) ve takdir sayesinde tevellüt ener.'

Başarı onun dehâsının verdği 'sezme' gücünün sonucudur. Ancak O, bunun da, durumu tetkike ve ona göre karar vermeye bağlı olduğunu açıklamaktadır. Yani doğuştan olan 'seziş' kabiliyetine ek olarak dimağı çalıştırmanın esas olduğunu belirtmektedir.

Atatürk'ün pek çok karar ve davranışları uzun inceleme ve düşüncelerin sonucu olmakla birilikte ani olaylar karşısında çarçabuk en uygun yolu seçmekte büyük kabiliyeti vardı. Arıburnu'nda ve Conkbayır'ındaki davranışları buna örnektir. Atatürk önem verdiği güç ve sıkıcı bir durumu çözdükten sonra rahatlardı ve bu yüzünden belli olurdu. Bu gibi durumlarda 'beynime saplanmış bir çiviyi söküp attım' dediği olmuştur.

Atatürk'ün çalışma tarzının bir önemli yönü de kendine öz bir danışma yolu seçmiş olmasıdır. O, böyle davranmakla hiç geriye doğru adım atmak zorunda kalmadan en şaşılacak devrimleri ve ileriye atılışları gerçekleştirmiştir. Pek çokları sanarlar ki Atatürk gerçekleştireceği devrimlere ve daha genel olarak göreceği önemli işlere birden bire ve kendi başına karar verip onları yürütürdü. Gerçektense onun demin dediğimiz gibi kendine öz bir danışma yolu vardır. Yapmak istediğini önce, bazen işin esasını pek belli etmeden ve nazari bir şey üzerinde konuşuyormuş gibi, sofrada söz konusu ederdi, içki ağızları daha kolay açtığı için leh veya aleyhte söyleyenler olurdu, konuşanların özel düşünce ve inançlarını bildiğinden söylediklerini ona göre değerlendirirdi. Bazı arkadaşlariyle ve halkla temaslarında, köylü ve kentli her türlü iş güç sahipleriyle konuşurken yine pek belli etmeden tasarısının uyandıracağı tepkiler üzerinde bilgi ve duygu edinirdi. Yalnız aldığı karşılıklardan değil, konuştuğu adamın yüzünden ve kımıltılarından da sonuçlar çıkarırdı. Böylelikle tasarladığı devrimin veya herhangi önemli işin nasıl bir tepki göreceğini ne ölçüde kolaylık veya güçlükle karşılaşacağını anlamış olur ve ona göre davranırdı.

Özet olarak; dehâsı onu olağanüstü ve başka kimsenin yüreklenmeyeceği işleri görmeğe iterken O, çok esaslı psikolojik ve sosyal yoklama ve incelemelere girişmeden önemli hiç bir adım atmazdı. Bazen onun en yakınları arasında bile kendi gözleri önünde yapılmış olan bu yoklama ve çalışmaların anlamını sezmediklerinden atılan adımların delice ve tek başına alınmış kararların sonucu olduğunu sananlar bulunurdu. Bunun aksine olarak da onun bu yoklama usullerini bilmeyenler veya anlayacak kabiliyette olmayalar yapılan tartışmalar sırasında kendi savundukları görüşe uygun bir karar uygulanırsa kerameti kendilerinde sanmış ve Atatürk öldükten sonra söz veya yazı ile övüntülerde bulunmuşlardır. Bazen de bu gibi övünmeler büsbütün uydurma olaylar üzerine yapılmıştır.

Atatürk göreceği işin eski deyişle 'eşref saatte' yapılmasına da çok önem verirdi. Ancak onun eşref saatini falcı veya müneccim değil, durumun derinden derine incelenmesinden doğan inanç tesbit ederdi. Yukarda anılan yoklama ve danışmalar da bu anın tesbitinde rolü büyüktü. Elde edilen bir başarıdan azami verimi elde etmesini bildiği gibi nerede durulması gerektiğini de iyice tesbit etmesini bilirdi.

Bu yazdıklarımız bazılarınca Atatürk üzerinde beslenen bir sanıyı da düzeltmeye yarar. Sanılır ki; O, hiç itiraz kabul etmez ve kimse onula tartışmaya yüreklenemez. Bu sanı baştan başa yanlıştır. O, tartışmaların kızışmasını, hele o işten anlayanların ne olursa olsun konuşmalarını, isterdi ve bunu yapmayanlara kızardı, 'bilir, ancak bildiğini ortaya koymaz, ne yapayım böyle adamı' dediği olurdu. Şu kadar var ki tartışmalarda içtenlik şarttı; içten olmayarak ayrıca gizli düşünceler besleyerek, fesat ve tezvir için konuşanlara ise kızardı. Atatürk türlü yoklama ve tartışmalardan sonra bir karara vardı mıydı onu her ne olursa olsun yürütürdü. Uzun tartışmaların bir faydası da görülecek işin uygulanmasiyle görevlendirilecek olanların onun bütün yönlerine nüfuz etmelerini sağlamaktı. Atatürk buna çok önem verirdi. Tartışmalar ayna zamanda kararlaştırılan işe bir çok yanıt sağlamaya da yarardı. Ondaki azim ve irade de olağanüstü idi. Yenemeyeceği hiç bir güçlük, deviremiyeceği hiç bir engel yoktu. Her engeli sabır, tedbir veya zor ile yenerdi. Sakarya vuruşmasiyle Ağustos 1922 deki son büyük saldırı arasındaki süre içinde Mecliste pek çok ve acı tenkitlere uğramış, parasızlık ve türlü imkânsızlıklar yüzünden ordunun artık ayakta tutulamayacağı söyleniledurmuştu. O sıralarda Meclisin bir kapalı oturumunda, şunları söylemiş olduğu dışarda duyulmuştu: 'Para var ordu var, para yok ordu yok. Ben böyle şey bilmen para olsa da olmasa da. ordu olacaktır.'
1919'daki yıkımlı durumdan 1922 parlak zaferini çıkaran etkenlerin başında Türk azim ve iradesini temsil eden Atatürk'ün bu azmi ve iradesi bulunmaktadır.

Atatürk'ün çalışma ve yorgunluğa dayanıma kabiliyeti de olağanüstü idi. Sakarya vuruşmasında üç kaburga kemiği kırık olarak bir koltuğa mıhlanmış ve hemen hiç uyumadan yirmi iki gün yirmi iki gece vuruşmayı yöneltmiştir. 1927 de okuduğu büyük Nutuk'u hazırlarken de dosyalar içinde aylarca sabahladığı olmuştur.

Yukarda yazdıklarımız O'nun çok hesaplı oluğunu gösterir. Boş gösterişden ve övünmelerden , cafcadatan hiç hoşlanmazdı, ancak kesin lüzum görürse lüzumsuz sanılabilecek kahramanlıklarda bulunurdu.
Bu gibi duyguları dolayısiyledir ki yukarda anılan 'Vatan ve Hürriyet' Cemiyeti kurulurken ölmekten bahsedenlere, amacın ölmek değil yaşamak ve yaşatmak olduğunu söylemişti.

Ankara'da daha çok, ilk devirlerde, henüz nüfuzu pek kökleşmemiş iken tasarladığı bazı işleri bir takım tartışmalar sonucunda başka birine, o kimseyi tasarının kendi öz düşüncesi olduğuna içten inandırarak ileri sürdürürdü ve kendisi gerekirse onu desteklemekle yetinirdi. Bazen de tasarladıklarını onlara karşın olan birine önertmeği şaşılacak biçimde becerirdi. Bir takım devlet adamları vardır ki karar verirken yurttan önce o işte kendi çıkarlarını düşünür ve ona göre bir yol tutarlar. Bu yüzden çok kere isabetsiz bir yola girilir ve bunun sonucunda, kendini zeki sanan açık göz devlet adamı da, yurt işlerinin kötü gidişinden manen ve maddeten zarar görür. Atatürk kesin olarak bu gibi küçüklüklerin üstünde kalmış ve daima yurt için ve güdülen dâva için en gerekli yolu tutmuştur. Bunun sonucunda da kendi mevkii yurdunki gibi daima ve adeta otomatik biçimde yüksele durmuştur. Bu yön başka bir biçimde ifade edilmek istenilirse denilebilir ki: Atatürk daima kendi çıkarını yurt ve ulusun çıkariyle birleştirmeyi ve birlikte yürütmeyi bilmiştir.

Gerçek dâhi eğer dâvasını içtenlikle benimsemişse diktatör olmaya muhtaç değildir, çünkü bir dâhi doğru yolu göstermek ve onun doğruluğuna inandırmak gücünü kendinde görmeli ve bulmalıdır. Atatürk'ün yanında bulunmuş ve çalışmış olanlar aylar ve yıllar boyunca onunla tartıştıktan sonra sonuçta onun düşüncelerinin daima yerinde ve yararlı olduğunu göre göre onun en isabetli yolu seçeceğine o derece inanmışlardır ki her şeyde ona uymayı gerekli bilmişlerdir. Dolaysiyle eğer Atatürk'e diktatör denilecekse bu, onun üstün görüş ve anlayışına olan inançtan doğan uysallığın doğurduğu diktatörlük sayılmalıdır. Olayların daima kendisini haklı çıkarmasından ona karşı doğmuş olan güvene, onun pek büyük olan inandırma kuvvet ve kabiliyetinin de yanındakiler üzerindeki etkisini eklemek gerekir. Ancak şu yönü de belirtmeliyiz: Atatürk yalnız bir konuda genel serbest tartışmaya izin vermemiştir. O da dinin riyakarane sömürülmesi konusudur. Bir tedbirin yurt ve ulusun yarar veya zararına olduğu konusu üzerinde tartışılırken herhangi bir kimse veya parti bunu bilim, siyasal, hukuk ve saire bakımından inceleyeceğime o yönleri bırakıp halka açıkça veya el altından 'bu yapılırsa cehennemde cayır cayır yanarsın' cinsinden telkinlerde bulunursa bu gibileriyle akıl ve mantık yolundan giderek tartışarak hak kazanmak doğal olarak ka'bil olamazdı. Buna göz yumulunca da Türkiye devletini Osmanlı'nın uğradığı yıkımdan kurtarmanın imkânı kalmazdı. Bir zamanlar basımevleri, modern bilimler, yeniçerilere yeni silâhların gerektirdiği talimler şeriate aykırı gösterilmiş ve baştakilerle halk cehennem azabiyle korkutularak bu yenilikler yüzyıllar boyunca Osmanlı ülkesine sokulmamıştı. Bu yüzden de XVI ncı yüzyılın en güçlü devleti her bakımdan geri bırakılıp git gide sönmüş ve bir hiç olmuştu.
Atatürk'ün diktatörlüğü ancak ve ancak bu yönde kendini göstermiş ve tek parti usûlü, filî bakımdan, ancak ve ancak bu yüzden kurulup yaşamıştır.
İlerde göreceğimiz gibi Kâzım Karabekir'in ve daha sonra Fethi Okyar'ın başkanlık ettikleri partiler, baştakiler istemeseler bile, hep bu gibi dini dünya işlerinde gericilik uğrunda kullananların desteğine mazhar oldukları için kapanmışlardır.

Birinci Büyülk Millet Meclisi'nde O'nun ne kadar çetin saldırılarla karşılaştığı ve en 'parlamanter' bir başbakan gibi uğraşmak zorunda kaldığı düşünülürse dünya ve devlet işleri 'ahiret' tehdidi altında görülmeye kalkışılmadıkça O'nun hiç bir muhalefetten çekinmeyeceğini anlarlar.

Atatürk hem doğuştan, hem de çok akıllı ve hesaplı olduğundan doğru ve vefalı olmaya, kimseyi aldatmamaya, özet olarak güven sağlamaya büyük önen verirdi. Aksini ileri sürenler ve ondan vefasızlık gördüklerini söyleyenler, bunu ya düşmanlıklarından yaparlar veya Atatürk'ün görerek edindiği uyarılarını anlayamamış, yahut da onlara önem verip aldırmamış olduklarından böyle bir sonuçla karşılaşmışlardır. Buna karşılık Atatürk kendisini bile bile aldatmış olanları mimler ve bir daha onlara güvenmezdi. Ancak taşıdığı yüksek duyguları, meselâ ölümünden az önce, yüzellilikleri affettirmekle göstermiştir. Biliyordu ki kendisinden sonra kimse bu işe yüreklenemezdi ve onbeş yıllık sürgünü yeter bulmuştu.

Atatürk mahiyetindekilerin sorumlu oldukları işlere karışmaktan ve ayrıntılarla uğraşmaktan sakınır, bazen bunu yapsa da dostçasına yapardı, 'işi mesulüne bırakalım' sözünü kendisinden çok işittim. Keza bir bakan onunla danışırsa düşüncesini söylemekle birlikte 'ben böyle düşünüyorum amma işin sorumlusu sensin, ona göre düşün, taşın ve karar ver' derdi.
Ancak çok önemli işlerde ve anlarda bütün ayrıntılara bile el koyduğu ve hemen her şeyi kendisi yaptığı görülmüştür. Conkbayır'ı geri alırken veya 1922 Ağustos'unda başlayan büyük saldırıyı yöneltirken böyle yapmıştır. Bunu yaparken de başarının şerefini yine mahiyetine bırakacak biçimde davranmak büyüklüğünü göstermiştir. Bu gibi durumlar dışında genel bakımdan işlere karışmayı sevmez ve herhangi bir (kolda işler iyi gitmezse bazen dediği gibi 'baştakini değiştirmekle' yetinirdi. Hemen bütün yeni çığırlara onun 'inisiyatif'i ile girilmiş olmakla birlikte o yeni bir işi yoluna koyduktan sonra onun devam ettirilmesini bir ehline bırakmayı görenek edinmişti ve bunu yapınca içi rahat ederdi.

Genel olarak O, başka birinin görebileceği bir işi kendi üzerine almaz veya üzerinde tutmazdı. Pek çok iktidar sahibinde görülen ve onları yanlış yollara iten bir zaaf Atatürk'de yoktu. Birisi aleyhinde bir söz söylenildi miydi
onu söyleyen ne kadar yakını ve güvendiği biri olursa olsun ona inanmadan önce işi yansız bildiği bir veya bir kaç kişiye inceletir, ondan sonra bir karara varırdı. Eğer söyleyen ve aleyhinde söylenilen kimselerin ikisi de yakını ise onları yüzleştirir ve edindiği duygulara göre bir inanca varırdı. Bu yüzden Atatürk'ün yanında iftira ve tevzir makinesi işleyemezdi.

Atatürk sevmek, sevilmek, gönül almak konularında çok duygulu idi; neşeli olmak ve yanındakilerde neşeli kılmak ve görmek onun için adeta bir ihtiyaçtı. Şahsi cazibesi de bu işte kendisine çok yardım ederdi. Eğlence âlemlerini çok sevdiği bilinen bir yöndür, ancak yukarda yazdıklarımızdan anlaşılacağı gibi sofrası yalnız eğlenceye ayrılmış olmayıp orada çağırılmış olanların seviyesine göre siyasal, yönetimsel ve bilimsel pek çok konular ele alınır. Onun en önem verdiği yönlerden biri de her bir başarıyı, her bir büyük işi kendine değil Türk ulusuna mal etmekti. Her ne yapmışsa 'Türk ulusundan, aldığı ilhamla' yaptığını söylemekten zevk alırdı ve yukarda anlattığımız yoklama ve danışımı usulleri bu sözünü doğrulayacak özdeydi. 'Atatürk İnkılâpları' denilmesini de istemezdi ve bu gibi sözleri hep 'Türk İnkılâpları' biçiminde düzeltirdi.

Atatürk'ün önemli bir özelliği de yaşayışının hiç bir kısmının gizli kalmasını istememesidir. Açıkça içer ve açıkça her türlü eğlencelere dalardı. Doğuştan açıklığı sevmekte olmasından (başka bu yolu tutmasının iki etkeni vardı:
1) gizlilik onun eğlencelerine katılanlardan veya onları bilenlerden bu konular üzerinde kimseye bir şey söylememelerini istemeye varırdı ki bu Atatürk'ün bir nevi minnet altına girmesi demekti. O ise hiç bir minneti kabul edecek huyda değildi.
2) O, şu inançta idi ki, açıklık aleyhteki propagandaları etkisiz bırakmak için en iyi çaredir. Eğer halk kendisini içerken görürse ondan sonra düşman propagandacılar ona ayyaş deseler halk 'onu biliyoruz gördük başka yeni bir şey söyle' karşılığında bulunur ve propaganda suya düşer. Devlet sırlarını saklama bakımından da kendine öz bir yolu vardı. Sofrasında her şey kondurduğundan yabancı casuslar sofra da bulunmuş konuklarının, meselâ dönüşte şoförler duyacak biçim de aralarında konuşmaları veya sofracı ve türlü hizmetçilerin gevezeliği sayesinde her şeyden hiç olmazsa dolayısiyle, yarım yamalak da olsa az çok haber aldıklarını sanar ve edindikleri türlü ip uçlarına derinleştirmekle yetinirlerdi. Halbuki gerçek sırrın pek az olduğuna inanan Atatürk onlar üzerinde en yakın ilgililer dışında hiç kimse ile konuşmaz, bazen aksini sandıracak konuşmalar yapar ve haberler yayarak casusları gafil avlardı. 1922 Ağustos'undaki büyük saldırı, 1926'daki Bozkurt vapurunun batması dolayısiyle La Hay'de görülen dâva için Adliye Vekili Mahmut Esat (Bozkurt)'a verilen yönergelerden kimsenin bir şey sezememesi bunun örneklerindendir.

Özet olarak diyeceğiz ki; Atatürk Samsun'a çıktığı andan itibaren Türk ulusunun gerçek önderi olmuştur. Artık dilediği gibi çalışmak ve Türklüğün kurtuluş işini bir baş olarak ele almak imkânına sahiptir. Artık uzun tartışmalar sonucunda kile olsa her önemli işte son söz onun olacaktır. Gerçi bir çok birbirine zıt unsurlarla anlaşmak, onları gidilmesi gereken doğru yolun hangisi olduğuna inandırmak için epey uğraşmak gerekecektir. Ancak O'nun bu yoldaki uğraşları önderliği esas bakımdan kabul edilmiş bir kimsenin çabalarıdır; dolayısiyle de, daha önce olduğu gibi anlayışsız, kavrayışsız veya ürkek üstlere gerçek kurtuluş yollunu tutturmak için yapılması gereken uğraşlardan daha kolay ve daha az üzücüdür.
O'nun hem askerlik hem de siyasal bakımından isabetli bir görüşe sahip olduğu genel savaş sırasındaki başarı ve zaferlerinden, yine o sırada ve daha önce İttihat ve Terakki ile Hükümete gerçek durumu ve doğru yolu göstermek için yaptığı uğraşlardan anlaşılmıştır; aydınların pek çoğu ve hatta kısmen de halk kütleleri bunu bilmektedirler.
O, elinde bu kozlar olarak işe koyulacaktır.

1. İlk uygulama parametrelerimiz şöyle olsun: #00FF99 renk seçeneği ile maksimum kelime sıklığı 1000, maksimum kelime sayısı ise 100 olsun. Bu durumda kelime bulutumuz aşağıdaki gibi olacaktır.

2. İlk uygulama parametrelerimiz şöyle olsun: #00FFCC renk seçeneği ile maksimum kelime sıklığı 500, maksimum kelime sayısı ise 500 olsun. Bu durumda kelime bulutumuz aşağıdaki gibi olacaktır.

Faydalı olması ve farkındalık oluşturması dileğiyle.

Bilimle ve teknolojiyle kalınız.

Not: Kaynak gösterilmeden alıntı yapılamaz veya kopyalanamaz.

Note: It can not be cited or copied without referencing.

Yararlanılan Kaynaklar

Öne çıkan

Tekrarlı Basit Tesadüfi Örnekleme ve Bootstrap Örnekleme Üzerine Vaka Çalışmaları: Case Studies on Simple Random Sampling with Replacement and Bootstrap Sampling

Bootstrap, istatistik dağılımlarını anlamaya yönelik 1979’da Stanford Üniversitesinden Amerikalı istatistikçi Bradley Efron tarafından geliştirilmiş parametrik ve non-parametrik versiyonları olan hem istatistiksel bir teknik hem de bir simülasyon yöntemidir.

Bootstrap örnekleme duyarlılık analizleri, istatistiksel ve ekonometrik analizlerden makine öğrenme ve derin öğrenmeye kadar pek çok farklı alanda kendine uygulama alanı bulmaktadır. Kısacası bu yöntem bütün alanlarda kullanılabilmektedir. Bootstrap, belirli bir istatistiksel yöntemle ilişkili belirsizlik ölçülerini tahmin etmek için en genel ve en yaygın kullanılan araçlardan biridir. Bazı yaygın temel bootstrap uygulamaları şunlardır: belirli bir istatistiksel tahmincinin merkezi dağılım ve yayılım ölçülerini, standart sapmasını, varyansını tahmin etmek veya ilgili parametreler için yaklaşık güven aralıkları oluşturmak. Ancak çok daha gelişmiş uygulama alanları da mevcuttur özellikle makine ve derin öğrenme alanlarında. Sözü gelmişken ifade etmekte fayda var; veri bilimiyle ilgilenilen bazı internet sitelerinde Bootstrap örnekleme ile tekrarlı basit tesadüfi örneklemenin birbirinin yerine ve eş anlamlı olarak kullanıldığı görülmektedir. Aslında bu kavramların adları da hatalı kullanılmaktadır. Hadi burayı geçelim bir ölçüde tolere edilebilir ama Bootstrap örnekleme ile tekrarlı basit tesadüfi örneklemenin birbirinin yerine kullanılması eksik kalan hatalı bakış açısıdır ve düzeltilmeye ihtiyacı vardır. Bu iki yöntem birbirine yakın ancak aynı şey olmadığını ifade etmek lazım. Bu iki yöntem birbirine benzemektedir çünkü Bootstrap örnekleme tekrarlı basit tesadüfi örneklem üzerine inşa edilmiştir. Farklılığı ise tekrarlı örnekleme tekniğinde örneklemin popülasyondan çekilmesi ve çekilecek örneklem büyüklüğünün ise popülasyon (N)’daki gözlem sayısı (popülasyon birimleri)’ndan az veya ona eşit olmasıdır. Diğer bir farklılığı, Bootstrap örneklemede örneklem, yine bir popülasyondan çekilmiş bir örneklem birimleri içerisinden çekilir ve Bootstrap örneklemlerin sayısı (n1, n2, n3, n4……….ni), popülasyondan çekilmiş örneklem büyüklüğü (n)’ne eşit olmasıdır. Diğer bir deyişle, n1, n2, n3, n4……….ni= n’dir. Ayrıca Bootstrap örneklemede popülasyonu temsil eden örneklemden birden fazla sayıda örneklem seçimi (replikasyon) söz konusudur. Eğer popülasyonu temsil eden orjinal örneklemden birden fazla sayıda örneklem oluşturuyorsa burada replikasyondan bahsederiz. Replikasyonu r ile gösterirsek r>1 ve r1‘den ri‘ye kadar örneklem seçimi yapılır. Yani burada replikasyon (r) bize kaç kez tekrarlı örnekleme yapacağımızı gösterir. Bu durumda basit bir hesaplama ile Bootstrap örneklemede yeni gözlem sayıları= rxn‘dir. Bahsedilenler ışığında Şekil 2 üzerinde Bootstrap örnekleme açıklanmaya çalışılmıştır.

İstatistikte olasılıklı örnekleme, popülasyon birimlerinin bulunduğu bir listeden örneklem birimlerinin seçilmesidir. Tesadüfi seçilmiş örneklem birimleri (sample unit)’nde, tesadüfi seçilir. Olasılıklı örnekleme yöntemlerinden tesadüfi örneklemede yaygın olarak iki yöntem kullanılmaktadır. Bunlardan ilki ve en yaygın olanı tekrarsız basit tesadüfi örnekleme (simple random sampling without replacement), diğeri ise sistematik örneklemedir. Bu yöntemler örneklemle popülasyona genelleme çalışmalarının yapıldığı araştırma literatüründe mutlak bir şekilde kullanılmaktadır. Bu yöntemlerin temel özelliği hedef popülasyon içerisindeki popülasyon birimlerine örnekleme seçilmesinde eşit şans verilmesidir. Bu yöntemlerle ilgili uygulamalı çalışmaları ve daha fazlasını bu site üzerinde yayınladım. İlgi duyanlar yöntemlerle uygulamalarının nasıl yapıldığını buradan öğrenebilir ve aynı zamanda bu çalışmaları indirebilirler. Tekrarlı basit tesadüfi örnekleme (simple random sampling with replacement)’de ise böyle bir durum söz konusu değildir, diğer bir deyişle örneklem birimlerine ya da popülasyon birimlerine eşit seçilme şansı verilmez. Gelin şimdi çalışmamızın odağı olan tekrarsız ve tekrarlı basit tesadüfi örnekleme yöntemlerini, ardından ise bootsrap örneklemeyi inceleyelim. Bu çalışmalar kapsamında uygulamaları hem Microsoft Excel hem de R programlama dili üzerinde yaparak okuyuculara konunun öğrenilmesi noktasında daha fazla katkı sunulması amaçlanmıştır.

Tekrarsız Basit Tesadüfi Örnekleme

Popülasyondan örnekleme seçilen her birimin eşit seçilme şansı olduğu olasılıklı örnekleme yöntemi basit tesadüfi tekrarsız örnekleme yöntemidir. Örneğin kürede isimleri yazılı 81 ilden 10 ilin geri koyulmadan sırasıyla seçildiğini varsayalım. Burada seçilen her il çekildikten sonra küreye koymayarak (iadesiz) diğerlerine eşit şans tanımış olduk. Bu durumda tekrarsız seçim yaparak tekrarsız örnekleme yaptığımızdan küreden seçilen herhangi bir ile bir daha seçilme şansı vermemiş oluyoruz. Bu konuyla ilgili olarak daha önce Microsoft Excel üzerinde yaptığım simülasyona dayalı kapsamlı örnek uygulama çalışmasını aşağıdaki linkte paylaşıyorum.

Tekrarsız Basit Tesadüfi Örnekleme Yöntemi Kullanılarak Z Tablosu Üzerinden Güven Aralığının Hesaplanmasına Yönelik Bir Simülasyon Çalışması

Tekrarsız Basit Tesadüfi Örnekleme Yöntemi Kullanılarak t Dağılım Tablosu Üzerinden Güven Aralığının Hesaplanmasına Yönelik Bir Simülasyon Çalışması

Bu örnek uygulama ile hem tekrarsız basit tesadüfi örneklemenin nasıl yapıldığını hem de güven aralığının nasıl hesaplandığını görmüş ve öğrenmiş olacaksınız. Bu uygulamada açık bir şekilde kullanılan fonksiyonları da göreceğinizden oldukça faydalı olacağı düşünülmektedir.

Tekrarlı Basit Tesadüfi Örnekleme

Popülasyondan örnekleme seçilen her birime eşit seçilme şansının verilmediği, diğer bir ifadeyle her popülasyon biriminin birden fazla seçilme şansının olduğu olasılıklı örnekleme yöntemi tekrarlı basit tesadüfi örnekleme yöntemidir. Örneğin kürede isimleri yazılı 81 ilden 10 ilin seçildiğini varsayalım. Tekrarsız basit tesadüfi örnekleme yönteminden farklı olarak bu yöntemde seçilen iller tekrar küreye bırakılarak (iadeli) burada bu illere birden fazla seçilme şansı verilir. Diyelim ki küreden 1. sırada çekilen il Trabzon’dur. Trabzon ilinin tekrar küreye atılarak seçilen her ilin tekrar küreye konulmak suretiyle seçim döngüsünün 10. ilin seçilmesine kadar (dahil) devam ettiği süreci bu yöntemle tanımlarız. Burada 1. sırada seçilen Trabzon ilinin diğer seçimlerde de küreden çıkma şansı bulunmaktadır.  Tekrarlı basit tesadüfi örnekleme tekniğinin daha kalıcı olması adına Microsoft Excel’de sentetik veri üreterek hazırladığım örnek uygulama Şekil 1’de ve daha önce yapmış olduğum çalışmalarda verilmiştir. Tekrarlı basit tesadüfi örnekleme çalışmasına aşağıdaki linkten ulaşabilirsiniz.

Z Tablosuna Göre Güven Aralığının Hesaplanmasına Yönelik Bir Simülasyon Çalışması

Burada formüllere yer verilerek ayrıca sizi formüllere boğmayacağım 🙂 . Önemli olan işin felsefesini anlamak. Uygulama ile zaten çok rahat anlayacağınızı düşünüyorum.

Şekil 1: Tekrarlı Basit Tesadüfi Örnekleme

Bu görselin boş bir alt özelliği var; dosya ismi: image.png

Şekil 1’deki tekrarlı basit tesadüfi örnekleme uygulamasını xlsx formatında aşağıdaki linkten indirebilirsiniz. Bu çalışma aynı zamanda tekrarlı basit tesadüfi örnekleme simülasyon çalışması olup, çalışmada kullanılan fonksiyonları da görerek konunun daha kalıcı olarak anlaşılmasına katkı sunulması amaçlanmıştır. Aynı çalışmada Şekil 2’de belirtilen Bootstrap örneklemeye de yer verilmiştir. Microsoft Excel ortamındaki uygulamada F9 tuşuna basılı tutarak yeni tekrarlı basit tesadüfi örneklem birimleri üretebilirsiniz. Microsoft Excel’de bu uygulamanın verilmesinin nedeni R programlama dili bilmeyenlerin olabileceği ve kullanılan fonksiyonları ile bu fonksiyonların birbiriyle etkileşimlerinin gösterilmek istenmesi düşüncesinden ileri gelmektedir.

Bootstrap’ta, ilgilenilen popülasyondan birçok kez tekrarlı örneklemler (aynı büyüklükte) alınır. Bu nedenle bu tekniği anlamadan önce tekrarlı basit tesadüfi örnekleme mantığının anlaşılması gerekir. Örneklem çalışmalarında amaç, güncel bilgiye en hızlı ve en düşük maliyetle ulaşmaktır. Bootstrap’in arkasında yatan fikir, bir istatistiğin örnekleme dağılımına ne kadar ve ne ölçüde evrildiğini Bootstrap örneklemlerle ortaya koyarak Bootstrap örnek dağılımını göstermektir. Şekil 2’de Bootstrap örneklemenin somutlaştırılması adına örnek bir uygulama hazırlanmıştır. Burada amaç Bootstrap örneklemenin felsefesini göstermek olduğundan minimal örneklem büyüklükleri üzerinden gidilmiştir. Eğer Z tablosu kullanılarak güven aralığı hesaplanması isteniyorsa örneklem büyüklüğünün 30 ve 30’dan büyük, t (student’s t) tablosu kullanılarak güven aralığı hesaplanması isteniyorsa örneklem büyüklüğünün 30’dan daha düşük olması gerekir. Bunları burada hatırlatmakta fayda var. Şekil 2’deki örnek bootstrap örneklemede replikasyon (tekrar) sayımız 4, tekrarlı seçilen örneklemlerin büyüklüğü (sample size) ise 5’tir. Burada replikasyon sayısı ve örneklem büyüklüğü uygulama Microsoft excel ortamında yapıldığı için düşük tutulmuştur. Genelde literatürde ve uygulamalarda replikasyon sayısı 1000 olarak alındığı görülmektedir. Ancak replikasyon sayısının araştırmanın amacına, dizaynına ve veri setine göre değişiklik gösterebileceği unutulmamalıdır.

Şekil 2: Bootstrap Örnekleme

Şimdi de Şekil 2’deki Bootstrap örneklemlere dayalı olarak orijinal örneklemde değerleri ne kadar doğrulukla, yani ne kadarlık bir sapma (bias) ile tahmin edebileceğimizi hesaplayalım. Bu hesaplama Tablo 1’de verilmiştir. Tablo 1’de bias (sapma), orijinal örneklem ortalamasından Bootstrap örneklem ortalamasının çıkarılarak hesaplanmıştır. Tablo 1 üzerinden gidecek olursak Bias = 34,6-30,95=3,65’tir. Biz burada hesapladığımız sapma (bias) değeri ile aslında 4 kez (replikasyon) Bootstrap örnekleme yaptığımızda elde elde ettiğimiz Bootstrap örneklem ortalamasının gözlem ortalamasından 3,65 saptığını söylüyoruz. Daha büyük örneklem büyüklüklerinde ve daha yüksek replikasyonlarda (tekrarlarda) bu sapma değeri düşecektir.

Tablo 1: Bootstrap Örnekleme İle Sapmanın Hesaplanması

Şimdi de R programlama dili kullanarak gerçekçi bir veri seti üzerinden bootstrap örnekleme ile merkezi dağılım ölçüleri ve bunların güven aralıklarını hesaplayalım. Bu bağlamda bu kısımda kullanılan veri seti R’da yer alan pizza verisidir. Veri seti, 1209 gözlem ve 16 değişkenden oluşmaktadır. Veri setini aşağıdaki linkten indirebilirsiniz.

R’da Tekrarlı Basit Tesadüfi Örnekleme ve Bootstrap Örnekleme

Yüklenecek kütüphaneler

library<-c("reactable","dplyr","tibble","tidyr","ggplot2","formattable","ggthemes","readr","readxl","ggpubr","formattable", "ggstance", "explore", "tidytext", "scales", "data.table", "pastecs", "gtools", "rmarkdown", "knitr", "gtsummary", "writexl", "ppcor","psych", "reshape2", "GGally", "CCP", "Hmisc", "VIM", "philentropy", "kableExtra", "foreign", "DescTools", "pander", "infer", "boot", "bootstrap")
loading<-sapply(library, require, character.only = TRUE)

suppressWarnings(loading, classes = "warning")

Veri setinin okunması ve xlsx uzantılı çalışma kitabına yazdırılması

pizza=d.pizza
head(pizza,10) %>% pander(caption="Pizza Veri Seti İlk 10 Gözlem")
write_xlsx(pizza, "pizzaverisi.xlsx") # veri setinin xlsx uzantılı Microsoft Excel çalışma kitabına yazdırılması

Yukarıdaki R kod bloğunun çalıştırılmasından sonra veri setindeki ilk 10 kayıt aşağıdaki tabloda verilmiştir.

----------------------------------------------------------------------------
 index      date      week   weekday      area       count   rabate   price 
------- ------------ ------ --------- ------------- ------- -------- -------
   1     2014-03-01    9        6        Camden        5      TRUE    65.66 

   2     2014-03-01    9        6      Westminster     2     FALSE    26.98 

   3     2014-03-01    9        6      Westminster     3     FALSE    40.97 

   4     2014-03-01    9        6         Brent        2     FALSE    25.98 

   5     2014-03-01    9        6         Brent        5      TRUE    57.56 

   6     2014-03-01    9        6        Camden        1     FALSE    13.99 

   7     2014-03-01    9        6        Camden        4      TRUE    89.44 

   8     2014-03-01    9        6         Brent       NA       NA      NA   

   9     2014-03-01    9        6      Westminster     3     FALSE    40.97 

  10     2014-03-01    9        6         Brent        6      TRUE    84.74 
----------------------------------------------------------------------------

Table: Pizza Veri Seti İlk 10 Gözlem (continued below)

 
----------------------------------------------------------------
 operator   driver    delivery_min   temperature   wine_ordered 
---------- --------- -------------- ------------- --------------
  Rhonda    Taylor         20            53             0       

  Rhonda    Butcher       19.6          56.4            0       

 Allanah    Butcher       17.8          36.5            0       

 Allanah    Taylor        37.3           NA             0       

  Rhonda    Carter        21.8           50             0       

 Allanah    Taylor        48.7           27             0       

  Rhonda    Taylor        49.3          33.9            1       

 Allanah    Taylor        25.6          54.8            NA      

 Allanah    Taylor        26.4           48             0       

  Rhonda    Carter        24.3          54.4            1       
----------------------------------------------------------------

Table: Table continues below

 
---------------------------------------
 wine_delivered   wrongpizza   quality 
---------------- ------------ ---------
       0            FALSE      medium  

       0            FALSE       high   

       0            FALSE        NA    

       0            FALSE        NA    

       0            FALSE      medium  

       0            FALSE        low   

       1            FALSE        low   

       NA           FALSE       high   

       0            FALSE       high   

       1            FALSE      medium  
---------------------------------------

Veri setinin yapısını gözden geçirme

Aşağıda da görüleceği üzere pizza veri seti 1209 gözlem ve 16 değişkenden oluşmaktadır. Bazı değişkenlerin nominal ve ordinal kategorik, bazılarının ise nicel veri tipinde olduğu görülmektedir.

'data.frame':	1209 obs. of  16 variables:
 $ index         : int  1 2 3 4 5 6 7 8 9 10 ...
 $ date          : Date, format: "2014-03-01" "2014-03-01" "2014-03-01" "2014-03-01" ...
 $ week          : num  9 9 9 9 9 9 9 9 9 9 ...
 $ weekday       : num  6 6 6 6 6 6 6 6 6 6 ...
 $ area          : Factor w/ 3 levels "Brent","Camden",..: 2 3 3 1 1 2 2 1 3 1 ...
 $ count         : int  5 2 3 2 5 1 4 NA 3 6 ...
 $ rabate        : logi  TRUE FALSE FALSE FALSE TRUE FALSE ...
 $ price         : num  65.7 27 41 26 57.6 ...
 $ operator      : Factor w/ 3 levels "Allanah","Maria",..: 3 3 1 1 3 1 3 1 1 3 ...
 $ driver        : Factor w/ 7 levels "Butcher","Carpenter",..: 7 1 1 7 3 7 7 7 7 3 ...
 $ delivery_min  : num  20 19.6 17.8 37.3 21.8 48.7 49.3 25.6 26.4 24.3 ...
 $ temperature   : num  53 56.4 36.5 NA 50 27 33.9 54.8 48 54.4 ...
 $ wine_ordered  : int  0 0 0 0 0 0 1 NA 0 1 ...
 $ wine_delivered: int  0 0 0 0 0 0 1 NA 0 1 ...
 $ wrongpizza    : logi  FALSE FALSE FALSE FALSE FALSE FALSE ...
 $ quality       : Ord.factor w/ 3 levels "low"<"medium"<..: 2 3 NA NA 2 1 1 3 3 2 ...

Eksik gözlemlerin gözden geçirilmesi

eksikveri=colSums(is.na(pizza))
deger=as.tibble(eksikveri)
data.frame(Degisken=colnames(pizza), Sayi=deger$value, "Orani"=round((deger$value/sum(deger$value))*100,2)) %>% pander(caption="Eksik Gözlemlerin Sayısı")

Yukarıdaki R kod bloğunun çalıştırılmasından sonra değişkenlere göre elde edilen eksik gözlemler aşağıdaki tabloda verilmiştir.

-------------------------------
    Degisken      Sayi   Orani 
---------------- ------ -------
     index         0       0   

      date         32    7.57  

      week         32    7.57  

    weekday        32    7.57  

      area         10    2.36  

     count         12    2.84  

     rabate        12    2.84  

     price         12    2.84  

    operator       8     1.89  

     driver        5     1.18  

  delivery_min     0       0   

  temperature      39    9.22  

  wine_ordered     12    2.84  

 wine_delivered    12    2.84  

   wrongpizza      4     0.95  

    quality       201    47.52 
-------------------------------

Table: Eksik Gözlemlerin Sayısı

Veri setinden tekrarsız basit tesadüfi örnekleme tekniği ile örneklem seçimi

set.seed(61)#aynı örneklem birimlerinin alınması için
ornek<-pizza %>% sample_frac(0.7) # örneklem büyüklüğü 846 gözlemden oluşmaktadır.
sum(is.na(ornek$price)) # örneklemdeki eksik gözlem sayısı 10
fiyat=ornek$price[complete.cases(ornek$price)] #örneklemdeki eksik gözlemlerin çıkarılması
#alternatif tekrarsız basit tesadüfi örneklem seçimi 
#pizza[sample(1:nrow(pizza),NROW(pizza)*0.7, replace=FALSE),]

a) Medyan Değerler Üzerinden Bootstrap Örnekleme

Bootstrap örnekleme pizza veri setindeki pizza fiyatı üzerinden yapılmıştır. Bootstrap örnekleme de replikasyon (tekrar) sayısı 1000, her bir replikasyondaki örneklem büyüklüğümüz (sample size) ise 836’dır. Buna göre yeni durumda toplam gözlem sayımız ise 1000 x 836 =836000’dır.

Orjinal örneklem setinden % 95 ve 99 güven aralıklarında medyan değerlerinin belirlenmesi

Pizza veri setinden tekrarsız basit tesadüfi örnekleme ile çekilen 836 gözlem (846-10=836, 10 gözlem eksik olduğu için veri setinden çıkarılmıştır) üzerinden pizza piyatları (price) değişkeninden hareketle merkezi dağılım ölçülerinden biri olan medyanlar hesaplanmıştır.

ga=0.90 # % 90 güven aralığını göstermektedir.
sonuc=MedianCI(fiyat, na.rm=TRUE, conf.level =ga)
medyan=sonuc[1]
altsinir=sonuc[2]
ustsinir=sonuc[3]
k=tibble(medyan, altsinir, ustsinir, guven_araligi=ga)

#% 95 güven aralığında medyan değerlerini hesaplama
ga1=0.95 # % 95 güven aralığını göstermektedir.
sonuc1=MedianCI(fiyat, na.rm=TRUE, conf.level =ga1)
medyan=sonuc1[1]
altsinir=sonuc1[2]
ustsinir=sonuc1[3]
l=tibble(medyan, altsinir, ustsinir, guven_araligi=ga1)

#% 99 güven aralığında medyan değerlerini hesaplama
ga2=0.99 # % 90 güven aralığını göstermektedir.
sonuc2=MedianCI(fiyat, na.rm=TRUE, conf.level =ga2)
medyan=sonuc2[1]
altsinir=sonuc2[2]
ustsinir=sonuc2[3]
m=tibble(medyan, altsinir, ustsinir, guven_araligi=ga2)

baz=rep("baz",2)
lm=rbind(l,m)
# Medyan değerlerinin tek bir tabloda birleştirilmesi
baztum=cbind(model=baz, lm)
baztum %>% pander(caption="Orjinal Örneklemde % 95 ve % 99 Güven Aralığında Pizza Fiyatlarının Medyan Değerleri")

Yukarıdaki R kod bloğunun çalıştırılmasından sonra orjinal örneklem veri setinden elde edilen % 95 ve 99 güven aralıklarında medyan değerleri aşağıdaki tabloda verilmiştir.

------------------------------------------------------
 model   medyan   altsinir   ustsinir   guven_araligi 
------- -------- ---------- ---------- ---------------
  baz    46.79     44.97      47.97         0.95      

  baz    46.79     44.96      48.56         0.99      
------------------------------------------------------

Table: Orjinal Örneklemde % 95 ve % 99 Güven Aralığında Pizza Fiyatlarının Medyan Değerleri

% 95 ve 99 güven aralığında bootstrap örneklemeyle medyan değerlerin hesaplanması

options(scipen = 999)
set.seed(61) # aynı sonuçları alabilmeniz adına sabitlenmiştir.
bfiyat=fiyat %>% as_tibble() %>% rename(fiyat=value) %>%
generate(reps = 1000, type = "bootstrap")

#% 95 güven aralığında medyan değerlerini hesaplama

ga1=0.95 # % 95 güven aralığını göstermektedir.
sonuc1=MedianCI(bfiyat$fiyat, na.rm=TRUE, conf.level =ga1)
medyan=sonuc1[1]
altsinir=sonuc1[2]
ustsinir=sonuc1[3]
lb=tibble(medyan, altsinir, ustsinir, guven_araligi=ga1)

#% 99 güven aralığında medyan değerlerini hesaplama

ga2=0.99 # % 99 güven aralığını göstermektedir.
sonuc2=MedianCI(bfiyat$fiyat, na.rm=TRUE, conf.level =ga2)
medyan=sonuc2[1]
altsinir=sonuc2[2]
ustsinir=sonuc2[3]
mb=tibble(medyan, altsinir, ustsinir, guven_araligi=ga2)

boost=rep("boostrap ornekleme",2)
blm=rbind(lb,mb)
tumb1=cbind(model=boost, blm)
tumb1 %>% pander(caption="% 95 ve % 99 Güven Aralığında 1000 Tekrarlı (Replikasyon) Boostrap Örnekleminde Pizza Fiyatlarının Medyan Değerleri")

Yukarıdaki R kod bloğunun çalıştırılmasından sonra elde edilen % 95 ve % 99 güven aralığında 1000 tekrarlı (replikasyon) boostrap örnekleminde pizza fiyatı medyan değerleri aşağıdaki tabloda verilmiştir.

-------------------------------------------------------------------
       model          medyan   altsinir   ustsinir   guven_araligi 
-------------------- -------- ---------- ---------- ---------------
 boostrap ornekleme   46.76     46.76      46.81         0.95      

 boostrap ornekleme   46.76     46.76      46.97         0.99      
-------------------------------------------------------------------

Table: % 95 ve % 99 Güven Aralığında 1000 Tekrarlı (Replikasyon) Boostrap Örnekleminde Pizza Fiyatlarının Medyan Değerleri

Orjinal örneklem ve bootstrap örnekleme sonuçlarının medyan üzerinden karşılaştırılması

birlesik=rbind(baztum, tumb1) %>% as_tibble() %>% mutate(aralik_genisligi=ustsinir-altsinir)

formattable(birlesik, align =rep("l",6), list(
  `model` = formatter("span", style = ~ style(color = "black",font.weight = "bold")), 
  `medyan`= color_bar("#00FF7F"),
  `altsinir`= color_bar("#00BFFF"),
  `ustsinir`= color_bar("#B0C4DE"),
  `aralik_genisligi`= color_bar("#FA8072")
))

#alternatif olarak dilerseniz aşağıdaki kodu da yazarak farklı formatta tablo alabilirsiniz.
rbind(baztum, tumb1) %>% as_tibble() %>% mutate(aralik_genisligi=ustsinir-altsinir) %>% #pander (caption="Karşılaştırmalı Medyan Sonuçları") 

Yukarıdaki R kod bloğunun çalıştırılmasından sonra elde edilen karşılaştırmalı sonuçlar bir bütün olarak aşağıdaki tabloda verilmiştir. Elde edilen bulgulardan orjinal örneklemde medyan pizza fiyatlarının bootsrap örnekleme ile elde edilen arasındaki yüksek bir fark olmadığını göstermektedir. Şimdi aşağıdaki tablodan hareket ederek medyan değerleri üzerinden basitçe bias’i yani sapmayı ele alalım:

  • Orjinal örneklem ile bootstrap örneklem medyanları arasındaki sapmamız, yani bias=46,787-46764=0,023’e eşittir.
  • Biaste medyan değerleri üzerinden gidildiğinde çok düşük bir farklılaşma görülmektedir. Ancak farklılaşmayı biz daha çok güven aralıklarında görüyoruz. Burada tabloda aralik genişliği bize güven aralığının üst sınırı ile alt sınırının farkını vermektedir.

Bulgulardan da anlaşılacağı üzere sapmaların oldukça düşük olduğunu ortaya koymaktadır. Bu durum bize bootsrap örneklemenin oldukça yüksek bir doğrulukla orjinal örneklemdeki medyan değerlerini tahmin ettiğini göstermektedir.

b) Ortalama Değerler Üzerinden Bootstrap Örnekleme

Bootstrap örnekleme pizza veri setindeki pizza fiyatı üzerinden yapılmıştır. Bootstrap örnekleme de replikasyon (tekrar) sayısı 1000, her bir replikasyondaki örneklem büyüklüğümüz (sample size) ise 836’dır. Buna göre yeni durumda toplam gözlem sayımız ise 1000 x 836 =836000’dır.

Orjinal örneklem setinden % 95 ve 99 güven aralıklarında ortalama değerlerinin belirlenmesi

Pizza veri setinden tekrarsız basit tesadüfi örnekleme ile çekilen 836 gözlem (846-10=836, 10 gözlem eksik olduğu için veri setinden çıkarılmıştır) üzerinden pizza fiyatları (price) değişkeninden hareketle merkezi dağılım ölçülerinden biri olan ortalamalar hesaplanmıştır.

#% 95 güven aralığında medyan değerlerini hesaplama
ga1=0.95 # % 95 güven aralığını göstermektedir.
sonuc1=MeanCI(fiyat, na.rm=TRUE, conf.level =ga1)
ortalama=sonuc1[1]
altsinir=sonuc1[2]
ustsinir=sonuc1[3]
l=tibble(ortalama, altsinir, ustsinir, guven_araligi=ga1)

#% 99 güven aralığında medyan değerlerini hesaplama
ga2=0.99 # % 99 güven aralığını göstermektedir.
sonuc2=MeanCI(fiyat, na.rm=TRUE, conf.level =ga2)
ortalama=sonuc2[1]
altsinir=sonuc2[2]
ustsinir=sonuc2[3]
m=tibble(ortalama, altsinir, ustsinir, guven_araligi=ga2)

baz=rep("baz",2)
lm=rbind(l,m)
baztum=cbind(model=baz, lm)
baztum %>% pander(caption="Orjinal Örneklemde % 95 ve % 99 Güven Aralığında Pizza Fiyatlarının Ortalama Değerleri")

Yukarıdaki R kod bloğunun çalıştırılmasından sonra orjinal örneklem veri setinden elde edilen % 95 ve 99 güven aralıklarında ortalama değerleri aşağıdaki tabloda verilmiştir.

--------------------------------------------------------
 model   ortalama   altsinir   ustsinir   guven_araligi 
------- ---------- ---------- ---------- ---------------
  baz      49.2      47.67      50.73         0.95      

  baz      49.2      47.19      51.22         0.99      
--------------------------------------------------------

Table: Orjinal Örneklemde % 95 ve % 99 Güven Aralığında Pizza Fiyatlarının Ortalama Değerleri

% 95 ve 99 güven aralığında bootstrap örneklemeyle ortalama değerlerin hesaplanması

options(scipen = 999)
set.seed(61) # aynı sonuçları alabilmeniz adına sabitlenmiştir.
bfiyat=fiyat %>% as_tibble() %>% rename(fiyat=value) %>%
generate(reps = 1000, type = "bootstrap")

#% 95 güven aralığında medyan değerlerini hesaplama
ga1=0.95 # % 95 güven aralığını göstermektedir.
sonuc1=MeanCI(bfiyat$fiyat, na.rm=TRUE, conf.level =ga1)
ortalama=sonuc1[1]
altsinir=sonuc1[2]
ustsinir=sonuc1[3]
lb=tibble(ortalama, altsinir, ustsinir, guven_araligi=ga1)

#% 99 güven aralığında medyan değerlerini hesaplama
ga2=0.99 # % 99 güven aralığını göstermektedir.
sonuc2=MeanCI(bfiyat$fiyat, na.rm=TRUE, conf.level =ga2)
ortalama=sonuc2[1]
altsinir=sonuc2[2]
ustsinir=sonuc2[3]
mb=tibble(ortalama, altsinir, ustsinir, guven_araligi=ga2)

boost=rep("boostrap ornekleme",2)
blm=rbind(lb,mb)
tumb1=cbind(model=boost, blm)
tumb1 %>% pander(caption="% 95 ve % 99 Güven Aralığında 1000 Tekrarlı (Replikasyon) Boostrap Örnekleminde Pizza Fiyatlarının Ortalama Değerleri")

Yukarıdaki R kod bloğunun çalıştırılmasından sonra elde edilen % 95 ve % 99 güven aralığında 1000 tekrarlı (replikasyon) boostrap örnekleminde pizza fiyatı ortalama değerleri aşağıdaki tabloda verilmiştir.

---------------------------------------------------------------------
       model          ortalama   altsinir   ustsinir   guven_araligi 
-------------------- ---------- ---------- ---------- ---------------
 boostrap ornekleme    49.18      49.14      49.23         0.95      

 boostrap ornekleme    49.18      49.12      49.25         0.99      
---------------------------------------------------------------------

Table: % 95 ve % 99 Güven Aralığında 1000 Tekrarlı (Replikasyon) Boostrap Örnekleminde Pizza Fiyatlarının Ortalama Değerleri

Orjinal örneklem ve bootstrap örnekleme sonuçlarının ortalama üzerinden karşılaştırılması

birlesik=rbind(baztum, tumb1) %>% as_tibble() %>% mutate(aralik_genisligi=ustsinir-altsinir)

formattable(birlesik, align =rep("l",6), list(
  `model` = formatter("span", style = ~ style(color = "black",font.weight = "bold")), 
  `ortalama`= color_bar("#00FF7F"),
  `altsinir`= color_bar("#00BFFF"),
  `ustsinir`= color_bar("#B0C4DE"),
  `aralik_genisligi`= color_bar("#FA8072")
))

#alternatif olarak dilerseniz aşağıdaki kodu da yazarak farklı formatta tablo alabilirsiniz.
rbind(baztum, tumb1) %>% as_tibble() %>% mutate(aralik_genisligi=ustsinir-altsinir) %>% #pander (caption="Karşılaştırmalı Ortalama Sonuçları") 

Yukarıdaki R kod bloğunun çalıştırılmasından sonra elde edilen karşılaştırmalı sonuçlar bir bütün olarak aşağıdaki tabloda verilmiştir. Elde edilen bulgulardan orjinal örneklemde ortalama pizza fiyatlarının bootsrap örnekleme ile elde edilen arasındaki yüksek bir fark olmadığını göstermektedir. Şimdi aşağıdaki tablodan hareket ederek ortalamalar üzerinden basitçe bias’i yani sapmayı ele alalım:

  • Orjinal örneklem ile bootstrap örneklem ortalamaları arasındaki sapmamız, yani bias=49,20037-49,18349=0,01688’e eşittir.
  • Biaste ortalama değerleri üzerinden gidildiğinde çok düşük farklılaşma görülmektedir. Ancak farklılaşmayı biz daha çok güven aralıklarında görüyoruz. Burada tabloda aralik genişliği bize güven aralığının üst sınırı ile alt sınırının farkını vermektedir.

c) Tekrar (Replikasyon) Sayısına Göre Ortalama Değerler Üzerinden Bootstrap Örneklemelerin Karşılaştırılması

Burada replikasyon veya iterasyon sayısına göre ortalamalar üzerinden bootstrap örneklemeler karşılaştırılmıştır. Daha önce 1000 replikasyona göre ortalamalar karşılaştırılmıştı. Burada ise 10000 replikasyona ulaşıldığında sonuçların nasıl değiştiğini görelim.

Orjinal örneklem ve bootstrap örnekleme sonuçlarının farklı replikasyonlara göre ortalama üzerinden karşılaştırılması

# Bootstrap örnekleme fonksiyonunun oluşturulması
set.seed(61)# aynı sonuçları alabilmeniz adına sabitlenmiştir.
replikasyon <-10000 #bootstrap örneklemlerin sayısı (replikasyon sayısı)
bort <-rep(NA, replikasyon)
set.seed(10)
for(i in 1:replikasyon ){
bort [i]<-mean(sample(fiyat, replace = T)) 
}
bort 

bg=quantile(bort, c(0.025, 0.975)) # % 95 güven aralığı (CI)
bg1=quantile(bort, c(0.01, 0.99))  # % 99 güven aralığı (CI)
m=mean(bort) #ortalama
modeli="bootstrap ornekleme"
t=cbind(model=modeli, ortalama=m, altsinir=bg[1], ustsinir=bg[2])%>% as_tibble()%>% mutate(guven_araligi=0.95, replikasyon=10000)
b=cbind(model=modeli,ortalama=m, altsinir=bg1[1], ustsinir=bg1[2])%>% as_tibble()%>% mutate(guven_araligi=0.99, replikasyon=10000)
yeni=rbind(t,b)%>% mutate_at(vars(ortalama, altsinir, ustsinir), as.numeric) %>% mutate_if(is.numeric, round, 3)

birlesik=rbind(baztum, tumb1) %>% as_tibble() %>% mutate(replikasyon=1000)

modelyeni=rbind(birlesik, yeni)

bmodelyeni=rbind(cbind(birlesik[1:2,1:5],replikasyon=rep(0,2)),modelyeni[3:6,])%>% mutate_if(is.numeric, round, 3)

formattable(bmodelyeni, align =rep("l",6), list(
  `model` = formatter("span", style = ~ style(color = "black",font.weight = "bold")), 
  `ortalama`= color_bar("#00FF7F"),
  `altsinir`= color_bar("#00BFFF"),
  `ustsinir`= color_bar("#B0C4DE")
))

Yukarıdaki R kod bloğunun çalıştırılmasından sonra elde edilen karşılaştırmalı sonuçlar bir bütün olarak aşağıdaki tabloda verilmiştir. Elde edilen bulgulardan orjinal örneklemde ortalama pizza fiyatlarının bootsrap örnekleme ile elde edilen arasındaki yüksek bir fark olmadığını göstermektedir. Şimdi aşağıdaki tablodan hareket ederek ortalamalar üzerinden basitçe bias’i yani sapmayı ele alalım:

  • 1000 replikasyonda orjinal örneklem ile bootstrap örneklem ortalamaları arasındaki sapmamız, yani bias=49,20037-49,18349=0,01688’e eşittir. 10000 replikasyonda ise orjinal örneklem ile bootstrap örneklem ortalamaları arasındaki sapmamız, yani bias=49,20037-49,220=-0,02’ye eşittir.
  • Biaste ortalama değerleri üzerinden gidildiğinde çok düşük farklılaşma olduğu görülmektedir.
Bu görselin boş bir alt özelliği var; dosya ismi: image-17.png

Farklı replikasyonlara göre bootstrap örneklem ortalamaların dağılım yapısının incelenmesi

set.seed(61)# aynı sonuçları alabilmeniz adına sabitlenmiştir.

#Replikasyon sayısı 1000 olan bootstrap örneklemlerin çekilmesi
c1=fiyat %>% as_tibble()%>% specify(response = value) %>%
    generate(reps = 1000, type = "bootstrap") %>% group_by(replicate) %>% summarise(ort=mean(value), ssapma=sd(value))#calculate(stat= "mean") %>% rename(ort=stat)

                                                          
b1=c1 %>% ggplot(mapping = aes(x = ort)) +
  geom_histogram(fill='red', color="grey")+
  theme(axis.text.x = element_text(face="bold", color="black", 
                           size=10),
          axis.text.y = element_text(face="bold", color="black", 
                           size=10),
         plot.caption = element_text(hjust = 0.5, face = "bold.italic"))+
  xlab("Ortalamalar") + ylab("Frekans")+ ggtitle(paste("Bootstrap Örneklem Ortalamalarının Dağılımı (n1=836, replikasyon=1000",",", "sd=", round(sd(c1$ort),3),")")) +
  theme(
  plot.title = element_text(color="black", size=12, face="bold", hjust = 0.5),
  axis.title.x = element_text(color="black", size=11, face="bold"),
  axis.title.y = element_text(color="black", size=11, face="bold"))

#Replikasyon sayısı 5000 olan bootstrap örneklemlerin çekilmesi
c2=fiyat %>% as_tibble()%>% specify(response = value) %>%
    generate(reps = 5000, type = "bootstrap")%>% group_by(replicate) %>% summarise(ort=mean(value), ssapma=sd(value))


b2=c2 %>% ggplot(mapping = aes(x = ort)) +
  geom_histogram(fill='green', color="grey")+
  theme(axis.text.x = element_text(face="bold", color="black", 
                           size=10),
          axis.text.y = element_text(face="bold", color="black", 
                           size=10),
         plot.caption = element_text(hjust = 0.5, face = "bold.italic"))+
  xlab("Ortalamalar") + ylab("Frekans")+ ggtitle(paste("Bootstrap Örneklem Ortalamalarının Dağılımı (n1=836, replikasyon=5000",",", "sd=", round(sd(c2$ort),3),")"))+
  theme(
  plot.title = element_text(color="black", size=12, face="bold", hjust = 0.5),
  axis.title.x = element_text(color="black", size=11, face="bold"),
  axis.title.y = element_text(color="black", size=11, face="bold"))


#Replikasyon sayısı 5000 olan bootstrap örneklemlerin çekilmesi
c3=fiyat %>% as_tibble()%>% specify(response = value) %>%
    generate(reps = 1000, type = "bootstrap")%>% group_by(replicate) %>% summarise(ort=mean(value), ssapma=sd(value))


b3=c3 %>% ggplot(mapping = aes(x = ort)) +
  geom_histogram(fill='brown', color="grey")+
  theme(axis.text.x = element_text(face="bold", color="black", 
                           size=10),
          axis.text.y = element_text(face="bold", color="black", 
                           size=10),
         plot.caption = element_text(hjust = 0.5, face = "bold.italic"))+
  xlab("Ortalamalar") + ylab("Frekans")+ ggtitle(paste("Bootstrap Örneklem Ortalamalarının Dağılımı (n1=836, replikasyon=10000",",", "sd=", round(sd(c3$ort),3),")"))+
  theme(
  plot.title = element_text(color="black", size=12, face="bold", hjust = 0.5),
  axis.title.x = element_text(color="black", size=11, face="bold"),
  axis.title.y = element_text(color="black", size=11, face="bold"))

#grafiklerin bir arada verilmesi
ggarrange(b1,b2,b3, ncol = 1)

Yukarıdaki R kod bloğunun çalıştırılmasından sonra fiyat (price) değişkenine göre replikasyon sayısı 1000, 5000 ve 10000 olan bootstrap örneklemlerinin ortalamalarının grafiği aşağıdaki şekilde verilmiştir. Bootstrap örneklem ortalamalarının dağılımına bakıldığında birbirlerine göre aşırı bir farklılık ortaya koymadığı görülmektedir. Zira biz bunu grafiklerdeki standart sapma (sd) değerlerinin birbirlerine benzerliğinden de anlıyoruz. Şekilde örneklem ortalamalarının dağılımlarının üçü de merkezi limit teoremi (central limit theorem) ve büyük sayı yasası (law of large numbers) gereğince normal dağılıma evrildiği görülmektedir. Ancak burada standart normal dağılımdan bahsedemeyiz. Standart normal dağılım, ortalaması 0, standart sapması ise 1 olan dağılımı ifade etmektedir.

Bulgular sapmaların oldukça düşük olduğunu ortaya koymaktadır. Bu durum bize bootstrap örneklemenin oldukça yüksek bir doğrulukla orjinal örneklemdeki ortalamaları tahmin ettiğini ve bu sapmaların replikasyonlara göre farklılaştığını göstermektedir.

Özetle yapılan bu uygulamalı çalışma ile özellikle veri bilimi (data science) ile ilgilenen akademi ve saha çalışanlarına bir katkı sunulması amaçlanmıştır.

Burada örnek uygulamalar üzerinden bootstrap örneklemeye giriş yapılmıştır. Zamanım olursa bootstrap örnekleme yöntemi ile analiz yöntemlerinin performansı ve duyarlılığı başta olmak üzere diğer çalışmalar üzerinde de çalışmalar yapılacaktır.

Faydalı olması ve farkındalık oluşturması dileğiyle.

Bilimle ve teknolojiyle kalınız.

Saygılarımla…

Note: It can not be cited or copied without referencing.

Not: Kaynak gösterilmeden alıntı yapılamaz veya kopyalanamaz.

Yararlanılan Kaynaklar