Soru 1: Basit Regresyon

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

library(moderndive)
## Warning: package 'moderndive' was built under R version 4.5.2
library(ggplot2)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
data(evals)
# Model
basit_R <- lm(score ~ bty_avg, data=evals)

#Sonuç
summary(basit_R )
## 
## 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(basit_R)
## # A tibble: 2 × 7
##   term      estimate std_error statistic p_value lower_ci upper_ci
##   <chr>        <dbl>     <dbl>     <dbl>   <dbl>    <dbl>    <dbl>
## 1 intercept    3.88      0.076     51.0        0    3.73     4.03 
## 2 bty_avg      0.067     0.016      4.09       0    0.035    0.099

Kurulan basit doğrusal regresyon modeli:

y=3.880+0.067×bty_avg

bty_avg değişkeninin katsayısı yaklaşık 0.067’dir. Bu değer, güzellik puanında 1 birimlik artışın, öğretim değerlendirme puanında ortalama 0.067 birimlik bir artış ile ilişkili olduğunu göstermektedir.

Intercept (sabit terim) değeri 3.880’dir. Bu değer, güzellik puanı 0 olduğunda öğretim değerlendirme puanının ortalama 3.880 olacağını ifade etmektedir.

Basit doğrusal regresyon analizi sonucunda bty_avg değişkeninin score değişkenini anlamlı biçimde yordadığı bulunmuştur (β = 0.067, SE = 0.016, t = 4.09, p < .001). Model istatiksel anlamlıdır (F(1,461) = 16.73, p < .001). Model score değişkenindeki varyansın %3.5’ini açıklamaktadır (R² = .035).

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")
## `geom_smooth()` using formula = 'y ~ x'

Grafik, güzellik puanı ile öğretim değerlendirme puanı arasında pozitif fakat zayıf bir ilişki olduğunu görsel olarak desteklemektedir.

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

c_reg <- lm(score ~ bty_avg + gender, data = evals)

get_regression_table(c_reg)
## # A tibble: 3 × 7
##   term         estimate std_error statistic p_value lower_ci upper_ci
##   <chr>           <dbl>     <dbl>     <dbl>   <dbl>    <dbl>    <dbl>
## 1 intercept       3.75      0.085     44.3    0        3.58     3.91 
## 2 bty_avg         0.074     0.016      4.56   0        0.042    0.106
## 3 gender: male    0.172     0.05       3.43   0.001    0.074    0.271
summary(c_reg)
## 
## 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

Çoklu doğrusal regresyon analizi sonucunda güzellik puanı (bty_avg) ve cinsiyet (gender) değişkenlerinin öğretim değerlendirme puanını (score) anlamlı biçimde yordadığı bulunmuştur. Güzellik puanı arttıkça öğretim değerlendirme puanının da arttığı görülmektedir (β = 0.074, p < .001). Ayrıca güzellik puanı sabit tutulduğunda erkek eğitmenlerin değerlendirme puanlarının kadın eğitmenlere kıyasla ortalama 0.172 puan daha yüksek olduğu belirlenmiştir (p < .001). Model genel olarak anlamlıdır (F(2,460) = 14.45, p < .001) ve öğretim değerlendirme puanındaki varyansın yaklaşık %5.9’unu açıklamaktadır (R² = 0.059).

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

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

Grafik, cinsiyet değişkeni kontrol edildiğinde güzellik puanı (bty_avg) ile öğretim değerlendirme puanı (score) arasındaki ilişkiyi göstermektedir. Hem kadın hem de erkek eğitmenler için regresyon doğrularının yukarı yönlü olması, güzellik puanı arttıkça öğretim değerlendirme puanının da arttığını göstermektedir. Ayrıca erkek eğitmenlere ait regresyon doğrusunun kadınlara göre daha yukarıda yer alması, aynı güzellik puanı düzeyinde erkek eğitmenlerin ortalama değerlendirme puanlarının kadın eğitmenlere göre daha yüksek olduğunu göstermektedir. Bununla birlikte iki doğrunun eğimleri oldukça benzer olduğu için güzellik puanının öğretim değerlendirme puanı üzerindeki etkisinin cinsiyete göre büyük ölçüde benzer olduğu görülmektedir.

