Nurdan Atalan

İngilizce Metin: https://o-date.github.io/draft/book/statistical-computing-with-r-and-python-notebooks-reproducible-code.html

🔧 Launch the Archdata Binder.

Archdata Binder’ı başlatın .

İçimizden biri (Graham) yüksek lisans öğrencisiyken, lisans öğrencilerine arkeolojik veriler üzerinde ki-kare testinin nasıl yapılacağını öğretmekle görevlendirilmişti. Bu 1990’ların sonlarındaydı. Gerektiği gibi Excel’i açtı ve orada bir şablon oluşturmaya başladı. Veri tablosu üzerinde Excel’in otomatik ki-kare istatistiksel testini kullanmak mümkün olsa da, öğrencilere fonksiyonun nasıl kullanılacağını basitçe göstermek istenmeyen bir durum gibi görünüyordu. Eğer bu fonksiyonu kullansaydı, öğrenciler testin ne yaptığını gerçekten bilebilir miydi? Her halükarda, fonksiyon üzerinde birkaç saat çalıştıktan sonra, fonksiyonun tam olarak ne yaptığını gerçekten anlayamadığına karar verdi. Veri seti, Mike Fletcher ve Gary R. Lock’un çok net olan Digging Numbers: Elementary Statistics for Archaeologists  (öncüler ve bir döngü özelliğinin varlığı/yokluğu; Fletcher ve Lock, 1991: 115-125) kitabından alınmıştır. Excel’in sağladığı yanıt, Fletcher ve Lock’un gösterdiği yanıt değildi. Excel’de işlevi etkileyen bir ayar var mıydı? Zaman ilerliyordu. Graham bunun yerine istatistikteki her adımın – her hesaplamanın – kendi hücresi olmasını sağlayacak şekilde elektronik tablo oluşturmayı seçti. Öğrencilerin bu adımları kendi elektronik tablolarında yapmalarını sağladı. İşler ters gittiğinde bile, kağıdını bir diskete kaydetti ve öğrenciler için her seferinde bir bilgisayara yükledi. Bu sefer orijinal elektronik tablodan çalışıldığında sonuçlar metinle uyumluydu. Malzeme ve dönem arasındaki ilişki, malzeme ve bir döngünün varlığından daha güçlüydü.

Excel bir kara kutudur. Bunu kullandığımızda, istatistiklerin söylediklerini yerine getirdiğine inanmamız gerekiyor. Çoğu zaman bu bir sorun değildir; ancak Excel çok karmaşık bir yazılım parçasıdır. Örneğin biyologlar, Excel’in otomatik tarih-saat dönüşümlerinin (yani Excel’in bir hücredeki veri türünü tespit etmesi ve formatını veya gerçek verinin kendisini değiştirmesi ) gen adlarını etkileyebileceğini yıllardır biliyorlardı (Zeeberg ve diğerleri 2004) bu bağlantıdan erişebilirsiniz.

(Marwick 2017 ), arkeolojik verilerimizi işlemek için Excel’i kullanırken ortaya çıkan ek sorunları tartışıyor. Arkeolojik veriler nadiren ilk kaydedildikleri formatta kullanılabilir. Verileri bir elektronik tablonun gerektirdiği temiz ve düzenli tablolara dönüştürmek için çok çaba harcanması gerekir. Düzenleme sürecinde hangi kararlar alındı? Hangi parçalar ve parçalar dışarıda kaldı? Elektronik tabloya girilirken hangi parçalar ve parçalar dönüştürüldü? Başka biri çalışmanın sonuçlarını doğrulamaya (yeniden üretmeye) çalışırsa ve verilerde yapılan manipülasyonlara (belirli dönüşümler) ilişkin bir kayıt yoksa, tekrarlanabilirlik olası değildir. Araştırmacılar, veriler mevcut olmadan ve dönüşümlerin ve analizlerin türleri açıkça ve tam olarak belirtilmeden yeni bir yöntemi tartıştıklarında, arkeolojiyi ileriye taşımanın önünde bir engel oluşturmuş oluyoruz.

