[1] "LC_COLLATE=Turkish_Türkiye.1254;LC_CTYPE=Turkish_Türkiye.1254;LC_MONETARY=Turkish_Türkiye.1254;LC_NUMERIC=C;LC_TIME=Turkish_Türkiye.1254"
Bu dokuman regresyon analizi ile ilgili öğrendiklerimi ifade etmeye çalıştığım bir öğrenme günlüğüdür. Bu yüzden hatalı öğrenme ve yorumlarıma da yer vermiş olabilirim. Öğrendiklerimi özetlerken r ile oluşturduğum bir veri seti üzerinden anlatmak istiyorum. Veri setinin özellikleri aşğıda tanıtılmıştır.
Regresyon analizi, bir bağımlı değişken ile bir veya daha fazla bağımsız değişken arasındaki ilişkiyi modellemek için kullanılan istatistiksel bir yöntemdir. Temel amaçları şunlardır:
Tahmin
İlişki Analizi
Nedensellik İncelemesi
Regresyon; eğitim, ekonomi, sağlık, gayrimenkul vb. pek çok alanda tahmin, açıklama, değer belirleme, ilişki kurma gibi amçlarla kullanılır.
Veri seti toplamda 480 öğrenciye ait bilgileri içermekte olup 10 farklı değişkenden oluşmaktadır.
Veri setinde yer alan değişkenler şunlardır:
ogrenci_id: Her öğrenciye ait benzersiz
kimlik numarası
cinsiyet: Öğrencinin cinsiyeti (Kız,
Erkek)
okul_turu: Öğrencinin devam ettiği okul
türü (Devlet, Meslek Lisesi)
yerlesim_yeri: Öğrencinin yaşadığı
yerleşim birimi (İlçe, Büyükşehir, Köy, İl Merkezi)
okuma_puani: Öğrencinin okuma
becerisinden aldığı puan
matematik_puani: Öğrencinin matematik
dersinden aldığı puan
fen_puani: Öğrencinin fen dersinden
aldığı puan
aile_gelir: Öğrencinin ailesinin gelir
düzeyi
ortalma_notu: Okuma, Matematik ve Fen
Puanlarının Ortalaması
agirlikli_not: Öğrencinin ağırlıklı not
ortalaması
(okuma_puani0.20)+(matematik_puani0.40)+(fen_puani*0.40))
Basit doğrusal regresyon, bir bağımsız değişkenin bir bağımlı değişken üzerindeki etkisini incelememizi sağlar. Yani “X değişkeni Y’yi ne kadar etkiliyor?” sorusuna cevap ararız. Örneğin aşağıda okul türü ile ağırlıklı not arasındaki ilişkiyi gösteren bir doğrusal regresyon modeli kurulmuştur.
Call:
lm(formula = agirlikli_not ~ okul_turu, data = emrah_veri)
Residuals:
Min 1Q Median 3Q Max
-31.808 -7.374 0.130 7.632 27.134
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 71.3817 0.6785 105.200 <2e-16 ***
okul_turuMeslek Lisesi -0.1338 1.3140 -0.102 0.919
okul_turuOzel 0.7089 1.2908 0.549 0.583
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 11.25 on 477 degrees of freedom
Multiple R-squared: 0.0007741, Adjusted R-squared: -0.003416
F-statistic: 0.1848 on 2 and 477 DF, p-value: 0.8314
Sürekli değişkenler arasındaki ilişkiyi anlamak için de doğrusal regresyon kurulabilir. Aşağıda okuma puanı ile ortalama puan arasındaki ilişkiyi iceleyen bir doğrusal regresyon modeli örneği kurulmuştur.
Call:
lm(formula = ortalma_notu ~ okuma_puani, data = emrah_veri)
Residuals:
Min 1Q Median 3Q Max
-24.1310 -5.6385 0.5287 5.9502 21.0523
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 39.35125 1.94234 20.26 <2e-16 ***
okuma_puani 0.43468 0.02521 17.24 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 8.427 on 478 degrees of freedom
Multiple R-squared: 0.3834, Adjusted R-squared: 0.3822
F-statistic: 297.3 on 1 and 478 DF, p-value: < 2.2e-16
Regresyon analizi sonucunda bazı önemli değerlere bakarak modeli yorumlarız:
1. Katsayılar (Estimate): Bağımsız değişkenin bağımlı değişkeni ne kadar etkilediğini gösterir.
2. p-değeri (Pr(>|t|)): İlişkinin istatistiksel olarak anlamlı olup olmadığını gösterir. Genellikle 0.05’ten küçükse anlamlıdır.
3. R-kare (R-squared): Modelin bağımlı değişkendeki değişimi ne kadar açıkladığını gösterir. 0 ile 1 arasında değer alır, 1’e yaklaştıkça model daha iyi açıklar.
Okul Türü → Ağırlıklı Not
Bu modelde R-kare değeri 0.0007 çıkmış, yani neredeyse sıfır. Ayrıca p-değeri 0.83 olup 0.05’ten büyük. Bu sonuçlara göre okul türünün ağırlıklı not üzerinde anlamlı bir etkisi yok diyebiliriz.
Okuma Puanı → Ortalama Notu
Bu modelde R-kare değeri 0.38 çıkmış. Yani okuma puanı, ortalama notundaki değişimin yaklaşık %38’ini açıklıyor. Katsayı 0.43 ve p-değeri 0.05’ten çok küçük (anlamlı). Bu sonuca göre okuma puanı 1 birim arttığında ortalama not yaklaşık 0.43 birim artıyor. Okuma puanının ortalama not üzerinde anlamlı ve pozitif bir etkisi var diyebiliriz.
Bu yöntemin amacı, veri noktaları ile regresyon doğrusu arasındaki hataları (artıkları) en aza indirmektir.
Bu yöntemde her veri noktasının doğruya olan dikey uzaklığı hesaplanır. Bu uzaklıklara “hata” ya da “artık” denir. Hataların bir kısmı pozitif, bir kısmı negatif olacağı için doğrudan toplanmaz. Bunun yerine hataların karesi alınır ve toplanır. Hangi doğru bu kare toplamını en küçük yapıyorsa, o doğru regresyon doğrusu olarak seçilir.
R’da kullandığımız lm() fonksiyonu arka planda bu
yöntemi uygular ve bize en uygun regresyon katsayılarını verir.
Aşağıdaki kırmızı çizgi en küçük kareler yöntemi ile oluşturulan
noktaları göstermektedir.
ggplot(emrah_veri, aes(x = okuma_puani, y = ortalma_notu)) +
geom_point() +
geom_smooth(method = "lm", se = FALSE, color = "red") +
labs(title = "Okuma Puanı ve Ortalama Not İlişkisi",
x = "Okuma Puanı",
y = "Ortalama Notu")+
theme_bw()Kestirimin standart hatası, regresyon modelinin tahminlerinin gerçek değerlerden ne kadar saptığını gösteren bir ölçüdür. Başka bir deyişle, modelimizin yaptığı tahminlerin ortalama hata miktarını ifade eder.
Bu değer ne kadar küçükse, modelimizin tahminleri gerçek değerlere o kadar yakındır. Yani düşük standart hata, modelin daha güvenilir tahminler yaptığı anlamına gelir.
R çıktısında bu değer “Residual standard error” olarak gösterilir.
Call:
lm(formula = ortalma_notu ~ okuma_puani, data = emrah_veri)
Residuals:
Min 1Q Median 3Q Max
-24.1310 -5.6385 0.5287 5.9502 21.0523
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 39.35125 1.94234 20.26 <2e-16 ***
okuma_puani 0.43468 0.02521 17.24 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 8.427 on 478 degrees of freedom
Multiple R-squared: 0.3834, Adjusted R-squared: 0.3822
F-statistic: 297.3 on 1 and 478 DF, p-value: < 2.2e-16
Bu çıktıda “Residual standard error: 8.427” yazan kısım kestirimin standart hatasıdır. Bu değer, modelimizin tahminlerinin gerçek ortalama notundan ortalama 8.43 puan kadar saptığını gösterir.
Regresyon analizinde birden fazla bağımsız değişken kullanıyorsak, bu değişkenlerin birbirleriyle olan ilişkisini kontrol etmemiz gerekir. Eğer bağımsız değişkenler arasında çok yüksek bir ilişki varsa, buna çoklu doğrusallık denir.
Çoklu doğrusallık sorun yaratır çünkü hangi değişkenin bağımlı değişkeni gerçekten etkilediğini ayırt etmek zorlaşır. Bu durumda katsayılar güvenilir olmaz ve model yanıltıcı sonuçlar verebilir. Ürettiğim veri setinde bu durumu çok iyi açıklayacağını düşündüğüm bir veri grubu var. Öğrencilerin okuma, matematik ve fen puanlarının bağımsız değişken olarak ele aldığımızda bu değişkenler arasında doğrusallık olup olmadığını inceledim.
library(gt)
sayisal_degiskenler <- emrah_veri[, c("okuma_puani", "matematik_puani", "fen_puani")]
korelasyon <- cor(sayisal_degiskenler)
rownames(korelasyon) <- c("Okuma", "Matematik", "Fen")
colnames(korelasyon) <- c("Okuma", "Matematik", "Fen")
as.data.frame(korelasyon) %>%
gt(rownames_to_stub = TRUE) %>%
fmt_number(decimals = 2) %>%
cols_align(align = "center") %>%
tab_header(title = "Korelasyon Matrisi")| Korelasyon Matrisi | |||
| Okuma | Matematik | Fen | |
|---|---|---|---|
| Okuma | 1.00 | 0.10 | 0.17 |
| Matematik | 0.10 | 1.00 | 0.13 |
| Fen | 0.17 | 0.13 | 1.00 |
Değişkenler arasındaki korelasyonlar oldukça düşük (0.10 - 0.17 arası). Bu değerler 0.80’in çok altında olduğu için çoklu doğrusallık sorunu yok. Yani bu üç değişkeni aynı modelde rahatlıkla kullanabiliriz.
Çoklu regresyonda birden fazla bağımsız değişkenin bağımlı değişken üzerindeki etkisini aynı anda inceleyebiliriz. Amaç, bağımlı değişkeni daha iyi tahmin edebilmek ve her bir bağımsız değişkenin etkisini diğerlerinden ayrı olarak görebilmektir. Örneğin öğrencinin ağırlıklı notunu sadece okuma puanıyla değil, matematik ve fen puanıyla birlikte tahmin etmeye çalışabiliriz.
| okuma_puani | |||
|---|---|---|---|
| Predictors | Estimates | CI | p |
| (Intercept) | 62.75 | 57.10 – 68.41 | <0.001 |
| aile gelir | 0.00 | 0.00 – 0.00 | <0.001 |
|
yerlesim yeri [Il Merkezi] |
-3.67 | -6.82 – -0.52 | 0.023 |
| yerlesim yeri [Ilce] | -0.31 | -3.83 – 3.20 | 0.861 |
| yerlesim yeri [Koy] | -2.48 | -6.53 – 1.56 | 0.228 |
| matematik puani | -0.03 | -0.10 – 0.04 | 0.444 |
| Observations | 480 | ||
| R2 / R2 adjusted | 0.190 / 0.181 | ||
Referans kategori “Büyükşehir” olarak alındı. Diğer yerleşim yerleri bununla karşılaştırılmıştır.
Aile geliri: Anlamlı ve pozitif etkili. Gelir arttıkça okuma puanı artıyor.
İl Merkezi: Büyükşehire göre okuma puanı 3.67 puan daha düşük ve bu fark anlamlı.
İlçe ve Köy: Büyükşehire göre fark var gibi görünse de istatistiksel olarak anlamlı değil.
Matematik puanı: Okuma puanını anlamlı şekilde etkilemiyor.
Model, okuma puanındaki değişimin %19’unu açıklıyor. Çok güçlü değil ama aile geliri ve yerleşim yerinin etkisi görülüyor.
Çoklu korelasyon katsayısı (R), birden fazla bağımsız değişkenin bağımlı değişkenle olan toplam ilişkisini gösteren bir ölçüdür. Değeri 0 ile 1 arasında değişir. Basit korelasyonda iki değişken arasındaki ilişkiye bakıyoruz. Çoklu korelasyonda ise tüm bağımsız değişkenlerin birlikte bağımlı değişkeni ne kadar tahmin ettiğini anlayabiliriz.
[1] 0.4357765
Çoklu korelasyon katsayısı (R) 0.44 olarak hesaplanmıştır. Bu değer, bağımsız değişkenlerin (aile geliri, yerleşim yeri ve matematik puanı) bağımlı değişkenle (okuma puanı) orta düzeyde bir ilişkiye sahip olduğunu göstermektedir.
Belirlilik katsayısı (R²), regresyon modelinin bağımlı değişkendeki değişimi ne kadar açıkladığını gösterir. Değeri 0 ile 1 arasında değişir. Örneğin R² = 0.30 ise model, bağımlı değişkendeki değişimin %30’unu açıklıyor demektir.
Ancak modele yeni değişkenler eklendikçe R² değeri her zaman artar, bu değişken işe yarasa da yaramasa da. Bu sorunu çözmek için düzeltilmiş R² (Adjusted R²) kullanılır. Adjusted R², daha gerçekçi bir değer verir.
[1] 0.1899011
[1] 0.1813558
Model uyumu, kurduğumuz regresyon modelinin verilere ne kadar iyi uyduğunu değerlendirmemizi sağlar. Bunun için birkaç farklı ölçüt kullanılır.
F-testi: Modelin bir bütün olarak anlamlı olup olmadığını test eder. Eğer p-değeri 0.05’ten küçükse model anlamlıdır, yani en az bir bağımsız değişken bağımlı değişkeni etkiliyor demektir.
R-kare: Modelin açıklama gücünü gösterir. Ne kadar yüksekse model o kadar iyi uyum sağlıyor demektir.
Artıkların (Residuals) Analizi: Tahmin edilen değerler ile gerçek değerler arasındaki farkları inceler. Artıkların rastgele dağılması beklenir.
R-kare ve F-testi ile ilgili açıklamalar modeli kurduğum bölümde incelenmişti. Bu kısımda artıkların dağılımına bakabiliriz.
1. Residuals - Fitted: Artıklar yatay bir bant şeklinde rastgele dağılmış. Bu iyi bir işaret, doğrusallık varsayımı sağlanıyor. Kırmızı çizginin düz olması modelin uygun olduğunu gösterir.
2. Q-Q Residuals: Noktalar çoğunlukla çizgi üzerinde ilerliyor. Bu artıkların normal dağıldığını gösterir.
3. Scale-Location: Artıkların varyansının sabit olup olmadığını gösterir. Noktalar nispeten yatay bir bant oluşturmuş. Varyans homojenliği varsayımı büyük ölçüde sağlanıyor.
4. Residuals - Leverage: Etkili gözlemleri (outlier) tespit eder. Çizgileri aşan belirgin bir nokta yok. Yani modeli olumsuz etkileyen aşırı değerler bulunmuyor.
Çoklu regresyonda birden fazla bağımsız değişken aynı anda modelde yer alır. Bu durumda her bir değişkenin etkisini yorumlarken “diğer değişkenler sabit tutulduğunda” ifadesi kullanılır. Amaç bir değişkenin bağımlı değişken üzerindeki saf etkisini görmektir.
Model kurulurken tüm bağımsız değişkenler aynı anda analize dahil edilir. R, her değişkenin katsayısını hesaplarken diğer değişkenlerin etkisini istatistiksel olarak kontrol eder. Böylece her katsayı, sadece o değişkene ait etkiyi yansıtır. Değişkenler arasındaki karıştırıcı etkileri ayıklamak için yapılır. Örneğin aile geliri yüksek olanlar büyükşehirde yaşıyor olabilir. Eğer değişkenleri sabit tutmazsak, okuma puanındaki artışın gelirden mi yoksa yerleşim yerinden mi kaynaklandığını anlayamayız. Bu yöntem sayesinde her faktörün bağımsız katkısını net bir şekilde görebiliriz. Bu kısımda fen puanlarını gelir ve okuma puanları ile yordadığımız bir mode
Call:
lm(formula = fen_puani ~ aile_gelir + okuma_puani, data = emrah_veri)
Residuals:
Min 1Q Median 3Q Max
-39.190 -10.153 0.035 11.191 36.077
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 5.612e+01 3.542e+00 15.847 < 2e-16 ***
aile_gelir 2.726e-03 3.924e-04 6.947 1.23e-11 ***
okuma_puani 3.771e-02 5.041e-02 0.748 0.455
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 15.28 on 477 degrees of freedom
Multiple R-squared: 0.1193, Adjusted R-squared: 0.1157
F-statistic: 32.32 on 2 and 477 DF, p-value: 6.862e-14
library(broom)
library(gt)
tidy(fen_model) %>%
gt() %>%
fmt_number(decimals = 3) %>%
cols_align(align = "center") %>%
cols_label(
term = "",
estimate = "Katsayı",
std.error = "Std. Hata",
statistic = "t Değeri",
p.value = "p Değeri"
) %>%
tab_header(
title = "Çoklu Regresyon Sonuçları",
subtitle = "Bağımlı Değişken: Fen Puanı"
)| Çoklu Regresyon Sonuçları | ||||
| Bağımlı Değişken: Fen Puanı | ||||
| Katsayı | Std. Hata | t Değeri | p Değeri | |
|---|---|---|---|---|
| (Intercept) | 56.123 | 3.542 | 15.847 | 0.000 |
| aile_gelir | 0.003 | 0.000 | 6.947 | 0.000 |
| okuma_puani | 0.038 | 0.050 | 0.748 | 0.455 |
artikFEN <- lm(fen_puani ~ aile_gelir, data = emrah_veri)$residuals
artikOKUMA <- lm(okuma_puani ~ aile_gelir, data = emrah_veri)$residuals
lm(artikFEN ~ artikOKUMA)$coefficients (Intercept) artikOKUMA
-1.054030e-15 3.770745e-02
artikFEN2 <- lm(fen_puani ~ okuma_puani, data = emrah_veri)$residuals
artikGELIR <- lm(aile_gelir ~ okuma_puani, data = emrah_veri)$residuals
lm(artikFEN2 ~ artikGELIR)$coefficients (Intercept) artikGELIR
-1.881772e-15 2.725533e-03
Burada yukarıdaki ana regresyondaki sonuçlarla neredeyse aynı sonuçları verdi. Bu durumda bunu nasıl yorumlayacağımı bilemiyorum. Bir şeyleri mi yanlış yaptım yoksa gereksiz bir şey mi yaptım hocama sormalıyım.
Regresyon sabiti, tüm bağımsız değişkenler sıfır olduğunda bağımlı değişkenin beklenen değerini gösterir. Regresyon denkleminde sabit terim olarak yer alır ve genellikle “b₀” veya “Intercept” olarak gösterilir. Sabit terimi, regresyon doğrusunun Y eksenini kestiği noktayı ifade eder.
Ancak bazı durumlarda sabit terimi yorumlamak anlamlı olmayabilir. Örneğin bağımsız değişkenlerin sıfır değeri alması mantıklı değilse (aile gelirinin sıfır olması gibi), sabit terimi sadece matematiksel bir başlangıç noktası olarak düşünmek daha doğrudur.
(Intercept)
56.12329
Fen modelinde sabit terim 56.12 olarak hesaplanmıştır. Bu değer, aile geliri ve okuma puanı sıfır olduğunda beklenen fen puanını gösterir. Ancak pratikte bir öğrencinin okuma puanının veya aile gelirinin sıfır olması mümkün değildir. Bu yüzden sabit terimi doğrudan yorumlamak yerine modelin matematiksel başlangıç noktası olarak değerlendirmek daha uygundur.
Regresyon analizinde farklı ölçeklere sahip değişkenler olabilir. Örneğin aile geliri binlerle ifade edilirken, okuma puanı 0-100 arasında değişir. Bu durumda ham katsayıları karşılaştırmak yanıltıcı olabilir. Beta katsayıları bu sorunu çözer. Tüm değişkenler aynı ölçeğe dönüştürülür (ortalama=0, standart sapma=1). Böylece hangi değişkenin bağımlı değişkeni daha güçlü etkilediğini doğrudan karşılaştırabiliriz. Beta katsayısı ne kadar büyükse, o değişkenin etkisi o kadar güçlüdür.
Call:
lm(formula = fen_puani ~ aile_gelir + okuma_puani, data = emrah_veri)
Standardized Coefficients::
(Intercept) aile_gelir okuma_puani
NA 0.3290482 0.0354341
Aile gelirinin beta katsayısı (0.33) okuma puanının beta katsayısından (0.04) çok daha büyük. Bu demek oluyor ki fen puanını etkileyen en güçlü değişken aile geliridir. Okuma puanının etkisi ise oldukça zayıf.
Artıklar, gerçek değerler ile modelin tahmin ettiği değerler arasındaki farktır. Yani modelin ne kadar hata yaptığını gösterir.
Artık = Gerçek Değer - Tahmin Edilen Değer
Standart artıklar ise artıkların standartlaştırılmış halidir. Ortalama 0 ve standart sapma 1 olacak şekilde dönüştürülür. Bu sayede artıkların büyüklüğünü daha kolay yorumlayabiliriz.
1 2 3 4 5 6
16.0068668 -0.2669205 1.1095170 18.3718051 -3.9036892 -4.6062168
1 2 3 4 5 6
1.04955990 -0.01758659 0.07284168 1.20331142 -0.25567865 -0.30235688
ggplot(emrah_veri, aes(x = standart_artiklar)) +
geom_histogram(bins = 30, fill = "steelblue", color = "white") +
geom_vline(xintercept = c(-2, 2), linetype = "dashed", color = "red") +
labs(title = "Standart Artıkların Dağılımı",
x = "Standart Artıklar",
y = "Frekans") +
theme_minimal()Grafiğe baktığımızda standart artıkların büyük çoğunluğunun -2 ile +2 arasında kaldığını görüyoruz. Dağılım çan eğrisi şeklinde ve simetrik görünüyor. Kırmızı çizgilerin dışında kalan birkaç gözlem var. Bunlar aykırı değerler olabilir, yani model bu öğrencileri tam olarak tahmin edememiş. Ama sayıları çok az olduğu için genel olarak modeli olumsuz etkilemiyorlar.
Regresyon modelinin varsayımlarını kontrol etmek için dört temel grafik kullanılır. R’da bu grafikleri tek bir komutla elde edebiliriz.
Bu grafiklerin nasıl yorumlanacağına “Model Uyumu” başlığı altında değinilmiştir.
Çoklu regresyon modeli matematiksel olarak şu şekilde ifade edilir:
Y = b₀ + b₁X₁ + b₂X₂ + e
Burada Y bağımlı değişkeni, b₀ sabit terimi, b₁ ve b₂ regresyon katsayılarını, X₁ ve X₂ bağımsız değişkenleri ve e hata terimini ifade eder.
Benim fen modelim için formül şöyle yazılabilir:
Fen Puanı = 56.12 + 0.003(Aile Geliri) + 0.04(Okuma Puanı)
Path diyagramları ise değişkenler arasındaki ilişkileri görsel olarak gösteren şemalardır. Oklar nedensellik yönünü, ok üzerindeki sayılar ise katsayıları gösterir.
Aşamalı regresyon, birçok bağımsız değişken arasından en iyi modeli otomatik olarak seçen bir yöntemdir. Elimizde çok sayıda değişken varsa ve hangilerinin modele dahil edilmesi gerektiğini bilmiyorsak bu yöntem işe yarar.
Üç farklı yaklaşım vardır:
Forward (İleri): Boş bir modelle başlar, en anlamlı değişkeni ekler, sonra bir sonraki en anlamlı değişkeni ekler ve bu şekilde devam eder.
Backward (Geri): Tüm değişkenlerle başlar, en anlamsız değişkeni çıkarır, sonra bir sonraki en anlamsız değişkeni çıkarır ve bu şekilde devam eder.
Stepwise (Her iki yönde): Her adımda hem ekleme hem çıkarma yapar. En esnek yöntemdir.
Model seçiminde genellikle AIC (Akaike Information Criterion) değeri kullanılır. AIC ne kadar düşükse model o kadar iyidir. Aşağıda bu yaklaşımardan “Stepwise Model” için bir örnek yapılmıştır.
tam_model <- lm(fen_puani ~ aile_gelir + okuma_puani + matematik_puani + cinsiyet + okul_turu,
data = emrah_veri)
bos_model <- lm(fen_puani ~ 1, data = emrah_veri)
stepwise_model <- step(tam_model, direction = "both", trace = 0)
library(gt)
aic_tablo <- data.frame(
Model = c("Tam Model", "Boş Model", "Stepwise Model"),
AIC = c(AIC(tam_model), AIC(bos_model), AIC(stepwise_model)),
Degisken_Sayisi = c(length(coef(tam_model)), 1, length(coef(stepwise_model)))
)
aic_tablo %>%
gt() %>%
fmt_number(columns = AIC, decimals = 2) %>%
cols_align(align = "center") %>%
cols_label(
Model = "Model",
AIC = "AIC Değeri",
Degisken_Sayisi = "Değişken Sayısı"
) %>%
tab_header(title = "Aşamalı Regresyon - Model Karşılaştırması")| Aşamalı Regresyon - Model Karşılaştırması | ||
| Model | AIC Değeri | Değişken Sayısı |
|---|---|---|
| Tam Model | 3,985.50 | 7 |
| Boş Model | 4,041.92 | 1 |
| Stepwise Model | 3,981.91 | 5 |
Tabloya baktığımızda en düşük AIC değerine sahip model Stepwise Model (3,981.91). AIC değeri ne kadar düşükse model o kadar iyi olduğu için bu model en uygun seçim. Tam modelde 7 değişken varken, Stepwise modelde sadece 5 değişken kalmış. Yani aşamalı regresyon 2 değişkeni gereksiz bulup modelden çıkarmış. Bu sayede daha sade ama aynı derecede açıklayıcı bir model elde edilmiş.
Regresyon analizinde bazı gözlemler modeli diğerlerinden daha fazla etkiler. Bu gözlemleri tespit etmek önemlidir çünkü tek bir gözlem bile sonuçları önemli ölçüde değiştirebilir. Bu gözlemleri 3 kategoriye ayırabiliriz.
Uç Değerler (Outliers): Diğer gözlemlerden çok farklı olan değerlerdir. Standart artığı -3 ile +3 aralığının dışında kalan gözlemler uç değer olarak kabul edilir.
emrah_veri$standart_artik <- rstandard(fen_model)
uc_degerler <- which(abs(emrah_veri$standart_artik) > 3)
uc_degerlerinteger(0)
-3 ile +3 aralığının dışında kalan gözlem yok. Verilerde aşırı sapma olmadığı söylenebilir.
Kaldıraç (Leverage): Bir gözlemin bağımsız değişkenler açısından ne kadar uç noktada olduğunu gösterir. Yüksek kaldıraç değerine sahip gözlemler regresyon doğrusunu çekebilir.
emrah_veri$leverage <- hatvalues(fen_model)
yuksek_leverage <- which(emrah_veri$leverage > 2 * mean(emrah_veri$leverage))
length(yuksek_leverage)[1] 31
# Hangi gözlemler?
yuksek_leverage <- which(emrah_veri$leverage > 2 * mean(emrah_veri$leverage))
yuksek_leverage [1] 2 18 21 45 48 51 52 97 135 149 153 166 174 209 219 230 233 257 268
[20] 329 332 336 359 362 364 371 392 416 449 456 477
Veri setindeki 31 öğrenciye ait puanın kaldıraç etkisi gösterdiği ve bu öğrencilerin hangi gözlemler olduğu listeden anlaşılmakatadır. İlgili gözlemlerin detaylarına bakılarak bu gözlemlerle ilgili ne yapılacağı belirlenebilir.
Etkili Gözlem (Cook’s Distance): Hem uç değer hem de kaldıraç etkisini birleştirir. Bir gözlem modelden çıkarıldığında sonuçların ne kadar değişeceğini gösterir. Genellikle 4/n veya 1’den büyük değerler etkili gözlem olarak kabul edilir.
emrah_veri$cooks <- cooks.distance(fen_model)
etkili_gozlemler <- which(emrah_veri$cooks > 4/nrow(emrah_veri))
length(etkili_gozlemler)[1] 20
[1] 44 45 97 108 149 229 257 276 311 313 319 328 349 359 370 385 392 395 452
[20] 475
20 öğrenciye ait verinin etkili gözlem olduğu ve bu öğrencilerin hangileri olduğu listeden anlaşılabilir. Bu öğrencilere ilişkin detaylar incelenerek nasıl bir yol izleneceği belirlenebilir.
İlgili makale metodolojik olarak incelenmiştir. Ancak metodolojinin yorumlanabilmesi için makale konusunun ve araştırma sorularının da anlşaılması gerekmektedir.
Araştırmada sorgulamaya dayalı öğrenmenin öğrencilerin bilim öz-yeterliğini nasıl etkilediği incelemmektedir.
Veriler, PISA 2015 veri setinden elde edilmiştir. PISA 2015’e katılan ülkeler arasından, araştırmada kullanılan tüm değişkenlere (sorgulamaya dayalı öğrenme, bilime ilgi, bilim öz-yeterliği, öğretmen desteği ve sınıf disiplini) ilişkin soruları uygulayan 57 ülke/ekonomi analize dahil edilmiştir. Bu ülkelerden ilgili tüm soruları yanıtlayan 346,109 öğrenci (15 yaş) örneklemi oluşturmuştur.
Çalışmada ilişkisel tarama modeli kullanılmıştır. PISA 2015 verileri üzerinden ikincil veri analizi yapılmış, değişkenler arasındaki aracılık ve düzenleyicilik ilişkileri incelenmiştir.
| Değişken Adı | PISA Kodu | Modeldeki Rolü |
|---|---|---|
| Sorgulamaya Dayalı Öğrenme | IBTEACH | Bağımsız değişken |
| Bilim Öz-yeterliği | SCIEEFF | Bağımlı değişken |
| Bilime İlgi | INTBRSCI | Aracı değişken (mediator) |
| Öğretmen Desteği | TEACHSUP | Düzenleyici değişken (moderator) |
| Sınıf Disiplini | DISCLISCI | Kontrol değişkeni |
| Cinsiyet | 1=Erkek, 2=Kadın | Kontrol değişkeni |
Bilime İlgi
(INTBRSCI)
[Aracı]
/ \
Yol A Yol B
/ \
/ \
Sorgulamaya Dayalı ─────────────> Bilim
Öğrenme Yol C Öz-yeterliği
(IBTEACH) (SCIEEFF)
\ /
\ /
Öğretmen Desteği
(TEACHSUP)
[Düzenleyici]
Sorgulamaya dayalı öğrenme, bilim öz-yeterliğiyle pozitif ilişkilidir. Bu ilişki doğrudan ve bilime ilgi aracılığıyla gerçekleşmktedir. Öğretmen desteği yüksek olduğunda, sorgulamaya dayalı öğrenmenin bilim öz-yeterliğine doğrudan etkisi güçlenmekte, ancak bilime ilgi üzerinden işleyen dolaylı etki zayıflamaktadır.
Daha önce PIRLS 2021 verisi ile yüksek lisans tezimi yazdığım dönemden hatırlıyorum. Uluslararası sınavların örnekleminde tabakalı örnekleme yaklaşımı kullanılıyor. Eğer tabkalrın sonuçları arasında puanlar anlamlı şekilde farklılaşıyorsa mutlaka çok düzeyli analiz yapılması gerektiğini okumuştum. Bu makalede çok düzeyli analiz yapılmayışı önemli bir kusur olabilir.
TIMSS 2023 verilerini kullanarak bir çalışma yapmayı planlıyorum. Zaman kısıtlı olduğu için detaylı bir litratür taraması yapamdım ama il izlenimlerim kurgusunu yaptığım araştırmayı yapbileceğim yönünde. Çok düzeyli analiz yapmmak için ya 2 veya 3 ülke için ayrı ayrı analiz edip şu ülkede böyle bu ülkede şöyle diye açıklmayı deneyceğim ya da sadece ülkemizi analiz edeceğim. Zaten seçeceğim tüm değişkenler birey düzeyi değişkenler olacak. Okul ve öğretmen düzeyindeki değişkenleri bu araştırmaya dahil etmeyeceğim. Veri setinde klasik olarak ele alınabilecek çok sayıda değişkene ilşikin (Örneğin SES, Cinsiyet) olsa da ben biraz daha özgün bir çalışma yapmak istiyorum. Çaışmamda ele almak istediğim değişkenleri aşağıda açıkladım.
8. Sınıf Öğrencilerinin TIMSS 2023Matematik Başarısında Bazı Ev Ortamı ve Kişsel Değişkenlerin Rolü
| Rol | Değişken Adı | TIMSS 2023 Kodu |
|---|---|---|
| Bağımlı (Y) | Matematik Başarısı | BSMMAT01-05 |
| Bağımsız (X) | Ev Öğrenme Kaynakları | BSBGHER |
| Aracı (M) | Okula Aidiyet Hissi | BSBGSB |
| Düzenleyici (W) | Matematik Konusunda Kendine Güven | BSBGSCM |
Not: Derinlemesine inceleme yapmadığım için buraya bir şeyler yazamıyorum. Yazmayı denedim ama baktım daha tam hakim değilim neyi niçin yapabileceğim konusunda. Şimdilik sadece önüme çıkan ilk kaynaklardan yorumuma göre bu kurguyu yaptım. Dolayısıyla kurgum değişebilir.