library(moderndive)
library(ggplot2)
library(dplyr)

Soru 1: Basit Regresyon

Araştırma Problemi: Teksas Üniversitesi’nde (UT Austin) yapılan bir araştırmada, eğitmenlerin öğretim değerlendirme puanları (score) ile güzellik puanları (bty_avg) arasındaki ilişki incelenmiştir. Veriler moderndive paketindeki evals veri setinde yer almaktadır.

Öğretim puanını (score) bağımlı değişken (y) ve güzellik puanını (bty_avg) bağımsız değişken (x) olarak kullanarak bir basit doğrusal regresyon modeli oluşturun.

lm() ve get_regression_table() fonksiyonlarını kullanarak regresyon tablosunu elde edin.

Regresyon denklemini yazın ve güzellik puanının eğim katsayısını (slope) yorumlayın

data(evals)
# Modelin kurulması
model_basit <- lm(score ~ bty_avg, data=evals)

#Sonuçlar
summary(model_basit)
## 
## Call:
## lm(formula = score ~ bty_avg, data = evals)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.9246 -0.3690  0.1420  0.3977  0.9309 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  3.88034    0.07614   50.96  < 2e-16 ***
## bty_avg      0.06664    0.01629    4.09 5.08e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.5348 on 461 degrees of freedom
## Multiple R-squared:  0.03502,    Adjusted R-squared:  0.03293 
## F-statistic: 16.73 on 1 and 461 DF,  p-value: 5.083e-05
get_regression_table(model_basit)
# Yorum:btty_avg katsayısı yaklaşık 0.067'dir. Bu, güzellik puanında 1 birim artışın öğretim değerlendirme puanında ortalama 0.067 birim artışa karşılık geldiği anlamına gelir. Güzellik puanı 0 olduğunda, öğretim değerlendirme puanı ortalama olarak 3.880'dir.

# y= 3.880 + 0.067*bty_avg

# Yorum: Güzellik puanında 1 birim artış için, öğretim değerlendirme puanında ortalama 0.067 birimlik ilişkili bir artış beklenmektedir.

# Residuals-artıklar: Gözlenen ve yordanan değer arasındaki farktır.

# R2=0.035=Güzellik puanındaki değişim oğretim uyesi değerlendirilmesindeki değişimin yuzde 3 ile açıklanır.

# Düzeltilmiş R2= 0.032=: Regresyon denklemine değişken eklendikçe, R2 artar, olduğundan fazla çıkabilir, o yüzden bu değer R2'nin değişken sayısına göre düzeltilmiş halidir. 
# Görselleştirme
ggplot(evals, aes(x=bty_avg, y=score)) +
  geom_point(alpha=0.3) +
  geom_smooth(method = "lm", se = FALSE) +
  labs(title = "Güzellik ve Ders Puanı İlişkisi")

# Güzellik puanı arttıkça hoca puanı artmış gözüküyor, doğrusal ilişki var, regresyon modeli kurabiliriz.

Soru 2: Çoklu Regresyon

Araştırma Problemi: Eğitmenlerin öğretim puanlarını tahmin ederken sadece güzellik puanlarının değil, cinsiyetlerinin de (kategorik değişken) etkili olabileceğini düşünüyoruz. Bu durumu hem etkileşim (çarpım) modeli hem de paralel eğimler modeli ile analiz edeceğiz.

evals veri setini kullanarak, bağımlı değişkeni score, bağımsız değişkenleri ise bty_avg (güzellik puanı) ve gender (cinsiyet) olan iki farklı çoklu regresyon modeli kurun:

Etkileşim (Interaction) Modeli: Güzellik puanının öğretim puanı üzerindeki etkisinin cinsiyete göre değişebileceğini varsayan etkileşim modelini kurun. R kodunu yazın.

Paralel Eğimler (Parallel Slopes) Modeli: Her iki cinsiyet için güzellik puanının öğretim puanına etkisinin (eğimin) aynı olduğunu varsayan paralel eğimler modelini kurun.

Bu iki modelin temel varsayım farkını kısaca açıklayın.

# Çoklu regresyon modeli(paralel eğimler)
model_coklu <- lm(score ~ bty_avg + gender, data = evals)

get_regression_table(model_coklu)  
# Yorum: Kategorik değişkende ortalamaya dayalı yorum yapıyoruz.

# "gendermale" katsayısı yaklaşık 0.172'dir.(pozitif). Aynı güzellik puanına sahip bir erkek hocanın, kadın hocadan 0.17 puan daha yüksek alması beklenir. 

