Blog Arşivleri

TEDMEM Akademik Yayıncılık Çalıştayı

20120414_LDD001_0

Geçen hafta Türk Eğitim Derneği’ne bağlı bir düşünce kuruluşu olan TEDMEM‘in davetlisi olarak “Akademik Yayıncılık ve Dergicilikte Kalite Politikaları ve Yönelimler” çalıştayına katıldım.

TEDMEM, eğitim konusunda kanıta ve veriye dayalı çalışmalar yapıyor ve hazırladığı raporları açık şekilde kamuoyuyla paylaşıyor. Eğitim ekonomisi, politikası, sosyolojisi gibi her türlü konuda, gündelik sorunların ötesinde uzun vadeli stratejiler üretiyor. Eğitim araştırmaları alanında bir bilimsel dergi çıkarıyor.

Çalıştay genel olarak sağlıklı bir akademik yayıncılığın nasıl olması gerektiğine dair bir fikir alışverişi ortamı sağladı. Bir yandan akademik yayın sahtekârlıkları, editörlük sahtekârlıkları, içi boş dergiler, ve bunlara dayalı olarak haksız akademik yükseltmeler konu edildi. Öte yandan da, son yıllarda alışıldık yayıncılık modellerinde ne gibi değişiklikler olduğu, bilimsel yayıncılığın ne yöne gittiği gibi konular konuşuldu. Bunlar birbiriyle epey ilişkili konular, o yüzden birarada tartışılması doğal. Çok güzel bir toplantıydı; organize eden TEDMEM çalışanlarına ve özellikle Mehmet Palancı’ya teşekkür ederim.

Çalıştayda EEST dergisinden epey söz edildi; bu derginin yozluğu ve göstergelerini şişirmek için başvurduğu ucuz numaralar herkes tarafından anlaşılmış. Buna özellikle sevindim. Bildiğim kadarıyla Matematik Dünyası’nda çıkan yazım EEST hakkındaki ilk açık yazılı eleştiriydi (dergiden haberdar olmam ise bloguma gelen anonim bir yorum sayesindedir), ve başıma bir dert gelir mi diye de ara sıra düşünürdüm. Bana birşey olmadı, ama başka bir davetli konuşmacının, ODTÜ kimya bölümünde profesör olan Metin Balcı’nın başı ağrımış. EEST’yi eleştirdiği eski bir konuşması sebebiyle derginin editörü Ayhan Demirbaş, Balcı’ya dava açmış. Neyse ki savcı takipsizlik kararı vermiş.

Çalıştayda “Akademik Yayıncılık Kalitesi, Açık Erişim, Tekrarlanabilir Araştırma” başlıklı bir konuşma yaptım. Bütün konuşmalar canlı olarak yayınlandı ve kaydedildi ama henüz kayıtları yayınlanmadı. Yayınlandığında bu yazıya ekleyeceğim. Konuşmamın slaytları ve konuşma için hazırladığım notlar aşağıda.

Bu yazının geri kalanını okuyun

Tekrarlanabilir araştırma ve Rogoff-Reinhart olayı

Tekrarlanabilir Araştırma“nın (Reproducible Research olarak da bilinir) ana fikri çok basit: Hesaplamaya dayalı bir bilimsel çalışma yaptıysanız, hazırladığınız bilgisayar programını da makaleyle beraber herkese açıkça sunacaksınız.

Bu fikri ilk duyduğumdan beri “e haliyle” diyordum. Sonuçlarınızı nasıl elde ettiğinize dair her ayrıntıyı vermezseniz, okuyanlar doğru iş yapıp yapmadığınızı nasıl kontrol edebilir? Öte yandan bu fikre pek ısınamayanlar var. Sebepler muhtelif, ama en çok “ne uğraşacağım” tavrı ağır basıyor.

Teorik bir çalışmayı anlatan makalenizde, o sonuca nasıl ulaştığınızı ayrıntıyla göstermeniz, yani ispat etmeniz beklenir, böylece gerek hakemler, gerek okuyanlar sizin düşünce zincirinizi takip edebilir ve yaptığınız hataları tespit edebilir. Oysa hesaplamalı çalışmada kullandığımız bilgisayar programını vermesek de olabiliyor nedense.

