R dili ekonomi alanı için güvenilir midir?


64

Ben yakın zamanda R'ye çok tanınmış diğer istatistiksel paketlerden R'ye dönüşen ekonomi alanında yüksek lisans öğrencisiyim (özellikle SPSS kullanıyordum). Şu andaki küçük sorunum sınıfımdaki tek R kullanıcısı olduğum. Sınıf arkadaşlarım Stata ve Gauss kullanıyor ve profesörümden biri R'nin mühendislik için mükemmel olduğunu ancak ekonomi için mükemmel olmadığını söyledi. Pek çok paketin programlama hakkında çok şey bilen, ancak ekonomi konusunda pek fazla şey olmayan ve bu nedenle güvenilir olmayan kişiler tarafından üretildiğini söyledi. Ayrıca, bir R paketi oluşturmak için aslında hiçbir para bulunmadığından, bu yüzden doğru şekilde yapmaya teşvik edilmediğinden (örneğin Stata'dakilerin aksine) ve R'yi bir süre kullandığı ve bazı "saçma" sonuçlar aldığından bahsetti. bazı şeyleri tahmin etmeye çalıştı. Dahası, R dediği rasgele sayı üretecinden şikayetçi olduğunu söyledi.

R'yi bir aydan biraz daha uzun süredir kullanıyorum ve ona aşık olduğumu söylemeliyim. Profesörümden duyduğum bütün bu şeyler beni cesaret kırıyor.

Öyleyse sorum şu: "R, ekonomi alanı için güvenilir midir?"


30
"birçok paket programlama hakkında çok şey bilen, ancak ekonomi hakkında pek fazla şey bilmeyen insanlar tarafından üretildi". Paket yazarlar pratikte her zaman ilk önce bilim insanları veya akademisyenlerdir ve programcılar (çok) uzak (son) bir saniye programlamaktadırlar. Aslında, bir "programcı" tarafından hazırlanan bir paket bulmanın zor olacağını düşünüyorum.
Brandon Bertelsen

9
Siz ve diğer istatistikçilerimizi ekonomistleri economics.stackexchange.com adresine de davet edebilir miyim
buradaki

18
Profesörünüzün yorumlarında da biraz profesyonel şovenizm varmış gibi görünüyor. Bir ekonomist olmak nasıl bir güvenilirlik garantisidir? Yazılım geliştiricilere (aslında bir meslek, kimsenin belirli bir deneyim veya eğitim olmadan iyi yapabileceği bir şey değil) ve istatistikçilerin güvenilir istatistiksel yazılımlar üretmelerine güvenmeyi tercih ettim.
Gala

23
Güvenilirlik nedeniyle "mühendislik için mükemmel ancak ekonomi için değil"? Ekonomiden ziyade gökdelenin çökmesini mi tercih etti? Adam aptal. O okulu bırak ve aptalların işe yaramadığı birini bul.
Spacedman

10
Ticari yazılımlar iyi veya kötü olabilir. Açık kaynaklı yazılımlar iyi veya kötü olabilir. Önemli olan, kullandığınız yazılımın iyi olup olmadığıdır. Buna önyargı ve dogmaya dayanarak karar verme. Gerçek kanıt kullan.
David Heffernan

Yanıtlar:


83

Bana zıt bir bakış açısını paylaşayım. Ben bir ekonomistim. SAS kullanarak ekonometri konusunda eğitim aldım. Finansal hizmetlerde çalışıyorum ve bu gece yarın milyonlarca doları riske atmak için kullanacağımız R tabanlı modelleri güncelledim.

Profesörün sadece yanlış. Ancak yaptığı hata çok yaygın ve tartışmaya değer. Profesörünüzün yaptığı şey, R yazılımı (S dilinin GNU uygulaması) ve R'de uygulanan paketler (ya da diğer kodlar) fikrini karıştırmaktır. İşin aslı, ben bunu çok yaptım. Bu SAS'ın berbat olduğu anlamına mı geliyor? Tabii ki değil. SAS, fiyatlarının şeffaf olmadığı, saçma bir şekilde pahalı olduğu ve vaat ettikleri, teslim oldukları ve kendi zevkleri için kurum içi danışmanları olduğu için berbat bir durum çünkü zevk için prim alıyorlar. Ama dalıyorum ...

