คำถามติดแท็ก data-management

14
ซอฟต์แวร์และเวิร์กโฟลว์ใดที่แนะนำสำหรับการเผยแพร่ข้อมูลทางวิทยาศาสตร์และกราฟ
ซอฟต์แวร์ใดที่ให้ขั้นตอนการทำงานที่ดีตั้งแต่การวางแผนดาต้าพอยน์ง่ายๆไปจนถึงการสร้างกราฟิกระดับสิ่งพิมพ์ที่มีสไตล์โดยละเอียดการเรียงพิมพ์ทางคณิตศาสตร์และ "คุณภาพระดับมืออาชีพ" สิ่งนี้เกี่ยวข้องกับคำถามของเดวิด ( คุณลักษณะใดบ้างที่ทำให้มีคุณภาพระดับมืออาชีพ? ) แต่การโฟกัสไม่ได้อยู่ที่คุณลักษณะ แต่ใช้กับซอฟต์แวร์หรือทั่วไปเวิร์กโฟลว์เพื่อไปที่นั่น ฉันมีประสบการณ์ผิวเผินด้วยหลายโปรแกรม Gnuplot, Origin, Matplotlib, TikZ / PGFplot, Qtiplot แต่การทำการวิเคราะห์ข้อมูลและตัวเลขที่ดีในเวลาเดียวกันนั้นค่อนข้างยากที่จะทำ มีซอฟต์แวร์บางอย่างที่อนุญาตสิ่งนี้หรือฉันควรขุดลึกลงไปในแพ็คเกจใดแพ็คเกจหนึ่งหรือไม่? แก้ไข: เวิร์กโฟลว์ปัจจุบันของฉันคือการผสมผสานขององค์ประกอบที่แตกต่างกันซึ่งทำงานร่วมกันมากหรือน้อย แต่โดยรวมแล้วมันไม่ได้มีประสิทธิภาพจริงๆและฉันคิดว่านี่เป็นเรื่องปกติสำหรับนักวิทยาศาสตร์จำนวนหนึ่งที่ห้องปฏิบัติการของมหาวิทยาลัย โดยทั่วไปแล้วจะเป็นห่วงโซ่ที่เริ่มต้นจากการทดสอบไปยังสิ่งพิมพ์เช่นนี้: รับข้อมูลทดลอง (โดยปกติจะอยู่ในรูปแบบ ASCII แต่มีเค้าโครงที่แตกต่างกันเช่นส่วนหัวความคิดเห็นจำนวนคอลัมน์) พล็อตข้อมูลอย่างรวดเร็วเพื่อตรวจสอบว่าไม่มีอะไรผิดพลาดในโปรแกรม Origin, Gnuplot หรือ arcane plot 20 ปีที่ผ่านมา การวิเคราะห์รายละเอียดเพิ่มเติมของข้อมูล: การลบการสนับสนุนพื้นหลังการวิเคราะห์การพึ่งพาและสหสัมพันธ์การปรับให้เหมาะสมกับแบบจำลองทางทฤษฎี นักวิทยาศาสตร์หลายคนใช้ Origin สำหรับงานนี้มีการใช้ Matlab และ Python / Scipy / Numpy เพิ่มมากขึ้น การสร้างตัวเลขระดับมืออาชีพสิ่งนี้เกี่ยวข้องกับการปรับตามแนวทางของวารสารการเรียงพิมพ์ทางคณิตศาสตร์และการแก้ไขทั่วไป ในขณะนี้ฉันใช้ Origin …

