Wooldridge Araç Değişken Örnekleri

Hüseyin Utku Demir

2023/01/02 (2023-01-16 tarihinde yenilendi)


Wooldridge Bölüm Sonu Soruları

Wooldridge 15. Bölüm Problemler

  1. 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.

  2. 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.

  3. 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.

Bölüm 16 Bilgisayar Alıştırmaları, 1. Soru

    1. smoke veri setini kullanın. Sigara içmenin yıllık gelir üzerindeki etkisini tahmin eden bir model verilmiş (Hastalıklar yüzünden çalışılmayan günler veya üretkenlik etkisi yüzünden olabilir).

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.

    1. Sigara tüketiminin gelirle ortaklaşa belirlenebileceği gerçeğini yansıtmak için, sigara talebi denklemi

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\)

    1. Kısım (i)’deki gelir denklemi hangi varsayım altında tanımlanır?
  • Ö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.

    1. Gelir denklemini OLS ile tahmin edin ve \(\beta_1\)’in tahminini tartışın.
  • Ö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.

    1. Sigaralar için indirgenmiş modeli tahmin edin. (Bunun, tüm dışsal değişkenlerde sigaraların gerilemesini gerektirdiğini hatırlayın.) Log(cigpric) ve restaurn indirgenmiş formda anlamlı mı?
  • Örnek Cevap:
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.

    1. Şimdi, gelir denklemini 2SLS ile tahmin edin. b1 tahmininin OLS tahminiyle nasıl karşılaştırıldığını tartışın.
  • Örnek Cevap:
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.

    1. Sigara fiyatlarının ve restoranlarda sigara içme kısıtlamalarının gelir denkleminde dışsal olduğunu düşünüyor musunuz?
  • Örnek Cevap: Eyalet düzeyindeki sigara fiyatlarının ve restoran sigara kısıtlamalarının gelir denkleminde dışsal olduğunu varsaymak sorunludur. Gelirlerin, restoranlarda sigara içme kısıtlamaları gibi bölgelere göre değiştiği bilinmektedir. Gelirin daha düşük olduğu eyaletlerde (eğitim ve yaş kontrol edildikten sonra), restoranlarda sigara içme kısıtlamalarının yürürlükte olma olasılığı daha düşük olabilir.

Bölüm 16 Bilgisayar Alıştırmaları, 2. Soru

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 + nwifeinc
logwage_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.