R'nin açıklığı, iki ucu keskin bir kılıçtır: Açıklık, Tom, Dick veya Harry'nin ekonomi binasının bodrumunda tencereye bakarken düşündükleri herhangi bir algoritmanın saçma bir uygulamasını yazmasına izin verir. Aynı açıklık, ekonomistlerin pratik kodları açık bir şekilde paylaşmalarını ve birbirlerinin kodlarını geliştirmelerini sağlar. R ile lisanslama kuralları, R'nin paralel olarak paralel olarak çalıştırılması için paralelleştirme kodunu Amazon bulutuna yazabileceğim ve 30 düğümlü bir küme için lisans ücretleri konusunda endişelenmemem gerektiği anlamına geliyor. Bu benim yaptığım işin büyük bir parçası olan simülasyon tabanlı analiz için çok büyük bir kazanç.

Profesörünüzün "pek çok paket programlama hakkında çok şey bilen, ancak ekonomi hakkında pek fazla şey bilmeyen insanlar tarafından yapıldığı" yorumunu doğrular. Fakat CRAN'da 3716 paket var. Birçoğunun ekonomistler tarafından yazılmadığından emin olabilirsiniz. Aynı şekilde CPAN'daki 105.089 modülünün çoğunun ekonomistler tarafından yazılmadığından da emin olabilirsiniz.

Yazılımınızı dikkatlice seçin. Anladığınızdan ve kullandığınız araçları test ettiğinizden emin olun. Ayrıca, hangi uygulamayı seçeceğinizin gerçek ekonomisini anladığınızdan emin olun. Kapalı bir yazılım çözümüne kilitlenmeniz sadece lisans ücretlerinden daha maliyetlidir.


Cevabınız için teşekkürler. Yani başka bir şey öğrenmeyi denememi mi öneriyorsun? O zaman ne öğrenmemi önerirsin?
SavedByJESUS

5
Hayır, R'yi neredeyse tamamen kullanıyorum. Profesörünüzün veya diğer ekonomistlerin çok kullandığı bazı paketler var mı? Herhangi bir eko özel paket kullanmıyorum. Plyr, matrix ve diğer birçok paketi kullanıyorum, ancak hiçbiri ekonomistler için benzersiz şekilde tasarlanmamıştır.
JD Long,

Öyleyse "paketlere" atıf ediyordun ve kapalı bir yazılım çözümüne kilitlenmemem gerektiğini söyledin?
SavedJyUS

3
"Açıklık, herhangi bir Tom, Dick veya Harry'nin herhangi bir algoritmanın saçma bir uygulamasını yazmasına izin verir" - bu açıklıkla ilgili bir şey değildir, tamamen kapalı kaynak ürünlerinin sahip olduğu herkese açık bir API'ye sahip olmanın bir sonucudur. eklenti arayüzü olan bir yazılım). Yine de iyi cevap.
naught101

3
“Şimdi, hiçbir zaman kötü kod yazmanın zor olduğu herhangi bir programlama dili yok, hiç olmadı veya olmayacak.”
ardave

33

Diğer yazılımlardan daha fazla veya daha az güvenilir değildir. Temel ve önerilen R, büyük olasılıkla katkıda bulunan paketlerin olabileceğinden daha az hataya eğilimlidir, ancak bu, yazara bağlıdır.

Fakat R'nin en büyük avantajı, olup olmadığını kontrol etmektir! Stata veya SPSS veya benzeri bir yazılım değildir. Dolayısıyla güvenilmez olsa bile, nihayetinde algılanırdı. Özel yazılım için durum böyle olmayabilir. Hatta daha güvenilir olmasına yardımcı olabilirsiniz.