4
วิธีจัดการกับข้อมูลมากเกินไป
การจำลองพลศาสตร์พลาสมาของเรามักจะสร้างข้อมูลมากเกินไป ในระหว่างการจำลองเราบันทึกคุณสมบัติทางกายภาพต่าง ๆ บนกริด (x, y, z, t) ที่มีขนาดใหญ่เท่ากับ (8192x1024x1024x1500) เป็นเวลาอย่างน้อย 10 คุณสมบัติ ข้อมูลนี้จะถูกประมวลผลหลังจากการจำลองเสร็จสมบูรณ์ กับเรา ทำภาพยนตร์ของคุณสมบัติ ทำการวิเคราะห์ฟูริเยร์ คำนวณคุณสมบัติเฉลี่ย การทุ่มตลาดอย่างง่ายของข้อมูลมากที่สุดเท่าที่จะทำได้ดีเมื่อเราศึกษาระบบขนาดเล็ก สิ่งนี้ทำให้เรามีความยืดหยุ่นในการโต้ตอบกับผลลัพธ์และตัดสินใจในภายหลังว่าเราต้องการทำอะไรกับมัน นอกจากนี้ยังช่วยให้เราจัดสรรทรัพยากรการคำนวณของเรา (เวลา CPU) เพียงแค่เรียกใช้การจำลอง เราได้เริ่มกระบวนการของการทำการวิเคราะห์ฟูริเยร์ได้ทันทีและกรองเฉพาะสเกลความยาวที่เลือกเท่านั้น ด้วยเหตุผลเชิงตัวเลขบางครั้งเราจำเป็นต้องแก้ไขสเกลความยาวที่เล็กกว่าที่เราสนใจจริง ๆ ดังนั้นในกรณีเหล่านี้ตัวกรองนี้ช่วยได้อย่างมาก นอกจากนี้เรายังมีการสำรวจห้องสมุดขนาน IO ต่างๆเช่นขนาน I / O ตัวเลือกใน HDF5 มีกลวิธีใดบ้างที่จะช่วยให้การประมวลผลข้อมูลมีประสิทธิภาพสูงสุด? มีประโยชน์ในการทำการวิเคราะห์ทั้งหมด (ไม่รวมการโพสต์เช่นภาพยนตร์และแปลง) ได้ทันทีหรือไม่ ฉันจินตนาการได้ว่าปัญหานี้กำลังเกิดขึ้นในงานวิจัยด้านอื่น ตัวอย่างเช่นคุณอาจมีการจำลองพลวัตของโมเลกุลที่ต้องพัฒนาเป็นเวลานาน แต่คุณสนใจในช่วงเวลาสั้น ๆ เมื่อมีบางสิ่งที่น่าสนใจเกิดขึ้น หรือใน CFD การพัฒนาครั้งแรกอาจช้า แต่เมื่อความปั่นป่วนเกิดขึ้นคุณอาจต้องใช้ความละเอียดเวลาสูงกว่าในการตรวจสอบพลวัต มีตัวอย่างของการรวบรวมผลลัพธ์ที่ซับซ้อนจากแบบจำลองหรือไม่?