# Model özeti ve R kare kıyaslaması
summary(model_coklu) # R2 arttığı gözlemlenir.
## 
## Call:
## lm(formula = score ~ bty_avg + gender, data = evals)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.8305 -0.3625  0.1055  0.4213  0.9314 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  3.74734    0.08466  44.266  < 2e-16 ***
## bty_avg      0.07416    0.01625   4.563 6.48e-06 ***
## gendermale   0.17239    0.05022   3.433 0.000652 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.5287 on 460 degrees of freedom
## Multiple R-squared:  0.05912,    Adjusted R-squared:  0.05503 
## F-statistic: 14.45 on 2 and 460 DF,  p-value: 8.177e-07
# Görselleştirme 1 (Paralel Eğimler)

ggplot(evals, aes(x = bty_avg, y = score, color = gender)) +

  geom_point(alpha = 0.3) +
  geom_parallel_slopes(se = FALSE) +
  labs(title = " Cinsiyet Kontrol Edildiğinde Güzellik Etkisi") +
  theme_minimal()

# Yorum: Paralel eğim eklemek,her iki doğrunun eğimi aynı çıkar ama kesişim noktaları farklı çıkar, görselde kadınların kesişim noktası erkeklere göre bir miktar daha düşük.

# Etkileşim modeli 
model_coklu_etk <- lm(score ~ bty_avg * gender, data = evals)

get_regression_table(model_coklu_etk)
# Yorum: p değeri 0.05'ten küçük olduğu için etkileşim anlamlıdır. Yani güzellik puanının öğretim skoru üzerindeki etkisi, cinsiyete göre istatistiksel olarak farklılık göstermektedir.

# Görselleştirme 2
ggplot(evals, aes(x = bty_avg, y = score, color = gender)) +
  geom_point(alpha = 0.3) +
  geom_smooth(method = "lm", se = FALSE) +
  theme_minimal()

# Basit regresyonda beauty değişkeni anlamlı çıkmıştı, etkileşim modelinde beauty anlamlı değil, etkileşim anlamlı çıktı. Bu da güzellik puanının öğretim puanı üzerindeki etkisinin cinsiyete göre değiştiğini gösterir. Yani, güzellik puanının öğretim puanı üzerindeki etkisi kadınlar ve erkekler için farklıdır.

# Formüldeki * işareti, hem ana değişkenleri hem de bty_avg:gender etkileşim terimini modele dahil eder.

# Paralel eğimler modelinde, Formüldeki + işareti, değişkenleri ayrı ayrı ekleyerek paralel eğimler oluşturur. 

# Açıklama: Paralel eğimler modeli, güzellik puanının öğretim puanı üzerindeki etkisinin her iki cinsiyet için de aynı olduğunu(ortak bir eğim) varsayar ve sadece başlangıç noktalarının (kesişimlerin) farklı olmasına izin verir. Etkileşim modeli ise güzellik puanının etkisinin cinsiyete göre değişiklik gösterebileceğini varsayar ve her iki cinsiyet için de modelde farklı eğimler hesaplama esnekliği sağlar. 

# Etkileşim modeli: Eğim Farkı: Kadınlar için eğim bty_avg (0.031) iken, erkekler için bu eğim 0.031 + 0.080 = 0.111'dir. Yani güzellik puanındaki artış, erkek hocaların puanını kadın hocalara göre daha fazla yükseltiyor.

# Yorum: Etkileşim katsayısı (0.080) pozitif ve anlamlı olduğu için, erkeklerin güzel olması hoca değerlendirmesinde kadınlardan daha etkilidir. Erkeklerde güzellik puanı arttıkça, hoca değerlendirme puanı kadınlara kıyasla çok daha hızlı yükseliyor.

Soru 3: Çoklu Regresyon

ISLR paketinden türetilen ve kredi kartı kullanıcılarının finansal bilgilerini içeren bir veri seti (örneğin credit_ch6) kullanılarak, kredi kartı borcu (debt) incelenmektedir.

Kredi kartı borcunu (debt) bağımlı değişken, kredi limitini (credit_limit) ve geliri (income) bağımsız değişkenler olarak kullanarak bir çoklu regresyon modeli oluşturun.

Modelin regresyon tablosunu oluşturacak R kodunu yazın.

Çıktıdaki income (gelir) değişkeninin katsayısını, diğer değişkenleri sabit tuttuğumuzu belirterek yorumlayın