Profesörünüzün yorumlarının geri kalanı için açıkça yanılıyor ve FUD'u yayan bir kişi. Ancak, güvenilmez yazılımın, ekonomistlerin bu alanda kullanılan modeller ve varsayımlar ve öngörülerde değerlendirilen kaygıların en az olması gerektiğini söylememe izin verin.

İsterseniz R'ye bağlı kalın, belki de siz ve profesör ekonomi için iyi yazılımlar geliştirmeye katkıda bulunabilirsiniz. İşte size ilginç bir başlangıç ​​noktası: http://cran.r-project.org/web/views/Econometrics.html ve http://cran.r-project.org/web/views/TimeSeries.html


1
Çok teşekkür ederim! Gerçekten R'ye bağlı kalmak istiyorum. Bunun harika bir yazılım olduğunu düşünüyorum. Ayrıca, her zaman açık kaynakların büyük bir hayranı oldum.
SavedByJESUS

17
Talihsiz bir gerçeği belirtmek için +1. “Güvenilmez yazılım, ekonomistin bu alanda kullanılan modeller ve varsayımlar ve öngörüleri değerlendirerek kaygı duyduğu en az şey olmalıdır.”
digitalmaps

2
Buradaki ses tonunu takdir ediyorum ama bazı anlaşmazlıklar olabilir. Özel yazılımlardaki hatalar çeşitli şekillerde gösterilebilir, örneğin R'nin tamamen doğru görünen sonuçlarında net bir anlaşmazlık varsa. Burada, R hakkında aptal FUD kadar uygunsuz olan özel yazılım hakkında bazı FUD var. onun var olması bir özelliktir, ancak kodu kendiniz için kontrol edebileceğinizi söylemek de biraz retoriktir. Stata için kodun çoğunun kullanıcılar tarafından görülebildiğini unutmayın; bu sadece değil çalıştırılabilir.
Nick Cox

23

Profesörünüz bazı cesur iddialarda bulunuyor. Sorunun, üretilen gerçek sonuçları değil, R dilini bilmediğinden şüpheliyim. Ekonometrik modelleme yapan bir şirkette çalışıyorum ve her şeyi R'de yapıyoruz. Ayrıca ekonomist meslektaşımı da R'ye dönüştürdüm.

Kişisel deneyimimdeki ekonomi alanıyla ilgili olarak, güvenilirlik sorunu tersine gidebilir. Örneğin, EVIEWS sürüm 5, panel verileriyle çalışırken bazı garip hatalara sahipti. Panel veri ayarlarında yanlış olan havuzlanmış OLS için her zamanki Durbin-Watson istatistiklerini bildirdi. Panel verileriyle çalışmak için R paketinde de sorunları var, ancak buradaki para argümanı R lehine güçlü bir şekilde oynuyor.

Son zamanlarda durağan olmayan panel zaman serisi yöntemleri dersindeydim. Öğretim üyesi RATS yazılımını kullandı. Bazı kodları gösterirken, çalışma alanını birkaç kez temizleyen bir simgeye tıklamanızı tavsiye etti. Güvenilirlik hakkında konuşun.


20

Ben bir ekonomistim ve 4 yıldır araştırmada çalışıyorum, çoğunlukla uygulamalı ekonometri yapıyorum. Dışarıda pek çok ekonometri paketi var ve hepsine yer var. Benim görüşüme göre, ekonomi alanında, Stata zaman serileri dışında hemen hemen her şey için, Rats, Eviews ve Ox zaman serileri için, Matlab ve Gauss daha düşük seviyeli programlama için kullanılıyor.

R'nin avantajı, diğer programların yaptığı hemen hemen her şeyi yapabiliyor olması ve ücretsiz ve açık olmasıdır. Daha fazla programlama gerektirir ve daha az konserve işlemi vardır, ancak sonunda işleri halleder. Stata'yı çoğu zaman kullanırım, ancak her şeyi yapmak için bir yazılım seçmem gerekiyorsa, R'yi seçerdim.