Matematikçi Randall J. LeVeque, “Top Ten Reasons To Not Share Your Code (and why you should anyway)” başlıklı eğlenceli yazısında, teoremlerin ispatsız olarak yayınlandığı alternatif bir evren hayal ediyor. Kaynak kodlarını yayınlamamak için öne sürülen bahanelerin, teorem ispatlarını yayınlamamak için de kullanılabileceğini anlatıyor ve bu bahanelerin komikliğini gösteriyor.

Kod paylaşmaya karşı isteksiz tavır yakında değişebilir, çünkü birçok bilim alanında Tekrarlanabilir Araştırma talepleri artmaya başladı. Sözgelişi, Lior Shamir ve çalışma arkadaşları, ArXiv’deki “Practices in source code sharing in astrophysics” başlıklı makalelerinde, bir çalışmanın yayına kabulü için, kaynak kodlarının da yayınlanmasının şart koşulması gerektiğini savunuyorlar.

Science, Nature gibi en üst seviye dergiler bunu uyguluyor bile. On yıla kadar bütün ciddi dergilere yayılması mümkün. Yakında makalenizi yazarken programcılık disiplinine dikkat etmeye başlamanız, hakemlik ederken de kod okumaya hazırlıklı olmanız gerekebilir. Bu konularda Software Carpentry sitesi çok faydalı bir kaynak.


Birkaç hafta önce makroekonomi alanında patlayan Rogoff-Reinhart makalesi tartışması, hesaplamalı çalışmanın açıkça sunulmamasının yaratacağı sonuçları çok çarpıcı şekilde gösterdi. Ayrıntıları Güven Sak’dan veya BBC haberinden okuyabilirsiniz. (Aykut Kibritçioğlu bu konuda çok etraflı bir okuma listesi tutuyor.) Özetle, Rogoff ve Reinhart’ın 2010’da yayınladıkları makale, devlet harcamalarının azaltılmasını isteyenlerin ekmeğine yağ sürmüş. Ancak, yazarların kullandığı Excel tablosunda bazı ülkelere dair veriler yanlışlıkla hesaba katılmamış, bu da ana çıkarsamanın yanlış olmasına yol açmış.

Rogoff-Reinhart çalışması boğazına kadar politik tartışmalara batmıştı, o yüzden bu hata çok yankı uyandırdı. Oysa çalışmayla beraber ilgili veri (Excel dosyası) yayınlanmış olsaydı ve ilgili herkes en baştan beri kolaylıkla inceleyebilseydi, bu hata daha önceden bulunabilirdi. Gereksiz siyasi tartışmalar yine olurdu belki (siyasi tartışmalar akla dayanmaz zaten; insanlar önce bir fikir benimser, sonra o fikri destekleyecek bir şeyler bulurlar), ama yazarların itibarı bu kadar zedelenmezdi.

Bilgisayar bilimci Daniel Lemire, ciddi işlerde neden Excel kullanmamamız gerektiğini güzelce yazmış. Hesap tablosu mantığı programlama disiplinine uymaz, hataları bulmak çok zordur. Bilimsel hesap yapacaksanız C, Fortran, Java, Python, R gibi ciddi bir dil kullanmalısınız.


Kişisel bir tecrübe: Bir süre önce uzay fiziği alanında bir makaleye hakemlik yaptım. Çalışma, özel bir manyetik alan modelinde yapılan simülasyonların sonuçlarını aktarıyordu. Kullanılan kaynak kodu verilmemişti, hatta daha önce yayınlanmış olan manyetik alan modelinin kaynak kodunu da internette bulamadım.

Çalışmada bazı zaaflar buldum, yazdım, raporun sonuna da kullanılan programların da paylaşılması gerektiğini, böylece ilgili kişilerin sonuçları tekrarlamasının mümkün olacağını yazdım. Cevaben, isteyen herkese programı gönderebileceklerini, ama kodda birçok zor kısım olduğunu ve diğer kullanıcıların yardımsız çalıştırmalarının zor olacağını yazdılar. “Yardımsız çalıştırılabilecek hale getirin o zaman” demenin faydasız olacağı belliydi, üstelemedim.

