Tuesday 25 July 2017

Numpy เคลื่อนไหว เฉลี่ย ฟังก์ชั่น


ตัวอย่างต่อไปนี้แสดงค่าเฉลี่ยเคลื่อนที่ของค่า WINDOW ก่อนหน้านี้ เราตัดค่าแรก (WINDOW -1) เนื่องจากเราสามารถหาค่าเฉลี่ยก่อนหน้าได้ (พฤติกรรมเริ่มต้นสำหรับ convolution คือสมมติว่าค่าก่อนเริ่มลำดับของเราคือ 0) (เพิ่มเติมอย่างเป็นทางการเราสร้างลำดับ y สำหรับลำดับ x ที่ yi (xi x (i1) 8230 x (in)) n) ใช้ฟังก์ชัน numpy8217s convolution นี่คือจุดประสงค์ทั่วไปในการเคลื่อนที่โดยเฉลี่ย การเปลี่ยนการชั่งน้ำหนักทำให้ค่าบางอย่างมีความสำคัญยิ่งขึ้นในการหักกลบลบหนี้อย่างเหมาะสมช่วยให้คุณสามารถดูค่าเฉลี่ยโดยรอบจุดมากกว่าก่อนจุด แทนที่จะตัดทอนค่าเราสามารถกำหนดค่าเริ่มต้นได้ในสถานที่ดังที่แสดงในตัวอย่างนี้: อืมมดูเหมือนว่าการอ้างสิทธิ์ในการใช้ฟังก์ชันนี้เป็นเรื่องง่ายที่จะทำผิดและกระตุ้นให้เกิดการอภิปรายที่ดีเกี่ยวกับประสิทธิภาพของหน่วยความจำ ฉันยินดีที่จะมีการบวมถ้ามันหมายถึงการรู้ว่าสิ่งที่ได้รับการทำถูกต้อง ndash Richard Sep 20 14 at 19:23 การขาดฟังก์ชันเฉพาะโดเมนเฉพาะของ NumPys อาจเนื่องมาจากหลักเกณฑ์ของ Core Teams และความเที่ยงตรงในการใช้คำสั่ง NumPys สำคัญ: ให้อาร์เรย์แบบ N-dimensional รวมทั้งฟังก์ชันสำหรับการสร้างและการจัดทำดัชนีอาร์เรย์เหล่านั้น เช่นเดียวกับวัตถุประสงค์พื้นฐานหลายอย่างนี้ไม่เล็กและ NumPy ไม่เก่ง SciPy ขนาดใหญ่ (ใหญ่มาก) มีคอลเล็กชันเฉพาะของห้องสมุดเฉพาะโดเมน (เรียกว่า subpackages by SciPy devs) - ตัวอย่างเช่นการเพิ่มประสิทธิภาพเชิงตัวเลข (optimization) การประมวลผลสัญญาณ (สัญญาณ) และแคลคูลัสหนึ่ง (integrate) ฉันเดาว่าฟังก์ชันที่คุณใช้หลังจากอยู่ในอย่างน้อยหนึ่งชุดย่อยของ SciPy (scipy. signal บางที) แต่ฉันจะดูเป็นครั้งแรกในชุดของ SciPy scikits ระบุ scikit ที่เกี่ยวข้องและค้นหาฟังก์ชันที่น่าสนใจที่นั่น Scikits ได้รับการพัฒนาขึ้นโดยใช้ชุดโปรแกรม NumPySciPy และนำไปสู่ระเบียบวินัยด้านเทคนิคโดยเฉพาะ (เช่น scikits-image. scikits-learn เป็นต้น) หลายคนได้รับการยกย่องว่าเป็นโครงการที่มีความยาวนานเป็นจำนวนมาก (โดยเฉพาะอย่างยิ่ง OpenOpt ที่น่ากลัวสำหรับการเพิ่มประสิทธิภาพเชิงตัวเลข) ก่อนที่จะเลือกที่จะอาศัยอยู่ใต้รูบริก scikits ที่ค่อนข้างใหม่ หน้าแรกของ Scikits ชอบรายการด้านบนประมาณ 30 scikits ดังกล่าว แม้ว่าอย่างน้อยหลายคนจะไม่อยู่ภายใต้การพัฒนางาน อย่างไรก็ตามคำแนะนำนี้จะนำคุณไปสู่ ​​scikits-timeseries แต่แพคเกจดังกล่าวไม่ได้อยู่ภายใต้การพัฒนาที่มีประสิทธิภาพ Pandas กลายเป็น AFAIK ห้องสมุดไลบรารีไทม์ NumPy ที่ใช้ de facto หมีแพนด้ามีหน้าที่หลายอย่างที่สามารถใช้คำนวณค่าเฉลี่ยเคลื่อนที่ได้โดยง่ายที่สุด ที่คุณใช้เช่นนี้: ตอนนี้เพียงเรียกใช้ฟังก์ชัน rollingmean ที่ส่งผ่านไปยังชุดข้อมูลและขนาดของหน้าต่าง ซึ่งในตัวอย่างข้างล่างนี้คือ 10 วัน ตรวจสอบว่าทำงานได้ดีหรือไม่ - เช่น เปรียบเทียบค่า 10 - 15 ในชุดต้นฉบับเมื่อเทียบกับชุดใหม่ที่เรียบด้วยความหมายของการม้วนฟังก์ชัน rollingmean พร้อมด้วยฟังก์ชันอื่น ๆ ประมาณหนึ่งโหลจะถูกจัดกลุ่มอย่างไม่เป็นทางการในเอกสาร Pandas ภายใต้หน้าต่างการเคลื่อนย้ายตามรูบี้จะทำหน้าที่เป็นกลุ่มที่สอง ใน Pandas จะเรียกว่าฟังก์ชันที่มีการถ่วงน้ำหนักแบบเลขยกกำลัง (เช่น ewma ซึ่งคำนวณค่าเฉลี่ยถ่วงน้ำหนักที่ชี้แจง) ความจริงที่ว่ากลุ่มที่สองนี้ไม่ได้รวมอยู่ในส่วนแรก (ฟังก์ชันการเคลื่อนย้ายหน้าต่าง) อาจเป็นเพราะการแปลงแบบทวีคูณไม่มีการพึ่งพาหน้าต่างที่มีความยาวคงที่เราเคยแนะนำวิธีสร้างค่าเฉลี่ยเคลื่อนที่โดยใช้งูหลาม บทแนะนำนี้จะเป็นหัวข้อต่อเนื่องของหัวข้อนี้ ค่าเฉลี่ยเคลื่อนที่ในบริบทที่เรียกว่าค่าเฉลี่ยของการวนซ้ำ (rollingrunning average) เป็นรูปแบบของการตอบสนองต่อแรงกระตุ้นแน่นอน ในกวดวิชาก่อนหน้านี้เราได้วางแผนค่าของอาร์เรย์ x และ y: Let8217s พล็อต x เทียบกับค่าเฉลี่ยเคลื่อนที่ของ y ที่เราจะเรียก yMA: ประการแรก let8217s จะปรับความยาวของทั้งสองอาร์เรย์: และเพื่อแสดงสิ่งนี้ในบริบท: ผลลัพธ์ กราฟ: เพื่อช่วยให้เข้าใจเรื่องนี้พล็อตสองความสัมพันธ์ที่แตกต่างกัน: x vs y และ x vs MAy: ค่าเฉลี่ยเคลื่อนที่ที่นี่เป็นพล็อตสีเขียวที่เริ่มต้นที่ 3: แบ่งปันนี้: เช่นนี้: โพสต์การนำทางฝากความคิดเห็นยกเลิกการตอบ ต้องการอ่านส่วนสุดท้ายในชุดข้อมูลขนาดใหญ่หวังว่ามันจะมาเร็ว ๆ นี้ bloggers8230 เช่นนี้: แกน numpy. average พร้อมที่จะเฉลี่ย a. ถ้าไม่มี ค่าเฉลี่ยจะกระทำผ่านอาร์เรย์ที่ราบเรียบ น้ำหนัก อาร์เรย์ของน้ำหนักที่เกี่ยวข้องกับค่าใน a. ค่าแต่ละค่าจะก่อให้เกิดค่าเฉลี่ยตามน้ำหนักที่เกี่ยวข้อง อาร์เรย์ของน้ำหนักอาจเป็น 1-D (ซึ่งในกรณีนี้ความยาวของมันต้องเป็นขนาดของแกนตามที่กำหนด) หรือมีรูปร่างเช่นเดียวกับ a. หาก weightsNone จากนั้นข้อมูลทั้งหมดใน a จะถือว่ามีน้ำหนักเท่ากับหนึ่ง กลับมา bool ค่าเริ่มต้นเป็นตัวเลือกไม่ถูกต้อง ถ้าเป็นจริง . จะถูกส่งกลับมิฉะนั้นจะมีการส่งคืนค่าเฉลี่ยเท่านั้น หาก weightsNone sumofweights เท่ากับจำนวนขององค์ประกอบที่มีการใช้ค่าเฉลี่ย เฉลี่ย sumofweights arraytype หรือ double คืนค่าเฉลี่ยตามแกนที่ระบุ เมื่อกลับมาเป็น True ส่งกลับค่า tuple โดยมีค่าเฉลี่ยเป็นองค์ประกอบแรกและเป็นผลรวมของน้ำหนักเป็นองค์ประกอบที่สอง ชนิดการส่งคืนคือ Float ถ้าเป็นชนิดจำนวนเต็มมิฉะนั้นจะเป็นแบบเดียวกับ a sumofweights เป็นประเภทเดียวกับค่าเฉลี่ย

No comments:

Post a Comment