Bu dökümanda kullanına paketler ggplot2(Wickham, 2016), DT (Xie et al., 2023), broom (Robinson et al., 2023), kableExtra (Zhu, 2021) dır.

1 Basit Regresyon

  • Bilindiği üzere, t-testi, varyans analizi gibi ortalama farkları ile ilgili hipotez testleri değişkenler arasındaki ilişkiye dair herhangi bir bilgi vermemektedir.

  • Oysa serpilme diyagramlarına bakıldığında değişkenler arasında bir ilişki olabileceği hissedilebilmekte fakat bu tür analizlerle bu ilişkiler ortaya koyulamamaktadır.

  • Dolayısıyla değişkenler arasındaki ilişkinin şeklini, yönünü ve kuvvetini belirleyebilmemiz için yeni metotlara ihtiyaç vardır. Bu metotlar ise genel olarak regresyon (eğri uydurma) ve korelasyon analizi olarak adlandırılır (Kilic, 2013).

1.1 Regresyon Kullanım Alanları

  • Tarımda belli ürünlerin verimi etkileyen toprak türü, tohum, sulama v.b. faktörlerin saptanması ve bunlar yardımıyla belli şartlarda alınacak ürün miktarının kestirilmesi tarımın önemli konusudur.

  • Bir değişkenin değerlerinin ilgili başka değişkenler yardımıyla kestirilmesi, günlük yaşamımızın, ticaretin ekonominin, doğa ve sosyal bilimlerin önemli konularını içendedir.

  • günlük yaşamımızın, ticaretin ekonominin, doğa ve sosyal bilimlerin pek çok alanındaki çalışmalarda iki ya da daha çok değişken arasında fonksiyonel ilişkiler vardır. Bu ilişkiler matematiksel bir denklem yazılabilir.

Örneğin taksi hizmeti ödenen \(\text{ucret = a + bx}\)

a: sabit (taksimetre açılış ücreti)

b: her kilometrede artan ücret

  • Regresyon çözümlemenin temel amacı; bağımlı değişken ile bağımsız değişken(ler) arasındaki ilişkiyi matematiksel modelle açıklayarak bağlantılar bulmak ve bağımsız değişken(ler) yardımıyla bağımlı değişkenli kestirmek şeklinde özetlenebilir.

  • Sosyal bilimlerde değişkenler arasındaki ilişkiler bir dereceye kadar fonksiyoneldir. (taksimetre örneği kadar net değildir!) Bu ilişkiye probabilisitik ilişki denir.

  • Sosyal bilimlerde değişkenler arasındaki ilişkilerin matematiksel olarak kesin ifadelerle yazılamaması, bu değişkenlere ait önceki bilgiler yardımıyla elde edilmesi ve matematiksel ifadelerin bu bilgilere dayanılarak yazılması yolunu açmıştır.

  • Regresyon terimi 19. yüzyılda İngiliz istatistikçisi Francis Galton tarafından bir biyolojik inceleme için ortaya atılmıştır. Bu incelemenin ana konusu kalıtım olup, aile içinde baba ve annenin boyu ile çocukların boyu arasındaki bağlantıyı araştırmakta ve çocukların boylarının bir nesil içinde eski ata nesillerinin ortalamasına geri döndüklerini yani bir nesil içinde ortalamaya geri dönüş olduğu inceleme konusudur.

  • Bir bağımsız \(X\) değişkeninin değerlerinden ona bağlı değişkeninin değerlerinin kestirilmesini sağlayan denkleme \(Y\)’in \(X\)’e göre regresyonu denir.

\[Y= bx + a\]

  • Regresyon denkleminde

  • \(b\) doğrunun eğimidir => \(X\)’in 1 puanlık değişimine karşılık Y’nin ne kadar değişeceğini belirtir. (buna regresyon katsayısı denir)

  • \(a\) ise \(Y\) kesişim noktasıdır => \(X\) sıfıra eşit olduğunda \(Y\)’nin alacağı değerdir (buna regresyon sabiti denir)

  • Lise matematik puanlarından yararlanarak üniversite genel matematik puanlarını kestirme amacıyla üniversite genel matematik dersini alan öğrencilerden uygun bir örneklem alınmıştır.

