Pandaların kısıtlamaları ve Python'daki alternatifleri


11

Pandas'ın ilk olarak finans dünyası için geliştirildiğini, en azından özellikle doğa bilimleri (fizik, biyoloji vb.) İçin olmadığı bir yerde okudum , bu yüzden benzer bir veri analizi Python paketi daha “doğa bilimleri odaklı” var mı?

Pandaları kullanmaya yeni başladım ve diğer paketleri veya ev yapımı çözümü kullanmadan çözemediğim iki sorunla zaten karşılaştım:

  • Belirsizlikler nasıl yönetilir?
  • Verilerimin birimlerini kolayca nasıl tanımlayabilirim?

Belki başka sorunlar var ama daha kesin olmak için deneyimim yok. Şimdilik, ilk noktayı çözmek için belirsizlik paketini düşünüyorum ama Pandalar ile iyi çalışacağından ve hesaplama hızını azaltmayacağından emin değilim. Aslında, belirsizliklerle hesaplamanın bir yolunu aramıyorum, sadece içe aktarılan verilerimle birlikte belirsizlikleri depolamanın basit bir yolunu arıyorum. İkinci olarak, her bir veriyle ilişkili birimleri yönetmek için DataFrame'im dışında bir sözlük oluşturmaktan daha iyi bir çözüm bulamadım.

Aynı sorunları yaşadıysanız, bunu nasıl çözdünüz veya Python'da doğa bilimlerinde veri işleme / depolama / analiz için başka hangi paketleri kullandınız?


2
Pandaları destekleyen birimlere ve belirsizliklere bir alternatif Table, astropideki sınıftır.
P3trus

1
Harika görünüyor, astropinin bu tür şeyleri olduğunu bilmiyordum. Yine de, dokümana bir göz attım, ancak belirsizliklerin belirlenmesine ilişkin açık örnekler bulamadım Table(ancak birimleri bir parçası buldum). NDDatabunu yönetiyor gibi görünüyor ama bu sınıflar arasındaki farklardan emin değilim. Yorumunuzu 2 satırlık bir örnekle bir cevaba dönüştürmek sakıncası yoksa, bunu isteyerek kabul ediyorum!
Clark

Yanıtlar:


5

Davidmh ile belirsizliklerin hesaplanmasının otomatik bir kütüphane tarafından ele alınmaması gerektiğine katılıyorum. Çok hızlı bir şekilde otomatiğin başarısız olduğu bir durumla karşılaşırsınız (örneğin bir Fourier dönüşümü yapmayı deneyin).

Ancak, sadece verilerinizdeki belirsizlikleri korumak istediğinizi söylersiniz. Neden bunları yalnızca veri çerçevenize fazladan sütun olarak eklemiyorsunuz? Pandalar hakkındaki belirsizlikleri bu şekilde yönetirim.

Pandaların birim desteği yoktur, ancak miktar çerçevesini doğrudan kullanabilmeniz için her şey bir veri çerçevesine girebilir . Bununla birlikte, tüm işlevler pandalarda işe yaramayacaktır (şaşırtıcı bir miktar yine de işe yarayacaktır) ve bir performans cezası olacaktır.

Pandalara meta verilerin eklenmesine izin vermek için bazı tartışmalar oldu, ancak şimdiye kadar bundan hiçbir şey gelmemiş gibi görünüyor.

C ++ 11'in olası istisnası dışında, size gerçekten iyi, birinci sınıf birim desteği verecek bir dil veya kütüphane bilmiyorum. Her zaman performans kaybı ve uyumluluk eksikliği vardır

.


2

Belirsizlikleri yönetmek aslında oldukça hassas bir istatistik problemidir. Kare kısmi türevler kullanılarak hata yayılımı için bilinen ifade, hatalar normal olarak dağıtıldığında, bağımsız ve küçük olduğunda iyidir. Bu genellikle böyledir; ve aslında, normallik veya bağımsızlık tam olarak tatmin olmasa bile, çoğu pratik durumda, sadece aralığın makul bir tahminiyle ilgileniyorsanız, sonuç gerçek olana makul bir şekilde yakın olabilir.

günah(2±0.1)=günah(2)günah(1.9)günah(2.1)

Daha fazla doğruluğa ihtiyaç duyulan durumlarda, belirsizlikleriniz için güzel bir analitik modeliniz varsa, maksimum tahmin gibi doğru tahmin edicileri elde etmek için kullanılabilecek yöntemler vardır.

Ancak, olası tüm girişler için geçerli doğru bir sonuç istiyorsanız (gürültünün hassasiyetle aynı sırada olduğu gürültülü bir dedektörü analitik olarak modellemek zorunda kaldığınızı), tüm korelasyonları dikkate alarak ve ilgili tüm parametre alanını keşfedebildiğinizi hayal edin , Monte Carlo yöntemlerine ihtiyacınız var. Girdilerinizin birkaç örneğine rastgele gürültü ekleyin ve tam analizi çalıştırın. Tabii ki, bu hesaplama zamanınızı yüzlerce veya binlerce ile çarpmanız gerektiği anlamına gelebilir, ancak her zaman paraleldir.

Sonuçta, her şey ne yapmak istediğinize, ne kadar doğruluk derecesine ve kaç kaynağa sahip olduğunuza bağlıdır.

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.