Bunun ne kadar zor bir sorun olduğunu anlamak için şimdi bir alıştırma olarak Excel’de bir tablo hazırlayın. Aşağıdaki verileri gözünüzde canlandırın: 12 bronz mızrak ucu, 18 demir mızrak ucu; Bronz mızrak uçlarından 6 tanesi halkalı, demir mızrak uçlarından 10 tanesi halkalıdır. Bu bilgiyi görselleştirmek için attığınız tüm adımları yazın. Çalışmanı kaydet; e-tabloyu kapatın. Şimdi listenizi bir arkadaşınıza verin. Adımları tam olarak takip etmelerini sağlayın, ancak listeyi netleştirmeyin veya başka bir şekilde açıklamayın.

Onların yarattıklarını sizin yarattığınız şeylerle karşılaştırın. Bir maç ne kadar yakın? Görselleştirmenizi yeniden ürettiler mi? Listenize hangi öğeleri veya adımları eklemeyi unuttunuz?

Artık, işaretle ve tıkla grafik kullanıcı arayüzüne ve arkeolojik verileriniz için Excel gibi bir kara kutuya güvenmenin içerdiği bazı sorunları görmeye başlayabilirsiniz.

Marwick (2017) bu sorunla ilgili olarak şunları yazmaktadır:

Bu, hem önceki iddiaların doğruluğunun kanıtlanması hem de yeni yorumların gelişmesinin teşvik edilmesi açısından arkeolojideki ilerlemenin önünde önemli bir engeldir. Dahası, eğer arkeoloji dışındaki güncel tartışmalara katkıda bulunacaksak (ki bunun için iyi bir konumda olduğumuz varsayılıyor, bkz. Kintigh ve diğerleri (2014)) araştırmamızda daha verimli, etkileşimli ve esnek olmamız gerekiyor. Geçmiş toplumlarla ilgili ilginç ve kapsamlı soruları yanıtlamak için işbirliği yapmak üzere diğer alanlardan araştırmacıları araştırma kanallarımıza davet edebilmeliyiz.

Marwick tekrarlanabilir arkeolojinin dört ilkesini listeliyor. Buradaki ‘tekrarlanabilirliğin’, analizi yeniden yapabilmek ve aynı sonuçları elde edebilmek anlamına geldiğini unutmayın; ‘Tekrarlanabilir’, daha önceki bir çalışmanın yayınlanmış yöntemleriyle toplanan ve analiz edilen yeni bir veri setinde aynı yöntemlerin kullanılması anlamına gelir. Uymamız gereken ilkeler şunlardır:

  • sonuçları oluşturan verileri ve yöntemleri açık bir şekilde kullanılabilir hale getirmek
  • istatistiksel analizin senaryosunu yazın (yani artık işaretle ve tıkla istatistikleri yok). Aşağıda bu konuda daha fazla bilgi bulabilirsiniz.
  • sürüm kontrolünü kullan
  • kullanılan hesaplama ortamını kaydedin

3.2.1 Tekrarlanabilir Yöntemler

Tekrarlanabilir yöntemleri etkinleştirmek için analizlerimizi ‘kodlamamız’ gerekir. Bu, diğer insanların kodumuzu inceleyebilmesi ve kodu verilerimiz (araştırmamızı yeniden oluşturmak için) veya kendi verileri (yöntemimizi yeniden oluşturmak için) üzerinde çalıştırabilmesi için R veya Python gibi bir dilde bir dizi komut yazdığımız anlamına gelir. Ayrıca kodumuza, sonraki her parçanın neyi başarmak istediğini açıklayan yorumları da eklemeliyiz. Bu, kodun aynı zamanda sonuçlarla birlikte açıklandığı ‘okuryazar programlamanın’ kalbidir. Bu ders kitabını desteklemek için oluşturduğumuz Jupyter Notebooks’un arkasındaki felsefe budur. Jupyter notebooks, komut dosyanıza yorumlarla açıklama eklenmesinden bir adım ötededir. Jupyter not defterindeki her kod bölümü (Jupyter yüklüyse veya bir binder örneği içinde bir not defteri çalıştırıyorsanız) yukarıdan aşağıya doğru kendi başına çalıştırılabilir. Sonuçları veya kodu tartışan metin blokları, kod bloklarından önce veya sonra eklenebilir. Bu şekilde okuyucunuza analizleriniz boyunca yol gösterebilirsiniz. Bu tür not defterleri Github aracılığıyla paylaşılabilir ve her ikisi de ‘dijital nesne tanımlayıcı’ veya DOI sağlayan  Zenodo ya da Open Science Foundation ile arşivlenebilir. DOI, kodunuza ve analizlerinize tartışmanızdan (bir makale veya kitap bölümünde keşfedebileceğiniz) ayrı olarak alıntı yapılmasına olanak tanır. Açık Bilim Vakfı aynı zamanda birden fazla işbirlikçinin bir proje üzerinde çalışmasına da olanak tanır. Jupyter not defterleri çeşitli dillerde kullanılabilir. ‘Jupyter’ın kendisi, üç standart dil olan ‘julia – python – R’nin bir karışımıdır, ancak daha fazla ‘kernels’ eklenebilmektedir (bkz. Jupyter Projesi ).