Metodik hata olduğunu düşündüğüm bazı noktalara üstünkörü cevap vermişlerdi. Bazı kavramsal hataların yanı sıra, simülasyonları kabul edilemeyecek kadar büyük miktarda sayısal hata içeriyordu. Anlaşıldı ki, 4. derece Runge-Kutta gibi ancak orta derecede doğruluğu olan bir yöntem kullanmışlardı. Üstelik bunlar fasulyeden adamlar da değillerdi; birinci yazar NASA’da çalışıyordu. Makaleyi reddettim, ama bir süre sonra değişikliklerle tekrar geldi. Az daha düzgün bir sayısal yöntem kullanmışlardı, hata payı daha azdı. İtiraz etmek için somut bir sebebim olmadığından, içime tam sinmese de kabul ettim.

Acaba kaynak kodunu inceleyebilseydim, veya hiç olmazsa sonuçları tekrar üretebilseydim başka neler bulurdum merak ediyorum. Kaynak kodunu paylaşma isteksizliğinin bir sebebinin, örtbas edilmiş eksikliklerin keşfedilmesi korkusu olduğundan şüpheleniyorum.

RunMyCode: Tekrarlanabilir araştırma için bir portal

Tekrarlanabilir Araştırma” ekolü, yaptığınız araştırmada her ne şekilde olursa olsun (simülasyon, veri analizi, nümerik çözüm) bilgisayar kullanıyorsanız, yarattığınız kaynak kodunu makalenizle beraber paylaşmanız gerektiğini savunur.

RunMyCode, hesaplama ve yazılım içeren bilimsel bir çalışma yaptığınızda, yayınıza eşlik edecek bir web sitesi hazırlamanızı sağlayan yeni bir portal.

Oluşturduğunuz site yazdığınız programları barındırmakla kalmıyor, onların interaktif şekilde çalıştırılmasını da sağlıyor. Programınız için gerekli giriş parametrelerini tanımlayarak bir grafik arayüz oluşturabiliyorsunuz. Programlar RunMyCode bilgisayarlarında çalıştırılıyor ve kullanıcı için bir rapor üretiyor. Elbette kullanıcılar isterlerse kaynak kodlarını da alabiliyorlar.

Sitenizi yaratırken kaynak kodunun nasıl çalıştığını, giriş ve çıkış parametrelerinin ne olduğunu belirlemeniz bekleniyor. Ayrıca örnek (demo) giriş verisi de vermeniz tercih ediliyor; böylece yazılımı denemek isteyen ama veri olarak ne yazacağını bilemeyen kullanıcılara bir başlangıç noktası sağlıyorsunuz.

Sitenizi 15 ila 45 dakika arasında hazırlayabiliyorsunuz, ama hemen devreye girmiyor. Önce bir bilimsel denetlemeden geçiyor, sonra da yazılımın uyumluluğu için teknik denetleme yapılıyor. Siteniz ancak bu denetlemelerden sonra açılıyor.

RunMyCode daha başlangıç aşamasında, ama gerek görsellik gerek kullanılabilirlik olarak üstün kalitede bir site. Eğer tutarsa (ki birkaç bilimsel kurum tarafından desteklendiği için tutma ihtimali yüksek) bilim üretimine büyük katkısı olacak.

Dezavantajlarından biri, programları sadece Matlab, R veya SAS dillerinde kabul etmesi. C, Java, Fortran, Python vs. şimdilik yok.

Başka bir dezavantajı alan sınırlaması. Sadece iktisat, işletme, ve istatistik alanlarındaki çalışmalar mevcut. Tahminimce bilimsel denetleme aşamasındaki uzmanlık sadece bu alanda. Veya belki sistemleri fen/mühendislik alanlarındaki daha yoğun hesaplama işlerine henüz hazır değildir. Zannediyorum sistemi oturtup otomatikleştirdikten sonra başka alanlara da açılırlar.