library(ISLR)
data(Credit)

model_limit <- lm(Balance ~ Limit, data = Credit)
get_regression_table(model_limit)
model_gelir <- lm(Balance ~ Income, data = Credit)
get_regression_table(model_gelir)
model_coklu <- lm(Balance ~ Limit + Income, data = Credit)
get_regression_table(model_coklu)
cor(Credit$Income, Credit$Limit)
## [1] 0.7920883
cor(Credit$Balance, Credit$Limit)
## [1] 0.8616973
cor(Credit$Balance, Credit$Income)
## [1] 0.4636565
# Çoklu bağlantılı değişkenleri beraber regresyon modeline eklersen çok farklı sonuç elde edersin. Income değişkeninin eğimi negatif çıktı.Çoklu regresyon öncesi bağımsız değişkenler arasındaki ilişki .80' i geçiyorsa, bu iki değişkeni beraber denkleme alma,  illa alacaksan temel bileşenler analizi yapıp birleşik değişken olarak ekleyebilirsin, ama normalde ayrı ayrı almak gerekiyor. 

# Regresyon öncesi;
# çoklu bağlantı kontrol,
# kategorik bağımsız değişkenin modere edip etmediğine muhakkak bak mesela cinsiyet örneğinde olduğu gibi.
# mahalonobis ve cooks distance etkili gözlem kontrol et

YOL ANALİZİ

Yol analizi sadece gözlenen değişkenlerle yapılan çok sayıda çoklu regresyon modelinin birleşmiş halidir. (en az 2 adet çoklu regresyon birlikte kullanılır.) Bu model gözlenen değişkenler için bir yapısal eşitlik modelidir.

Temelde gözlenenen değişkenlerin varyanslarına ve gözlenen değişkenler arasındaki kovaryanslara dayalı olan YEM analizlerinin amacı bir grup gözlenen değişken arasındaki kovaryans örüntüsünü anlamak ve araştırma modeli ile gözlenen değişkenlerin varyanslarını açıklamaktır.

Araştırma hipotezleri:

egzersiz ve dayanıklılık formu etkiler.

egzersiz ve dayanıklılık stresi etkiler.

egzersiz, dayanıklılık, form ve stres hastalığı (illness) etkiler.

Bu üç hipotezin her biri çoklu regresyon modelidir:

form𝑖=𝛽0+𝛽eegzersiz𝑖+𝛽dayanıklılık𝑖+𝑒𝑓𝑖

stres𝑖=𝛽0+𝛽eegzersiz𝑖+𝛽dayanıklılık𝑖+𝑒𝑓𝑖

hastalık𝑖=𝛽0+𝛽eegzersiz𝑖+𝛽dayanıklılık𝑖+𝛽form𝑖+𝛽stres𝑖+𝑒𝑓𝑖

library(readr)
veri <- read_table("import/illness.dat", col_names = FALSE)
colnames(veri) <- c("form", "stres", "hastalik", "egzersiz", "dayaniklilik")
  • Model denklemi
yol_model <-  'stres     ~ egzersiz + dayaniklilik
               hastalik  ~ egzersiz + dayaniklilik + form + stres
               form      ~ egzersiz + dayaniklilik'
  • Yol modelini kurma
library(lavaan)
yol_model <-  'stres     ~ egzersiz + dayaniklilik
               hastalik  ~ egzersiz + dayaniklilik + form + stres
               form      ~ egzersiz + dayaniklilik
egzersiz ~~ dayaniklilik' # hiçbir zaman bağımlı değişken olmamış, bu iki değişken dışsal değişkendir, bunlar arasındaki ilişkiyi tanımlıyoruz. 

yol_fit <- sem(yol_model, data=veri)

# Bu modelde gizil değişkenler: bozukluklar 
# Bu modelde gözlenen değişken: 5 adet: form, egzersiz,dayaniklilik, stres, hastalik.
# içsel değişkenin nedenlerini araştırıyoruz. Değeri modeldeki bağımsız değişkene göre değişir. 

Gözlenen değişken iki tür: dışşal(bağımsız) ve içsel(bağımlı)

Dışsal (Exogenous) Değişken: Nedenleri bilinmeyen ve modelde gösterilmeyen değişkendir. Dışsal değişken değişkenlik göstermekte serbesttir.

Örneğin, egzersiz ve dayaniklilik