etkilesim <- lm(score ~ bty_avg * gender, data = evals)

get_regression_table(etkilesim)
## # A tibble: 4 × 7
##   term               estimate std_error statistic p_value lower_ci upper_ci
##   <chr>                 <dbl>     <dbl>     <dbl>   <dbl>    <dbl>    <dbl>
## 1 intercept             3.95      0.118     33.5    0        3.72     4.18 
## 2 bty_avg               0.031     0.024      1.28   0.202   -0.017    0.078
## 3 gender: male         -0.184     0.153     -1.20   0.232   -0.485    0.118
## 4 bty_avg:gendermale    0.08      0.032      2.45   0.015    0.016    0.143

Etkileşim modeli, bir bağımsız değişkenin bağımlı değişken üzerindeki etkisinin başka bir değişkenin düzeyine bağlı olarak değişip değişmediğini inceleyen regresyon modelidir. “Güzellik puanının öğretim değerlendirme puanı üzerindeki etkisi kadın ve erkeklerde aynı mı?”

Etkileşim modeli sonuçlarına göre güzellik puanı (bty_avg) ile öğretim değerlendirme puanı (score) arasındaki ilişkinin cinsiyete göre değiştiği görülmektedir. Etkileşim terimi (bty_avg × gender) istatistiksel olarak anlamlı bulunmuştur (β = 0.080, p = 0.015). Bu sonuç, güzellik puanının öğretim değerlendirme puanı üzerindeki etkisinin kadın ve erkek eğitmenler için farklı olduğunu göstermektedir.

Modelde güzellik puanının tek başına etkisi istatistiksel olarak anlamlı bulunmamıştır (p = 0.202). Ancak etkileşim teriminin anlamlı olması, güzellik puanının öğretim değerlendirme puanı üzerindeki etkisinin cinsiyete bağlı olarak değiştiğini göstermektedir.

ggplot(evals, aes(x = bty_avg, y = score, color = gender)) +
  geom_point(alpha = 0.3) +
  geom_smooth(method = "lm", se = FALSE) +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'

# 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)
## Warning: package 'ISLR' was built under R version 4.5.2
data(Credit)

cr_limit <- lm(Balance ~ Limit, data = Credit)
get_regression_table(cr_limit)
## # A tibble: 2 × 7
##   term      estimate std_error statistic p_value lower_ci upper_ci
##   <chr>        <dbl>     <dbl>     <dbl>   <dbl>    <dbl>    <dbl>
## 1 intercept -293.       26.7       -11.0       0 -345.    -240.   
## 2 Limit        0.172     0.005      33.9       0    0.162    0.182

Limit katsayısı 0.172’dir. Bu sonuç, kredi limiti 1 birim arttığında kredi kartı borcunun ortalama 0.172 birim arttığını göstermektedir. Katsayı istatistiksel olarak anlamlıdır (p < .001).

cr_gelir <- lm(Balance ~ Income, data = Credit)
get_regression_table(cr_gelir)
## # A tibble: 2 × 7
##   term      estimate std_error statistic p_value lower_ci upper_ci
##   <chr>        <dbl>     <dbl>     <dbl>   <dbl>    <dbl>    <dbl>
## 1 intercept   247.      33.2        7.42       0   181.     312.  
## 2 Income        6.05     0.579     10.4        0     4.91     7.19

Income katsayısı 6.048’dir. Bu sonuç, gelir 1 birim arttığında kredi kartı borcunun ortalama 6.048 birim arttığını göstermektedir. Katsayı istatistiksel olarak anlamlıdır (p < .001).

