İki sayısal değişken arasındaki ilişkiyi anlamak istatistiksel
modellemenin temel bir adımıdır. Modeli kurmada önce gerçekleştirilen
yapılan görsel analiz değişkenler arasındaki potansiyel bağlantıların
doğası, gücü ve biçimi hakkında bilgiler sunar. Değişkenler arasındaki
ilişkileri görselleştirmek için kullanılan temel araç saçılım grafiğidir
(scatterplot). (Tek bir değişkenin dağılımını bir histogram veya
yoğunluk grafiği ile görselleştirirken iki sayısal değişken arasındaki
ilişkiyi görselleştirmek için yaygın olarak scatterplot kullanılır). Bu
grafik, her bir gözlemi iki boyutlu bir düzlemde, eksenlerin iki
değişkene karşılık geldiği bir nokta olarak temsil eder. Örneğin, possum
veri setindeki hayvanların toplam vücut uzunlukları
(total_l) ile kuyruk uzunlukları (tail_l)
arasındaki ilişkiyi incelemek için bir saçılım grafiği oluşturulabilir.
Bu grafik, kuyruk uzunluğu arttıkça toplam vücut uzunluğunun da artma
eğiliminde olup olmadığını ortaya koyar.
Bir saçılım grafiğini yorumlarken, ilişkinin yapısını tam olarak kavramak için dört temel özellik incelenir:
Biçim: İlişkinin doğrusalbir desene mi uyduğu yoksa doğrusal olmayan (non-linear) bir eğilim mi gösterdiğini belirler.
Yön: İlişkinin yönü değişkenlerin birlikte nasıl hareket ettiğini gösterir. Eğer bir değişken artarken diğeri de artma eğilimindeyse bu pozitif bir yöndür. Tersine bir değişken artarken diğeri azalma eğilimindeyse bu negatif bir yöndür.
Güç: İlişkinin gücü, veri noktalarının belirlenen bir desen etrafında ne kadar sıkı bir şekilde kümelendiği ile ölçülür. Noktalar belirgin bir doğruya çok yakınsa güçlü bir ilişkiden, geniş bir alana yayılmışsa zayıf bir ilişkiden bahsedilir.
Aykırı Gözlemler (Unusual Observations): Genel desene uymayan veya diğer noktalardan belirgin şekilde uzakta duran gözlemlerdir. Bu aykırı değerler bir ölçüm hatasının sonucu olabileceği gibi, incelenen olgunun doğasına dair önemli bilgiler içeren istisnai durumları da temsil edebilir. Bu nedenle bu noktaların tespit edilmesi ve araştırılması önemlidir.
Görsel analiz, bir ilişki hakkında sezgisel ve güçlü bilgiler sunsa da, bu ilişkinin gücünü ve yönünü objektif olarak ölçmek ve farklı veri setleri arasında karşılaştırma yapabilmek için sayısal bir ölçüte ihtiyaç duyulur. Bu ihtiyaç bizi korelasyon kavramına yönlendirir.
Korelasyon katsayısı, bu ihtiyacı karşılamak üzere tasarlanmış, yaygın olarak kullanılan bir ölçümdür. Korelasyon katsayısı (r), doğrusal bir ilişkinin gücünü ve yönünü ifade eden -1 ile 1 arasında bir değerdir. Bu katsayının yorumlanması şu şekildedir:
İşaret (Yön): Katsayının pozitif (+) veya negatif (-) olması, ilişkinin yönünü belirtir. Pozitif değerler, değişkenlerin birlikte arttığını (pozitif ilişki); negatif değerler ise biri artarken diğerinin azaldığını (negatif ilişki) gösterir.
Büyüklük (Güç): Katsayının mutlak değeri, ilişkinin gücünü gösterir. Değer 0’a yaklaştıkça ilişki zayıflar. Değer 1’e veya -1’e yaklaştıkça, noktaların bir doğru etrafında daha sıkı kümelendiği güçlü bir doğrusal ilişkiden bahsedilir.
R’da korelasyon katsayısı cor() fonksiyonu ile kolayca
hesaplanabilir. Ancak, veri setinde eksik değerler (NA)
bulunduğunda cor() fonksiyonu varsayılan olarak NA
sonucu döndürür. Bu durumu yönetmek için
use = "pairwise.complete.obs" argümanı kullanılır. Bu
argüman, fonksiyona yalnızca her iki değişken için de eksik olmayan
gözlem çiftlerini kullanarak hesaplama yapmasını söyler.
Korelasyon nedensellik anlamına gelmez. İki değişkenin birlikte hareket ediyor olması, birinin diğerine neden olduğu anlamına gelmemektedir. Bu ilkeyi göz ardı etmek, hatalı sonuçlara ve yanlış kararlara yol açabilir. Bu kavramı somutlaştırmak için sahte korelasyon (spurious correlation) örnekleri oldukça aydınlatıcıdır. Bu tür sahte ilişkilerin arkasında genellikle üçüncü bir değişken yatar. Özellikle zaman serisi verilerinde zaman, yaygın bir karıştırıcı değişkendir (confounder). Zaman içinde her iki değişken de bağımsız olarak artış veya azalış gösterebilir ve bu durum aralarında bir ilişki varmış gibi görünmesine neden olur. Bu nedenle iki değişken arasında bir korelasyon tespit edildiğinde, altta yatan mekanizmaları sorgulamak ve olası karıştırıcı faktörleri göz önünde bulundurmak esastır. Örneğin bir şehirde ibadethane sayısı ile suç oranları arasında güçlü bir ilişki olabilir ancak bu iki olay arasında mantıksal bir neden-sonuç ilişkisinin olmadığı açıktır (bunun nedeni nüfusun artması ile açıklanabilir). Diğer hatalar ise değişken rollerinin değiştirilmesi ve yüzde değişim vs. yüzde puan değişimi gibi farklı birimleri yorumlamaktır.
Aşağıda korelasyon matrisini görselleştirmek için gereken paketlere ve fonksyionlara yer verilmiştir:
ggcorplot (), corrplot () ve
library (psych) paketindeki ggpairs ()
fonksiyonlarını kullanarak korelasyon matrisini
görselleştirebiliriz.
library (performanceAnalytics) paketindeki
corPlot () fonksiyonu ile korelasyon matrisini anlamlılık
düzeyleri ile görselleştirebiliriz.
library (GGally) paketindeki
chart.Correlation () fonksiyonu ile korelasyon matrisini
görselleştirebiliriz ve değişkenlerin dağılımını inceleyebiliriz.
Korelasyon, doğrusal bir ilişkiyi ölçmek için güçlü bir araçtır ancak bu ilişkiyi bir model olarak formüle etmez veya tahmin yapma imkanı sunmaz. Bu noktada, ilişkiyi matematiksel bir denkleme döken ve öngörü gücü sağlayan regresyon modellemesine ihtiyaç duyulur.
Regresyon modeli mevcut ilişkiyi tanımlarken bir değişkenin bilinen değerini kullanarak diğer değişkenin değerini tahmin etme gücü de sağlar. Bu doğruyu objektif bir şekilde belirlemek için matematiksel bir kritere ihtiyaç vardır.
En uygun doğruyu bulmak için kullanılan standart yöntemdir. Bu ölçüt, her bir gözlem noktasının doğruya olan dikey mesafelerinin (bunlara artıklar denir) kareleri toplamını minimize eden doğruyu ‘en iyi uyan doğru’ olarak tanımlar. Artıkların toplamı her zaman sıfırdır. Ortalama nokta her zaman regresyon eğrisinin üzerindedir.
Y = β₀ + β₁ * X + ε
Bağımlı değişken = kesişim + eğim * bağımsız değişken + hata
ŷ = β̂₀ + β̂₁ * X
fitted. values ()
Modelin, belirli bir X değeri için tahmin ettiği Y’nin ortalama değeridir. Bu değerler, en küçük kareler doğrusunun üzerinde yer alır.
residuals ()
Her bir gözlem için gerçek değer (Y) ile modelin tahmin ettiği değer (ŷ) arasındaki farktır: e = Y - ŷ. Artıklar, pozitif (nokta doğrunun üstündeyse) veya negatif (nokta doğrunun altındaysa) olabilir. Artıklar, popülasyon modelindeki teorik ve asla doğrudan gözlemleyemeyeceğimiz gürültü terimi olan ε’nin, verimizdeki yansımaları veya tahminleridir. Modelin ne kadar iyi uyduğunu değerlendirmek için bu artıkları analiz ederiz.
Teorik regresyon modelini gerçek dünya verilerine uygulamak ve elde edilen sayısal sonuçları anlamlı içgörülere dönüştürmek sürecin önemli bir adımıdır. R, bu süreci lm() (linear model) fonksiyonu ile gerçekleştirir. Bu fonksiyon, en küçük kareler yöntemini kullanarak model katsayılarını tahmin eder ve yorumlama için bir çıktı sunar.
R’da bir doğrusal model oluşturmak için kullanılan temel formül şu şekildedir:
lm(formula = y ~ x, data = dataframe)
formula: y ~ x yapısı, y’nin yanıt (bağımlı)
değişken, x’in ise açıklayıcı (bağımsız) değişken olduğunu
belirtir.
data: Modelde kullanılacak değişkenlerin bulunduğu
veri çerçevesini (data frame) gösterir.
Örneğin, bdims veri setindeki kişilerin ağırlıklarını
(wgt) boylarına (hgt) göre modellemek için şu
komut kullanılır: lm(formula = wgt ~ hgt, data = bdims)
Bir lm model nesnesinin çıktısı, kesişim noktası ve eğim
katsayılarını içerir. [lm () fonksiyonunun çıktısı, lm
sınıfından bir model nesnesidir (books_mod). Bu nesne,
model hakkındaki tüm bilgileri depolar. class () fonksiyonu
nesnenin sınıfını sorgular]. Bu katsayıların doğru yorumlanması,
modelden elde edilen bilginin doğru anlaşılması için önemlidir.
Kesişim Noktası (Intercept - β̂₀): Bu katsayı, açıklayıcı değişkenin (X) değeri 0 olduğunda, yanıt değişkeninin (Y) beklenen ortalama değerini temsil eder. Ancak çoğu durumda, açıklayıcı değişkenin 0 değerini alması pratik olarak anlamsız veya imkansız olabilir (örneğin, boyu 0 olan bir insan). Bu değer genellikle veri aralığının çok dışında kalır. Veri aralığının dışındaki değerler için tahmin yapmak (extrapolation), modelin geçerli olmadığı bir yorum yapma riski taşır. Bu nedenle kesişim noktası genellikle modelin matematiksel bir bileşeni olarak görülür ve pratik bir yorumu her zaman olmaz.
Eğim (Slope - β̂₁): Eğim katsayısı, açıklayıcı değişkendeki her bir birimlik artışın, yanıt değişkeninin beklenen ortalama değerinde ne kadarlık bir değişikliğe yol açtığını gösterir. Örneğin, lise mezuniyet oranları (hs_grad) ile yoksulluk oranları (poverty) arasındaki ilişkiyi modelleyen bir denklemde (povertŷ = 64.594 - 0.591 * hs_grad) eğim katsayısı -0.591 olarak bulunmuştur. Bu katsayının doğru yorumu şöyledir: “ABD ilçeleri arasında, lise mezuniyet oranındaki her bir yüzde puanlık artış, ortalama yoksulluk oranında yaklaşık 0.591 yüzde puanlık bir düşüşle ilişkilidir.”
Modelin genel özetini görmek ve açıklama gücünü anlamak için summary() fonksiyonu kullanılır. Bu fonksiyonun çıktısı model hakkında detaylı istatistiksel bilgiler sunar:
Artık Standart Hata (Residual Standard Error): Modelin tahminlerinin, gerçek gözlem değerlerinden ortalama olarak ne kadar saptığını gösteren bir ölçüttür. Yanıt değişkeni (Y) ile aynı birimdedir ve modelin tipik tahmin hatasının büyüklüğünü yansıtır. Daha düşük bir değer, modelin veri noktalarına daha yakın olduğunu gösterir.
Multiple R-squared (R²): Belirlilik katsayısı olarak da bilinen R2, yanıt değişkenindeki (Y) toplam değişkenliğin yüzde kaçının açıklayıcı değişken (X) tarafından açıklandığını gösterir. 0 ile 1 arasında bir değer alır. Örneğin, R² = 0.97 ise bu, Y’deki değişkenliğin %97’sinin X ile olan doğrusal ilişki tarafından açıklandığı anlamına gelir. Bu, modelin açıklama gücünün yüksek olduğunu gösterir. [Basit doğrusal regresyonda R2 değerinin önemli bir yorumu daha vardır: Bu değer bölümün devamında ele alınan korelasyon katsayısının (r) karesine eşittir (R² = r²). Bu bağlantı, korelasyonun ilişkinin gücünü nasıl ölçtüğünü ve regresyon modelinin bu gücü varyansın ne kadarını açıkladığına nasıl dönüştürdüğünü matematiksel olarak birleştirir].
Adjusted R-squared: R2 değerinin, modele eklenen değişken sayısına göre düzeltilmiş bir versiyonudur. Özellikle çoklu regresyon modellerinde yeni değişkenlerin eklenmesiyle R2’nin şişmesini engellemek için kullanılır. Eklediğimiz değişken sayısına göre düzeltme yapan R2 değeri Adjusted R2 değeridir. Adjusted R2 değeri her zaman R2 değerinden daha küçüktür. (R2’yi anlamak için boş modelle kıyaslama yapmak gerekir).
Bir regresyon modelini kurduktan sonraki adım, yalnızca genel metrikleri incelemek değil, aynı zamanda modelin bireysel gözlemler üzerindeki performansını analiz etmek ve en önemlisi, modeli yeni veriler üzerinde tahmin yapmak için kullanmaktır.
R’da, bir lm nesnesinden modele özgü bilgileri çıkarmak için çeşitli fonksiyonlar bulunur. fitted.values() fonksiyonu, modelin her bir gözlem için tahmin ettiği takma değerleri (ŷ) bir vektör olarak döndürür. Benzer şekilde, residuals() fonksiyonu da her bir gözlem için artık değerleri (e = Y - ŷ) döndürür.
broom paketindeki augment() fonksiyonu, bir lm model nesnesine .fitted ve .resid gibi sütunları ekler.
Bir regresyon modelinin en pratik uygulamalarından biri daha önce
görülmemiş veriler için tahminlerde bulunmaktır. Bu işlem
predict() fonksiyonu ile gerçekleştirilir. Fonksiyon model
nesnesini ve newdata argümanını alır. Örneğin;
predict(model_nesnesi, newdata = new_data)
Burada dikkat edilmesi gereken bir nokta, newdata argümanına sağlanan veri çerçevesinin, orijinal modeli kurarken kullanılan açıklayıcı değişkenle aynı isme sahip bir sütun içermesi gerektiğidir.
Örneğin, hgt_wgt_mod adında, boy (hgt) ile
ağırlığı (wgt) modelleyen bir regresyon modelimiz olsun.
ben adında, tek bir kişinin boy bilgisini içeren yeni bir veri çerçevesi
oluşturalım:
#ben veri çerçevesi
# hgt wgt
#182.8 74.8
Bu kişinin boyuna göre beklenen ağırlığını tahmin etmek için
predict() fonksiyonu şu şekilde kullanılır:
# predict(hgt_wgt_mod, newdata = ben)
# 1
#81.00909
Yorum: Model, 182.8 cm boyundaki bir bireyin beklenen ortalama ağırlığının 81.01 kg olacağını tahmin eder.
Regresyon analizi, değişkenler arasındaki ilişkiyi anlamak ve bir değişkendeki değişimi diğer değişkenler aracılığıyla açıklamak için kullanılan güçlü bir istatistiksel araçtır. Bu analizin temel gücü, dayandığı modelin güvenilirliğine ve verileri ne kadar doğru temsil ettiğine bağlıdır. Modelin güvenilirliği, belirli gözlemlerin model katsayıları üzerinde orantısız bir etkiye sahip olmasından etkilenir. Aykırı değerler veya kaldıraç noktaları olarak adlandırılan bu tür gözlemler, regresyon doğrusunun eğimini ve kesişim noktasını tek başlarına önemli ölçüde değiştirebilir. Bu durum, modelin verilerdeki genel eğilimi yansıtmak yerine birkaç istisnai noktaya aşırı uyum sağlamasına yol açarak genel geçerliliğini ve tahmin gücünü zayıflatır.
Bir regresyon modelinin performansını objektif bir şekilde değerlendirebilmek için, modelin verilere ne kadar iyi uyum sağladığını ölçen temel istatistiksel metrikleri anlamak gerekir. Bu metrikler modelin açıklayıcı gücünü ve tahmin doğruluğunu nicel olarak ifade eder. Bununla birlikte modelin genel performansına dair bir başlangıç noktası sunarak, tekil gözlemlerin model üzerindeki potansiyel orantısız etkilerini teşhis etme sürecinin ilk adımını oluştururlar. Bu bölümün devamında, model uyumunu değerlendirmede en sık kullanılan iki temel metrik olan Hataların Kareleri Toplamı (SSE) ve Belirlilik Katsayısı (R²) açıklanmıştır.
Hataların Kareleri Toplamı (Sum of Squared Errors - SSE), regresyon analizinin temelini oluşturan en küçük kareler kriterinin merkezinde yer alan bir metriktir. Her bir gözlemlenen değer ile modelin o gözlem için tahmin ettiği değer arasındaki dikey mesafeyi ifade eden artıkların karelerinin toplanmasıyla elde edilir.
Örnek: Analiz edilen possum veri setinde, kuyruk uzunluğuna dayalı regresyon modeli için SSE değeri 1301.488 olarak hesaplanmıştır. Karşılaştırma için, hiçbir açıklayıcı değişken içermeyen ve yalnızca yanıt değişkeninin ortalamasını tahmin eden boş (null) model için bu değer 1913.826’dır. Bu temel modelin hata kareleri toplamı (SST) yanıt değişkenindeki toplam değişkenliği temsil eder.
Belirlilik Katsayısı (R²), bir regresyon modelinin yanıt değişkenindeki (y) değişkenliğin yüzde kaçını açıklayabildiğini gösteren metriklerden biridir. Bu metrik kurulan modelin performansını, hiçbir öngörü sunmayan ve her gözlem için sadece yanıt değişkeninin ortalamasını tahmin eden boş model ile kıyaslayarak bir referans noktası oluşturur. Tek açıklayıcı değişkenli en küçük kareler regresyon modelleri için R² değeri, korelasyon katsayısının karesine (r²ₓ,ᵧ) eşittir.
$$ R² = 1 - SSE / SST $$
SSE, kurulan modelin hata kareleri toplamı iken, SST ise boş modelin hata kareleri toplamı, yani yanıt değişkenindeki toplam değişkenliktir. R² değeri 0 ile 1 arasında değişir ve 1’e yaklaştıkça modelin açıklama gücü artar. Yüksek bir R² değeri, modelin genel veri yapısına uyum sağladığı yanılsamasını yaratırken, aslında bu uyumun birkaç gözlem tarafından etkilendiği gerçeğini maskeleyebilir. Bu durum, genel uyum metriklerinin ötesine bakmamızı sağlar.
Kaldıraç, bir gözlemin açıklayıcı değişken (x-ekseni) değerinin,
diğer gözlemlerin ortalamasından ne kadar uzakta olduğunu ölçen bir
metriktir. Bir gözlemin kaldıraç değeri ne kadar yüksekse, regresyon
doğrusu üzerinde potansiyel olarak o kadar fazla çekme gücüne sahiptir.
Burada kritik olan nokta, kaldıracın yalnızca açıklayıcı değişkenin (x)
konumuna bağlı olmasıdır; gözlemin yanıt değişkeni (y) değerinin
kaldıraç hesaplamasına hiçbir yoktur. Yatay eksende merkezden uzaklaşan
noktaların kaldıraç değeri artarken, merkeze yakın olan noktaların
kaldıraç değeri düşüktür. Kaldıraç augment () çıktısındaki
.hat () sütununda bulunur.
Bir gözlemin etkili (influential) olarak tanımlanması, o gözlemin veri setinden çıkarılması durumunda regresyon modelinin katsayılarında (eğim ve kesişim noktası) ne kadar büyük bir değişiklik olacağını ifade eder. Bir gözlemin etkili olabilmesi için genellikle iki özelliğin bir araya gelmesi gerekir: yüksek kaldıraç ve büyük bir artık. Yüksek kaldıracı olan bir nokta, eğer aynı zamanda regresyon doğrusundan dikey olarak da uzaksa (büyük artık), doğruyu kendine doğru çekerek model üzerinde önemli bir etki yaratır.
Cook’s distance, bir gözlemin toplam etkisini ölçmek için standart olarak kullanılan bir metriktir. Bu metrik her bir gözlemin hem kaldıraç değerini hem de artık değerini tek bir sayıda birleştirerek, o gözlemin ne kadar etkili olduğunu nicel olarak ortaya koyar.
.cooksd
Bir analistin veri setinden bir gözlemi çıkarmayı düşünmeden önce sorması gereken ilk ve en önemli soru şudur: “Gözlemi çıkarmak için geçerli bir gerekçe nedir?” “Sonuçlarımı iyileştiriyor” veya “R² değerini yükseltiyor” gibi argümanlar, bir veri noktasını çıkarmak için geçerli bir bilimsel gerekçe değildir. Geçerli olduğu bilinen verileri, sadece modelin uyumunu artırmak amacıyla bilinçli olarak göz ardı etmek, bilimsel dürüstlüğe aykırıdır. Bu tür uygulamalar, bilimsel çalışmalarda bulguların geri çekilmesine dahi yol açabilmektedir. Bir veri noktasını analizden çıkarmak için analist veri giriş hatası, ölçüm cihazı arızası veya gözlemin çalışılan popülasyonun bir parçası olmadığının kanıtlanması gibi geçerli gerekçeler sunmalıdır.
Bir gözlemi çıkarmadan önce yanıtlanması gereken ikinci zorunlu soru ise şudur: “Bu durum, modelin çıkarım kapsamını (scope of inference) nasıl değiştirir?” Veri setinden belirli bir alt grubun (örneğin, bir ülkeler analizinde en fakir ülkelerin tamamının etkili gözlem olarak çıkarılması) sistematik olarak çıkarılması, modelin artık tüm popülasyonu temsil etmediği anlamına gelir. Bu durumda, modelin sonuçları artık “tüm ülkeler” için değil, yalnızca geriye kalan “fakir olmayan ülkeler” için geçerli olacaktır. Çıkarım kapsamında meydana gelen bu daralmayı göz ardı etmek veya yanlış yorumlamak, analizin bir kusuru olabilir ve sonuçların tamamen yanlış anlaşılmasına yol açabilir.
Notlar:
Cook’s D —> 4 / N
# library (olsrr)
# ols_plot_cooksd_bar (model)
DFBETA —> (p + 1 / N)
# ols_plot_dfbetas (model)
# influence.measures(model, infl =influence(model))
leverage (kaldıraç) (hi)
# library (olsrr)
# ols_plot_resid_lev (model)
influence (etki)
# ols_plot_dffits (model)
Standart çoklu regresyon modelleri, bir açıklayıcı değişkenin sonuç üzerindeki etkisinin, modeldeki diğer değişkenlerin değerinden bağımsız ve sabit olduğunu varsayar ancak gerçek dünyadaki ilişkiler nadiren bu kadar basittir. Etkileşim terimleri, bu kısıtlamayı ortadan kaldırarak bir değişkenin etkisinin başka bir değişkenin seviyesine göre değişmesine olanak tanır. Bu yaklaşım, daha esnek, gerçekçi ve yorumlama gücü yüksek modeller oluşturmamızı sağlar.
Paralel eğimler modeli çoklu regresyonun temel uygulamalarından biridir ve bir sürekli ile bir kategorik değişkenin sonuç değişkeni üzerindeki etkilerini aynı anda modellememize olanak tanır. Modelin adından da anlaşılacağı gibi temel varsayımı oldukça nettir: sürekli değişkenin sonuç değişkeni üzerindeki etkisi (yani eğim), kategorik değişkenin her bir grubu için aynıdır. Bu, her grup için çizilen regresyon doğrularının birbirine paralel olduğu anlamına gelir.
Bir örnek olarak, ggplot2 paketindeki mpg
veri setini kullanarak araçların otoyol yakıt verimliliğini
(hwy) modelleyelim. Açıklayıcı değişkenlerimiz motor hacmi
(displ - sürekli) ve aracın üretim yılıdır
(year - kategorik, 1999 ve 2008). Motor hacminin
(displ) yakıt verimliliği (hwy) üzerindeki
etkisi, hem 1999 model araçlar için hem de 2008 model araçlar için
sabittir. Başka bir deyişle, motor hacmindeki bir birimlik artışın yakıt
verimliliğinde yarattığı değişim, aracın yeni ya da eski olmasından
etkilenmez.
Bu modeli lm() fonksiyonu ile aşağıdaki gibi
oluşturabiliriz.
library (ggplot2)
lm(formula = hwy ~ displ + factor(year), data = mpg)
##
## Call:
## lm(formula = hwy ~ displ + factor(year), data = mpg)
##
## Coefficients:
## (Intercept) displ factor(year)2008
## 35.276 -3.611 1.402
Yukarıdaki çıktıdaki katsayıların yorumu aşağıdaki gibidir:
Intercept (35.276): Bu katsayı,
modeldeki referans kategorisi (bu durumda 1999 yılı) için kesim
noktasıdır. Teorik olarak, motor hacmi 0 litre olan bir 1999 model
aracın beklenen otoyol yakıt verimliliğinin 35.276 MPG olduğunu ifade
eder. Bu değer, displ değişkeninin veri setindeki aralığı
sıfırı içermediği için pratik bir yorumdan çok, modelin başlangıç
noktasını belirleyen matematiksel bir sabittir.
displ (-3.611): Bu, modelin paralel
eğim kısmını temsil eden ortak eğim katsayısıdır. Bu katsayı, araç 1999
ya da 2008 model olsun fark etmeksizin, motor hacmindeki her bir
litrelik artışın, otoyol yakıt verimliliğini ortalama 3.611 MPG
azalttığını gösterir.
factor(year)2008 (1.402): Bu
katsayı, 2008 model araçların regresyon doğrusunun, 1999 model araçların
doğrusuna göre dikey olarak ne kadar yukarıda olduğunu belirtir. Aynı
motor hacmine sahip bir 2008 model aracın, 1999 model bir araca kıyasla
ortalama 1.402 MPG daha yüksek yakıt verimliliğine sahip olduğu yorumu
yapılır.
Bu model, 1999 ve 2008 yılları için iki farklı kesim noktasına sahip ancak eğimleri aynı olan iki paralel doğru üretir ancak motor teknolojisindeki gelişmeler göz önüne alındığında, motor hacminin verimlilik üzerindeki etkisinin yıllara göre değişmediği varsayımı her zaman geçerli olmayabilir. Bu bölümün devamında bu kısıtlamayı nasıl aşabileceğimizi ve nasıl daha gerçekçi bir model kurabileceğimizi inceleyeceğiz.
library(broom)
data_space <- ggplot(data = mpg, aes(x = displ, y = hwy, color = factor(year))) +
geom_point()
mod <- lm(hwy ~ displ + factor(year), data = mpg)
augment(mod)
## # A tibble: 234 × 9
## hwy displ `factor(year)` .fitted .resid .hat .sigma .cooksd .std.resid
## <int> <dbl> <fct> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 29 1.8 1999 28.8 0.224 0.0143 3.79 0.0000173 0.0597
## 2 29 1.8 1999 28.8 0.224 0.0143 3.79 0.0000173 0.0597
## 3 31 2 2008 29.5 1.54 0.0158 3.79 0.000908 0.412
## 4 30 2 2008 29.5 0.544 0.0158 3.79 0.000113 0.145
## 5 26 2.8 1999 25.2 0.835 0.00916 3.79 0.000152 0.222
## 6 26 2.8 1999 25.2 0.835 0.00916 3.79 0.000152 0.222
## 7 27 3.1 2008 25.5 1.52 0.00938 3.79 0.000512 0.403
## 8 26 1.8 1999 28.8 -2.78 0.0143 3.78 0.00265 -0.740
## 9 25 1.8 1999 28.8 -3.78 0.0143 3.78 0.00490 -1.01
## 10 28 2 2008 29.5 -1.46 0.0158 3.79 0.000807 -0.388
## # ℹ 224 more rows
data_space +
geom_line(data = augment (mod), aes(y = .fitted, color = `factor(year)`))
Etkileşim terimleri bir modelin esnekliğini ve açıklama gücünü önemli ölçüde artıran bir araçtır. Temel mantığı, bir açıklayıcı değişkenin sonuç değişkeni üzerindeki etkisinin, başka bir açıklayıcı değişkenin değerine bağlı olarak değişmesine izin vermektir. Bu, paralel doğrular varsayımını ortadan kaldırır ve her bir grup için farklı eğimlere sahip regresyon doğruları oluşturulmasını sağlar. Böylelikle değişkenler arasındaki daha karmaşık ilişkiler yakalanabilir.
mpg veri setindeki ilişkiyi görselleştirdiğimizde,
etkileşimli bir modele neden ihtiyaç duyabileceğimize dair güçlü
kanıtlar buluruz. Aşağıdaki grafikte, displ ve
hwy arasındaki ilişki, üretim yılına (year)
göre ayrı regresyon doğruları ile gösterilmiştir.
ggplot(data = mpg, aes(x = displ, y = hwy, color = factor(year))) +
geom_point() +
geom_smooth(method = "lm", se = 0)
## `geom_smooth()` using formula = 'y ~ x'
Bu grafikteki iki doğrunun birbirine paralel olmadığı açıkça görülmektedir. Bu durum, motor hacminin yakıt verimliliği üzerindeki negatif etkisinin 1999 ve 2008 model araçlar için farklı olabileceğini gösterir. Dolayısıyla, paralel eğimler varsayımı bu veri seti için geçerli olmayabilir ve sorgulanması gerekir.
Etkileşimli bir model oluşturmak için formüle küçük bir ekleme yapılır. İki değişken arasındaki etkileşimi belirtmek için aralarına kolon (:) operatörü konur. Bu, R’a iki değişkenin ana etkilerinin yanı sıra bu değişkenlerin çarpımını temsil eden yeni bir terimi de modele dahil etmesini söyler.
lm(hwy ~ displ + factor(year) + displ:factor(year), data = mpg)
##
## Call:
## lm(formula = hwy ~ displ + factor(year) + displ:factor(year),
## data = mpg)
##
## Coefficients:
## (Intercept) displ factor(year)2008
## 35.7922 -3.7684 0.3445
## displ:factor(year)2008
## 0.3052
Bu formül, hwy’yi displ, year ve bu ikisinin etkileşiminin bir fonksiyonu olarak modelleyecektir. Bu yeni model her bir yıl için hem kesim noktasının hem de eğimin farklı olmasına olanak tanır.
Etkileşimli bir modeldeki katsayıları yorumlamak, paralel eğimler modeline kıyasla daha fazla dikkat ve bağlam bilgisi gerektirir. Katsayılar her koşulda geçerli bir etkiyi değil, belirli bir koşul altındaki (genellikle referans kategorisi) etkiyi veya bu etkinin diğer kategoriye göre nasıl değiştiğini temsil eder.
Etkileşimli modelin çıktısı aşağıdaki gibidir:
Her bir katsayının ne anlama geldiğini inceleyelim:
(Intercept) (35.7922): Bu değer,
referans grubumuz olan 1999 yılı için kesim noktasıdır. displ değeri
sıfır olduğunda 1999 model bir arabanın beklenen hwy değerini
gösterir.
displ (-3.7684): Bu değer, yine
referans grubumuz olan 1999 yılı için displ değişkeninin eğimidir. 1999
model araçlarda motor hacmindeki her bir litrelik artış, otoyol yakıt
verimliliğini (hwy) ortalama 3.77 MPG azaltmaktadır.
factor(year)2008 (0.3445): Bu
katsayı, 2008 yılı için kesim noktasındaki değişimi gösterir.
2008 model bir aracın kesim noktası, 1999 model bir aracın kesim
noktasına (35.7922) 0.3445 eklenerek bulunur.
displ:factor(year)2008 (0.3052): Bu
katsayı, 2008 yılı için motor hacmi eğimindeki değişimi temsil
eder. 2008 model araçların eğimi, 1999 model araçların eğiminden 0.3052
daha fazladır (daha az negatiftir).
Bu katsayıları kullanarak her yıl için spesifik eğimleri hesaplayabiliriz:
1999 yılı için eğim: Bu, referans grubunun eğimi olduğu için doğrudan displ katsayısına eşittir: -3.77.
2008 yılı için eğim: Bu eğimi hesaplamak için displ katsayısını ve etkileşim terimi katsayısını toplarız: -3.77 + 0.3052 = -3.46 (yuvarlanmış değerlerle -3.77 + 0.31 = -3.46).
Yorum: Yakıt verimliliği, eski model arabalarda motor hacminin bir fonksiyonu olarak daha hızlı düşmektedir. 2008 model araçların genel olarak daha yüksek yakıt verimliliğine sahip olması sadece ortalama olarak daha küçük motorlara sahip olmalarından kaynaklanmıyor olabilir. Bu bulgu, 2008 model araçların mühendislik açısından daha başarılı olduğunu ve daha büyük motor hacimlerinde bile yakıt verimliliğini koruma konusunda göreceli olarak daha iyi performans gösterdiğini öne sürmektedir.
Bu bölüm babies veri seti ile oluşturulan bir örnek üzerinden
bebeklerin doğum ağırlığını etkileyen çeşitli faktörleri incelemek
amacıyla gerçekleştirilen çoklu regresyon analizinin bulgularıyla
açıklanacaktır. Analiz, 1960 ve 1967 yılları arasında San Francisco’da
gerçekleşen doğumlara ait veriler kullanılarak yapılmıştır. İlk aşamada,
doğum ağırlığı (bwt) bağımlı değişken olarak ele alınmış ve
temel açıklayıcı değişkenler olarak gebelik süresi
(gestation) ile anne yaşı (age) modele dahil
edilmiştir.
Başlangıçta kurulan bu basit modelin, annenin sigara içme durumu
(smoke) gibi kritik bir kategorik değişkeni içerecek
şekilde nasıl genişletildiği gösterilmiştir. Model katsayılarının “diğer
değişkenler sabitken” nasıl yorumlandığı açıklanmıştır. Son olarak,
annenin boyu ve kilosu gibi ek değişkenlerin de dahil edildiği daha
kapsamlı bir model sunulmuştur.
Model, başlangıç olarak doğum ağırlığı ile iki sürekli sayısal değişken (gebelik süresi ve anne yaşı) arasındaki ilişkiyi açıklamayı hedefler. Geometrik olarak bu model, üç boyutlu bir uzayda (doğum ağırlığı, gebelik süresi ve anne yaşı eksenlerinde) tek bir regresyon düzlemi ile temsil edilir. Bu yaklaşım, basit doğrusal regresyonun ötesine geçerek birden fazla faktörün etkisini aynı anda değerlendirmemize olanak tanır.
Doğum ağırlığını (bwt) ons cinsinden tahmin etmek için
gebelik süresini (gestation) gün cinsinden ve anne yaşını
(age) yıl cinsinden kullanan ilk modelin formülasyonu
aşağıdaki gibidir: \[𝑏𝑤𝑡\^ = 𝛽̂₀ + 𝛽̂₁ ⋅
𝑔𝑒𝑠𝑡𝑎𝑡𝑖𝑜𝑛 + 𝛽̂₂ ⋅ 𝑎𝑔𝑒\]
Bu denklemde 𝑏𝑤𝑡^ tahmini doğum ağırlığını, 𝛽̂₀ kesim noktasını (intercept), 𝛽̂₁ gebelik süresinin katsayısını ve 𝛽̂₂ anne yaşının katsayısını temsil etmektedir.
Bu modelin sonucunda elde edilen katsayılar aşağıdaki gibidir.
library (openintro)
## Loading required package: airports
## Loading required package: cherryblossom
## Loading required package: usdata
lm(formula = bwt ~ gestation + age, data = babies)
##
## Call:
## lm(formula = bwt ~ gestation + age, data = babies)
##
## Coefficients:
## (Intercept) gestation age
## -15.5226 0.4676 0.1657
Çoklu regresyon modellerinin en güçlü yönlerinden biri, bir değişkenin sonuç üzerindeki etkisini diğer değişkenlerin etkisinden arındırarak analiz etme yeteneğidir. Bu nedenle model katsayılarını yorumlarken “diğer değişkenler sabitken” (ceteris paribus) ilkesi uygulanır.
Gebelik süresi (gestation) katsayısının etkisi: Modelde
gestation değişkeni için elde edilen katsayı 0.4676’dır. Bu katsayının
yorumu şu şekildedir:
Bu, annenin 25 yaşında ya da 35 yaşında olmasından bağımsız olarak, gebelik süresinin doğum ağırlığı üzerindeki etkisinin sabit olduğu anlamına gelir.
Anne yaşı (age) katsayısının etkisi: Benzer şekilde,
age değişkeni için elde edilen katsayı 0.1657’dir. Bu
değerin yorumu ise şöyledir:
Bu oran, bebeğin 38 haftalık (266 gün) ya da 40 haftalık (280 gün) doğmasından bağımsız olarak tüm gebelik süreleri için aynı kalmaktadır. Her ikisi de zamanında doğum yapmış (örneğin 280 günlük gebelik süresi) 36 yaşındaki bir annenin bebeğinin, 35 yaşındaki bir annenin bebeğinden yaklaşık 0.17 ons daha ağır olmasını ifade eder.
Özetle, çoklu regresyon analizinde bir katsayıyı yorumlarken, “diğer [değişken(ler)] sabit tutulduğunda” veya “[değişken(ler)] kontrol edildikten sonra” gibi ifadelerin kullanılması, bulguların doğru ve yanıltıcı olmayan bir şekilde aktarılması için oldukça önemlidir.
Mevcut model yalnızca iki sayısal değişken içermektedir. Şimdi, doğum ağırlığı analizlerinde önemli bir faktör olan sigara içme durumunu kategorik bir değişken olarak modele dahil ederek analizi daha da geliştireceğiz. Analizi daha gerçekçi ve kapsamlı hale getirmek için, modele annenin sigara içme durumunu (smoke) temsil eden kategorik bir değişken ekliyoruz. İkili bir kategorik değişkenin eklenmesi, tek regresyon düzlemini ikiye ayırır. Bu düzlemler paraleldir, bu da gebelik süresi ve anne yaşının etkilerinin hem sigara içenler hem de içmeyenler için aynı olduğunun varsayıldığı anlamına gelir. Bu nedenle smoke katsayısı bu iki düzlem arasındaki sabit dikey mesafeyi temsil eder.
Sigara içme durumu (0 = içmiyor, 1 = içiyor) değişkeninin eklendiği yeni ve genişletilmiş modelin matematiksel formülasyonu şöyledir:
𝑏𝑤𝑡^ = 𝛽̂₀ + 𝛽̂₁ ⋅ 𝑔𝑒𝑠𝑡𝑎𝑡𝑖𝑜𝑛 + 𝛽̂₂ ⋅ 𝑎𝑔𝑒 + 𝛽̂₃ ⋅ 𝑠𝑚𝑜𝑘𝑒
Bu genişletilmiş modelin analizi sonucunda elde edilen yeni katsayılar aşağıda listelenmiştir:
lm(bwt ~ gestation + age + smoke, data = babies)
##
## Call:
## lm(formula = bwt ~ gestation + age + smoke, data = babies)
##
## Coefficients:
## (Intercept) gestation age smoke
## -4.6037 0.4455 0.1069 -8.0143
Bu katsayıların yorumu, yine diğer değişkenler sabitken ilkesine dayanmaktadır, ancak artık kontrol edilen değişken sayısı artmıştır:
gestation ve age: Bu katsayıların değerleri, bir önceki modele kıyasla değişmiştir (gestation 0.47’den 0.45’e, age 0.17’den 0.11’e düşmüştür). Bu değişimin nedeni, smoke değişkeninin karıştırıcı (confounding) bir değişken olarak hareket etmesidir. İlk model, aslında sigara içmeyle ilişkili olan etkinin bir kısmını yanlışlıkla gestation ve age değişkenlerine atfetmişti. Yeni model, sigara içme durumunu kontrol ederek bu değişkenlerin etkilerinin daha doğru bir tahminini sunmaktadır.
smoke (-8.0143): Aynı gebelik süresine sahip ve aynı yaşta olan iki anne karşılaştırıldığında, sigara içen annenin bebeğinin beklenen doğum ağırlığının, sigara içmeyen annenin bebeğine göre ortalama 8 ons (yaklaşık yarım pound) daha düşük olduğu tahmin edilmektedir. Bu, modeldeki diğer değişkenlerin etkisine kıyasla çok büyük bir etkidir ve sigara içmenin doğum ağırlığı üzerindeki güçlü negatif ilişkisini ortaya koymaktadır.
Bu model sigara içmenin önemli bir faktör olduğunu göstermektedir ancak annenin boyu ve kilosu gibi diğer fiziksel özellikler de doğum ağırlığını etkileyebilir. Bu ek değişkenleri de içeren nihai bir modelle bulguları derinleştirebiliriz:
Annenin boyu (height), doğum öncesi kilosu
(weight) ve bu doğumun ilk hamileliği olup olmadığı
(parity) gibi ek açıklayıcı değişkenleri içeren nihai ve
kapsamlı bir modelle [her şeyi içeren (kitchen sink)] birincil bulgunun
yani sigara içmenin etkisi sınanabilir. smoke katsayısının
diğer birçok makul faktör kontrol edildikten sonra bile büyük ve negatif
kalıp kalmadığını göstererek, sonuca olan güvenimizi artırabiliriz.
lm(bwt ~ gestation + age + smoke + height + weight + parity,
data = babies)
##
## Call:
## lm(formula = bwt ~ gestation + age + smoke + height + weight +
## parity, data = babies)
##
## Coefficients:
## (Intercept) gestation age smoke height weight
## -80.41085 0.44398 -0.00895 -8.40073 1.15402 0.05017
## parity
## -3.32720
Tüm bu değişkenlerin dahil edildiği bu kapsamlı modeldeki bulgular incelendiğinde, sigara içme durumunun (smoke = -8.40) doğum ağırlığı üzerindeki güçlü ve negatif etkisinin, modele çok sayıda yeni değişken eklenmesine rağmen hala devam ettiği görülmektedir. Dikkat çekici bir diğer nokta ise, age katsayısının bu modelde negatife dönmesidir. Bu işaret değişikliği çoklu regresyonda sıkça karşılaşılan bir durumdur ve çoklu doğrusallık (multicollinearity) veya baskılayıcı etkiler (suppressor effects) gibi karmaşık ilişkileri yansıtabilir. Bu, herhangi bir değişkenin etkisinin, modelde bulunan diğer değişkenlere bağlı olduğunun önemli bir istatistiksel göstergesidir. Sigara (smoke) katsayısı -8.40 ons olarak bulunmuştur. Bir ons yaklaşık 28.35 gram olduğundan, bu etki yaklaşık 240 gramlık bir azalmaya karşılık gelir. Raporun bu aşamasındaki ana bulguyu şu şekilde özetleyebiliriz: Buradaki temel bulgu, gebelik süresi, annenin yaşı, boyu, kilosu ve daha önce hamile kalıp kalmadığı kontrol edildikten sonra, sigara içen annelerin bebeklerinin beklenen doğum ağırlığının, içmeyen annelere göre 240 gram daha düşük olmasıdır. Bu sonuç, sigara içmenin doğum ağırlığı üzerindeki istikrarlı ve önemli negatif etkisini güçlü bir şekilde teyit etmektedir.
Çoklu regresyon eşitliğini elde etmeden önce değişkenlerin her biri standartlaştırılırsa (0,1) sonuçlar standart sapma birimlerince ifade edilir. Bağımsız değişkenler arasında korelasyon olduğunda, standartlaştırılmış eğim katsayısı bağımlı değişken ile bağımsız değişken arasındaki korelasyon katsayısı değildir.
Bir çoklu regresyon modelinde bir bağımsız değişken ile bağımlı değişken arasındaki ilişkinin büyüklüğü diğer bir bağımsız değişkenin düzeyine göre değişirse etkileşim gözlenir. Bağımsız değişkenlerin farklı kategorileri arasındaki etkileşimin farklı olmasına moderasyon etkisi denir.
Çoklu regresyonun en önemli varsayımı çoklu bağlantı olmamasıdır. İki değişken arasında yüksek ilişki varsa bu değişkenler tek bir değişken gibi davranırlar. Bu istemediğimiz bir durumdur. Dolayısıyla çaprazlanmış değişkenleri aldığımızda çoklu bağlantı problemi çıkacağı için bunları doğrudan çarparak denkleme alamayız (çoklu bağlantı değişkenler arasında .80 ve üzerinde ilişki olmasıdır). Ne yapmalıyız? Eğer bu değişkenlerin ölçeğini değiştirip çarparsak o zaman çoklu bağlantı problemi ortadan kalkar. Merkezlemek de bir yöntemdir. her bir değişkenden ortalamasını çıkararak değişkenleri merkezleyebiliriz. Peki her etkileşim değerini modele koyacak mıyız? Bu sorunun cevabı ise etki büyüklüğünü incelemek.
SONSÖZ
Buraya ekleyeceğim daha çok şey var. Bu konu benim için en az Fransızca öğrenmek kadar zor ama bir o kadar da eğlenceli. Özellikle paralel düzlemler ve daha fazla değişkenin etkisini incelemeye çalıştığımızda modeli resmedemeyeceğimiz bilgisi beni çok heyecanlandırdı. Bazı yerleri defterimden görseller koyarak geçtim çünkü özet çıkarma fobim var ve çok tetiklendiğimde mola vermeden devam edemiyorum. İlkokulda bile ödev bitirememe rüyası görmemiştim ama doktorada bu derste gördüm. 👀
Ödevin teslim tarihini 30 Aralık olarak görünce çok sevinmiştim çünkü baştan sona okuyunca düşündüm ki ancak bitirirdim zaten. 🤦🏻♀️ Geç de olsa devam edeceğim çünkü amacım: öğrenmek
ve “öğrenmek” benim hayattaki en sevdiğim şey 🧠