lise_not <- c(18,35,53,24,64,58,32,39,64,82,32,49,48,70,57)
uni_not  <- c(33,46,47,21,73,55,74,32,56,68,43,46,68,84,61)
veri <- data.frame(lise_not, uni_not)
  • Regresyon analizi yapmadan önce saçılım diagramı incelenmelidir. Puanlar saçılım grafiğinde tek bir doğru oluşturmamaktadır. Ancak doğru oluşturma eğilimleri vardır.

  • Noktalardan olabildiğince yakın geçecek bir doğru çizilebilirse bu doğrudan yararlanarak \(X\) puanı bilinen öğrencilerin \(Y\) puanları kestirilebilir.

1.2 Basit Doğrusal Regresyon Uygulama

İlişki grafik üzerinde görelim

ggplot2::ggplot(veri, 
aes(x = lise_not, y = uni_not)) + 
geom_point() +   
geom_smooth(method = "lm", se = F)
## `geom_smooth()` using formula = 'y ~ x'

Basit regresyon denklemini kuralım.

basitreg <- lm(uni_not ~ lise_not , veri)
summary(basitreg)
## 
## Call:
## lm(formula = uni_not ~ lise_not, data = veri)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -16.4748  -8.3488  -0.4494   5.0374  31.1580 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)   
## (Intercept)  21.3733    10.1955   2.096   0.0562 . 
## lise_not      0.6709     0.1983   3.383   0.0049 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 13.45 on 13 degrees of freedom
## Multiple R-squared:  0.4681, Adjusted R-squared:  0.4272 
## F-statistic: 11.44 on 1 and 13 DF,  p-value: 0.004904

1.3 En küçük kareler yöntemi

  • Bu yönteme göre a ve b öyle bir belirlenmelidir ki dağılımdaki noktaların, doğrunun etrafındaki değişkenliği en aza indirgenmiş olmalıdır.

  • Regresyon doğrusu, noktalar ile regresyon doğrusu arasındaki sapmaların kareler toplamı en az olacak şekilde, saçılım grafiğindeki noktalar kümesine en uygun yere çizildiğinden bu ölçüte en küçük kareler ölçütü adı verilir.

  • \(Y\) değeri ve regresyon doğrusundaki \(Y′\) arasındaki farkın en küçük olacak şekilde yerleştirilir.

  • \(\sum(Y-Y′)^2\) en küçük olacak şekilde yerleştirir.

  • \(b_{yx}=\frac{n\sum{XY}-\sum{X}\sum{Y}}{n\sum{X^2}-(\sum{X})^2}\)

  • \(a_{yx}=\frac{n\sum{Y}-b_{YX}\sum{X}}{n}\)

  • \(b_{yx}\) hesaplama

  • \(b_{yx}=\frac{n\sum{XY}-\sum{X}\sum{Y}}{n\sum{X^2}-(\sum{X})^2}\)

n <- length(lise_not)
byx = (n*sum(lise_not*uni_not)-sum(lise_not)*sum(uni_not))/
  (n*sum(lise_not^2) - sum(lise_not)^2);byx
## [1] 0.670898
  • Regresyon doğrusunun eğimi, değişkenlerin standart sapmalarının oranlarıyla bunlar arasındaki korelasyonun çarpımına eşittir.
(sd(uni_not)/sd(lise_not))*cor(lise_not,uni_not)
## [1] 0.670898
  • \(a_{yx}\) hesaplama

  • \(a_{yx}=\frac{n\sum{Y}-b_{yx}\sum{X}}{n}\)

attach(veri)
## The following objects are masked _by_ .GlobalEnv:
## 
##     lise_not, uni_not
ayx = (sum(uni_not) - byx*sum(lise_not))/15
ayx
## [1] 21.37326