cr <- lm(Balance ~ Limit + Income, data = Credit)
get_regression_table(cr)
## # A tibble: 3 × 7
##   term      estimate std_error statistic p_value lower_ci upper_ci
##   <chr>        <dbl>     <dbl>     <dbl>   <dbl>    <dbl>    <dbl>
## 1 intercept -385.       19.5       -19.8       0 -423.    -347.   
## 2 Limit        0.264     0.006      45.0       0    0.253    0.276
## 3 Income      -7.66      0.385     -19.9       0   -8.42    -6.91

Income katsayısı -7.663’tür. Bu sonuç, kredi limiti sabit tutulduğunda, gelir 1 birim arttığında kredi kartı borcunun ortalama 7.663 birim azaldığını göstermektedir. Katsayı istatistiksel olarak anlamlıdır (p < .001).

cor(Credit$Income, Credit$Limit)
## [1] 0.7920883
cor(Credit$Balance, Credit$Limit)
## [1] 0.8616973
cor(Credit$Balance, Credit$Income)
## [1] 0.4636565

Income ile Limit değişkenleri arasında yüksek düzeyde bir ilişki bulunmuştur (r = 0.79). Bağımsız değişkenler arasındaki yüksek korelasyon çoklu bağlantı (multicollinearity) sorununa yol açabilir ve katsayıların yorumlanmasını zorlaştırabilir. Bu nedenle regresyon analizlerinde bağımsız değişkenler arasındaki ilişkilerin önceden kontrol edilmesi önemlidir.

NOT: Tek değişkenli regresyon modelinde income değişkeninin katsayısı pozitif bulunurken, çoklu regresyon modelinde negatif bulunmuştur. Bunun nedeni income ile credit limit değişkenleri arasındaki yüksek korelasyondur (r ≈ 0.79). Geliri yüksek bireylerin genellikle daha yüksek kredi limitine sahip olması, tek değişkenli modelde gelir ile borç arasında pozitif bir ilişki görünmesine neden olmaktadır. Ancak kredi limiti sabit tutulduğunda, gelir arttıkça bireylerin kredi kartı borcunun azalma eğiliminde olduğu görülmektedir. Bu durum çoklu bağlantı ve bastırıcı etki (suppression effect) ile açıklanabilir.

Yol Analizi

Hastalık Faktörleri Sunumdaki örnek Roth, Wiebe, Fillingim ve Shay’in (1989) çalışmasından gelmektedir. Çalışmalarında üniversite öğrencilerinde egzersiz, dayanıklılık, form ve stresin hastalık üzerindeki etkilerini incelemişlerdir.

🔗illness.dat adlı veri setinde 5 değişken, 400 birey vardır. Değişkenler egzersiz, dayanıklılık, form, stres ve hastalık değişkenleri olup sürekli değişkenlerdir.

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:

\(\text{form}_i = \beta_0 + \beta_{\text{eegzersiz}_i} + \beta_{\text{dayanıklılık}_i} + e_{fi}\)

\(\text{stres}_i = \beta_0 + \beta_{\text{eegzersiz}_i} + \beta_{\text{dayanıklılık}_i} + e_{fi}\)

\(\text{hastalık}_i = \beta_0 + \beta_{\text{eegzersiz}_i} + \beta_{\text{dayanıklılık}_i} + \beta_{\text{form}_i} + \beta_{\text{stres}_i} + e_{fi}\)

.

library(readr)
veri <- read_table("illness.dat", col_names = FALSE)
## 
## ── Column specification ────────────────────────────────────────────────────────
## cols(
##   X1 = col_double(),
##   X2 = col_double(),
##   X3 = col_double(),
##   X4 = col_double(),
##   X5 = col_double()
## )
colnames(veri) <- c("form", "stres", "hastalik", "egzersiz", "dayaniklilik")
yol_model <-  'stres     ~ egzersiz + dayaniklilik
               hastalik  ~ egzersiz + dayaniklilik + form + stres
               form      ~ egzersiz + dayaniklilik'
