Cilt 1 - Bölüm 6
Hüseyin Utku Demir
Karabük Üniversitesi, Dr. Öğr. Üy.
2022/10/03 (2022-10-10 tarihinde yenilendi)
Ekonometri 1 ders kitabı (sizin değil, sizin ders kitabınız Cilt 2)
Dersimizde R-Studio kullandığımızı biliyorsunuz. Eğer masaüstünüze R ve R studio yüklemek istiyorsanız bu derse göz atmayı unutmayın. Dersin içeriğinde, R ve R studio’yu nasıl yükleyebileceğiniz ve nasıl kullanmaya başlayabileceğiniz hakkında bilgiler mevcuttur. demir.pw/courses/r-ekonometri-1/rstudioyukleme.
Not 1: Derslerimizin çoğunda Rmarkdown kullanıyoruz. Rmarkdown’ı nasıl kullanacağınızı anlamak için bu link’de bulunan dersi okuyabilirsiniz. demir.pw/courses/r-ekonometri-1/rmarkdownodev.
Not2: Diğer bütün derslere demir.pw adresinden Dersler -> R ile Ekonometri
; üzerinden de ulaşabilirsiniz
İlk örnek
devamı
Kitabınız bu örnekle başlıyor. Örnekleri benimle beraber yapmaya çalışın. Kitabınızı okurken sonuçlara nasıl ulaşıldığını anlayacaksınız ve bölüm sonu sorularını çözebilmenize yardımcı olacak.
İlk başta wooldridge veri setini yüklemeyi hatırlayacağız daha sonra örnekte verilen il sonuçlara ulaşacağız. Böylece geçen dönemden öğrendiğiniz kodlama bilgilerini hatırlamış olacaksınız.
Geçmiş derslerinizden hatırlayacağınız üzere, veri setine önce bir göz gezdiriyoruz. Bu analize başlamak için ilk adımımız. İyi bir veri analisti olmak istiyorsanız öncelik grafikler ve tablolardan geçer
Veriyi tablolaştırmak için kullandığımız yöntemlerden biri rmarkdown paketinin içinde bulunan paged_table komutuydu. Bu komutu ve ne yaptığını hatırlayalım. Veri setinin isminin bwght olduğunu unutmayın.
\[\hat{bwght}= \hat{\beta }_0 + \hat{\beta }_1 \cdot cigs + \hat{\beta }_2 faminc \]
$$\hat{bwght}= \hat{\beta }_0 + \hat{\beta }_1 \cdot cigs + \hat{\beta }_2 faminc $$
Bir datadan, verileri iki farklı yolla çekebiliyorduk. İki yöntemde bize aynı sonucu verecektir.
Birinci yöntem: lm komutunun içine hangi datadan verileri aldığımızı (data =) opsiyonuyla belirtmek.
Call:
lm(formula = bwght$bwght ~ bwght$cigs + bwght$faminc)
Coefficients:
(Intercept) bwght$cigs bwght$faminc
116.97413 -0.46341 0.09276
Doğum ağırlıklarını ons yerine pound cinsinden ölçtüğünüzde ne değişir?
Bu soruyu cevaplamak içib ons cinsinden olan bgwht değişkenini pound’a çevirmeliyiz. Önce ons’un pound’a nasıl çevrildiğini hatırlayalım.
google’a ons’un tanımı yazarsanız, bir poundun, on altıda biri olduğunu bulursunuz.
Aynı regresyon I() operatörü kullanılarak yapılabilir.
Yeni bir değişken yaratmaya gerek kalmadan, I() operatörüyle regresyon içerisinde matematiksel işlem yapabilirsiniz.
Call:
lm(formula = I(bwght/16) ~ cigs + faminc, data = bwght)
Coefficients:
(Intercept) cigs faminc
7.310883 -0.028963 0.005798
Kitabınızın 6. bölümü ölçü birimlerini değiştirdiğimizde, regresyon sonuçlarının nasıl değişebileceğini anlatıyor.
Bu amaçla kitabınızın 6. bölümünün 6.1 numaralı tablosunu tekrar oluşturuyoruz.
Tablo 6.1’in son regresyonu, bağımsız değişkenlerden biri olan cigs (hamilelik süresince anne tarafından içilen günlük sigara sayısı) değişkenini, packs (hamilelik süresince anne tarafından içilen günlük paket sayısı) değişkinine çevirelim ve regresyona koyalım. Sonuç sizce nasıl değişir.
=================================================================
Dependent variable:
---------------------------------
bwght I(bwght/16) bwght
(1) (2) (3)
-----------------------------------------------------------------
cigs -0.463*** -0.029***
(0.092) (0.006)
I(cigs/20) -9.268***
(1.832)
faminc 0.093*** 0.006*** 0.093***
(0.029) (0.002) (0.029)
Constant 116.974*** 7.311*** 116.974***
(1.049) (0.066) (1.049)
-----------------------------------------------------------------
Observations 1,388 1,388 1,388
R2 0.030 0.030 0.030
Adjusted R2 0.028 0.028 0.028
Residual Std. Error (df = 1385) 20.063 1.254 20.063
F Statistic (df = 2; 1385) 21.274*** 21.274*** 21.274***
=================================================================
Note: *p<0.1; **p<0.05; ***p<0.01
-Sayfa 185
Ölçeklendirme bize sonuçların yorumlanmasında da yardımcı olabilir.
Örneğin SAT (üniversite sınavı) gibi bir test sonucunun, üniversite not ortalaması (GPA) üzerindeki etkisine bakılırsa, SAT’ın standart sapması bulunabilir ve SAT skoru bir veya iki standart sapma artınca ne olduğu gözlemlenebilir.
\[ z_y = \frac{y-\bar{y}}{\sigma_y} \]
\[ y_i = \hat{\beta_0} + \hat{\beta_1} x_{i1} + \hat{\beta_2} x_{i2} + ... + \hat{\beta_k} x_{ik} + \hat{u_i} \]
\[ y_i - \bar{y} = \hat{\beta_1} (x_{i1} - \bar{x_1}) + \hat{\beta_2} (x_{i2} - \bar{x_2}) + ... + \hat{\beta_k} (x_{ik} - \bar{x_k}) + \hat{u_i} \]
\[ \frac{y_i - \bar{y}}{\sigma_y} = (\frac{\sigma_1}{\sigma_y}) \beta_1 [\frac{(x_{i1} - \bar{x_1})}{\sigma_1}] + ... \]
\[ ... + (\frac{\sigma_k}{\sigma_y}) \beta_k [\frac{(x_{ik} - \bar{x_k})}{\sigma_k}] + (\frac{u_i}{\sigma_y}) \]
\[ z_y = b_1 z_1 + b_2 z_2 + ... + b_k z_k + hata \] - \(x_j\) bir standart sapmalık artarsa, y \(b_j\) standart sapma kadar artar.
Kitabınız bu örnekte, beta katsayılarının kullanımını göstermek için hprice2 verisini kullanıyor.
Temel bağımsız değişken, her bir topluluğun teneffüs ettiği havadaki nitrojen oksidin bir ölçümü olan nox değişkeni.
\[ price = \beta_0 + \beta_1 nox + \beta_2 crime ... \]
\[ ... + \beta_3 rooms + \beta_4 dist + \beta_5 stratio \]
\[ zprice = \beta_1 znox + \beta_2 zcrime ... \]
\[ ... + \beta_3 zrooms + \beta_4 zdist + \beta_5 zstratio \]
\[ \hat{zprice} = -0,340 znox -0,143 zcrime .. \]
\[ + 0,514 zrooms -0,235 zdist -0,270 zstratio \]
?hprice2
yazarak veri setinin tanımına ulaşın ve regresyon içinde kullandığımız değişkenkerin tanımına bakın.scale
komutunu kullanabilirsiniz.lm(scale(price) ~ 0 + scale(nox) + scale(crime) + scale(rooms) + scale(dist) + scale(stratio), data = hprice2)
Call:
lm(formula = scale(price) ~ 0 + scale(nox) + scale(crime) + scale(rooms) +
scale(dist) + scale(stratio), data = hprice2)
Coefficients:
scale(nox) scale(crime) scale(rooms) scale(dist) scale(stratio)
-0.3404 -0.1433 0.5139 -0.2348 -0.2703
\[ \hat{zprice} = -0,340 znox -0,143 zcrime ... \]
\[ ... + 0,514 zrooms -0,235 zdist -0,270 zstratio \]
\[ log(price) = \beta_0 + \beta_1 log(nox) + \beta_2 rooms + u \]
\(\beta_2\) oda sayısı değiştiğinde fiyatta oluşan yüzdelik (yaklaşık) değeri verir.
Bu bilgilere göre sonuçları yorumlayalım.
Call:
lm(formula = log(price) ~ log(nox) + rooms, data = hprice2)
Coefficients:
(Intercept) log(nox) rooms
9.2337 -0.7177 0.3059
\[ log(price) = \beta_0 + \beta_1 log(nox) + \beta_2 log(dist) ... \]
\[ ... + \beta_3 rooms + \beta_4 rooms^2 + \beta_5 stratio + u \]
Call:
lm(formula = log(price) ~ log(nox) + log(dist) + rooms + I(rooms^2) +
stratio, data = hprice2)
Residuals:
Min 1Q Median 3Q Max
-1.04285 -0.12774 0.02038 0.12650 1.25272
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 13.385477 0.566473 23.630 < 2e-16 ***
log(nox) -0.901682 0.114687 -7.862 2.34e-14 ***
log(dist) -0.086781 0.043281 -2.005 0.04549 *
rooms -0.545113 0.165454 -3.295 0.00106 **
I(rooms^2) 0.062261 0.012805 4.862 1.56e-06 ***
stratio -0.047590 0.005854 -8.129 3.42e-15 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.2592 on 500 degrees of freedom
Multiple R-squared: 0.6028, Adjusted R-squared: 0.5988
F-statistic: 151.8 on 5 and 500 DF, p-value: < 2.2e-16
\[ \hat{log(price)} = 13,39 -0,902 log(nox) -0,087 log(dist) ... \]
\[ ... - 0.545 rooms + 0,062 rooms^2 -0,048 stratio + u \]
\(rooms^2\)’nin t istatistiği yaklaşık 4,77’dir ve istatistiksel olarak anlamlıdır.
hangi oda sayısına kadar fiyatların düştüğünü türev yardımıyla bulabiliriz.
\[ \frac{\partial \hat{log(price)}}{\partial rooms} = - 0,545 + 2 \cdot 0,062 rooms = 0 \]
\[ 0,124 rooms = 0,545 \]
\[ rooms = 0,545 / 0,124 = 4,4 \]
\[ \partial \hat{log(price)} = [- 0,545 + 2 \cdot 0,062 rooms] \cdot \partial rooms \]
\[ \partial \hat{log(price)} = [- 0,545 + 0,124 rooms] \cdot \partial rooms \]
\[ \partial \hat{log(price)} = [- 0,545 + 0,124 \cdot 5] \cdot (6-5) \]
\[ \partial \hat{log(price)} = [- 0,545 + 0,62] \cdot (6-5) \]
\[ \partial \hat{log(price)} = 0,075 \]
R’da aynı sonuçları ‘poly’ komutuyla da bulabiliriz.
ornek6_2_poly<-lm(log(price) ~ log(nox) + log(dist)+ poly(rooms, 2, raw = TRUE ) + stratio , data = hprice2)
summary(ornek6_2_poly)
Call:
lm(formula = log(price) ~ log(nox) + log(dist) + poly(rooms,
2, raw = TRUE) + stratio, data = hprice2)
Residuals:
Min 1Q Median 3Q Max
-1.04285 -0.12774 0.02038 0.12650 1.25272
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 13.385477 0.566473 23.630 < 2e-16 ***
log(nox) -0.901682 0.114687 -7.862 2.34e-14 ***
log(dist) -0.086781 0.043281 -2.005 0.04549 *
poly(rooms, 2, raw = TRUE)1 -0.545113 0.165454 -3.295 0.00106 **
poly(rooms, 2, raw = TRUE)2 0.062261 0.012805 4.862 1.56e-06 ***
stratio -0.047590 0.005854 -8.129 3.42e-15 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.2592 on 500 degrees of freedom
Multiple R-squared: 0.6028, Adjusted R-squared: 0.5988
F-statistic: 151.8 on 5 and 500 DF, p-value: < 2.2e-16
Anova Table (Type II tests)
Response: log(price)
Sum Sq Df F value Pr(>F)
log(nox) 4.153 1 61.8129 2.341e-14 ***
log(dist) 0.270 1 4.0204 0.04549 *
poly(rooms, 2, raw = TRUE) 14.838 2 110.4188 < 2.2e-16 ***
stratio 4.440 1 66.0848 3.423e-15 ***
Residuals 33.595 500
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
İlk sütun sapmaların karalerinin toplamının, diğer regresörler kontrol edildikten sonra değişkenler tarafından ne kadar açıklandığını gösteriyor.
Oda sayısı en güçlü açıklayıcı güce sahip.
\[ price = \beta_0 + \beta_1 sqrft + \beta_2 bdrms + ... \]
\[ ... + \beta_3 sqrft \cdot bdrms + \beta_4 bthrms + u \]
Bu modelde yatak odası sayısının (bdrms), fiyat (price) üzerindeki etkisi (diğer değişkenler sabitken) türev yardımıyla bulunabilir.
\[ \frac{\partial price}{\partial bdrms} = \beta_2 + \beta_3 sqrft \]
\[ stndfnl = \beta_0 + \beta_1 atndrte + \beta_2 priGPA + \beta_3 ACT ... \]
\[ + \beta_4 priGPA^2 + \beta_5 ACT^2 + \beta_6 priGPA \cdot atndrte \]
Derse katılım oranının final sonuçları üzerindeki etkisi
\[ \frac{\partial stndfnl}{\partial atndrte} = \beta_1 + \beta_6 priGPA \]
olur. ‘attend’ veri setini kullabarak modeli tahmin edelim.
data("attend")
(ornek6_3 <- lm(stndfnl~ atndrte*priGPA + ACT + I(priGPA^2) + I(ACT^2), data=attend))
Call:
lm(formula = stndfnl ~ atndrte * priGPA + ACT + I(priGPA^2) +
I(ACT^2), data = attend)
Coefficients:
(Intercept) atndrte priGPA ACT I(priGPA^2)
2.050293 -0.006713 -1.628540 -0.128039 0.295905
I(ACT^2) atndrte:priGPA
0.004533 0.005586
0 noktasında priGPA etkisine bakmak çok anlamlı olmayacaktır.
Çünkü priGPA’in max, min ve ortalama değerlerine bakarsak
bu yüzden ortalama olarak 2.59 seviyesindeki etkisini ölçebiliriz.
coef komutu bize herhangi bir katsayıyı verebilir.
Örnek
\[ \frac{\partial stndfnl}{\partial atndrte} = \beta_1 + \beta_6 priGPA \]
Linear hypothesis test
Hypothesis:
atndrte + 2.59 atndrte:priGPA = 0
Model 1: restricted model
Model 2: stndfnl ~ atndrte * priGPA + ACT + I(priGPA^2) + I(ACT^2)
Res.Df RSS Df Sum of Sq F Pr(>F)
1 674 519.34
2 673 512.76 1 6.5772 8.6326 0.003415 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Katılım oranı (atndrte) yüzde olarak ölçüldüğünden, bu derse katılım oranındaki %10 puanlık bir artışın final sınav sonucunu 0,78 final sınavı standart sapması kadar arttırdığı sonucuna varabiliriz.
Bu bölümü anlamak için kitabınızdaki Örnek 6.5’i kullanacağız. Üniversite not ortalamasının (colgpa) öngörüsü için aşağıdaki denklem kullanılmış.
\[ colgpa = \beta_0 + \beta_1 sat + \beta_2 hsperc + \beta_3 hsize + \beta_4 hsize^2 \]
Call:
lm(formula = colgpa ~ sat + hsperc + hsize + I(hsize^2), data = gpa2)
Residuals:
Min 1Q Median 3Q Max
-2.57543 -0.35081 0.03342 0.39945 1.81683
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.493e+00 7.534e-02 19.812 < 2e-16 ***
sat 1.492e-03 6.521e-05 22.886 < 2e-16 ***
hsperc -1.386e-02 5.610e-04 -24.698 < 2e-16 ***
hsize -6.088e-02 1.650e-02 -3.690 0.000228 ***
I(hsize^2) 5.460e-03 2.270e-03 2.406 0.016191 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.5599 on 4132 degrees of freedom
Multiple R-squared: 0.2781, Adjusted R-squared: 0.2774
F-statistic: 398 on 4 and 4132 DF, p-value: < 2.2e-16
Örnek sat=1200, hsperc=30 ve hsize=5’ken öngörülen GPA’in bulunan betalar yardımıyla bulunmasının basit olduğundan bahsediyor.
bu tahmini yapabilmek için bu bilgilerden oluşan bir veri seti oluşturalım.
sat hsperc hsize
1 1200 30 5
fit lwr upr
1 2.700075 2.661104 2.739047