Wooldridge 15. Bölüm Problemler

Sosyoekonomik durumun öğrenci performansını etkilediği oldukça iyi tespit edilmiştir. u hata terimi, diğer şeylerin yanı sıra, genel not ortalaması üzerinde olumlu bir etkiye sahip olan ve aynı zamanda kişisel bilgisayar sahipliği ile büyük olasılıkla ilişkili olan aile gelirini içerir.
Daha yüksek gelirli aileler çocukları için bilgisayar satın alabilir. Bu nedenle, aile geliri araçsal bir değişken için ikinci gereksinimi kesinlikle karşılar. Ancak, yüksek gelirli olmak da not ortalaması üzerinde olumlu bir etkiye sahiptir, bu nedenle iyi bir IV olamaz. Aile geliri değişkenini denklemde açıklayıcı bir değişken olarak dahil edebiliriz; PC ile ilişkili tek önemli atlanan değişken ise, genişletilmiş denklemi OLS ile tahmin edebiliriz.
Bu, bazı öğrencilerin bilgisayar sahibi olup olmamalarını etkileyen doğal bir deneydir. Hibe verildiğinde bilgisayar alan bazı öğrenciler hibesiz olmaz. (Hibe almayan öğrenciler yine de bilgisayar sahibi olabilir.) Öğrenci hibe aldıysa bire, aksi takdirde sıfıra eşit olan grant adlı bir kukla değişken tanımlayabiliriz. Daha sonra, hibe rastgele atanırsa, u ile ilintisizdir. Özellikle u’daki aile geliri ve diğer sosyoekonomik faktörlerle ilişkisizdir. Ayrıca hibe, PC ile ilişkilendirilmelidir: hibe alan öğrenciler için bir PC’ye sahip olma olasılığı önemli ölçüde daha yüksek olmalıdır. Bu arada, eğer üniversite düşük gelirli öğrencilere hibe önceliği verirse, hibe u ile negatif korelasyonlu olur ve IV tutarsız olur.
Bu modelde cigs değişkeni, günlük içilen ortalama sigara sayısını göstermektedir. \(\beta_1\) katsayısını nasıl yorumlarsınız?
Örnek Cevap: Yapısal denklemin nedensel bir ilişkiyi temsil ettiğini varsayarsak, \(100 \cdot \beta_1\), bir kişinin günde bir sigara daha içmesi durumunda gelirdeki yaklaşık yüzde değişikliğidir.
burada cigpric bir paket sigaranın fiyatıdır (sent olarak) ve restaurn, kişi, restoranda sigara içme kısıtlamalarının olduğu bir eyalette yaşıyorsa bire eşit bir ikili (kukla) değişkendir. Bunların birey için dışsal olduğunu varsayarsak, \(\gamma_5\) ve \(\gamma_6\) katsayıları için hangi işaretleri beklersiniz?
Örnek Cevap: Tüketim ve fiyat, ceteris paribus, negatif ilişkili olduğundan, \(\gamma_5 <= 0\) olmasını bekliyoruz. Benzer şekilde, diğer her şey eşitken, restoran sigara içme kısıtlamaları sigara içmeyi azaltmalıdır, yani \(\gamma_6 < 0\)
Örnek Cevap: \(\gamma_5\) veya \(\gamma_6\) sıfırdan farklı olmalıdır. Yani, cigs denkleminde log(gelir) denkleminde olmayan en az bir dışsal değişkene ihtiyacımız var.
Örnek Cevap:
library(wooldridge)
data(smoke)summary(lm(I(log(income)) ~ cigs + educ + age + I(age^2), data = smoke))##
## Call:
## lm(formula = I(log(income)) ~ cigs + educ + age + I(age^2), data = smoke)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.6237 -0.2978 0.1314 0.4167 1.3542
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 7.795e+00 1.704e-01 45.741 < 2e-16 ***
## cigs 1.731e-03 1.714e-03 1.010 0.313
## educ 6.036e-02 7.898e-03 7.642 6.10e-14 ***
## age 5.769e-02 7.644e-03 7.548 1.21e-13 ***
## I(age^2) -6.306e-04 8.338e-05 -7.563 1.08e-13 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.6529 on 802 degrees of freedom
## Multiple R-squared: 0.165, Adjusted R-squared: 0.1608
## F-statistic: 39.61 on 4 and 802 DF, p-value: < 2.2e-16
\[ log(income) = 7.80 + .0017 cigs + .060 educ + .058 age - .00063 age^2 \] Sigaraya ilişkin katsayı, istatistiksel olarak sıfırdan farklı olmamakla birlikte, sigara içmenin gelir artışına neden olduğunu ifade etmektedir. Unutmayın, OLS gelir ve sigara kullanımı arasındaki potansiyel eşzamanlılığı göz ardı eder.
summary(lm(cigs ~ educ + age + I(age^2) + I(log(cigpric)) + restaurn, data = smoke))##
## Call:
## lm(formula = cigs ~ educ + age + I(age^2) + I(log(cigpric)) +
## restaurn, data = smoke)
##
## Residuals:
## Min 1Q Median 3Q Max
## -15.078 -9.312 -6.246 8.038 70.329
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.580127 23.695583 0.067 0.94685
## educ -0.450147 0.161640 -2.785 0.00548 **
## age 0.822541 0.154322 5.330 1.28e-07 ***
## I(age^2) -0.009590 0.001679 -5.711 1.58e-08 ***
## I(log(cigpric)) -0.351320 5.765550 -0.061 0.95143
## restaurn -2.736389 1.109693 -2.466 0.01388 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 13.41 on 801 degrees of freedom
## Multiple R-squared: 0.051, Adjusted R-squared: 0.04508
## F-statistic: 8.61 on 5 and 801 DF, p-value: 5.859e-08
log(cigpric) çok önemsiz olsa da, restaurn beklenen negatif işarete ve yaklaşık -2,47’lik bir t istatistiğine sahiptir. (Restoranda sigara içme kısıtlamalarının olduğu eyaletlerde yaşayan insanlar, eğitim ve yaş göz önüne alındığında, ortalama olarak neredeyse üç daha az sigara içiyor.) Log(cigpric) değerini analizden çıkarabiliriz ama tutacağız.
library(estimatr)## Warning: package 'estimatr' was built under R version 4.2.2
model_iv <- iv_robust(I(log(income)) ~ cigs + educ + age + I(age^2) | educ + age + I(age^2) + I(log(cigpric)) + restaurn, data = smoke)
summary(model_iv)##
## Call:
## iv_robust(formula = I(log(income)) ~ cigs + educ + age + I(age^2) |
## educ + age + I(age^2) + I(log(cigpric)) + restaurn, data = smoke)
##
## Standard error type: HC2
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|) CI Lower CI Upper DF
## (Intercept) 7.780893 0.2592987 30.007 3.169e-133 7.271909 8.2898774 802
## cigs -0.042126 0.0242911 -1.734 8.327e-02 -0.089807 0.0055559 802
## educ 0.039675 0.0155309 2.555 1.082e-02 0.009189 0.0701606 802
## age 0.093818 0.0226170 4.148 3.710e-05 0.049423 0.1382137 802
## I(age^2) -0.001051 0.0002585 -4.065 5.265e-05 -0.001558 -0.0005435 802
##
## Multiple R-squared: -0.5169 , Adjusted R-squared: -0.5245
## F-statistic: 21.61 on 4 and 802 DF, p-value: < 2.2e-16
Şimdi cigs üzerindeki katsayı negatiftir ve iki taraflı bir alternatife karşı %10 düzeyinde neredeyse anlamlıdır. Tahmini etki çok büyük: Bir kişinin içtiği her ek sigara, tahmin edilen geliri yaklaşık %4,2 oranında azaltıyor. Tabii ki, cigs’in katsayısı için %95 CI çok geniştir.
Bu soru için örnek 16.5 tekrar edilmiş örnek 16.5’i hatırlayın.
Kitabınız çalışan, evli kadınlara ilişkin verileri mroz verisetinden alıp 2SLS ile işgücü arzı denklemini (16.19) tahmin etmek için kullanmış. Tam araç seti educ, age, kidslt6, nwifeinc, exper ve exper2’yi içeriyormuş. Tahmini işgücü arzı eğrisi