İçsel (Endogenous) Değişken: Varsayılan nedenleri modelde açıkça gösterilen değişkendir. İçsel değişken değişkenlik göstermekte serbest değildir.

Örneğin, form, stres ve hastalık

Her içsel değişkenin bozukluğu (disturbance) vardır ve bozukluk (disturbance) modelde D sembolü ile gösterilir.

Bozukluk model için hata (artık) terimidir ve içsel değişkende gözlenen varyansın açıklanmayan kısmını temsil eder.

Bozukluk ilgili içsel değişkenin ölçülemeyen bütün nedenlerini temsil eden bileşik bir değişkendir.

Model ele alındığında bu nedenlerin doğası ve sayısı bilinmediğinden bozukluklar gizil değişkenler olarak düşünülebilir ve çember sembolü ile temsil edilirler.

Gizil Değişkenler: doğrudan ölçülmezler. bir değer alamayabilirler. daha doğrudan ölçülebilen değişkenleri etkilediklerine inanılır. Yapısal eşitlik modelinde iki tür gizil değişken vardır: faktör veya yapı artık veya bozukluk

Bir dışsal veya içsel bir değişken diğer bir içsel değişkenin doğrudan nedeni olabilir. Doğrudan etkiler: egzersiz → form dayaniklilik → form egzersiz → stres dayaniklilik → stres form → hastalik stres → hastalik egzersiz → hastalik dayaniklilik → hastalik

Bazı içsel değişkenlerin yol modelinde hem bağımsız hem de bağımlı değişken olarak ikili rolü vardır. Bu değişkenlere arabulucu değişkenler adı verilir.

form stres

Arabulucu değişkenler kendilerinden önceki değişkenlerin nedensel etkilerinin bir kısmını kendilerinden sonraki değişkenlere iletirler, böyle etkilere dolaylı etkiler adı verilir.

egzersiz → form → hastalik dayaniklilik→ form → hastalik egzersiz → stres → hastalik dayaniklilik → stres → hastalik

Yol Analizi Modeli

Veri modellemedeki düşünce gözlenen kovaryans matrisinin bir grup değişken arasındaki varsayılan ilişki tarafından üretilip üretilemeyeceğini test etmektir.

Varsayılan model belli bir varyans ve kovaryans deseni gerektirir ki bu varyans ve kovaryans deseni üretilmiş varyans ve kovaryans matrisi (reproduced variance and covariance matrix) olarak adlandırılır.

Bu matris çoğunlukla üretilmiş kovaryans matrisi (reproduced covariance matrix) olarak kısaltılır.

Gözlenen kovaryans matrisi ve üretilmiş kovaryans matrisi arasındaki fark artık kovaryans matrisini (residual covariance matrix) oluşturur.

Eğer artık kovaryans matrisinin bütün elemanları sıfırsa, varsayılan model veriyle tamamen eşleşmiş demektir (mükemmel model-veri uyumu)

Eğer artık kovaryans matrisinin bütün elemanları sıfır değilse, varsayılan model ve veri arasında bir takım uyuşmazlıklar vardır.

Yol analizi modelinde sıfır hipotezi, model tarafından üretilen kovaryans matrisinin gerçek veriyle (örneğin, gözlenen kovaryans matrisiyle) tamamen eşleştiğidir.

∑=∑̂

Burada

∑ (sigma): gözlenen değişkenlerin evren kovaryans matrisi

∑̂ : model tarafından üretilen kovaryans matrisi

Yol analizi modelinde, sıfır hipotezinin reddedilmesi istenmez! Bu nedenle, genel model uyumunu test etmek için kullanılan olabilirlik oranı (ki-kare) testinin p-değerinin yüksek olması istenir.

Artık kovaryans matrisi model tarafından açıklanmayan varyans ve kovaryansları içeren matristir. Aşağıdaki eşitlikle hesaplanır:

∑−∑̂

S örneklemden elde edilen gözlenen kovaryans matrisidir.

Gözlenen değişkenler arasındaki bütün varyans ve kovaryanslar model tarafından açıklandığı zaman artık kovaryans matrisinin bütün öğeleri sıfır olacaktır.

Aksi halde, artık kovaryans matrisinin sıfırdan farklı olacaktır.

Hastalık Faktörleri (Yol Şeması)

library(lavaan)
library(semPlot)

yol_model <-  'stres     ~ egzersiz + dayaniklilik
               hastalik  ~ egzersiz + dayaniklilik + form + stres
               form      ~ egzersiz + dayaniklilik