1.4 Kestirimin Standart Hatası

  • Kestirim sonunda \(Y\) değişkeninin gözlenen değerleri ile regresyon değerleri \(Y'\) arasında fark olmaması veya bu farkın olabildiği kadar küçük olması istenir.

  • Gözlenen \(Y\) ve kestirilen \(Y'\) değerleri arasındaki farklar kestirimdeki hatalardır. Bu farkların karelerinin ortalamasının kare köküne kestirimin standart hatası adı verilir.

  • \[S_{yx}=\sqrt{\sum{\frac{(Y-Y')^2}{n-2}}}\]

  • \[S_{yx}=\sqrt{\frac{\sum{Y^2}-a\sum{Y}-b\sum{XY}}{n-2}}\]

  • Ortak dağılımın için kestirimin standart hatası tek değişkenli dağılımın standart sapmasına benzer.

  • Standart sapma tek değişkenli dağılımın ortalamadan farkının standart bir ölçüsü olduğu gibi, kestirimin standart hatası da noktaların standart regresyon çizgisinden farkının ölçüsüdür.

  • Bu nedenle kestirimin standart hatası verilen X değeri için kestirilen Y değerinin standart sapması şeklinde okunabilen \(S_{yx}\) sembolü ile gösterilir.

\(X\) değerlerinden kestirlen \(Y'\) ’lerin standart hatası

sqrt((sum(uni_not^2)-ayx*sum(uni_not)-
       byx*(sum(uni_not*lise_not)))/13)
## [1] 13.44511
res <- basitreg$residuals
sd(res)
## [1] 12.95603
sqrt(sum((res - mean(res)) ^ 2 / (length(res)-2)))
## [1] 13.44511
basitreg <- lm(uni_not ~ lise_not , veri)
library(broom)
## Warning: package 'broom' was built under R version 4.2.3
glance(basitreg)
  • \(R\) İki değişken arasında pearson korelasyon katsayısı
  • \(\text{R-Square:}\) Determinasyon katsayısı/bağımsız değişkenin bağımlı değişken üzerindeki açıklama oranı
  • \(\text{Adjusted R Square}\): Düzeltmiş determinasyon katsayısı, şans eseri açıklanan değişimin neden olduğu hatanın arındırılmış hali.
  • \(\text{Standart Kestirimin Hatası:}\) Hata teriminin standart sapmasıdır.

1.5 Basit Doğrusal Regresyon Uygulama

basitreg <- lm(uni_not ~ lise_not , veri)
library(broom)
glance(basitreg) %>% kable()
r.squared adj.r.squared sigma statistic p.value df logLik AIC BIC deviance df.residual nobs
0.4681284 0.4272152 13.44511 11.44199 0.0049036 1 -59.19005 124.3801 126.5042 2350.021 13 15
  • Tablodaki \(p\) değeri regresyon modelindeki yordanan ve yordayan değişkenler arasındaki ilişki için hesaplanan değerin anlamlı olup olmadığını göstermektedir.
glance(basitreg)[,c(1,2,4,6,5)]
  • Yani regresyon modelinde lise matematik puanları ile genel matematik puanları arasında doğrusal ilişki anlamlı düzeydedir. Regresyon modelindeki \(\text{df}\) 1 olması nedeni,regresyon modelindeki sabit ve eğimi katsayı olarak almasıdır. 2-1
tidy(basitreg)
  • \(p\) değerleri sabitin ve yordayıcı değişkenin katsayısının anlamlılık testi sonuçları

Kaynaklar

Kilic, S. (2013). Linear regression analysis. Journal of Mood Disorders, 3(2), 90. https://doi.org/10.5455/jmood.20130624120840
Robinson, D., Hayes, A., & Couch, S. (2023). Broom: Convert statistical objects into tidy tibbles. https://CRAN.R-project.org/package=broom
Wickham, H. (2016). ggplot2: Elegant graphics for data analysis. https://ggplot2.tidyverse.org
Xie, Y., Cheng, J., & Tan, X. (2023). DT: A wrapper of the JavaScript library ’DataTables’. https://CRAN.R-project.org/package=DT
Zhu, H. (2021). kableExtra: Construct complex table with ’kable’ and pipe syntax. https://CRAN.R-project.org/package=kableExtra