List

Kukla değişkenlerin kullanım alanları oldukça geniştir, örneğin mevsimsel etkileri sınarken veya modellerken, yapısal kırılmayı modele dahil ederken kukla değişkenlerden faydalanılabilir. Eviews programında kukla değişkenleri oluşturmak için kullanılan yaygın yöntem, verisetini 1 ve 0 lardan oluşacak şekilde düzenlemektir. Fakat bunu birkaç satırdan oluşan kodlar sayesinde elde etmek de mümkündür.

Aşağıda görülen ilk örnekte, “kukla” isimli serinin sadece 90. gözlemine 1 değeri verilip, diğer tüm gözlemlerin 0 olması sağlandı.

smpl @all
genr kukla=0
smpl 90 90
kukla=1
smpl @all

Örnek 1

Aşağıda görülen ikinci örnekte ise, dt isimli değişken 2004′ün ilk çeyreğinin 1 olduğu bir trend haline getirilmiştir. 2003Q4 ve öncesi sıfır değerlerinden oluşmaktadır.

smpl @all
genr dt=0
smpl 2004q1 @last
dt=@trend("2003Q4")
smpl @all


Örnek 2

Aşağıda yer alan üçüncü örnekte ise Kasım ve Şubat aylarının etkisini modele dahil eden kukla değişkenler oluşturulmuştur. Bu kukla değişkenler aylık verilerin olduğu çalışma dosyasında oluşturulmuştur.

genr Kasim=@seas(11)
genr Subat=@seas(2)


Örnek 3

Eviews programında bir değişkenin almış olduğu değerlere göre kukla değişken oluşturmak da mümkündür. Örneğin, çalışma dosyasında yer alan “degisim” isminde bir değişken olsun. Bu değişken pozitif olduğunda “kukla1” isimli değişken 1, negatif olduğunda veya sıfır değerini aldığında 0 değerini alsın. Bunun için yazılacak kod:

smpl if degisim>0
series kukla1=1
smpl if degisim<=0
series kukla1=0


Örnek 4

Şimdi de, “degisim” değişkeni 10’dan büyük veya -10’dan küçükken “kukla2” değişkeni 1, diğer durumlarda 0 değerini alsın. Bunun için yazılması gereken komut şu şekildedir:

smpl if degisim>10 or degisim<=-10
series kukla2=1
smpl if degisim>-10 and degisim<10
series kukla2=0


Örnek 5

Eviews programında @recode komutunu kullanarak da kukla değişken oluşturmak mümkündür. Bu komutun kalıbı şu şekildedir:

@recode(a,x,y)

Bu komut sayesinde Eviews, a koşulu geçerliyse x değerini yoksa y değerini verecektir. “degisim” değişkeni pozitif iken 1, diğer durumlarda 0 değerini alan kukla değişken şu kodla elde edilebilir:

series kukla1=@recode(degisim>0,1,0)

Örnek 6

recode komutunda ki koşulu aynı anda kullanmak da mümkündür. “değisim” değişkeni -10 ile 10 arasında iken (-10<degisim<10) 1, diğer durumlarda 0 alan kukla değişkeni şu şekilde oluşturulabilir:

series kukla2=@recode(degisim>-10 and degisim<10,1,0)

Örnek 7

Görüldüğü gibi farklı koşullar “and” komutuyla birleştirilebilir. “and” komutu kullanıldığında kendinden önceki ve sonraki koşulların gerçekleşmesi halinde “x” değerini aksi takdirde “y” değeri elde edilecektir. “and” komutunun yanı sıra kullanılan “or” komutu da kendinden önceki veya kendinden sonraki koşulun gerçekleşmesi halinde “x” değerinin elde edilmesini sağlayacaktır:

series kukla3=@recode(degisim>10 or degisim<25,1,0)

Örnek 8

Yukarıdaki kodda; “degisim” değişkeni 10’dan büyük ya da 25’den küçükse “kukla3” değişkeni 1, diğer durumlarda 0 değerini alacaktır.

“recode” komutunu farklı komutlarla birleştirip kod yazmak da mümkündür. Örneğin, @quantile(a,k) komutu “a ” serisinin “k”.cı kantilini verir. “recode” komutu ile “quantile” komutu kullanılarak “değişim” değişkenindeki en büyük ve en küçük %1’lik kısmı silinmek istenirse şu kod yazılabilir:

series degisim1=@recode(degisim>@quantile(degisim,0.01) and degisim<@quantile(degisim,0.99), degisim,na)

Örnek 9

Bu kod sonrasında oluşan “degisim1” isimli değişken, “degisim” değişkenin en büyük ve en küçük %1’lik kısımlarının seriden çıkarılmış halidir.