egzersiz ~~ dayaniklilik'

yol_fit <- sem(yol_model, veri)

semPaths(yol_fit,rotation=2, curvePivot = TRUE,
           sizeMan = 12, sizeInt = 1, 
            sizeLat = 4,
           edge.label.cex = 1.8,
           pastel=TRUE,
           nCharNodes = 0, nCharEdges = 0)

Gözlenen kovaryans matrisi elemanı 15 adet, modelden kestirilen parametre sayısı 14: Dışsal değişkenlerin varyansları: 2 Dışsal değişkenlerin kovaryansı: 1 Bozuklukların varyansları: 3 Doğrudan etkiler: 8

Model serbestlik derecesi (sd) model gözlemlerinin sayısı ve modelden kestirilecek parametre sayısı arasındaki farka eşittir:

Hastalık faktörleri örneğinde,

sd=15–14=1

sd<0 model tanımlanamaz. sd=0 model ancak tanımlanır (just identification) ve kuramsal olarak her parametrenin tek bir çözümü vardır. Model veriye mükemmel uyum gösterir. Çözümü kullanamayız. sd>0 model aşırı tanımlanmış (over identification) olur. Aşırı tanımlanan modellerde kuramsal olarak her bir parametrenin birden fazla çözümü vardır

Herhangi bir yapısal eşitlik modeli için tanımlanmanın gerektirdiği iki koşul vardır:

Her gözlenmeyen (gizil) değişken bir ölçeğe atanmalıdır, bozukluk yol analizindeki tek gizil değişkendir.

En az serbest model parametreleri kadar gözlem olmalıdır (sd ≥ 0)

Gizil Değişkenlere Ölçek Atanması: Gizil değişkenler yapay bir ölçektedirler. Yazılımın gizil değişkenleri içeren etkilerin kestirimlerini hesaplayabilmesi için gizil değişkenlere bir ölçek atanması gerekir.

Unit Loading Identification (ULI) constraint: Artık yol katsayısı (bozukluğun doğrudan etkisini ifade eden yol katsayısı) 1.0’e sabitlenir, böylece bozukluk ilgili içsel değişkenin açıklanmayan varyansıyla ilişkili bir ölçeğe atanmış olur. Regresyon ve yol analizi modellerinde, ölçekler bozukluklara genellikle ULI aracılığıyla atanırlar.

Unit Variance Identification (UVI) constraint: Gizil içsel değişkenlerin (yol modelinde bozuklukların) varyansı 1.0’e eşitlenir böylece gizil değişkenin varyansı standartlaştırılmış ölçekte olur.

Model-Veri Uyumunun Değerlendirilmesi

sd muhakkak 0’dan büyük olmalıdır.

YEM uygulamalarına ve simülasyon çalışmalarına göre YEM analizinin sonuçlarını rapor ederken sunulacak ve yorumlanacak uyum indeksleri aşağıdaki gibidir:

Model Ki-Kare Değeri-istatistiksel olarak anlamlı değil olsun isteriz

Steiger-Lind Root Mean Square Error of Approximation RMSEA (Steiger, 1990) (%90 güven aralığı ile birlikte)

Bentler Comparative Fit Index CFI (Bentler, 1990)

Standardized Root Mean Square Residual SRMR

fitmeasures(yol_fit,fit.measures = c("chisq","df","pvalue"))
##  chisq     df pvalue 
## 12.307  1.000  0.000
# summary(yol_fit, fit.measures = TRUE)
fitMeasures(yol_fit, c("rmsea","rmsea.ci.lower",
                       "rmsea.ci.upper","rmsea.pvalue"))
##          rmsea rmsea.ci.lower rmsea.ci.upper   rmsea.pvalue 
##          0.168          0.093          0.258          0.006
# Kestirilen RMSEA değeri 0.168’dir. 0.168 değeri 0.08 değerinden büyük olduğundan RMSEA indeksi model için zayıf uyum belirtir. %90 güven aralığının alt sınırı 0.05 değerinden büyük olduğundan araştırmacının modelinin evrende tahmini yaklaşık uyuma sahip olduğu hipotezi reddedilir. 
fitMeasures(yol_fit, "srmr")
##  srmr 
## 0.043
# Kestirilen SRMR değeri 0.043’dir. 0.043 değeri 0.08 değerinden küçük olduğundan SRMR indeksi model için kabul edilebilir uyum belirtir.
fitmeasures(yol_fit,fit.measures = c("cfi","tli","nnfi"))
##   cfi   tli  nnfi 
## 0.948 0.485 0.485
# Kestirilen CFI değeri 0.949’dur. 0.949 değeri 0.90 değerinden büyük olduğundan CFI indeksi model için iyi uyum belirtir. Kestirilen TLI değeri 0.485’dur. 0.485 değeri 0.90 değerinden küçük olduğundan TLI indeksi model için zayıf uyum belirtir