Bilimsel çalışmalarınızda simülasyon, algoritma geliştirme, veri analizi gibi işler yapıyorsanız bir gözünüz RunMyCode üzerinde olsun.


Bu vesileyle, tekrarlanabilir araştırma hakkında Scientific American’da çıkan “Secret Computer Code Threatens Science” başlıklı yazı da ilginizi çekebilir.

İki yeni preprint

Yeni yılın ilk yazısında geçen yılki araştırma işlerimi özetleyeyim istedim. Herkese mutlu, neşeli, sağlıklı ve özgür bir 2012 dileğiyle.

Kanaat dinamiği

Geçen yıl bu zamanlar, kanaat dinamiği konusunda giriştiğim bir çalışmayı yazmıştım. O sırada makaleyi Physica A‘ya göndermiştim; iki ay sonra suratıma attılar. Hiç utanmadan aynen Advances in Complex Systems‘e gönderdim. Yaklaşık altı ay sonra epeyce etraflı hakem raporları geldi; büyük değişiklikler istiyorlardı. Eh, yeni bir konuya tek başına girip el yordamıyla çalışınca böyle şeylere hazırlıklı olmak lâzım.

Hakem raporları başta moral bozucu olsa da, sebat ettiğinizde makaleyi daha kaliteli hale getirmenize yardımcı oluyorlar. İki aylık revizyonla müsveddeyi yarı yarıya tekrar yazdım; teorik hesaplar ekledim ve literatürü bir daha tarayıp makaleye daha iyi yedirdim. Kısalsın diye önceki versiyonun son kısımlarını sildim, ama eklenen malzeme sebebiyle yine de epey uzun kaldı.

Yeni halini Kasım sonunda dergiye gönderdim, halen ikinci değerlendirmeyi bekliyorum. İlgilenenler preprinti ArXiv’de bulabilirler: http://arxiv.org/abs/1112.4624

Tekrarlanabilir araştırma” prensiplerine uyarak, araştırmada kullandığım programların kaynak kodlarını (C ve Matlab) makaleyle beraber gönderdim. ArXiv sayfasında da aynı programlar mevcut. Bu programlarla sistemin davranışının animasyonunu gözleyebilir, sistemi otomatik olarak tekrar tekrar başlatıp istatistiklerini çıkarabilir, yer darlığından anlatamadığım veya aklıma gelmeyen davranışları inceleyebilirsiniz.

Kullandığım programları vermek fazladan zahmet çıkardı ama bunun çok önemli olduğuna inanıyorum. Yazılan programlar bir hesaplamalı bilim çalışmasının ayrılmaz parçalarıdır, o yüzden okuyucuya sunulmaları gerekir. Merak eden okuyucu baştan yazma zahmetine katlanmadan programı kendi çalıştırabilmeli, varsa hataları bulabilmeli, veya isterse yeni özellikler ekleyebilmeli.

Daha da önemlisi, programlarınızı başkasının da kullanabileceği şekilde düzenlerken bazı hataları da fark edebilirsiniz. Bende öyle oldu; temel simülasyon algoritmamda bir uyumsuzluk buldum ve sonuçları daha az verimli ama doğru bir algoritmayla tekrar ürettim.

Çok kişi kapalılığı tercih eder çünkü kapalılık zor durumda paçayı kurtarmalarını sağlar. Programları makaleyle beraber vermesem, ve gayretli biri programı baştan yazıp benimkiyle çelişen sonuçlar bulsa, “programda hata yapmışsındır” deyip işin içinden çıkabilirim. Karşılaştırmak için kaynak kodunu isteyen olursa “virüs sildi” diyebilirim veya okunamayacak karmakarışık bir kod gönderebilirim. Ama bu iyi bilimcilik olmaz. Nasıl ki bir matematikçi teoremlerinin ispatlarını vermeliyse, bir deneyci deney düzeneğini tarif etmeli ve edindiği verileri tam yayınlamalıysa, bilimsel programlar da aynen yayınlanmalı ve denetlenmeli, yoksa akıl yürütme sürecinde boşluklar oluşur.