R, ekonometri problemlerinin çoğunda oldukça güvenilirdir, ancak R için yazılmış güvenilir olmayan bazı rutinler için örnekler verebilirim. 3SLS ve talep sistemi tahmin rutinleri ile ilgili problemlerim var. Sayısal optimizasyon rutinleri Stata veya Gauss'ta olduğu kadar sağlam değildir. Öte yandan, R, kuantil regresyon gibi problemlerde çok daha iyidir. Yine de, iyi bir R çalışma bilgisine sahip olarak, R'nin kullanıcısı tarafından yazılmış rutinlerinde sorunun ne olduğunu öğrenebilir, düzeltebilir ve çalışmaya devam edebilirsiniz. Bu nedenle, bazı belirli rutinlerde güvenilirlik eksikliğinin, R'yi hiç kullanmamak için zorunlu bir neden olduğunu düşünmüyorum.

Benim tavsiyem, R'yi kullanmaya devam etmek, ancak kendi alanında yaygın olarak kullanılan diğer programlarla ilgili deneyim sahibi olmak, örneğin, mikroekonometri için Stata veya zaman serileri için sıçanlar.


13

Yüksek lisans istatistiklerini öğretirken öğrencilerime şunu söylüyordum: "Hangi paketi kullandığınızı umursamıyorum ve ev ödeviniz için her şeyi kullanabilirsiniz, çünkü sizden önemli açıklamalar vermenizi beklerim ve görmek tr23y5mgönderimlerinizdeki değişken isimleri. Öğrenmenizi çok iyi Stata'da ve makul derecede iyi, R'de destekleyebilirim. SAS'da, kendi başınıza bir ders aldığınızı iddia ettiğiniz gibi kendi başınızasınız. SPSS veya Minitab ile, Tanrı sizi korusun ”. Makul işverenlerin de aynı şeyi düşündüğünü hayal ediyorum. Projenin sonuçları açısından verimliliğinizin ne olduğunu düşünüyorum. 40 saatlik çalışma ile R hedefine ulaşabilirseniz, tamam; 40 saat içinde C ++ 'da başarabilirsiniz, tamam, 40 saat içinde R'de nasıl yapılacağını biliyorsanız, ancak amiriniz bunu SAS'da yapmanızı istiyor ve sadece bazı temel bilgileri öğrenmek için 60 saat harcamak zorundasınız. ve noktalı virgüllerin nereye gittiği, bu yalnızca, SAS'taki kodun geri kalanının büyük resmi bağlamında akıllıca olabilir ... ve sonra yönetici, bir R programcısı tutmakta çok akıllıca değildi.

Bu toplam maliyet perspektifinden bakıldığında, "özgür" R, aşırı şişmiş bir efsanedir. Herhangi bir ciddi proje, yalnızca veri girişi ve çıktıyı biçimlendirmek için özel kod gerektirir ve bu sıfırdan farklı bir profesyonel zaman maliyetidir. Bu veri girişi ve biçimlendirmesi 10 saat SAS kodu ve 20 saat R kodu gerektiriyorsa, R, bir ekonomistin dediği gibi, yani belirli bir işlevsellik parçasını üretmenin ek maliyeti açısından , marjında daha pahalı bir yazılımdır . . Büyük bir proje, aynı işlevselliği sağlamak için 200 saatlik R programlayıcı zamanı ve 100 saatlik Stata programcısı zamanı gerektiriyorsa, Stata genel olarak daha ucuzdur, hatta satın almanız gereken ~ $ 1K lisans için muhasebe. Bu tür doğrudan karşılaştırmaları görmek ilginç olurdu; Yaklaşık 10 yıldan fazla bir süredir biriktiği söylenen 2Mb SPSS kodunun büyük bir karışıklığını ~ 150K Stata koduna hızlıca koştum, biraz daha hızlı olabilir; Bu yaklaşık 1 kişi yıllık bir projeydi. Bu 10: 1 verimlilik oranının SPSS: Stata karşılaştırmaları için tipik olup olmadığını bilmiyorum, ama öyle olsaydı şaşırmayacağım. Benim için, arama maliyetlerinden dolayı R ile çalışmak her zaman büyük bir masraftır: Benzer adlara sahip beş paketteki hangisinin yapmam gerekeni yaptığını belirlemeliyim ve kullanmam için yeterince güvenilir olup olmadığını ölçmeliyim. benim işim. Bu genellikle, daha kısa sürede kendi Stata kodumu yazmamın, R'nin belirli bir görevde nasıl çalışacağını bulmak için harcayacağım için daha ucuz olacağı anlamına gelir. Anladığım kadarıyla, bu benim kişisel deyimlerim; Bu sitedeki çoğu insan benden daha iyi kullanıyor.