library(lavaan)
## Warning: package 'lavaan' was built under R version 4.5.2
## This is lavaan 0.6-21
## lavaan is FREE software! Please report any bugs.
yol_model <-  'stres     ~ egzersiz + dayaniklilik
               hastalik  ~ egzersiz + dayaniklilik + form + stres
               form      ~ egzersiz + dayaniklilik
egzersiz ~~ dayaniklilik'
yol_fit <- sem(yol_model, data=veri)
library(lavaan)
library(semPlot)
## Warning: package 'semPlot' was built under R version 4.5.2
## Registered S3 method overwritten by 'openxlsx':
##   method               from         
##   as.character.formula formula.tools
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)

ya gözlenen ya da gözlenmeyen dışsal değişkenlerin varyanslarının ve kovaryanslarının sayısı ve

gözlenen değişkenlerden içsel değişkenlere olan doğrudan etkilerin sayısı toplamıdır.

Hastalık faktörleri örneğinde, kestirilecek model parametreleri:

Dışsal değişkenlerin varyansları: 2

Dışsal değişkenlerin kovaryansı: 1

Bozuklukların varyansları: 3

Doğrudan etkiler: 8

\(2 + 1 + 3 + 8 = 14\)

İçsel değişkenlerin varyansları ve kovaryansları model parametreleri olarak ele alınmaz.

Bozukluk, modelde nedeni bilinmediğinden, gözlenmeyen dışsal değişken olarak ele alınır.

Model parametresi araştırmacının tanımlamasına bağlı olarak serbest (free), sabit (fixed) veya sınırlandırılmış (constrained) olabilir.

Serbest parametre (free parameter) örneklem verisinden bilgisayar yazılımı tarafından kestirilen parametredir.

Sabit parametre (fixed parameter) bir sabite eşit olarak belirlenen parametredir; yazılım bu sabiti veriye bağlı olmaksızın parametrenin kestirimi olarak kabul eder.

Sınırlandırılmış parametre (constrained parameter) yazılım tarafından belli sınırlılıklar içerisinde kestirilir ancak bir sabite eşit olmak üzere sabitlenmez.

Serbestlik Derecesi: 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. 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.

Model-Veri Uyumunun Değerlendirilmesi

fitmeasures(yol_fit,fit.measures = c("chisq" ,"df" , "pvalue"))
##  chisq     df pvalue 
## 12.307  1.000  0.000
summary(yol_fit, fit.measures = TRUE)
## lavaan 0.6-21 ended normally after 8 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        14
## 
##   Number of observations                           400
## 
## Model Test User Model:
##                                                       
##   Test statistic                                12.307
##   Degrees of freedom                                 1
##   P-value (Chi-square)                           0.000
## 
## Model Test Baseline Model:
## 
##   Test statistic                               229.479
##   Degrees of freedom                                10
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.948
##   Tucker-Lewis Index (TLI)                       0.485
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -10702.576
##   Loglikelihood unrestricted model (H1)     -10696.422
##                                                       
##   Akaike (AIC)                               21433.152
##   Bayesian (BIC)                             21489.032
##   Sample-size adjusted Bayesian (SABIC)      21444.609
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.168
##   90 Percent confidence interval - lower         0.093
##   90 Percent confidence interval - upper         0.258
##   P-value H_0: RMSEA <= 0.050                    0.006
##   P-value H_0: RMSEA >= 0.080                    0.972
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.043
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   stres ~                                             
##     egzersiz         -0.080    0.048   -1.678    0.093
##     dayaniklilik     -0.556    0.086   -6.475    0.000
##   hastalik ~                                          
##     egzersiz          0.047    0.042    1.115    0.265
##     dayaniklilik     -0.010    0.075   -0.138    0.891
##     form             -0.408    0.076   -5.342    0.000
##     stres             0.314    0.041    7.704    0.000
##   form ~                                              
##     egzersiz          0.206    0.025    8.118    0.000
##     dayaniklilik      0.161    0.046    3.506    0.000
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   egzersiz ~~                                         
##     dayaniklilik      0.000  135.170    0.000    1.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .stres          4419.143  312.481   14.142    0.000
##    .hastalik       2937.014  207.678   14.142    0.000
##    .form           1261.565   89.206   14.142    0.000
##     egzersiz       4883.673  345.328   14.142    0.000
##     dayaniklilik   1496.499  105.818   14.142    0.000
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.