En çok beklenen değerler:

 fitmeasures(yol_fit,fit.measures = c("chisq" ,"df" ,"pvalue",
                                     "cfi","tli","rmsea", "rmsea.ci.lower","rmsea.ci.upper","srmr"))
##          chisq             df         pvalue            cfi            tli 
##         12.307          1.000          0.000          0.948          0.485 
##          rmsea rmsea.ci.lower rmsea.ci.upper           srmr 
##          0.168          0.093          0.258          0.043
# Model uyumu kötü çıktı revize edicez, eğer model uyumu iyi çıksaydı t test ile yol katsayılarının anlamlı olmasını istiyoruz. 
resid(yol_fit, type='normalized')
## $type
## [1] "normalized"
## 
## $cov
##               stres hastlk   form egzrsz dynkll
## stres         0.002                            
## hastalik      0.718  0.392                     
## form         -2.950 -1.031  0.006              
## egzersiz     -0.021 -0.011  0.010  0.000       
## dayaniklilik -0.005 -0.005  0.025  0.067  0.000
# Modelde artıklarının küçük olmasını isteriz uyum kötü çıktı artıkları incelemem lazım, her bir değişkenin ölçeği farklı düzeyde o yüzden artıkları standartlaştırmam lazım ve öylece incelemem lazım.

# Değerlere baktım mutlak değerin 1.96 dan küçük olsun isterim , form ve stres arasındaki açıklanamayan varyansın standartlaştrılmış değeri -2.95 mesela form ve stres arasına bir sey daha eklemem lazım, bu ikisi arasında modelce açıklanmayan birşey var demektir.

Modifikasyon İndeksleri

modindices fonksiyonu ile modifikasyon indeksleri istenebilir. mi sütunu yapılacak modifikasyon sonucunda ki-karedeki düşüsü göstermektedir.

modindices(yol_fit, sort = TRUE) 
# bu 4 yol denkleminden birini seçsem ki kare 12.11 düşürür aslında modeli kurtatrır, araştırmacı olarak hem deneyim hem literatürden anlamlı yolu seç ve eklemeye karar ver.

# Artık kovaryans matrisini incelediğimizde de stres ve form arasında açıklanamayan hata yüksek çıkmıştı. 

# Bir yol daha eklesem  serbestlik derecesi 0 olur, o zaman modelden elde ettiğim parametreleri yorumlayamam, df 0 olur istemem bunu.  Modelde işlevsiz bir şeyi çıkarmam lazım,  daha az parametre ile daha iyi model kurmak daha iyidir. 

# Bu tablo dört parametreden herhangi birinin (aynı anda, eş zamanlı DEĞİL) model ki-kare değerini 12.1 değerinde düşüreceğini önermektedir. Artık kovaryans matrisinden gelen kanıt da birleştirildiğinde, modele form değişkeninin stres değişkenine doğrudan etkisini gösteren bir parametre eklenebilir Bu model ancak tanımlanan modeldir (sd = 0), bu nedenle veriye mükemmel uyum sağlayacaktır. 

Modelin Yeniden Tanımlanması

Revised Model 1 stres ~ form yolu eklenir.

yol_model_v1 <- 
'stres     ~ egzersiz + dayaniklilik
hastalik  ~ egzersiz + dayaniklilik + form + stres
form      ~ egzersiz + dayaniklilik
stres     ~ form
egzersiz ~~ dayaniklilik'
yol_fit_v1 <- sem(yol_model_v1, veri)
semPaths(yol_fit_v1,rotation=2, curvePivot = TRUE,
sizeMan = 12, sizeInt = 1, 
sizeLat = 4,
edge.label.cex = 1.8,
pastel=TRUE,
nCharNodes = 0, nCharEdges = 0)