Profesörünüzün R'yi Stata veya GAUSS'ı tercih etmesi komik çünkü "R ekonomistler tarafından yazılmamış". Ne Stata ne de GAUSS; bilgisayar bilimcilerinin araçlarını kullanarak bilgisayar bilimcileri tarafından yazılmıştır. Profesörünüz CodeAcademy.com adresinden programlama hakkında fikir edinirse, bu hiç olmamasından iyidir, ancak profesyonel sınıf yazılım gelişimi CodeAcademy.com metin kutusuna yazmaktan farklıdır, çünkü yük vagonunu kullanmak bisiklete binmekten farklıdır. (Stata, bir emek ekonometrisyenine dönüştürülmüş bir bilgisayar bilimcisi tarafından başlatılsa da, bu emek ekonometri işini şimdiye kadar yaklaşık 25 yıldır yapmıyor.)

Güncelleme : AndyW aşağıda yorum yaptığı gibi, herhangi bir dilde korkunç kod yazabilirsiniz. O zaman maliyet sorusu, hangi dilin hata ayıklamasını kolaylaştırır. Bana göre bu, çıktının ne kadar doğru ve bilgilendirici olduğu ve sözdiziminin kendisinin ne kadar kolay ve şeffaf olduğu gibi görünüyor, ve elbette bunun için iyi bir cevabım yok. Örneğin, Python iyi bir fikir olan kod girintiyi zorlar. Stata ve R kodu braketlerin üzerine katlanabilir ve bu SAS ile çalışmayacaktır. Alt rutinlerin kullanımı iki ucu keskin bir kılıçtır: R'de *apply()geçici olanların functionkullanılması açıkça çok etkilidir, ancak hata ayıklaması daha zordur. Benzer şekilde, Stata locallar neredeyse her şeyi maskeleyebilir ve boş bir dizgiyi varsayılan olarak kullanmak yararlı olsa da yakalanması zor hatalara yol açabilir.


1
Bu iyi bir cevap, ancak IMO aşırı genellemeleri pek yardımcı olmuyor (pratikte herhangi bir dilde kötü veya iyi bir kod yazabilirsiniz, Stata iyi kodlama standartlarının uygulanmasında büyülü değildir). 2 MB SPSS kodunun ne kadar verimli SPSS kodunun başlayabildiğini görmekte zorlanıyorum (sözdizimi vurgulanan yeni sürümlerde, editörde böyle bir dosyayı açmanın bile kötü bir şey olması tavsiye edilir). Herhangi bir dilde yeniden yazmak için harcanan zamanın iyi bir şans olduğu görülüyor.
Andy W,

1
SPSS kodunu hiç yazmıyorum ve birlikte çalıştığım kodun kod olarak da yazılmadığını, nokta ve tıklama arayüzünden kaydedildiğini ve ardından biraz fırçalanabileceğini anladım. SPSS'nin tüm varsayılanları ve kod-arayüz dönüştürmesiyle ilgili olacağını düşünmüştüm, bu yüzden başlamak için çok verimli bir kod değildi.
StasK

12

Bir gerçek olduğunu iddia eden ama asla önemli bir şeyle desteklemeyen herkese çok dikkat ederdim.

Argümanlarını kolayca tersine çevirebilirsin.

