Saturday 15 July 2017

การย้าย ค่าเฉลี่ย หลาม Numpy


อืมดูเหมือนว่าง่ายที่จะใช้ฟังก์ชันนี้เป็นเรื่องง่ายสวยผิดและส่งเสริมการอภิปรายที่ดีเกี่ยวกับประสิทธิภาพของหน่วยความจำฉันยินดีที่จะมีการขยายตัวถ้ามันหมายถึงการรู้ว่าสิ่งที่ได้รับการทำถูกริชาร์ด 20 กันยายน 14 ที่ 19 23.NumPy การขาดการทำงานเฉพาะโดเมนโดยเฉพาะอาจเนื่องมาจากหลักเกณฑ์ของ Core Team และความจงรักภักดีต่อคำสั่ง NumPy s prime ให้มีประเภทอาร์เรย์ N มิติรวมถึงฟังก์ชันสำหรับการสร้างและการจัดทำดัชนีอาร์เรย์เหล่านี้เช่นเดียวกับวัตถุประสงค์พื้นฐานหลายประการ ไม่เล็กและ NumPy ไม่เก่ง. SciPy มีขนาดใหญ่กว่ามากมีห้องสมุดเฉพาะโดเมนที่เรียกว่า subpackages โดย SciPy devs เช่นการเพิ่มประสิทธิภาพการเพิ่มประสิทธิภาพเชิงตัวเลข signaling signal signaling และการคำนวณแคลคูลัสรวม ว่าฟังก์ชันที่คุณใช้หลังจากอยู่ในกลุ่มย่อย SciPy อย่างน้อยหนึ่งอย่างอาจเป็นอย่างไรก็ตามฉันจะดูเป็นครั้งแรกในชุด SciPy scikits ระบุ scikit ที่เกี่ยวข้องและมองหา ฟังก์ชั่นที่น่าสนใจมีคำแนะนำชุดพัฒนาขึ้นโดยอิสระบนพื้นฐานของ NumPy SciPy และนำไปสู่ระเบียบวินัยด้านเทคนิคโดยเฉพาะเช่น scikits-image scikits-learn ฯลฯ หลาย ๆ อย่างโดยเฉพาะอย่างยิ่ง OpenOpt น่ากลัวสำหรับการเพิ่มประสิทธิภาพเชิงตัวเลขได้รับการยอมรับอย่างสูง ก่อนที่จะเลือกที่จะอาศัยอยู่ภายใต้ค่าความนิยม scikits ใหม่หน้าแรกของ Scikits ชอบรายการข้างต้นประมาณ 30 scikits ดังกล่าวแม้ว่าอย่างน้อยหลายคนจะไม่อยู่ภายใต้การพัฒนาที่ใช้งานต่อไปนี้คำแนะนำจะนำคุณไป scikits-timeseries แต่แพคเกจที่ไม่มี อีกต่อไปภายใต้การพัฒนาที่ใช้งานได้ผล Pandas ได้กลายเป็น AFAIK ซึ่งเป็นชุดไลบรารีไทม์ NumPy ที่ใช้ de facto ซึ่งมีฟังก์ชันหลายอย่างที่สามารถนำมาใช้คำนวณค่าเฉลี่ยเคลื่อนที่ได้ง่ายที่สุดนั่นคืออาจจะเป็น rollingmean ที่คุณใช้เช่นนี้ เพียงเรียกใช้ฟังก์ชัน rollingmean ที่ส่งผ่านไปยังชุดข้อมูลและขนาดของหน้าต่างซึ่งในตัวอย่างด้านล่างของฉันคือ 10 วันตรวจสอบว่า w orked - เช่นค่าที่เทียบกัน 10 - 15 ในชุดต้นฉบับกับชุดใหม่เรียบด้วยความหมายกลิ้ง. ฟังก์ชัน rollingmean พร้อมกับประมาณหนึ่งโหลหรืออื่น ๆ ฟังก์ชันจะถูกจัดกลุ่มอย่างไม่เป็นทางการในเอกสาร Pandas ภายใต้รูเล็ตย้ายหน้าต่างทำงานที่สอง. , กลุ่มที่เกี่ยวข้องของฟังก์ชันใน Pandas เรียกว่าฟังก์ชันที่มีการยกกำลังเลขยกกำลังเช่น ewma ซึ่งคำนวณค่าเฉลี่ยถ่วงน้ำหนักแบบยกกำลังความจริงที่ว่ากลุ่มที่สองนี้ไม่ได้รวมอยู่ในฟังก์ชันการเคลื่อนย้ายหน้าต่างแรกอาจเป็นเพราะการแปลงแบบทวีคูณเป็นหลัก ความยาวคงที่ window. answered 14 ม. ค. 13 ที่ 6 38. ฉันรู้ว่านี่เป็นคำถามเก่า แต่นี่คือโซลูชันที่ doesn t ใช้โครงสร้างข้อมูลใด ๆ หรือห้องสมุดเป็นเชิงเส้นในจำนวนองค์ประกอบของรายการเข้าและ ฉันไม่สามารถคิดวิธีอื่นใดเพื่อให้มีประสิทธิภาพมากขึ้นจริงถ้าใครรู้วิธีที่ดีกว่าในการจัดสรรผลโปรดแจ้งให้เราทราบ. นี้จะเร็วมากโดยใช้ numpy arr. ay แทนรายการ แต่ฉันต้องการกำจัด dependencies ทั้งหมดนอกจากนี้ยังจะเป็นไปได้ในการปรับปรุงประสิทธิภาพโดยการดำเนินการแบบมัลติเธรดฟังก์ชั่นสมมติว่ารายการอินพุทเป็นหนึ่งมิติดังนั้นต้องระมัดระวัง OPD โซลูชั่นที่มีประสิทธิภาพมากขึ้นได้รับการเสนอโดย Alleo และ jasaarim. You สามารถใช้สำหรับอาร์กิวเมนต์โหมดที่ระบุวิธีการจัดการขอบฉันเลือกโหมดที่ถูกต้องที่นี่เพราะฉันคิดว่าเป็นวิธีที่คนส่วนใหญ่คาดหวังทำงานหมายถึงการทำงาน แต่คุณอาจมีความสำคัญอื่น ๆ นี่คือพล็อตที่ แสดงให้เห็นถึงความแตกต่างระหว่างโหมดตอบ 24 มีนาคมที่ 22 01. ฉันชอบแก้ปัญหานี้เพราะเป็นเส้นเดียวที่สะอาดและทำงานที่มีประสิทธิภาพค่อนข้างทำภายใน Numpy แต่ Alleo s โซลูชั่นที่มีประสิทธิภาพโดยใช้มีความซับซ้อนที่ดีขึ้น Ulrich Stern 25 ก. ย. 15 ที่ 0 31 คุณสามารถคำนวณค่าเฉลี่ยในการทำงานได้ด้วยโชคดีที่ numpy มีฟังก์ชัน convolve ที่เราสามารถใช้เพื่อเพิ่มความเร็วได้ค่า mean run เท่ากับ convolving x กับเวกเตอร์ที่ยาว N โดยมีสมาชิกเท่ากับ 1 N การดำเนินการ numpy ของ convolve รวมถึงชั่วคราวเริ่มต้นดังนั้นคุณต้องลบจุดแรก N-1 ในเครื่องของฉันรุ่นรวดเร็วเป็น 20-30 ครั้งเร็วขึ้นอยู่กับความยาวของเวกเตอร์อินพุทและขนาดของหน้าต่างเฉลี่ย หมายเหตุว่า convolve จะรวมถึงโหมดเดียวกันซึ่งดูเหมือนว่าควรจะอยู่ปัญหาชั่วคราวเริ่มต้น แต่แยกระหว่างจุดเริ่มต้นและ end. It เอาชั่วคราวจากปลายและจุดเริ่มต้น doesn t มีหนึ่งฉันคิดว่ามัน เรื่องของลำดับความสำคัญฉัน don t ต้องการจำนวนเดียวกันของผลค่าใช้จ่ายในการรับความลาดชันไปทางศูนย์ที่ isn t มีในข้อมูล BTW นี่คือคำสั่งเพื่อแสดงความแตกต่างระหว่างโหมดโหมดเต็มรูปแบบเดียวกันพล็อตที่ถูกต้อง convolve คน 200, คน 50, 50, โหมด m สำหรับ m ในโหมดแกน -10, 251, - 1, 1 1 โหมดตำนาน loc ศูนย์ล่างกับ pyplot และ numpy lapis นำเข้า มี.ค. 24 14 ที่ 13 56.pandas จะเหมาะสมกว่า สำหรับนี้กว่า NumPy หรือ SciPy ฟังก์ชัน rollingmean ทำงานได้สะดวก ly นอกจากนี้ยังส่งกลับอาร์เรย์ NumPy เมื่อใส่เป็น array. It เป็นเรื่องยากที่จะชนะ rollingmean ในการปฏิบัติงานใด ๆ ที่กำหนดเอง Python บริสุทธิ์นี่คือประสิทธิภาพตัวอย่างกับสอง solutions. There เสนอยังมีตัวเลือกที่ดีเป็นวิธีการจัดการ มีค่าขอบ I m รำคาญเสมอโดยฟังก์ชันการประมวลผลสัญญาณที่ส่งกลับสัญญาณขาออกของรูปร่างที่แตกต่างจากสัญญาณอินพุตเมื่อทั้งสองปัจจัยการผลิตและผลมีลักษณะเดียวกันเช่นสัญญาณทั้งสองชั่วขณะมันแบ่งการติดต่อกับตัวแปรอิสระที่เกี่ยวข้องเช่นเวลาความถี่ ถ้าคุณแบ่งปันความรู้สึกคุณอาจต้องการเปลี่ยนบรรทัดสุดท้ายของฟังก์ชันที่เสนอเป็นผลตอบแทนที่เหมือนกัน y windowlen-1 - windowlen-1 Christian O Reilly 25 ส. ค. 15 ที่ 19 56.A bit ปลายพรรค แต่ฉันได้ทำหน้าที่ของตัวเองเล็กน้อยของฉันที่ไม่ห่อรอบปลายหรือแผ่นที่มี zeroes ที่ใช้แล้วเพื่อหาค่าเฉลี่ยรวมทั้งการรักษาต่อไปคือว่ายัง อีกตัวอย่างสัญญาณที่จุดเว้นระยะเชิงเส้นปรับแต่งโค้ดที่จะได้รับคุณสมบัติอื่น ๆ วิธีการคือการคูณเมทริกซ์อย่างง่ายกับเคอร์เนล Gaussian normalized การใช้งานง่ายในสัญญาณไซน์ที่มีการกระจายเสียงรบกวนปกติคำถามนี้คือตอนนี้แม้ เก่ากว่าเมื่อ NeXuS เขียนเกี่ยวกับเรื่องนี้เมื่อเดือนที่แล้ว แต่ฉันชอบวิธีการรหัสของเขาเกี่ยวข้องกับกรณีขอบ แต่เนื่องจากเป็นค่าเฉลี่ยเคลื่อนที่ง่ายก็ผล lag หลังข้อมูลที่ใช้กับฉันคิดว่าการจัดการกับกรณีขอบในอีก วิธีที่น่าพอใจกว่าโหมด NumPy ที่ถูกต้องเหมือนกันและเต็มรูปแบบสามารถทำได้โดยการใช้วิธีการที่คล้ายกับวิธีการที่ใช้วิธีการชักนำการมีส่วนร่วมของฉันใช้ค่าเฉลี่ยในการทำงานกลางเพื่อจัดผลลัพธ์ให้กับข้อมูลของตนเมื่อมีสองสามจุดสำหรับเต็มรูปแบบ หน้าต่างที่จะใช้ค่าเฉลี่ยที่ทำงานจะคำนวณจากหน้าต่างเล็ก ๆ ที่ต่อเนื่องที่ขอบของอาร์เรย์ที่จริงจากหน้าต่างที่ใหญ่กว่าอย่างต่อเนื่อง แต่ที่รายละเอียดการดำเนินงานของมันค่อนข้างช้า เพราะใช้ convolve และอาจจะ spruced ขึ้นค่อนข้างมากโดย Pythonista จริง แต่ผมเชื่อว่าแนวคิด stands. answered 2 มกราคมที่ 0 28 เป็นสิ่งที่ดี แต่ช้าเมื่อความกว้างของหน้าต่างเติบโตใหญ่คำตอบบางอย่างให้ขั้นตอนวิธีที่มีประสิทธิภาพมากขึ้น กับ แต่ดูเหมือนไม่สามารถจัดการค่าขอบฉันเองได้ใช้ขั้นตอนวิธีที่อาจจัดการกับปัญหานี้ได้ดีถ้าปัญหานี้ได้รับการประกาศเป็น mergenum parameter. Input สามารถคิดเป็น 2 windowwidth 1.I ทราบรหัสนี้ไม่สามารถอ่านได้เล็กน้อยถ้า u พบว่ามีประโยชน์และต้องการ expanations บางโปรดแจ้งให้เราทราบและฉันจะ update คำตอบนี้ตั้งแต่เขียนคำอธิบายอาจเสียค่าใช้จ่ายฉันมากเวลาฉันหวังว่าฉันจะทำเฉพาะเมื่อมีคนต้องการมันโปรดให้อภัยฉันสำหรับความเกียจคร้านของฉันถ้าเพียง u เป็น สนใจใน version. It เดิมของมันแม้ไม่สามารถอ่านได้มากขึ้นแก้ปัญหาแรกได้รับการกำจัดปัญหาขอบโดยช่องว่างภายในรอบ แต่โซลูชั่นที่สองโพสต์ที่นี่จัดการกับมันในทางที่ยากและโดยตรงในประโยคสุดท้ายของฉันฉันพยายามที่จะ indicat ทำไมมันช่วยให้ข้อผิดพลาดจุดลอยถ้าสองค่าประมาณลำดับเดียวกันของขนาดแล้วเพิ่มพวกเขาสูญเสียความแม่นยำน้อยกว่าถ้าคุณเพิ่มจำนวนมากไปมากขนาดเล็กรหัสรวมค่าที่อยู่ติดกันในลักษณะที่แม้ผลรวมกลางควร มักจะใกล้ชิดในขนาดเพื่อลดข้อผิดพลาดจุดลอยไม่มีหลักฐานอะไรโง่ แต่วิธีนี้ได้บันทึกคู่โครงการดำเนินการไม่ดีมากในการผลิต Mayur Patel 15 ธันวาคม 14 ที่ 17 22. Alleo แทนการทำหนึ่งนอกจากต่อค่าคุณ ll จะทำสองพิสูจน์เป็นเช่นเดียวกับปัญหา bit-flipping แต่จุดของคำตอบนี้ไม่จำเป็นต้องประสิทธิภาพ แต่ความแม่นยำใช้หน่วยความจำเฉลี่ย 64 บิตค่าจะไม่เกิน 64 องค์ประกอบในแคชจึงเป็นมิตร การใช้หน่วยความจำเช่นกัน Mayur Patel 29 ธ. ค. ที่ผ่านมาที่ 17 04. ก่อนหน้านี้เราได้นำเสนอวิธีการสร้างค่าเฉลี่ยเคลื่อนที่โดยใช้ python บทแนะนำนี้จะเป็นความต่อเนื่องของหัวข้อนี้ค่าเฉลี่ยเคลื่อนที่ในบริบทของ stati stics หรือที่เรียกว่า rolling rolling average เป็นประเภทของการตอบสนองของแรงกระตุ้นแน่นอนในบทก่อนหน้าของเราเราได้วางแผนมูลค่าของอาร์เรย์ x และ y ให้พล็อต x กับค่าเฉลี่ยเคลื่อนที่ของ y ที่เราจะเรียก yMA. Firstly ให้ s เท่ากันความยาวของอาร์เรย์ทั้งสองและแสดงใน context. The กราฟที่เกิดขึ้นเพื่อช่วยให้เข้าใจเรื่องนี้ให้พล็อตสองความสัมพันธ์ที่แตกต่างกัน x vs y และ x vs MAy. The ค่าเฉลี่ยเคลื่อนที่ที่นี่เป็นพล็อตสีเขียวที่เริ่มต้น ที่ 3. ในความคืบหน้าของบทแนะนำนี้เราจะเรียนรู้วิธีคำนวณค่าเฉลี่ยเคลื่อนที่ในชุดข้อมูลขนาดใหญ่

No comments:

Post a Comment