olarak tahmin edilmiş.
Bu örneği tekrarlamak için estimatr dışında başka bir paket daha kullanılabilir. Bu paket yapısal modelleri tahmin etmek için kullanılan systemfit. Lütfen bu örneği tekrarlamaya başlamadan önce bu paketi yükleyin.
Daha sonra paketi library yapabilirsiniz.
library(systemfit)## Warning: package 'systemfit' was built under R version 4.2.2
## Zorunlu paket yükleniyor: Matrix
## Zorunlu paket yükleniyor: car
## Zorunlu paket yükleniyor: carData
## Warning: package 'carData' was built under R version 4.2.2
## Zorunlu paket yükleniyor: lmtest
## Warning: package 'lmtest' was built under R version 4.2.2
## Zorunlu paket yükleniyor: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
##
## Please cite the 'systemfit' package as:
## Arne Henningsen and Jeff D. Hamann (2007). systemfit: A Package for Estimating Systems of Simultaneous Equations in R. Journal of Statistical Software 23(4), 1-40. http://www.jstatsoft.org/v23/i04/.
##
## If you have questions, suggestions, or comments regarding the 'systemfit' package, please use a forum or 'tracker' at systemfit's R-Forge site:
## https://r-forge.r-project.org/projects/systemfit/
Sonra mroz verisetini yükleyin.
data(mroz)library(rmarkdown)
paged_table(mroz)Daha önce de söylediğim gibi verisetinizin içindeki bazı değişkenler boş gözlemlere sahip olabilir bu durumda bu boş gözlemleri bazen sileriz, eğer silmek uygun değilse boş gözlemler yerine uygun yeni gözlemler ekleriz. Bu ekleme işlemine imputation denilir. Imputation bu kursun konuları içinde değil. Şimdilik eğer değişkenler içinde boş gözlemler varsa bu gözlemleri görmezden geleceğiz.
Diyelim ki siz bütün değişkenler için kaç tane gözlemin mevcut olmadığını, kaç tane gözlemin var olduğunu, ortalamasını ve standart sapmasını görmek istiyorsunuz. Bu durumda vtable paketi size yardımcı olacaktır.
library(vtable)## Warning: package 'vtable' was built under R version 4.2.2
## Zorunlu paket yükleniyor: kableExtra
## Warning: package 'kableExtra' was built under R version 4.2.2
sumtable(mroz, summ=c('notNA(x)', 'countNA(x)', 'mean(x)','sd(x)'),out='return')## Variable NotNA CountNA Mean Sd
## 1 inlf 753 0 0.568 0.496
## 2 hours 753 0 740.576 871.314
## 3 kidslt6 753 0 0.238 0.524
## 4 kidsge6 753 0 1.353 1.32
## 5 age 753 0 42.538 8.073
## 6 educ 753 0 12.287 2.28
## 7 wage 428 325 4.178 3.31
## 8 repwage 753 0 1.85 2.42
## 9 hushrs 753 0 2267.271 595.567
## 10 husage 753 0 45.121 8.059
## 11 huseduc 753 0 12.491 3.021
## 12 huswage 753 0 7.482 4.231
## 13 faminc 753 0 23080.595 12190.202
## 14 mtr 753 0 0.679 0.083
## 15 motheduc 753 0 9.251 3.367
## 16 fatheduc 753 0 8.809 3.572
## 17 unem 753 0 8.624 3.115
## 18 city 753 0 0.643 0.48
## 19 exper 753 0 10.631 8.069
## 20 nwifeinc 753 0 20.129 11.635
## 21 lwage 428 325 1.19 0.723
## 22 expersq 753 0 178.039 249.631
Gördüğünüz gibi wage değişkeninin yarı gözlemi boş. Şimdilik bu değişkenleri görmezden geleceğiz.
mroz <- subset(mroz, !is.na(wage))sumtable(mroz, summ=c('notNA(x)', 'countNA(x)', 'mean(x)','sd(x)'),out='return')## Variable NotNA CountNA Mean Sd
## 1 inlf 428 0 1 0
## 2 hours 428 0 1302.93 776.274
## 3 kidslt6 428 0 0.14 0.392
## 4 kidsge6 428 0 1.35 1.316
## 5 age 428 0 41.972 7.721
## 6 educ 428 0 12.659 2.285
## 7 wage 428 0 4.178 3.31
## 8 repwage 428 0 3.186 2.44
## 9 hushrs 428 0 2233.465 582.909
## 10 husage 428 0 44.61 7.95
## 11 huseduc 428 0 12.612 3.035
## 12 huswage 428 0 7.226 3.571
## 13 faminc 428 0 24130.423 11671.256
## 14 mtr 428 0 0.668 0.077
## 15 motheduc 428 0 9.516 3.308
## 16 fatheduc 428 0 8.988 3.523
## 17 unem 428 0 8.546 3.033
## 18 city 428 0 0.64 0.481
## 19 exper 428 0 13.037 8.056
## 20 nwifeinc 428 0 18.937 10.591
## 21 lwage 428 0 1.19 0.723
## 22 expersq 428 0 234.72 270.043
Gördüğünüz gibi wage değişkeni olmayan bütün gözlemleri kaldırdık.
Tahmin edeceğimiz iki denklemi hatırlayalım.
systemfit’i kullanabilmek için iki denklemi de
kaydedelim.
hours_esitligi <- hours ~ log(wage) + educ + age + kidslt6 + nwifeinclogwage_esitligi <- log(wage) ~ hours + educ + exper + I(exper^2)sistem <- list(hours_esitligi, logwage_esitligi)Wage ve hours dışında kalan araç değişkenleri de kaydedin.
Araclar <- ~ educ + age + kidslt6 + nwifeinc + exper + I(exper^2)sistemsonuc <- systemfit(sistem, inst = Araclar, data = mroz, method = "2SLS" )
summary(sistemsonuc)##
## systemfit results
## method: 2SLS
##
## N DF SSR detRCov OLS-R2 McElroy-R2
## system 856 845 773893309 155089 -2.00762 0.748802
##
## N DF SSR MSE RMSE R2 Adj R2
## eq1 428 422 7.73893e+08 1.83387e+06 1354.204541 -2.007617 -2.043253
## eq2 428 423 1.95266e+02 4.61621e-01 0.679427 0.125654 0.117385
##
## The covariance matrix of the residuals
## eq1 eq2
## eq1 1833869.938 -831.542690
## eq2 -831.543 0.461621
##
## The correlations of the residuals
## eq1 eq2
## eq1 1.000000 -0.903769
## eq2 -0.903769 1.000000
##
##
## 2SLS estimates for 'eq1' (equation 1)
## Model Formula: hours ~ log(wage) + educ + age + kidslt6 + nwifeinc
## Instruments: ~educ + age + kidslt6 + nwifeinc + exper + I(exper^2)
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2225.66182 574.56412 3.87365 0.00012424 ***
## log(wage) 1639.55561 470.57568 3.48415 0.00054535 ***
## educ -183.75128 59.09981 -3.10917 0.00200323 **
## age -7.80609 9.37801 -0.83238 0.40566404
## kidslt6 -198.15429 182.92914 -1.08323 0.27932497
## nwifeinc -10.16959 6.61474 -1.53741 0.12494167
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1354.204541 on 422 degrees of freedom
## Number of observations: 428 Degrees of Freedom: 422
## SSR: 773893113.843842 MSE: 1833869.938019 Root MSE: 1354.204541
## Multiple R-Squared: -2.007617 Adjusted R-Squared: -2.043253
##
##
## 2SLS estimates for 'eq2' (equation 2)
## Model Formula: log(wage) ~ hours + educ + exper + I(exper^2)
## Instruments: ~educ + age + kidslt6 + nwifeinc + exper + I(exper^2)
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.655725440 0.337788292 -1.94123 0.052894 .
## hours 0.000125900 0.000254611 0.49448 0.621223
## educ 0.110330004 0.015524358 7.10690 5.0768e-12 ***
## exper 0.034582356 0.019491555 1.77422 0.076746 .
## I(exper^2) -0.000705769 0.000454080 -1.55428 0.120865
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.679427 on 423 degrees of freedom
## Number of observations: 428 Degrees of Freedom: 423
## SSR: 195.26556 MSE: 0.461621 Root MSE: 0.679427
## Multiple R-Squared: 0.125654 Adjusted R-Squared: 0.117385
Hatta daha etkili olan 3SLS tahmini de yapılabilir.
sistemsonuc3SLS <- systemfit(sistem, inst = Araclar, data = mroz, method = "3SLS" )
summary(sistemsonuc3SLS)##
## systemfit results
## method: 3SLS
##
## N DF SSR detRCov OLS-R2 McElroy-R2
## system 856 845 873749822 102713 -2.39569 0.8498
##
## N DF SSR MSE RMSE R2 Adj R2
## eq1 428 422 8.73750e+08 2.07050e+06 1438.922072 -2.395695 -2.43593
## eq2 428 423 2.02143e+02 4.77879e-01 0.691288 0.094859 0.08630
##
## The covariance matrix of the residuals used for estimation
## eq1 eq2
## eq1 1833869.938 -831.542690
## eq2 -831.543 0.461621
##
## The covariance matrix of the residuals
## eq1 eq2
## eq1 2070496.730 -941.665438
## eq2 -941.665 0.477879
##
## The correlations of the residuals
## eq1 eq2
## eq1 1.000000 -0.946674
## eq2 -0.946674 1.000000
##
##
## 3SLS estimates for 'eq1' (equation 1)
## Model Formula: hours ~ log(wage) + educ + age + kidslt6 + nwifeinc
## Instruments: ~educ + age + kidslt6 + nwifeinc + exper + I(exper^2)
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2305.857474 511.540685 4.50767 8.5013e-06 ***
## log(wage) 1781.933409 439.884241 4.05091 6.0726e-05 ***
## educ -212.819501 53.727044 -3.96112 8.7558e-05 ***
## age -9.514997 7.960948 -1.19521 0.23268
## kidslt6 -192.359058 150.917507 -1.27460 0.20315
## nwifeinc -0.176983 3.583623 -0.04939 0.96063
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1438.922072 on 422 degrees of freedom
## Number of observations: 428 Degrees of Freedom: 422
## SSR: 873749619.999905 MSE: 2070496.729858 Root MSE: 1438.922072
## Multiple R-Squared: -2.395695 Adjusted R-Squared: -2.435928
##
##
## 3SLS estimates for 'eq2' (equation 2)
## Model Formula: log(wage) ~ hours + educ + exper + I(exper^2)
## Instruments: ~educ + age + kidslt6 + nwifeinc + exper + I(exper^2)
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.693920346 0.335995510 -2.06527 0.039506 *
## hours 0.000190868 0.000247652 0.77071 0.441308
## educ 0.112738573 0.015368872 7.33551 1.1364e-12 ***
## exper 0.021428533 0.015383608 1.39295 0.164368
## I(exper^2) -0.000302959 0.000268028 -1.13033 0.258978
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.691288 on 423 degrees of freedom
## Number of observations: 428 Degrees of Freedom: 423
## SSR: 202.142836 MSE: 0.477879 Root MSE: 0.691288
## Multiple R-Squared: 0.094859 Adjusted R-Squared: 0.0863
Örnek 16.5’in açıklamalarını okuyun lütfen.