Bu nedenle, projeniz için kaynak verilerinizi gerçekte analiz ettiğiniz verilerden ayrı tutan ve komut dosyalarınızı tek bir yerde tutan makul bir klasör düzenlemesine sahip bir ‘araştırma özeti’ oluşturmak iyi bir uygulamadır. Şu şekilde ayarlanmış olabilir:

|
|-xrf-analysis-roman-bricks
  |
  |-raw-data
  |  |-original-data.csv
  |-cleaned-data
  |  |-copy-original-data.csv
  |  |-cleaned-data.csv
  |-results
  |  |-descriptive-stats.csv
  |  |-pca-roman-bricks.png
  |-scripts
  |  |-cleaning.R
  |  |-descriptive-statistics.R
  |  |-exploratory-visualizations.R
  |-article
     |-draft-for-jas
     |-public-discussion-of-research-for-blog.ipynb

Asla ama asla analizinizi topladığınız orijinal veriler üzerinden yapmayın. Her zaman bunun bir kopyasını her şeyden ayrı tutun ve temizlik ve analizlerinizi kopya üzerinde yapın. Analitik senaryolar yazarken, tek bir senaryonun tek bir işi yapmasını sağlamaya çalışın. Neyin işe yaradığını ve neyin başarısız olduğunu belgeleyin. Yukarıdaki ‘makale’ klasöründeki son dosyanın .ipynb ile bittiğini unutmayın. Bu bir jüpyter not defteri dosyasıdır; bunlar bir Github deposuna (örneğin) bırakılabilir ve Github bunların nasıl görüntüleneceğini anlayacaktır. Bu, araştırmanızın açık bir not defterini tutmanın yollarından yalnızca biridir.

Bu noktada siz veya eğitmeniniz R dilinin arkeolojik araştırmalarda kullanılabileceği bazı yolları keşfetmek isteyebilirsiniz. Tekerleği yeniden icat etmek yerine, bir araştırma özeti oluşturmaya çalışırken R, Marwick (ed) How to Do Archaeological Science Using R, konusunu keşfetmenizi öneriyoruz.

3.2.2 Alıştırmalar

  1. Arkeolojik veri kümelerinden oluşan bir koleksiyon olan  ‘archdata’ package for R – a collection of archaeological datasets, içeren not defterimizi kullanın ve bu ortamda kendi araştırma özetinizi oluşturun. Demo veri kümelerinden birinin etrafında oluşturun. How to Do Archaeological Science kitabındaki bazı teknikleri birleştirmeye çalışın. Bitirdiğinizde özetinizi (compendium) indirin.
  2. Marwick’in araştırma özeti paketinin bizim versiyonunu keşfedin ve sizin ürettiklerinizden farklı yönlerine dikkat edin. Marwick’in paketini tutarlı bir şekilde kullanmanın arkeolojik araştırmalar üzerindeki etkisi ne olurdu?

Referanslar

Marwick, Ben. 2017. “Computational Reproducibility in Archaeological Research: Basic Principles and a Case Study of Their Implementation.” Journal of Archaeological Method and Theory, 1–27. http://link.springer.com/article/10.1007/s10816-015-9272-9.