"Enter"a basıp içeriğe geçin

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

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

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

Ö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:

Ö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:

Ö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:

Ö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:

Ö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:

Ö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:

Ö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:

Ö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:

Ö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:

Ö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:

Ö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::

Örnek 13

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

Örnek 13

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

Ö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:

Ö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:

Ö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:

Ö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:

Ö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:

Ö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:

Ö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:

Ö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;

Ö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;

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

Ö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:

Ö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:

Ö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:

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

avatar
1 Comment threads
0 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
1 Comment authors
hatice Recent comment authors
  Subscribe  
En Yeniler Eskiler
Bildir
hatice
Ziyaretçi
hatice

hocam merhabalar,
ocak ayının ilk 15 günü için 1 yoksa 0 dummy nasıl yazmamız gerekir?