SRMR

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.

Karşılaştırmalı Uyum İndeksleri

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

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)
##      lhs op      rhs     mi    epc sepc.lv sepc.all sepc.nox
## 24 stres  ~ hastalik 12.115  0.799   0.799    0.693    0.693
## 25 stres  ~     form 12.115 -0.326  -0.326   -0.180   -0.180
## 26  form  ~    stres 12.115 -0.093  -0.093   -0.168   -0.168
## 27  form  ~ hastalik 12.115 -0.296  -0.296   -0.464   -0.464
 modindices(yol_fit, sort = TRUE, maximum.number = 5)
##      lhs op      rhs     mi    epc sepc.lv sepc.all sepc.nox
## 24 stres  ~ hastalik 12.115  0.799   0.799    0.693    0.693
## 25 stres  ~     form 12.115 -0.326  -0.326   -0.180   -0.180
## 26  form  ~    stres 12.115 -0.093  -0.093   -0.168   -0.168
## 27  form  ~ hastalik 12.115 -0.296  -0.296   -0.464   -0.464

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)

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

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)

fitmeasures(yol_fit_v2,fit.measures = c("chisq" ,"df" , "pvalue",
                                        "cfi","tli","rmsea",
                                        "rmsea.ci.lower",   "rmsea.ci.upper"
                                        ,"srmr"))
##          chisq             df         pvalue            cfi            tli 
##          1.354          3.000          0.716          1.000          1.025 
##          rmsea rmsea.ci.lower rmsea.ci.upper           srmr 
##          0.000          0.000          0.061          0.011

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ğlamaktadır.

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:

\(\chi^2_{dif} = \chi^2_{simple} -\chi^2_{complex}\)

\(df_{dif} = df_{simple} - df_{complex}\)

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.

\(\chi^2_{dif} = \chi^2_{simple} -\chi^2_{complex}\)

\(df_{dif} = df_{simple} - df_{complex}\)

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

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

model2

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üğü

Bu haftabasit doğrusal regresyondan başlayarak çoklu regresyon modellerini tekrar etmiş oldum. Güzellik puanı ile öğretim değerlendirme puanları arasındaki ilişkiyi inceleyerek modele cinsiyet gibi kategorik değişkenlerin eklenmesinin sonuçları nasıl etkilediğini inceledik. Bu süreçte paralel eğimler modeli ile etkileşim (interaction) modeli arasındaki farkları ve etkileşim terimlerinin regresyon modelinde nasıl yorumlanması gerektiğini daha iyi anladım.

Dersin ilerleyen kısmında yol analizi modellerinde değişkenler arasındaki doğrudan ve dolaylı ilişkilerin nasıl gösterildiği, ayrıca modelin veriye ne kadar iyi uyduğunu değerlendirmek için kullanılan uyum indeksleri üzerinde duruldu. Bu bağlamda CFI, RMSEA ve SRMR gibi indekslerin hangi değer aralıklarında iyi uyumu gösterdiğini ve model yorumlamasında nasıl kullanıldığını öğrendim.

Bu ders sayesinde regresyon analizinin daha karmaşık yapısal modellerin temelini oluşturduğunu ve model kurarken yalnızca katsayıları değil, aynı zamanda model uyumunu ve varsayımları da dikkate almak gerektiğini fark ettim. Başta bazı kavramlar karmaşık görünse de bu analizlerin araştırmalarda değişkenler arasındaki ilişkileri daha bütüncül biçimde incelemek için oldukça güçlü araçlar sunduğunu düşünüyorum.