Örneğin, kod yazmak için para alan insanlar, doğru yapmak için LESS teşvikine sahip olabilirler; çünkü kodlarının doğru olacağı yönünde bir beklenti varken, tipik bodrum sakinleri proje liderlerini etkileyecek bir taahhütte bulunmak istiyor. Belki kaliteli işlerin yapılacağı anlamına gelirse, ücretsiz olarak ne kadar fazla zaman harcadığıyla ilgilenmiyor olabilirdi.

Eğer rastgele sayı üreteci 'dağınıksa' (belirsiz bir terim; argümanını desteklemek için gerçek bir gerçeği kolayca değiştirebiliyorsa), kanıtlayabilmeli veya size birini gösterebilmelidir.

Bir paketten tutarsız sonuçlar alırsa, bu sonucu almak için attığı adımları gösterebilmelidir. Bu gerçekten bir hataysa ve iyi programlama beceriniz varsa, onun için bile deneyebilir ve düzeltebilirsiniz!

Cevabımın sorunuzu doğrudan yanıtlamadığını fark ediyorum (üzgünüm). Sadece puanlarını söylediği gibi, arkasında et olmadığını görebilirsiniz. Varsa, buradaki kişilerin daha fazla tartışması için sorunuzu düzenlemek için çekinmeyin!


5

ReplicationWiki'de (üzerinde çalıştığım), R'nin 2000-2013 yıllarında iyi kurulmuş bazı dergilerde yayınlanan bazı 2000 ampirik çalışma için en sık kullanılan yazılım paketlerinden biri olduğunu görebilirsiniz . Daha son yıllarda daha çok kullanılıyor gibi görünüyor. Stata en sık (> 900 kez) kullanılmış, ardından MATLAB (280), SAS (60), GAUSS (60), Excel (50), R (30), FORTRAN (30), Mathematica (19), Eviews (18), z-Tree (16), dynare (15), RATS (12), C (8), C ++ (6), python (5, daha yeni çalışmalar), SPSS (5) ve diğerleri. Çoğu zaman birden fazla paket kullanılır.


Bu, yazılım kullanımı hakkında ilginç bir kanıt. Ancak, R'nin yaygın bir şekilde kullanıldığına dair net göstergeler sağlamaktan başka doğrudan bir soruya dayanmamaktadır (yaygın olarak da güvenilen olduğu sonucuna varılmıştır).
Nick Cox

2

R'yi yarım yıldır kullanıyorum ve ayrıca SAS, SPSS, Calc, WEKA ve birkaç başka alet kullanıyorum. Asla R'de olduğu gibi hiçbir araçtan hiç zevk almadım. Temel olarak R, bağımsız olarak düşünen ve kendi öğrendiği şeyleri deneyenlerin işi. İstatistiklere gelince, hepsi yöntemlerle ilgilidir. Kullanıcılar ticari yazılımda yöntemlerin nasıl tanımlandığı ve modellendiğini bilmiyor olabilir ve doğru ya da yanlış olabilirler. R, metot tanımlamak ve ihtiyaçlarına uygun metotları kullanmak isteyenler içindir. Her şey özgürlükle ilgili. Bu özgürlük para harcamak ve satın almakla birlikte ticari yazılımda yoktur. Bilgi toplumun (toplumun) mülkiyetidir, hiç kimse aynı konuda yazarlık talebinde bulunamaz. Araştırma, sorunlara çözüm bulma ile ilgili. R söz konusu olduğunda, kullanıcıların metotları tanımlamaları ve yenilemeleri serbesttir. Örneğin, herhangi bir modele özgü herhangi bir sorun veya yeni bir kodu düzeltmek veya geliştirmek suretiyle düzeltilebilecek düzensiz tanımlanmış yöntemler varsa. Bunu yaparak bir araştırmacı sadece bilgi geliştirmez, aynı zamanda gelişir.

R'nin avantajı, birinin bir bilgisayar programcısı olması gerekmemesidir. İstatistiksel metotlar sadece kontrol ifadeleri ve döngülerle yazma fonksiyonlarıyla ilgilidir (başlangıçta, daha yüksek seviyeli şeyler daha sonra gelir). R, yeni başlayanlar için çok kolay bir programlama ortamına sahiptir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.