Wednesday 19 July 2017

Stata Menghasilkan Moving Average Variable


Struktur data ini cukup tidak sesuai untuk tujuan. Dengan asumsi id pengenal yang Anda butuhkan untuk membentuk kembali. misalnya Lalu rata-rata bergerak mudah. Gunakan tssmooth atau hanya menghasilkan. misalnya Lebih lanjut mengapa struktur data Anda tidak sesuai: Tidak hanya perhitungan rata-rata bergerak memerlukan satu lingkaran (tidak harus melibatkan egen), namun Anda akan menciptakan beberapa variabel tambahan baru. Menggunakan analisis berikutnya akan berada di antara canggung dan tidak mungkin. EDIT Ill memberi contoh loop, sementara tidak bergerak dari posisi saya bahwa tekniknya buruk. Saya tidak melihat alasan di balik konvensi penamaan Anda dimana P1947 adalah mean untuk 1943-1945 Saya menganggap itu hanya salah ketik. Mari kita anggap bahwa kita memiliki data untuk tahun 1913-2012. Untuk jangka waktu 3 tahun, kita kehilangan satu tahun di setiap akhir. Itu bisa ditulis lebih ringkas, dengan mengorbankan kebingungan makro dalam makro. Menggunakan bobot yang tidak sama mudah, seperti di atas. Satu-satunya alasan untuk menggunakan egen adalah bahwa hal itu tidak menyerah jika ada misi, yang akan dilakukan di atas. Sebagai soal kelengkapan, perhatikan bahwa mudah untuk menangani misi tanpa menggunakan egen. Dan penyebut Jika semua nilai hilang, ini akan berkurang menjadi 00, atau hilang. Jika tidak, jika ada nilai yang hilang, kita tambahkan 0 ke pembilang dan 0 ke penyebut, yang sama dengan mengabaikannya. Tentu kode ini bisa ditolerir seperti di atas rata-rata 3 tahun, tapi entah untuk kasus itu atau untuk rata-rata selama bertahun-tahun lebih, kita akan mengganti garis di atas dengan satu lingkaran, itulah yang biasa dilakukan. Stata: Analisis Data dan Perangkat Lunak Statistik Nicholas J Cox, Universitas Durham, Inggris Christopher Baum, Boston College egen, ma () dan keterbatasannya Statarsquos perintah yang paling jelas untuk menghitung moving averages adalah fungsi ma () dari egen. Dengan ekspresi, itu menciptakan rata-rata pergerakkan rata-rata ekspresi itu. Secara default, diambil sebagai 3. pasti aneh. Namun, seperti yang ditunjukkan oleh manual entry, egen, ma () mungkin tidak digabungkan dengan varlist:. Dan, untuk alasan itu saja, itu tidak berlaku untuk data panel. Bagaimanapun, itu berdiri di luar serangkaian perintah yang secara khusus ditulis untuk seri waktu melihat deret waktu untuk rinciannya. Pendekatan alternatif Untuk menghitung rata-rata bergerak untuk data panel, setidaknya ada dua pilihan. Keduanya bergantung pada dataset yang sebelumnya sudah tsset. Ini sangat layak dilakukan: Anda tidak hanya bisa menyelamatkan diri Anda berulang kali menentukan variabel panel dan variabel waktu, namun Stata berperilaku dengan cerdas mengingat adanya kesenjangan dalam data. 1. Tulis definisi Anda sendiri dengan menggunakan Menggunakan operator time-series seperti L. dan F.. Berikan definisi rata-rata bergerak sebagai argumen untuk menghasilkan pernyataan. Jika Anda melakukan ini, Anda tentu saja tidak terbatas pada rata-rata bergerak rata tertimbang (tak tertimbang) yang dihitung oleh egen, ma (). Misalnya, rata-rata bergerak tiga periode tertimbang rata-rata akan diberikan oleh dan beberapa bobot dapat dengan mudah ditentukan: Anda tentu saja dapat menentukan ekspresi seperti log (myvar), bukan nama variabel seperti myvar. Salah satu keuntungan besar dari pendekatan ini adalah bahwa Stata secara otomatis melakukan hal yang benar untuk data panel: nilai-nilai terdepan dan tertinggal ada di dalam panel, seperti logika yang menentukannya. Kelemahan yang paling menonjol adalah bahwa command line bisa agak lama jika moving average melibatkan beberapa istilah. Contoh lainnya adalah moving average satu sisi yang hanya berdasarkan nilai sebelumnya. Ini bisa berguna untuk menghasilkan harapan adaptif tentang variabel apa yang akan didasarkan semata-mata berdasarkan informasi sampai saat ini: perkiraan seseorang terhadap periode saat ini berdasarkan empat nilai terakhir, dengan menggunakan skema bobot tetap (A 4-period lag mungkin Terutama yang biasa digunakan dengan kuartalan kuartalan.) 2. Gunakan egen, filter () dari SSC Gunakan filter fungsi egen yang ditulis pengguna () dari paket egenmore pada SSC. Di Stata 7 (diperbarui setelah 14 November 2001), Anda dapat menginstal paket ini setelah beberapa menit kemudian membantu menjelaskan rincian tentang filter (). Dua contoh di atas akan diberikan (Dalam perbandingan ini, pendekatan menghasilkan mungkin lebih transparan, tapi kita akan melihat contoh yang berlawanan dalam sekejap.) Kelemahannya adalah numlist. Mengarah ke kelambatan yang negatif: dalam kasus ini -11 mengembang menjadi -1 0 1 atau memimpin 1, lag 0, lag 1. Fibre coef, numlist lainnya, perbanyak item tertinggal atau barang yang sesuai: dalam hal ini item tersebut adalah F1.myvar . Myvar dan L1.myvar. Efek dari pilihan normalisasi adalah untuk mengukur setiap koefisien dengan jumlah koefisien sehingga coef (1 1 1) menormalkan setara dengan koefisien 13 13 13 dan coef (1 2 1) normalisasi sama dengan koefisien 14 12 14 Anda harus menentukan tidak hanya kelambatan tapi juga koefisiennya. Karena egen, ma () menyediakan kasus yang sama berbobot, alasan utama untuk egen, filter () adalah untuk mendukung kasus bobot yang tidak sama, yang mana Anda harus menentukan koefisiennya. Bisa juga dikatakan bahwa mewajibkan pengguna untuk menentukan koefisien adalah sedikit tekanan tambahan pada mereka untuk memikirkan koefisien apa yang mereka inginkan. Pembenaran utama untuk bobot yang sama adalah, kami kira, kesederhanaan, namun bobot yang sama memiliki sifat domain frekuensi yang buruk, untuk menyebutkan hanya satu pertimbangan. Contoh ketiga di atas bisa jadi salah satunya sama rumitnya dengan pendekatan menghasilkan. Ada kasus di mana egen, filter () memberikan formulasi yang lebih sederhana daripada menghasilkan. Jika Anda ingin filter binomial sembilan-istilah, yang menurut para ahli iklim berguna, maka mungkin terlihat kurang mengerikan daripada, dan lebih mudah untuk mendapatkan yang benar daripada, Sama seperti dengan pendekatan menghasilkan, egen, filter () bekerja dengan baik dengan data panel. Sebenarnya, seperti yang dinyatakan di atas, ini tergantung pada dataset yang sebelumnya telah di-download. Tip grafis Setelah menghitung rata-rata bergerak Anda, Anda mungkin ingin melihat grafik. Perintah yang ditulis pengguna tsgraph cerdas tentang dataset tsset. Instal di Stata 7 yang up-to-date oleh ssc inst tsgraph. Bagaimana dengan subsetting dengan jika None dari contoh di atas menggunakan jika pembatasan. Sebenarnya egen, ma () tidak akan mengizinkan jika ditentukan. Terkadang orang ingin menggunakan jika saat menghitung moving averages, namun penggunaannya sedikit lebih rumit dari biasanya. Apa yang akan Anda harapkan dari sebuah moving average yang dihitung dengan if. Mari kita kenali dua kemungkinan: Penafsiran yang lemah: Saya tidak ingin melihat hasil apapun untuk pengamatan yang dikecualikan. Interpretasi yang kuat: Saya bahkan tidak ingin Anda menggunakan nilai untuk pengamatan yang dikecualikan. Inilah contoh konkretnya. Misalkan sebagai konsekuensi dari beberapa jika kondisi, pengamatan 1-42 dimasukkan tetapi tidak diobservasi. Tapi rata-rata bergerak untuk 42 akan bergantung, antara lain, pada nilai untuk pengamatan 43 jika rata-rata melebar ke belakang dan ke depan dan panjangnya minimal 3, dan juga akan bergantung pada beberapa pengamatan dan seterusnya dalam beberapa situasi. Dugaan kami adalah kebanyakan orang akan mengikuti interpretasi yang lemah, tapi apakah itu benar, egen, filter () tidak mendukung jika keduanya. Anda selalu bisa mengabaikan apa yang tidak Anda inginkan atau bahkan menetapkan nilai yang tidak diinginkan hilang setelahnya dengan menggunakan ganti. Catatan tentang hasil yang hilang pada ujung seri Karena rata-rata bergerak adalah fungsi lag dan lead, egen, ma () menghasilkan missing dimana lag dan lead tidak ada, pada awal dan akhir rangkaian. Pilihan nomiss memaksa perhitungan rata-rata bergerak pendek yang tidak dipalsukan untuk ekornya. Sebaliknya, tidak menghasilkan atau egen, filter () tidak, atau memungkinkan, sesuatu yang istimewa untuk menghindari hasil yang hilang. Jika salah satu nilai yang dibutuhkan untuk perhitungan hilang, maka hasilnya hilang. Terserah kepada pengguna untuk memutuskan apakah operasi pembedahan diperlukan untuk observasi semacam itu, mungkin setelah melihat dataset dan mempertimbangkan ilmu pengetahuan yang mendasarinya yang dapat diajukan. Pengumuman 15 Agustus 2015, 00:13 Sulit untuk menempatkan ini Isu spesifik dalam beberapa baris, jadi tolong beruang dengan saya saat saya menjelaskan apa sebenarnya yang saya inginkan dan apa yang telah saya coba. Saya memiliki kumpulan data cross-section yang memiliki variabel distrik (nama dan nama yang dikodekan), persen etnis minoritas, dan indeks kesejahteraan minoritas ini, di antara variabel lainnya. Saya ingin membuat plot yang tersebar dengan persen etnis minoritas di sumbu X dan indeks pada sumbu Y untuk melihat bagaimana indeks berubah saat persen minoritas meningkat. Selain itu, saya ingin membuat sebuah garis yang berisi rata-rata di seluruh distrik untuk setiap nilai keseluruhan persentase populasi minoritas, yaitu rata-rata untuk semua distrik untuk populasi minoritas 0-1, 1-2, dan lain-lain. Saya menghasilkan variabel baru dengan menggunakan: Egen newvarcut (oldvar), pada (0,1,2 100) dan kemudian menggunakan newvar ini untuk menghasilkan indeks rata-rata untuk setiap tahun: bysort newvar: egen (meanindex) mean (oldindex) Namun, ketika saya menambahkan quotline meanindex oldvarquot yang saya dapatkan Tren rata-rata yang bergerigi (data diurutkan menurut oldvar). Saya ingin memperlancar dan menghasilkan rata-rata nilai rata-rata indeks bergerak, katakanlah 5 persen populasi minoritas (2 lag, 2 lead, dan pengamatan persen). Aku mencoba tssmooth ma, tapi aku harus menyatakan datasetku satu seri waktu satu. Ini tidak akan menerima oldvar sebagai variabel waktu yang mengeluh bahwa ada nilai waktu yang dikalikan dalam sampel, r (451) quot. Jika saya menambahkan distrik sebagai variabel panel yang memaksa satu titik waktu untuk setiap panel, maka tssmooth tetap tidak berfungsi dengan mengatakan bahwa quotwindow () invalid - invalid numlist memiliki elemen di luar rentang yang diizinkan, r (125) quot Saya mencoba parameter jendela yang berbeda dengan Hasil yang sama Saya mencoba secara manual untuk mengkodekan ulang data agar hanya menyimpan satu pengamatan meanindex untuk setiap persen keseluruhan populasi minoritas, namun tssmooth ma akan mengembalikan kesalahan yang sama. Saya berpikir bahwa selama saya hanya memiliki pengamatan tunggal di setiap distrik untuk variabel quotimequot populasi minoritas, tssmooth (atau setara manual) tidak akan bekerja. Satu-satunya cara saya dapat menciptakan rata-rata bergerak ini adalah jika saya hanya menyimpan pengamatan dengan satu pengamatan meanindex per masing-masing persen sehingga mengurangi kumpulan data hanya mengandung nilai rata-rata, satu per keseluruhan persentase populasi minoritas. Tapi kemudian saya tidak dapat membuat sebaran dengan kabupaten yang sebenarnya karena mereka tidak berada dalam data yang ditetapkan lebih lama lagi. Aku mencoba semua yang bisa kupikirkan, tapi sepertinya tidak ada yang berhasil. Namun, pertanyaan tentang menambahkan tren merapikan rata-rata di sumbu x seharusnya sangat sepele. Saya sangat menghargai saran tentang masalah ini. Terakhir diedit oleh Mikhail Balaev 15 Agustus 2015, 00:19.

No comments:

Post a Comment