fitmeasures(yol_fit_v1,fit.measures=c("chisq","p","df"))
## chisq    df 
##     0     0
# Yeni tanımlanan model için verilen uyum indeksleri beklendiği gibidir. Kikare = 0 ve sd = 0 olduğunda, p değerini 0,0000 olarak yazdırır. Ancak bu değer ki kare testinin reddedildiği anlamına gelmez.
# sd 0 olduğu için benim için anlamlı bir durum değil. 
p_pa <- 
semPaths(yol_fit_v1, whatLabels = "est",
sizeMan = 10,
edge.label.cex = 1.15,
style = "ram",layout = "spring" ,
nCharNodes = 0, nCharEdges = 0)

p_pa_2 <- semptools::mark_sig(p_pa, yol_fit_v1)
plot(p_pa_2)

# bu değeleri inceledik ve istatistiksel olarak anlamsız ilişkiler olan, egzersizden strese giden yol,egzersizden hastalığa giden yol, dayanıklılıktan hastalığa giden yolu kaldırdık.

Modelin Yeniden Tanımlanması Revised Model 2 Anlamlı olmayan yol katsayıları kaldırıldır.

yol_model_v1 <- 
'stres     ~ egzersiz + dayaniklilik
 hastalik  ~ egzersiz + dayaniklilik + form + stres
 form      ~ egzersiz + dayaniklilik
 stres     ~ form
 egzersiz ~~ dayaniklilik' 


yol_model_v2 <- 
'stres     ~ dayaniklilik
 hastalik  ~ form + stres
 form      ~ egzersiz + dayaniklilik
 stres     ~ form
 egzersiz ~~ dayaniklilik' 

yol_fit_v2 <- sem(yol_model_v2, veri)
m <- matrix(c(NA, NA, "form",  NA,   NA,
              "egzersiz", NA, NA,  NA,   NA,
                NA, NA, NA,  NA, "hastalik",
              "dayaniklilik",    NA, NA,  NA,   NA,
                NA, NA, "stres",  NA, NA
              
              ), byrow = TRUE, 5, 5)

p_pa <- semPaths(yol_fit_v2, whatLabels = "est",
           sizeMan = 10,
           edge.label.cex = 1.15,
           style = "ram",
           nCharNodes = 0, nCharEdges = 0,
           layout=m)

p_pa_2 <- semptools::mark_sig(p_pa, yol_fit_v2)
plot(p_pa_2)

Yorum: Egzersiz yapan bireylerin formu daha iyi oluyor. Formu iyi olan bireyler daha az hasta oluyor. Ne kadar dayanıklıysak o kadar az stres oluyor. Dayanıklılık stres üzerinden hastalığı yorduyor Formu iyi olanların stres seviyesi düşük Dayanıklılığı yüksek olanların formu iyi

fitmeasures(yol_fit_v2,c("df", "rmsea", "cfi","srmr","rmsea.ci.lower","rmsea.ci.upper")) 
##             df          rmsea            cfi           srmr rmsea.ci.lower 
##          3.000          0.000          1.000          0.011          0.000 
## rmsea.ci.upper 
##          0.061
# sd = 3 için ki-karenin 0.05 alfa düzeyindeki kritik değeri 7.82’dir. 1.354 değeri 7.82 değerinden küçük olduğundan gözlenen ki-kare değeri (1,354) 0.05 alfa düzeyinde istatistiksel olarak anlamlı değildir.RMSEA, CFI ve SRMR indekslerinin değerleri istenilen değerdedir

Ki-Kare Fark Testi

Hem revised model 1 hem de revised model 2 veriye iyi uyum sağlasaydı eğer;

Bu durumda hangi model seçilmelidir?

Mükemmel uyum sağlayan ancak daha karmaşık model mi?

İyi uyum sağlayan ancak daha basit model mi?

Ki-kare fark testi hiyerarşik olarak kümelenmiş iki modelin karşılaştırılmasında oldukça kullanışlıdır.

Eğer modellerden birisi diğerinin alt kümesiyse iki model kümelenmiştir (daha basit model daha karmaşık modelin içinde kümelenmiştir).

Bu durumda revised model 2 (daha basit model) revised model 1 (daha karmaşık model) içinde kümelenmiştir. Ki-kare fark testi modellerin bağıl uyumlarını değerlendirmek için kullanılabilir.

İki model de veriye iyi uyum sağladığında, ki-kare değerleri arasındaki fark serbestlik derecesi iki model arasındaki parametre sayısındaki farka eşit olan ki-kare dağılımı gösterir:

Anlamlı olmayan ki-kare farkı daha basit modelin daha karmaşık modelden istatistiksel olarak veriye daha kötü uymadığını önerir.