3
แนวปฏิบัติที่ดีที่สุดสำหรับการจัดเก็บข้อมูลการจำลองแบบลำดับชั้น
TL, DR แนวปฏิบัติที่ดีที่สุดที่ได้รับการยอมรับในวงการคำนวณทางวิทยาศาสตร์คืออะไรสำหรับการจัดเก็บข้อมูลที่มีโครงสร้างเป็นลำดับชั้นจำนวนมาก ตัวอย่างเช่น SQL ไม่สามารถเล่นได้ดีกับเมทริกซ์กระจัดกระจายขนาดใหญ่ มีเครื่องมือที่ดีสำหรับการจัดโครงสร้างคลังสินค้าและการวิเคราะห์ข้อมูลประเภทนี้หรือไม่? พวก LHC ใช้อะไร? ใช้รายละเอียดเคส ฉันต้องการจัดเก็บข้อมูลจากการจำลองโปรตีนตามลำดับชั้นดังต่อไปนี้: protein |__simulation conditions |____|__residues |____|____|__conformers |____|____|____|__atoms โปรตีนทุกชนิดควรตระหนักถึงสิ่งตกค้างแต่ละอะตอมทุกอะตอมควรรู้เงื่อนไขที่ใช้ในการจำลองสถานการณ์ ฯลฯ และในทางกลับกัน แต่เดิมฉันคิดว่าฐานข้อมูลเชิงสัมพันธ์จะสมบูรณ์แบบสำหรับแอปพลิเคชันนี้และดังนั้นฉันจึงเขียนโปรแกรมโดยใช้ python และ sqlalchemey ที่เก็บข้อมูลในฐานข้อมูล SQL อย่างไรก็ตามในทางปฏิบัติโปรแกรมนี้ทำงานได้ไม่ดีนัก ปัญหาที่ใหญ่ที่สุดเกี่ยวข้องกับความจริงที่ว่ามีเมทริกซ์ N x N ที่ระดับข้อมูลผู้ตรวจสอบที่เก็บพลังงานที่มีศักยภาพเนื่องจากการมีปฏิสัมพันธ์ระหว่างคู่ที่เป็นไปได้ทุกคู่ที่เป็นไปได้ รายการส่วนใหญ่ในเมทริกซ์เป็นศูนย์ดังนั้นฉันจึงจัดเก็บเมทริกซ์ในตารางแยกต่างหากในฐานข้อมูลในรูปแบบที่กระจัดกระจายหนึ่งแถวต่อรายการ น่าเสียดายที่การจำลองที่เกี่ยวข้องกับผู้ใช้หลายพันคนโต๊ะคู่ยังคงจบลงด้วยแถวหลายแสนแถวและ: a) การสร้างและการสืบค้นช้ามาก (ชั่วโมง) b) ใช้ลำดับความสำคัญของพื้นที่บนฮาร์ดไดรฟ์ของฉันมากกว่าการแสดงข้อความธรรมดาที่เทียบเท่ากันของข้อมูลในฐานะที่เป็นเมทริกซ์ที่ไม่หรี่ c) ใช้หน่วยความจำมากกว่าสิบกิกะไบต์ ตารางถูกอ่านในหน่วยความจำ เป้าหมายสูงสุดของฉันคือการจัดเก็บการวิ่งนับหมื่นนับพัน (มาจากโปรตีนหลายพันภายใต้เงื่อนไขการจำลองหลายโหล) ในฐานข้อมูลเพื่อให้พวกเขาสามารถวิเคราะห์ร่วมกัน นี่หมายความว่าตารางที่แสดงถึงเมทริกซ์การจับคู่ที่น่าจะเติบโตประมาณหนึ่งพันล้านแถว ขณะนี้ดูเหมือนว่าฉันจะต้อง Cray หรือสัตว์ประหลาดหน่วยความจำที่ใช้ร่วมกันอื่น …

3
ไฟล์ HDF5 เหมาะสมสำหรับการควบคุมการแก้ไข git หรือไม่?
ฉันไม่คุ้นเคยกับรูปแบบไฟล์ที่ใช้ใน HDF5 แต่ฉันสงสัยว่าไฟล์ HDF5 เหมาะสมสำหรับการควบคุมการแก้ไขด้วย git (หรือตัวอย่างเช่น Mercurial หรือ Subversion) หรือไม่ ฉันเดาว่าฉันหมายถึงอะไร: ไฟล์ HDF5 เหมาะสำหรับการกระจายแบบ line-based หรือคอมไพล์จะต้องรักษา HDF5 เป็นไบนารี่ขนาดใหญ่หนึ่งไฟล์และจัดเก็บสำเนาทั้งหมดสำหรับการแก้ไขแต่ละครั้งหรือไม่