Manyetik alandaki parçacıkların hareketi

Bu makale istemeden kanaat dinamiği ile aynı zamana denk geldi. American Journal of Physics fizik eğitimine yönelik makaleler yayınlayan bir dergidir. Ağustos sayısında uzay fiziği ve astronomi araştırmalarının fizik eğitiminde kullanılması hakkında bir özel sayı için bir makale çağrısı gördüm. Şansıma, evliya sabrıyla bana katlanan Richard Wolf sayesinde elektrik yüklü parçacıkların (elektron, iyon) manyetik alandaki hareketleri hakkında üç beş bilgi kırıntısı edinmiştim. Böyle bir makale için çok uygun bir konu olduğunu düşündüm.

Uzay fiziği ve plazma fiziği kitaplarında parçacık dinamiği en ince ayrıntısına kadar anlatılır, ama standart derslerin kitaplarında rastlanmaz. Yazık, çünkü meselâ adiabatik değişmezler gibi soyut konuları somutlaştırmak için güzel bir örnek teşkil ederler. Bu konunun temel kavramlarını özetleyip biraz da hesaplamalı problemler eklersem, klasik mekanik, elektromanyetizma, ve hesaplamalı fizik derslerinde kullanılabilecek bir malzeme hazırlamış olurum diye düşündüm.

Dünyanın manyetik alanında olup bitenleri basitçe özetledikten sonra, radyasyon kuşağı tabir edilen bölgedeki parçacıkların hareketini gösterdim. Hareket bayağı enteresandır; kendi üzerine iki kat sarılmış bir sarmal gibi:

Bu dinamikte değişik büyüklükler ve hızlarda seyreden üç ayrı periyodik hareket var. Her biri için, yaklaşık sabit olan bir “adiabatik değişmez” tanımlayıp, hareketi bunlar cinsinden ifade etmek mümkün, ki harcıâlem bir yöntemdir.

Kendi öğrenciliğimde fiziksel problemleri program yazarak incelemeye heves ederdim, ama konular hiç programlamaya uygun şekilde sunulmazdı. Ders kitaplarının çoğu hâlâ bu yönden eksiktir. Bu yüzden bu konuyu hesaplama odaklı şekilde sunmaya çalıştım. Okuyucunun şekilleri kendi üretebileceği, değiştirip denemeler yapabileceği Python programları hazırladım. Makalenin sonuna, basitten karmaşığa doğru, birbirini destekleyen oniki hesaplama problemi ekledim. Makalenin tamamında, problemler dahil, aktif araştırma ile pedagojiyi dengelemeye çalıştım.

Anlaşılan doğru düşünmüşüm ki hakem raporları olumlu geldi. İstenilen birkaç küçük değişiklikten sonra hakemlerden kabul aldı, şimdi editoryal incelemede. İlgilenenler için preprint ve programlar ArXiv’de: http://arxiv.org/abs/1112.3487

Hamiş

Ikına sıkına yaptığın ıvır zıvır işleri amma da ballandırarak anlattın, görgüsüz” demek geçebilir içinizden. Ne diyeyim, haklısınız. Başkaları blogunda çocuğunu, kedisini, köpeğini anlatır, ben de bunları anlatıyorum, ne yapayım.

Bilimsel veri ve yazılım paylaşımı

Tekrarlanabilir Araştırma (Reproducible Research), her türlü bilimsel çalışmanın, başka araştırmacıların o işi tekrarlayabileceği şekilde sunulması gerektiğini savunan bir fikir. Özellikle de dijital verilerin ve araştırmada kullanılan yazılımların, araştırma makalesi ile beraber, herkese açık olması elzem. Böylelikle başka araştırmacılar verilerin doğruluğunu kontrol edebilir, programları kendileri çalıştırabilir, varsa hataları bulabilir, veya kendi çalışmaları için önceki programları mihenk taşı olarak kullanabilir.