Bu nedenle, daha basit model daha tutumlu olduğundan dolayı seçilmelidir. Aksi halde karmaşık model seçilmelidir.

Örnekte revised model 2 (12 model parametresine sahip olup sd = 3) revised model 1’den (15 model parametresine sahip olup sd = 0) daha basittir.

1.354 ki-kare değeri sd = 3 olduğunda, 0,05 alfa düzeyinde (kritik ki-kare değeri = 7.82) istatistiksel olarak anlamlı değildir.

Bu nedenle revised model 2 (daha basit olan) revised model 1’e (daha karmaşık olan) tercih edilir şeklinde sonuca varılabilir.Anlamlı çıksaydı revised model 1 tercih ederdik. Buna ek olarak AIC ve BIC değerlerine de bakılır.

AIC ve BIC

Akaike Information Criterion (AIC) ve Bayesian Information Criterion (BIC) evren dayanaklı yordayıcı uyum indeksleri olarak bilinir.

Farklı YEM yazılımları AIC ve BIC değerlerini farklı şekilde hesaplayabilir.

AIC ve BIC değerleri çoğunlukla aynı veriden kestirilen hiyerarşik olmayan modellerin arasından seçim yapmak için kullanılır. Bağıl olarak daha küçük değerler uygundur

model 1

fitmeasures(yol_fit_v1,fit.measures = c("AIC","BIC"))
##      aic      bic 
## 21422.85 21482.72

model 2

fitmeasures(yol_fit_v2,fit.measures = c("AIC","BIC"))
##     aic     bic 
## 21418.2 21466.1

İki model kümelenmiş modeller olduğundan, iki model arasında AIC ve BIC değerlerinin karşılaştırılmasına gerek yoktur.

Eğer model-veri uyumu zayıfsa, ilk olarak varsayılan model veriye uymaz.

Eğer model-veri uyumu iyiyse, model veri tarafından desteklenir. Alternatif modelleri araştırmak veya daha tutumlu (parsimonious) bir model aramak için ilave analizler yürütülebilir.

Mükemmel veya iyi bir model-veri uyumu mutlaka modelin iyi olduğunu önermez. İyi bir model en basit şekilde olan (tutumluluk ilkesi), ama hala veriye iyi uyan modeldir.

ÖĞRENME GÜNLÜĞÜM 3

Bu haftaki derste, basit doğrusal regresyondan başlayarak çoklu regresyon modellerine ve yapısal eşitlik modellerinin bir parçası olan Yol Analizi konusuna bir giriş yaptık. evals veri seti üzerinden güzellik puanı ve eğitmenlerin öğretim değerlendirme puanları arasındaki ilişkiyi incelerken, kategorik değişkenlerin (cinsiyet) modele dahil edilmesinin sonuçları nasıl değiştirdiğini ve paralel eğimler ile etkileşim modelleri arasındaki farkları inceledik. Özellikle etkileşim modelinde katsayıların yorumlanmasını, bir değişkenin etkisinin diğerine göre nasıl “modere” edildiğini gördük. Yol analizine geçtiğimizde ise, değişkenler arasındaki doğrudan ve dolaylı etkileri bir bütün olarak görmeyi, içsel ve dışsal değişken ayrımını ve modelin veriye uyumunu gösteren CFI, RMSEA, SRMR gibi uyum indekslerini yorumlamayı öğrendim.

Bu süreçte en çok model modifikasyonu ve serbestlik derecesi (df) kavramları ilgimi çekti. Bir modeli daha iyi hale getirmek için yol eklerken veya çıkarırken serbestlik derecesinin sıfıra düşmesinin modelin genellenebilirliğini nasıl kısıtladığını gördük. Ayrıca, modifikasyon indekslerini kullanırken sadece istatistiksel verilere (ki-kare düşüşü) değil, aynı zamanda literatüre ve tecrübeye dayalı kararlar vermenin önemi de vurguladık. Karmaşık bir model ile daha basit bir model arasında seçim yaparken kullanılan Ki-Kare Fark Testi ve AIC/BIC kriterleri ilk defa öğrendiğim konular oldu. Bu dersin önemli bir çıktısı da veriyi en sade ama en açıklayıcı şekilde modelleme becerisi geliştirmenin önemi oldu.Bu dönem daha önceden hiç bilmediğim şeyleri öğrenmek başta kafa karıştırıcı olsa da heyecan verici:)