Tarihle ilgili kukla değişkenleri Eviews’da oluşturma şekli ise şöyledir:

Öncelikle kullanılabilecek ana fonksiyonlardan bahsedelim:

@date: Her bir gözlemin tarihini verir.

@dateval: Metin şeklinde yazılan tarihi, Eviews tarafından okunabilecek tarihe dönüştürür.

@year: Her gözlemin içinde bulunduğu yılı verir.

@quarter: Her gözlemin içinde bulunduğu çeyrek yılı verir.

@month: Her gözlemin içinde bulunduğu ayı verir.

@day: Her gözlemin içinde bulunduğu ayın gününü verir.

@weekday: Her gözlemin içinde bulunduğu haftanın gününü verir.

Elimizde 1923 – 2015 arası yıllık bir çalışma dosyası olduğunu düşünelim. 1980’den önce 0, diğer tarihlerde 1 değerini alan kukla değişken şu şekilde oluşturulabilir:

series kukla=@recode(@date>@dateval("2001"),1,0)

Örnek 10

Tarihle ilgili kukla değişkenlerin nasıl yaratılacağına bakalım şimdi de.

Öncelikle kullanılabilecek ana fonksiyonlardan bahsedelim:

@date: Her bir gözlemin tarihini verir.

@dateval: Metin şeklinde yazılan tarihi, Eviews tarafından okunabilecek tarihe dönüştürür.

@year: Her gözlemin içinde bulunduğu yılı verir.

@quarter: Her gözlemin içinde bulunduğu çeyrek yılı verir.

@month: Her gözlemin içinde bulunduğu ayı verir.

@day: Her gözlemin içinde bulunduğu ayın gününü verir.

@weekday: Her gözlemin içinde bulunduğu haftanın gününü verir.

Elimizde 1923 – 2015 arası yıllık bir çalışma dosyası olduğunu düşünelim. 1980’den önce 0, diğer tarihlerde 1 değerini alan kukla değişken şu şekilde oluşturulabilir:

series kukla=@recode(@date>@dateval("2001"),1,0)

Örnek 11

Burada “dateval” komutu kullanılmazsa yani bu kod “series kukla1=@recode(@date>1999,1,0)” şeklinde yazılırsa Eviews 1999’u sayı olarak okuyacak ve “kukla1” isimli değişkenin tüm gözlem değerleri 1 değerini alacaktır.  Bu kod aynı zamanda şu şekilde de yazılabilir:

series kukla=@date>@dateval("2001")

Örnek 11 – Alternatif

Şimdi de aylık bir veri setinde kukla değişken oluşturmayı görelim. Şubat 2001’den önce 0, diğer tarihlerde 1 değerini alan kukla değişken şu şekilde oluşturulabilir:

series kukla=@recode(@date<@dateval("2001m2"),0,1)

Örnek 12

Şubat 2001 – Şubat 2002 arası 1, diğer aylarda 0 değerini alan kukla değişkeni oluşturmak için şu kodu kullanabiliriz::

series kukla=@recode(@date>@dateval("2001m2") and @date<@dateval("2002m2") ,1,0)

Örnek 13

Eğer Şubat 2001 ve Şubat 2002 tarihlerinin de 1 değerini alması için kodu şu şekilde değiştirmek yeterlidir:

series kukla2=@recode(@date>=@dateval("2001m2") and @date=<@dateval("2002m2") ,1,0)

Örnek 13

Günlük frekansta gözlenen bir veri setinde kukla değişken oluşturalım:

series kukla2=@recode(@date<@dateval("2005/1/15") ,0,1)

Örnek 14

Bu kodla, 15 Ocak 2005’ten önce 0, diğer tarihlerde 1 değerini alan kukla değişken oluşturulabilir.

Ocak ayında 1, diğer aylarda sıfır değerini alan kukla değişken şu şekilde oluşturulabilir:

series kukla=@recode(@month=1,1,0)

Örnek 15

Elimizde günlük veri olduğunu düşünelim, her Ocak ayının Cuma gününde 1, diğer tüm günlerde 0 değerini veren kukla değişken şu şekilde elde edilebilir:

series kukla=@recode(@month=1 and @weekday=5,1,0)

Örnek 16

Burada yer alan “and” yerine “or” yazılması halinde kukla değişken hem Ocak ayındaki tüm günlerde, hem de tüm Cuma günlerinde 1 değerini alacak, diğer tüm günlerde 0 değerini alacaktır. Elbette, “recode” komutunda daha fazla koşul kullanmak mümkündür. Örneğin, 2001 yılından sonraki Ocak aylarında veya Pazartesi günlerinde 1, diğer günlerde sıfır değerini alan kukla değişken şu şekilde elde edilebilir:

series kukla=@recode(@year>2001 and (@month=1 or @weekday=1),1,0)

Örnek 17

Burada “kukla” isimli değişken 2002 yılından sonra her Ocak ayında ve her Pazartesi gününde 1 değerini alacak, değişkenin diğer tüm gözlemleri 0 olacaktır.

Burada “dateval” komutu kullanılmazsa yani bu kod “series kukla1=@recode(@date>1999,1,0)” şeklinde yazılırsa Eviews 1999’u sayı olarak okuyacak ve “kukla1” isimli değişkenin tüm gözlem değerleri 1 değerini alacaktır.  Bu kod aynı zamanda şu şekilde de yazılabilir:

series kukla=@date>@dateval("2001")

Örnek 18

Zaman serisi verisinin olduğu çalışma dosyasında “@date” komutu kullanılırken yatay kesit verisinin olduğu çalışma dosyasında gözlem sırası anlamına gelen “@obsnum” komutu kullanılır.

10. gözlemden sonra 1, diğer durumlarda ise 0 değerini alan kukla değişken Eviews programında şu şekilde oluşturulabilir:

series kukla=@recode(@obsnum>10,1,0)

Örnek 19

10. ile 20. gözlemleri arasında 1, diğer durumlarda 0 değerini alan kukla değişken şu şekilde elde edilebilir:

series kukla=@recode(@obsnum>10 and @obsnum<20,1,0)

Örnek 20

Elbette 10. ve 20.gözlemlerin de 1 değerini alması isteniyorsa, eşittir(=) simgesinin de kullanılması gerekmektedir. Yani yukarıdaki kod bu durumda, “series kukla=@recode(@obsnum>=10 and @obsnum=<20,1,0)” haline gelecektir.

“@expand”, genişletmek anlamına gelmektedir. Eviews programında bu komut, kategorik bir seriyi, kategorilerine ayırmak için kullanılır. Örneğin; bayların 1, bayanların 0 değerini aldığı bir seri düşünelim. Expand komutuyla, birisinde bayların, diğerinde de bayanların 1 değerini aldığı iki farklı seri elde etmek mümkündür.

“@expand” komutuyla ilgilli örnekler için öncelikle burayı tıklayarak gerekli olan Eviews çalışma dosyasını bilgisayarınıza indirin.

Bu dosyada yer alan “bayan” isimli seri, denek bay ise 0, bayan ise 1 değerini alan bir kategorik değişkendir. Bu değişkeni gruplara ayırmak için şu kod kullanılabilir:

group gr1 @expand(bayan)

Örnek 21

Bu kod sayesinde, gr1 isimli bir grup oluşacaktır. Bu grubun ilk elemanı Bay iken 1, diğer durumlarda 0 değerini alırken, ikinci elemanı Bayan iken 1, diğer durumlarda 0 değerini alacaktır. Dolayısıyla Bay ve Bayan olmak üzere iki grup ayrı ayrı gösterilmiş oldu. Elbette, birden fazla kategorik değişken varsa, bunları da expandkomutuyla parçalarına ayırmak mümkündür. Çalışma dosyasında yer alan “evli” isimli değişken, kişi evliyse 1, diğer durumlarda sıfır değerini almaktadır. Hem evli, hem de bayan isimli serileri kullanarak şu kod yazılırsa;

group g1 @expand(bayan, evli)

Örnek 22

4 farklı seri yaratılmış olacaktır. İlki; bekar erkek için 1, diğer durumlarda 0 değerini alan kukla değişken, ikincisi evli erkek için 1, diğer durumlarda sıfır değerini alan kukla değişken, üçüncüsü bekar bayan için 1, diğer durumlarda 0 değerini alan kukla değişken ve sonuncusu ise evli bayan için 1, diğer durumlarda 0 değerini alan kukla değişkendir.

@expand komutuyla, tarih komutlarını beraber kullanarak da kukla değişken oluşturulabilir. Örneğin;

group gr1 @expand(@quarter)

Örnek 23

komutu, her çeyrek yıl için bir kukla değişken oluşturacaktır. Tabii, @quarter yerine, @month, @weekday veya @year gibi komutları da kullanmak mümkündür.

Eviews programında regresyon tahmininde de, kukla değişken kullanılabilir. Yani, önceden kukla değişken yaratılmamışken, model tahmin ederken kukla değişken de oluşturulabilir.

ls bagimli c bagimsiz @date>@dateval("1994m1")

Örnek 24

Yukarıdaki model tahminine, Ocak 1994’ten sonra 1, diğer tarihlerde ise 0 değerini alan kukla değişken dahil edilecektir. Ocak 1994’ten sonra her Ocak ayında 1 diğer tarihlerde 0 değerini alan kukla değişken ile regresyon tahmini şu şekilde yapılabilir:

ls bagimli c bagimsiz (@date>@dateval("1994m1") and @month=1)

Örnek 25

@expand komutu regresyon tahmininde de kullanılabilir. Buna örnek verebilmek için burada yer alan Eviews çalışma dosyasını kullanacağım. Eviews dosyasında yer alan bayan ve evli kategorik değişkenleri gruplara ayırıp, modele şu şekilde dahil edebiliriz:

ls bagimli bagimsiz @expand(bayan, evli) 

Örnek 26

Burada modele sabit terimin dahil edilmesi halinde şu şekilde bir hata mesajı alınacaktır:


Bu hata mesajının nedeni “kukla değişken tuzağı”dır. Modelde sabit terim olması halinde, bu tuzağa düşmemek için gruplardan birisinin modelden atılması gerekmektedir. @dropfirst ilk kukla değişkeni atarken, @droplast ise son kukla değişkenin atılmasına sebep olacaktır. Örneğin:

ls bagimli c bagimsiz @expand(bayan,evli,@dropfirst) 

Örnek 27

Kodunun çalıştırılması halinde ilk kukla değişken modelden atılacak ve şu şekilde bir sonuç elde edilecektir:


Sonuçları dikkatlice incelerseniz sabit terimin, modelden dışlanan kukla değişkenin katsayısına sahip olduğunu, diğer grupların bağımlı değişken üzerindeki etkisini görmek için de, sabit terimle ilgili kukla değişkenlerin katsayılarını toplamak gerektiğini göreceksiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

  Posts

1 2
Ekim 23rd, 2018

Bootstrap Nedensellik Testi Kodu

Bu yazı vasıtasıyla paylaşacağım kod aslında Hatemi-J’nin yazmış olduğu kodun basitçe tarafımdan düzenlenmesinden ibarettir. Hacker ve Hatemi-J (2012) nedensellik testinin […]

Ekim 21st, 2018

Beklenen Değer ve Eviews Programında Bir Örnek Uygulaması

Bir rassal değişkenin çok sayıda denemede alacağı değerlerin uzun dönem ortalaması beklenen değer olarak tanımlanmaktadır. Diğer bir ifadeyle beklenen değer, rassal değişkenin […]

Ekim 17th, 2018

Üç çeşit yalan vardır: Yalan, kuyruklu yalan ve istatistik

-Korelasyon neden-sonuç ilişkisini göstermez! Yalanı, Seagre ve Mann şu şekilde tanımlamışlardır[1]: “Başarılı olsun veya olmasın, söyleyenin aslında doğru olmadığını bildiği […]

Ekim 16th, 2018

Aykırı Değer Tespiti

Verisetinde yer alan aykırı gözlemleri tespit edebilmek amacıyla bir çok yöntem kullanılmaktadır. Aşağıda formülünü verdiğim değişitirilmiş-Z skorları ise Iglewicz ve […]

Ekim 16th, 2018

Aritmetik Ortalama

Hassas ortalamalardan birisi olan aritmetik ortalama seride yer alan uç değerlerden oldukça etkilenir ve seriyi tanımlama özelliğini kaybeder. Bu özellikle […]

Ekim 16th, 2018

Birinci Tip ve İkinci Tip Hata

Temel ve alternatif hipotez hakkında bir karara varırken, doğru kararı verip vermediğimize %100 emin olamayız. Bir karara varırken iki farklı […]

Ekim 16th, 2018

Akaike Bilgi Kriteri

Akaike bilgi kriteri (AIC) farklı modeller* arasından en uygununu seçmek amacıyla kullanılmaktadır[1]. Mevcut modeller arasında AIC=-2log(L)+2k şeklinde** hesaplanan AIC değerinin en […]

Ekim 16th, 2018

Ekonometri İle İlgili Türkçe Kitaplar

Artık dünyada bilim dili olarak kabul edildiği konusunda bir görüş birliğine varılan İngilizce’de ekonometri alanında yayınlanmış binlerce kitap olsa da, […]

Ekim 16th, 2018

Ekonomi ile İlgilenenlere Kitap Önerileri

Ekonomi bilimiyle ilgilenenlere, bu bilimi daha iyi anlayabilmek için boş vakitlerinde okuyabilecekleri şu kitapları öneriyorum, çok ağır olmayan bir dille […]

Ekim 16th, 2018

Eviews Programında Kukla Değişken Kullanımı

Kukla değişkenlerin kullanım alanları oldukça geniştir, örneğin mevsimsel etkileri sınarken veya modellerken, yapısal kırılmayı modele dahil ederken kukla değişkenlerden faydalanılabilir. […]