Monday 15 January 2018

نمباي - لف - الأسي الحركة من المتوسط


همم، يبدو هذا كوتيسي إلى إمبليمنتكوت وظيفة هو في الواقع من السهل جدا للحصول على خطأ، وقد عززت مناقشة جيدة حول كفاءة الذاكرة. I39m سعيدة أن يكون سخام إذا كان ذلك يعني معرفة أن شيء 39 تم القيام به الحق. نداش ريتشارد سيب 20 14 في 19:23 نومبيس عدم وجود وظيفة محددة المجال محددة ربما يرجع إلى انضباط فرق الأساسية والإخلاص لتوجيه نومبيس الرئيسي: توفير نوع صفيف N - الأبعاد. فضلا عن وظائف لإنشاء وفهرسة تلك المصفوفات. مثل العديد من الأهداف التأسيسية، وهذا واحد ليس صغيرا، و نومبي يفعل ذلك ببراعة. يحتوي المختبر الأكبر حجما (أكبر بكثير) على مجموعة أكبر بكثير من المكتبات الخاصة بالنطاق (تسمى سوباكاجيس بواسطة سسيبي ديفس) - على سبيل المثال، التحسين العددي (الأمثل)، معالجة الإشارات (إشارة)، وحساب التفاضل والتكامل المتكامل (التكامل). تخميني هو أن وظيفة كنت بعد في واحد على الأقل من سوباكاجيس سسيبي (scipy. signal ربما) ومع ذلك، أود أن ننظر أولا في جمع سكيتس سسيبي. وتحديد سكيت ذات الصلة (ق) والبحث عن وظيفة من الفائدة هناك. يتم تطوير سكيكتس بشكل مستقل حزم على أساس نومبيسيبي وتوجيهها إلى الانضباط التقني معين (على سبيل المثال سكيتس-إيماج. سكيكيتس-تعلم ... الخ) وكان العديد من هذه (على وجه الخصوص، أوبينوب رهيبة للتحسين العددي) اعتبرت للغاية، مشاريع ناضجة طويلة قبل اختيار الإقامة تحت سيكيتس جديدة نسبيا. صفحة سكيكيتس الرئيسية أحب أن فوق قوائم حوالي 30 هذه سكيتس. على الرغم من أن العديد منها لم يعد قيد التطوير النشط. بعد هذه النصيحة سوف تقودك إلى سكيتس-تيمسيريز ومع ذلك، أن حزمة لم تعد قيد التطوير النشط في الواقع، أصبح بانداس، عفيك، القائم على نومبي القائمة على أساس سلسلة الوقت المكتبة. الباندا لديها العديد من الوظائف التي يمكن استخدامها لحساب المتوسط ​​المتحرك أبسط من هذه ربما رولينغمين. التي تستخدمها مثل ذلك: الآن، مجرد استدعاء الدالة رولينغمين يمر في كائن سلسلة وحجم النافذة. والتي في مثالي أدناه 10 أيام. تحقق من أنها عملت - على سبيل المثال. مقارنة القيم 10-15 في السلسلة الأصلية مقابل سلسلة جديدة ممهدة مع المتداول يعني الدالة رولينغمين، جنبا إلى جنب مع حوالي اثني عشر أو غيرها من وظيفة أخرى يتم تجميعها بشكل غير رسمي في وثائق الباندا تحت إطار نقل الحركة وظائف مجموعة ثانية، ذات الصلة من وظائف في الباندا يشار إليها بوظائف مرجحة أضعافا مضاعفة (مثل إوما، التي تحسب المتوسط ​​المرجح المتحرك أضعافا مضاعفة). حقيقة أن هذه المجموعة الثانية غير مدرجة في أول (وظائف النافذة المتحركة) ربما لأن التحولات المرجحة أضعافا لا تعتمد على نافذة ثابتة على طول الإطار التقني 0.0.16 توفر هذه الوحدة بعض المؤشرات الفنية لتحليل المخزونات. وتوفر هذه الوحدة بعض المؤشرات الفنية لتحليل المخزونات. عندما أستطيع أن أضيف المزيد. إذا كان أي شخص يرغب في المساهمة مع رمز جديد أو التصحيحات، لا تتردد. مؤشر القوة النسبية (رسي)، روك، ما المغلفات المتوسط ​​المتحرك البسيط (سما)، المتوسط ​​المتحرك المرجح (وما)، المتوسط ​​المتحرك الأسي (إما) البولنجر باند (بب)، بولينجر باندويدث، B ويتطلب نومبي. تم إجراء هذه الوحدة واختبارها تحت ويندوز مع بيثون 2.7.3 و نومبي 1.6.1.أعرف أن هذا هو السؤال القديم، ولكن هنا هو الحل الذي لا يستخدم أي هياكل بيانات إضافية أو المكتبات. انها خطية في عدد من عناصر قائمة الإدخال وأنا لا يمكن التفكير في أي طريقة أخرى لجعلها أكثر كفاءة (في الواقع إذا كان أي شخص يعرف من أفضل طريقة لتخصيص النتيجة، واسمحوا لي أن أعرف). ملاحظة: هذا سيكون أسرع بكثير باستخدام مجموعة نامبي بدلا من قائمة، ولكن أردت للقضاء على جميع التبعيات. كما سيكون من الممكن تحسين الأداء بتنفيذ متعدد الخيوط تفترض الدالة أن قائمة الإدخال هي بعد واحد، لذا كن حذرا. أوبد: تم اقتراح حلول أكثر كفاءة من قبل أليو و جساريم. يمكنك استخدام np. convolve لذلك: تحدد وسيطة الوضع كيفية التعامل مع الحواف. لقد اخترت الوضع الصحيح هنا لأنني أعتقد أن هذا هو ما يتوقع معظم الناس تشغيل يعني أن العمل، ولكن قد يكون لديك أولويات أخرى. هنا هو مؤامرة التي توضح الفرق بين وسائط: أجاب 24 مارس 14 في 22:01 أنا أحب هذا الحل لأنه نظيف (سطر واحد) وفعالة نسبيا (العمل المنجز داخل نومبي). ولكن Alleo39s كوتيفيسيانت سولوتيونوت باستخدام numpy. cumsum لديه تعقيد أفضل. نداش أولريش ستيرن سيب 25 15 في 0:31 يمكنك حساب يعني الجري مع: لحسن الحظ، يتضمن نومبي وظيفة كونفولف التي يمكننا استخدامها لتسريع الامور. ويعادل متوسط ​​التشغيل حروف x مع متجه هو N طويل، مع تساوي جميع الأعضاء 1N. ويشمل تنفيذ نامبي من كونفولف بداية عابرة، لذلك عليك إزالة أول N-1 نقطة: على الجهاز بلدي، الإصدار السريع هو 20-30 مرات أسرع، وهذا يتوقف على طول ناقلات الإدخال وحجم نافذة المتوسط . لاحظ أن الإقناع لا يتضمن نفس الوضع الذي يبدو أنه ينبغي أن يعالج مسألة عابرة البداية، ولكنه يقسمها بين البداية والنهاية. فإنه يزيل عابرة من النهاية، وبداية donn39 لها واحدة. حسنا، أعتقد it39s مسألة الأولويات، أنا don39t تحتاج إلى نفس العدد من النتائج على حساب الحصول على المنحدر نحو الصفر التي isn39t هناك في البيانات. بتو، هنا هو الأمر لإظهار الفرق بين وسائط: وسائط (39full39، 39same39، 39valid39) مؤامرة (كونفولف (تلك ((200،))، منها (50،)) 4750، مودم)) ل m في وسائط محور (-10، 251، -1، 1.1) أسطورة (وسائط، مركز 3939lower) (مع بيبلوت و نومبي المستوردة). نداش اللازورد 24 مارس 14 في 13:56 الباندا هو أكثر ملاءمة لهذا من نومبي أو الخيال. وظيفتها رولينغمين لا وظيفة بشكل ملائم. كما تقوم بإرجاع صفيف نومبي عندما يكون الإدخال مصفوفة. فمن الصعب للتغلب على رولينغمين في الأداء مع أي العرف تنفيذ بايثون النقي. هنا هو مثال الأداء ضد اثنين من الحلول المقترحة: وهناك أيضا خيارات لطيفة لكيفية التعامل مع القيم حافة. I39m مزعجة دائما بوظيفة معالجة الإشارة التي تعيد إشارات الإخراج بشكل مختلف عن إشارات الدخل عندما يكون كل من المدخلات والمخرجات من نفس الطبيعة (مثل الإشارات الزمنية). وهو يكسر المراسلات مع المتغير المستقل ذي الصلة (مثل الوقت والتردد) مما يجعل التآمر أو المقارنة ليست مسألة مباشرة. على أي حال، إذا كنت تشارك في الشعور، قد ترغب في تغيير السطور الأخيرة من وظيفة المقترحة كما ynp. convolve (ww. sum ()، s، mode39same39) ريتورن يويندولين-1 :-( ويندلين-1) نداش كريستيان O39Reilly أوج 25 15 في 19:56 متأخرا قليلا للحزب، ولكن إيف جعلت بلدي وظيفة صغيرة التي لا التفاف حول نهايات أو منصات مع الأصفار التي يتم استخدامها بعد ذلك للعثور على المتوسط ​​كذلك. وكعلاج آخر هو أنه يعيد أيضا الإشارة إلى النقاط عند نقاط متباعدة خطيا. تخصيص رمز في الإرادة للحصول على ميزات أخرى. الأسلوب هو ضرب مصفوفة بسيطة مع نواة غاوس تطبيع. استخدام بسيط على إشارة جيبية مع إضافة الضوضاء الموزعة العادية: هذا السؤال هو الآن أكبر حتى من عندما كتب نيكسوس عن ذلك الشهر الماضي، ولكن أنا أحب كيف يتعامل رمزه مع حالات حافة. ومع ذلك، لأنه متوسط ​​متحرك بسيط، نتائجها متخلفة عن البيانات التي تنطبق عليها. اعتقدت أن التعامل مع حالات حافة بطريقة أكثر مرضية من وسائط نومبيس صالحة. نفسه. ويمكن تحقيق كامل من خلال تطبيق نهج مماثل على طريقة التفاف () القائم. تستخدم مساهمتي متوسط ​​تشغيل مركزي لمواءمة نتائجها مع بياناتها. عندما تكون هناك نقطتين متاحتين للنافذة كاملة الحجم لاستخدامها، يتم حساب المتوسطات الجارية من النوافذ الأصغر حجما على حواف المصفوفة. في الواقع، من نوافذ أكبر تباعا، ولكن هذا تفصيل التنفيذ. بطيئة نسبيا لأنه يستخدم كونفولف (). وربما من المحتمل أن تتراكم كثيرا من قبل بيثونيستا صحيح، ومع ذلك، وأعتقد أن تقف الفكرة. أجاب 2 يناير في 0:28 np. convolve هو لطيف ولكن بطيئة عندما ينمو عرض نافذة كبيرة. بعض الإجابات توفر خوارزميات أكثر فعالية مع np. cumsum ولكن يبدو غير قادر على التعامل مع القيم الحافة. أنا نفسي قد نفذت خوارزمية التي قد تعالج هذه المشكلة بشكل جيد، إذا تم الإعلان عن هذه المشكلة على النحو التالي: المعلمة المدخلات ميرجينوم يمكن أن يعتقد كما 2 ويندوويدث 1. وأنا أعلم أن هذا الرمز غير قابل للقراءة قليلا إذا ش تجد أنه من المفيد وتريد بعض إكساناتيونس، واسمحوا لي أن أعرف و سوء تحديث هذه الإجابة. (منذ كتابة تفسير قد يكلفني الكثير من الوقت، وآمل أن أفعل ذلك إلا عندما يحتاج شخص ما، يرجى أن يغفر لي عن الكسل بلدي :)) فقط إذا كنت مهتما في النسخة الأصلية: حتى أكثر غير قابل للقراءة: الحل الأول تخلص من مشكلة الحافة من خلال الأصفار الحشو حول المصفوفة، ولكن الحل الثاني نشر هنا يعالج بطريقة صعبة ومباشرة :) اللازورد نعم، ولكن دعونا نقول لكم استخدام طريقة كومسوم على القراد الأول وحفظ صفيف المتوسط ​​المتداول ل القراد التالي. كل علامة بعد ذلك لديك فقط لإلحاق أحدث متوسط ​​القيمة المتحركة إلى صفيف المتداول في التخزين. باستخدام هذه الطريقة you39re لا إعادة حساب الأشياء you39ve تحسب بالفعل: على القراد الأول لك كومسوم بعد ذلك كنت مجرد إلحاق كوتيمان من العناصر الماضية الفترة التي هي 2X أسرع لجميع القراد اللاحقة. نداش ليتيبريزنس جون 10 16 في 12:29 إذا كنت لا تختار لفة الخاصة بك، بدلا من استخدام مكتبة موجودة، يرجى أن يكون واعيا من الخطأ نقطة عائمة ومحاولة للحد من آثاره: إذا كانت كل ما تبذلونه من القيم تقريبا نفس الترتيب من حيث الحجم ، ثم هذا سوف يساعد على الحفاظ على الدقة عن طريق إضافة دائما القيم من مقادير مماثلة تقريبا. في الجملة الأخيرة كنت أحاول أن أشرح لماذا يساعد خطأ عائم نقطة. إذا قيمتين تقريبا نفس الترتيب من حيث الحجم، ثم إضافتها يفقد أقل دقة مما لو قمت بإضافة عدد كبير جدا إلى واحد صغير جدا. وتجمع الشفرة بين قيم الكودجاسنتكوت بطريقة ينبغي أن تكون فيها القيم المتوسطة دائما قريبة من حيث الحجم، لتقليل خطأ النقطة العائمة. لا شيء هو دليل خداع ولكن هذه الطريقة قد أنقذت بضعة مشاريع سيئة التنفيذ للغاية في الإنتاج. ندش مايور باتل ديك 15 14 في 17:22 أليو: بدلا من القيام إضافة واحدة لكل قيمة، you39ll القيام اثنين. الدليل هو نفس المشكلة بت التقليب. ومع ذلك، فإن نقطة من هذه الإجابة ليست بالضرورة الأداء، ولكن الدقة. لن يتجاوز استخدام الذاكرة لمتوسط ​​متوسط ​​قيم 64 بت 64 عنصرا في ذاكرة التخزين المؤقت، لذا فإنه سهل الاستخدام 39 في الذاكرة. ندش مايور باتل ديك 29 14 الساعة 17:04

No comments:

Post a Comment