Aşağıdaki videoda Tekrarlanabilir Araştırma’nın en aktif savunucularından Victoria Stodden, verilerin ve yazılımın neden paylaşılması gerektiğini anlatıyor, ve neden hâlâ gerektiği kadar paylaşılmadığına dair bazı sonuçlar aktarıyor. Videoyu görmemi sağladığı için Emre Sevinç‘e teşekkür ederim.

Konuşmanın slaytları burada.

Hesaplamalı bilim, artık teori ve deneyin yanında üçüncü bir bilimsel araştırma yöntemi olarak kabul görüyor. Fakat Stodden’in de ifade ettiği gibi, hesaplamalı araştırmalar, meselâ matematiksel kanıtlar gibi, kontrol ve teyit edilebilir bir biçimde sunulmadıkça bilimsel bir yöntem olmuş sayılmazlar.

Bu apaçık bir gerçek gibi görünüyor. Ancak verilerin ve yazılımların paylaşıldığı yayınlar azınlıkta kalıyor. Bir uzman konferansında yaptıkları bir ankette, neden tam açık paylaşma yapılmadığı sorusuna 134 kişi şu şekilde cevap vermiş (19. slayt):

Kod Veri
%77 Belgeleme ve temizlemeye zaman harcamamak %54
%52 Kullanıcıların sorularına zaman harcamamak

%34
%44 Atıf almayacak olmak

%42
%40 Patentleme ihtimali

%34 Kanuni engeller (yayın hakkı)

%41
İdarecilerin teyidini almakla zaman harcamamak

%38
%30 Gelecekteki yayınları kaybetme ihtimali

%35
%30 Rakiplere avantaj vermemek

%33
%20 Web veya disk alanının sınırlılığı

%29

Görüldüğü gibi “ya yayınla ya öl” kültürünün hızlı yayın baskısından kaynaklanan sebepler ağırlıkta. Dergiler talep etmeyince, araştırmacılar gereğinden fazla zaman harcamadan hemen yayınlatmak istiyorlar. Diğer alanlarda da benzer bir yapı oluşacağını tahmin ediyorum.

Veri ve yazılımlarını paylaşmayı tercih edenlerin sebepleri de şöyle listelenmiş:

Kod Veri
%91 Bilimsel gelişmeyi teşvik etmek %81
%90 Başkalarını paylaşmaya teşvik etmek

%79
%82 Çalışma alanında bir standart oluşturmak

%76
%85 Araştırmanın kalitesini yükseltmek

%74
%81 Başkalarının aynı konuda çalışmasını sağlamak

%79
%85 Tanınmak

%73
%78 Feedback almak

%71
%71 İşbirliği yapabilecek araştırmacılara ulaşmak

%71

Daha fazla ayrıntı isteyenler için “Reproducible Research in Computational Harmonic Analysis” (Donoho vd., 2008) başlıklı makale faydalı olur. Tekrarlanabilir Araştırma öncülerinden David Donoho ve çalışma arkadaşları, çoğu yayında tekrarlanabilirliğin nasıl ihmal edildiğini anlatıyorlar. Hazırladıkları yazılım paketlerini anlatarak kendi yaklaşımlarını özetliyorlar ve tekrarlanabilirlik metoduna karşı itirazlara cevaplar veriyorlar.

Bilimsel programcılık disiplini

Hesaplamalı bilim, ortak bir programlama disiplini oluşmadığı için yakın gelecekte bir krizle karşı karşıya kalabilir. Bilimsel programlama yapan araştırmacılar çalışmalarının güvenilirliği ve paylaşılabilirliği için yazılım geliştirme tekniklerini öğrenip uygulamalılar.
Bu yazının geri kalanını okuyun

Bilimsel programlar ve “reproducible research”

Hesaplamaya dayalı araştırmalar yayınlanırken, araştırma için yazılan programların makaleyle beraber verilmemesi bilimsel kontrolü zayıflatır. Hesaplamalı bilimciler, sonuçların tekrarlanabilmesi için yazılan kodun açıkça sunulması gerektiğini savunuyorlar.
Bu yazının geri kalanını okuyun