2
ข้อ จำกัด ของ Pandas และทางเลือกใน Python
ฉันอ่านที่ไหนสักแห่งที่Pandasได้รับการพัฒนาเป็นครั้งแรกสำหรับโลกการเงินอย่างน้อยก็ไม่ได้โดยเฉพาะอย่างยิ่งสำหรับวิทยาศาสตร์ธรรมชาติ (ฟิสิกส์ชีววิทยาและอื่น ๆ ) ดังนั้นการวิเคราะห์ข้อมูลใดที่คล้ายกัน Python แพ็คเกจ "วิทยาศาสตร์ธรรมชาติเชิง" ฉันเพิ่งเริ่มใช้ Pandas และฉันพบปัญหาสองอย่างที่ฉันไม่สามารถแก้ไขได้โดยไม่ใช้แพ็คเกจอื่นหรือวิธีแก้ปัญหาแบบโฮมเมด: จะจัดการความไม่แน่นอนได้อย่างไร จะกำหนดหน่วยข้อมูลของฉันได้อย่างง่ายดายได้อย่างไร? อาจมีปัญหาอื่น ๆ แต่ฉันไม่มีประสบการณ์ที่จะแม่นยำมากขึ้น ในตอนนี้ฉันคิดถึงแพ็คเกจความไม่แน่นอนที่จะแก้จุดแรก แต่ฉันไม่แน่ใจว่ามันจะทำงานได้ดีกับนุ่นและจะไม่ลดความเร็วในการคำนวณ ที่จริงแล้วฉันไม่ได้มองหาวิธีการคำนวณด้วยความไม่แน่นอนเพียงวิธีง่ายๆในการจัดเก็บความไม่แน่นอนพร้อมกับข้อมูลที่นำเข้าของฉัน สำหรับจุดที่สองฉันไม่พบทางออกที่ดีไปกว่าการสร้างพจนานุกรมนอกเหนือจาก DataFrame ของฉันเพื่อจัดการหน่วยที่เกี่ยวข้องกับแต่ละข้อมูล หากคุณเคยประสบปัญหาเดียวกันคุณจะแก้ไขได้อย่างไรหรือใช้แพคเกจอื่นใดในการจัดการ / จัดเก็บ / วิเคราะห์ข้อมูลใน Python ในสาขาวิทยาศาสตร์ธรรมชาติ

2
ข้อเสนอแนะสำหรับการจัดการการจำลองการทำงาน?
คำถามนี้อาจเป็นหัวข้อนอกเรื่องใน comp-sci หากมีความจำเป็นโปรดแนะนำสถานที่ที่เหมาะสมกับมัน คำถามเกี่ยวกับวิธีการจัดการการจำลองทั้งหมดทำงานได้อย่างมีประสิทธิภาพ ตัวอย่างเช่นการจำลองต้องการการแก้ไขพารามิเตอร์ 2 ตัวซึ่งจะต้องมีการกำหนดในช่วงค่าที่แนะนำ เพื่อหาผลลัพธ์ที่ดีกว่าที่ผลิตโดยคู่ของพารามิเตอร์สองตัว (โดยการเปรียบเทียบผลการจำลองกับข้อมูลการทดลองตัวอย่าง) เราสามารถทำการวิเคราะห์ความอ่อนไหวโดยการกำหนดสามค่าสำหรับแต่ละพารามิเตอร์จากนั้นกำหนดสูตร 9 รัน ก่อนหน้านี้ฉันใช้sedเพื่อเปลี่ยนอินพุตสำหรับการทำงานแต่ละครั้งและติดแท็กการทดสอบแต่ละครั้งโดยการเขียนค่าและชื่อพารามิเตอร์ในโฟลเดอร์ที่เก็บอินพุตและผลลัพธ์ของการทำงานนี้ แต่ฉันพบว่าสิ่งนี้ไม่มีประสิทธิภาพมากเมื่อจำนวนพารามิเตอร์เพิ่มขึ้น (เช่นเข้าถึงชื่อของโฟลเดอร์ในสคริปต์สำหรับการพล็อต) จากนั้นฉันตัดสินใจที่จะใช้หมายเลขแบบง่ายเป็นชื่อโฟลเดอร์และเก็บรายละเอียดโดยสเปรดชีตอื่น ๆ วิธีนี้ก็โอเค แต่ต้องใช้งานลำบาก เช่นเดียวกันกับการเติบโตของการวิ่งมันเป็นเรื่องปกติที่จะทำผิดพลาดเช่นทำการวิ่งอีกครั้งซึ่งได้ทำไปแล้วเมื่อสองสามวันก่อน คุณมีความคิดที่ดีเกี่ยวกับการจัดการการวิ่งเหล่านี้หรือไม่? ฉันคิดว่ามันจะมีความสำคัญอย่างยิ่งสำหรับคนที่ทำการวิเคราะห์ Monte Carlo? ขอบคุณล่วงหน้า!
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.