Monday, 12 February 2018

تتحرك متوسط بيثون وظيفة


أنا ألعب في بيثون قليلا مرة أخرى، ووجدت كتاب أنيق مع أمثلة. ومن الأمثلة على ذلك رسم بعض البيانات. لدي ملف. txt مع عمودين ولدي البيانات. أنا رسمت البيانات على ما يرام، ولكن في ممارسة يقول: تعديل البرنامج الخاص بك لمزيد من حساب ورسم متوسط ​​تشغيل البيانات، التي يحددها: حيث r5 في هذه الحالة (و يك هو العمود الثاني في ملف البيانات) . اجعل البرنامج يقوم برسم البيانات الأصلية ومتوسط ​​التشغيل على نفس الرسم البياني. حتى الآن لدي هذا: فكيف يمكنني حساب المجموع في ماثماتيكا بسيطة منذ التلاعب الرمزي (سومي، على سبيل المثال)، ولكن كيفية حساب مجموع في الثعبان الذي يأخذ كل عشر نقاط في البيانات ومتوسطاته، و يفعل ذلك حتى نهاية النقاط نظرت إلى الكتاب، ولكن وجدت شيئا من شأنه أن يفسر هذا: هلتونبيكرز رمز فعل خدعة: D شكرا جزيلا :) هناك مشكلة مع الإجابة المقبولة. أعتقد أننا بحاجة إلى استخدام صالح بدلا من نفسه هنا - عودة numpy. convolve (الفاصل الزمني، نافذة، نفس). كمثال حاول الخروج من هذه البيانات مجموعة 1،5،7،2،6،7،8،2،2،7،8،3،7،3،7،3،15،6 - النتيجة ينبغي أن تكون 5،2،5،4،0،0،0،5،0،5،2،5،4،4،4،4،5،6،6،6،7،0،6،8،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،6،4،6،6،6،6 ولكن وجود نفس يعطينا إخراج غير صحيح من 2.6،3.0،4.2،5.4،6.0،5.0،5.0،5.2،5.4،4.4،5.4،5.6،5.6، 4.6،7.0،6.8،6.2،4.8 رمز صدئ لمحاولة ذلك -: حاول هذا مع أمبير صالح نفسه ومعرفة ما إذا كان الرياضيات المنطقي. أجاب 29 أكتوبر 14 في 4:27 Haven39t حاول هذا الخروج، ولكن I39ll ننظر في الأمر، وكان IT39s في حين منذ I39ve مشفرة في بيثون. نداش دينغود أوكت 29 14 في 7:07 دينغود لماذا don39t كنت بسرعة محاولة هذا مع رمز صدئ (وعينة البيانات مجموعة (كقائمة بسيطة)، وأنا نشرت لبعض الناس كسول (كما كنت في البداية) - أقنعة من حقيقة أن المتوسط ​​المتحرك غير صحيح. بالتالي يجب أن تنظر في تحرير إجابتك الأصلية. حاولت ذلك أمس فقط وفحص مزدوج حفظ لي وجهي من النظر سيئة في الإبلاغ إلى مستوى كسو. كل ما عليك القيام به، هو محاولة بنفسك المتوسط ​​المتحرك مرة واحدة مع كوتفاليدكوت وغيرها من الوقت مع كوتساميكوت - وبمجرد أن كنت مقتنعا أعطني بعض الحب (الملقب حتى التصويت) نداش إكتا أكتوبر 29 14 في 7: 16I أعرف هذا هو السؤال القديم، ولكن هنا هو الحل التي لا تستخدم أي هياكل بيانات إضافية أو المكتبات، وهي خطية في عدد عناصر قائمة الإدخال ولا أستطيع التفكير في أي طريقة أخرى لجعلها أكثر كفاءة (في الواقع إذا كان أي شخص يعرف من أفضل طريقة لتخصيص النتيجة، يرجى اسمحوا لي أن أعرف) ملاحظة: هذا سيكون أسرع بكثير باستخدام مجموعة نامبي بدلا من لي ست، ولكن أردت أن القضاء على جميع التبعيات. كما سيكون من الممكن تحسين الأداء بتنفيذ متعدد الخيوط تفترض الدالة أن قائمة الإدخال هي بعد واحد، لذا كن حذرا. أوبد: تم اقتراح حلول أكثر كفاءة من قبل أليو و جساريم. يمكنك استخدام 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: 04Im في عملية إنشاء خوارزمية التداول الفوركس وأراد أن محاولة طلبي في حساب إما (المتوسطات المتحركة الأسي). يبدو أن نتائجي صحيحة (بالمقارنة مع الحسابات التي فعلتها باليد) لذلك أعتقد أن الأسلوب التالي يعمل، ولكن أردت فقط للحصول على مجموعة إضافية من العيون إلى التأكد من عدم فقدان أي شيء. لاحظ أن هذا يعود فقط إما للحصول على أحدث الأسعار، فإنه لا يعود مجموعة من إماس كما أن هذا ليس ما أحتاج إلى طلبي. العودية هو أداة جيدة للعمل الصحيح، ولكن هنا يتم استخدامه لإنجاز حلقات بسيطة. على هذا النحو التعليمات البرمجية. هو أكثر صعوبة في القراءة والعقل عنه. هو أبطأ لأن الكثير من التعليمات البرمجية في إما يحتاج فقط لتشغيل مرة واحدة. سوف تفشل مع قيمة كبيرة بما فيه الكفاية من نافذة بسبب تفيض المكدس المكدس بيثونس. يرجى توثيق على الأقل المعلمات من كل وظيفة، على سبيل المثال. تلك النافذة هي طول النافذة، وهذا الموقف يحسب إلى الوراء من نهاية البيانات. (في الواقع الأمور ستكون أكثر وضوحا إذا كان الموقف هو مؤشر إلى الأمام العادي في البيانات) رفع استثناء عندما تجد معلمة لديها قيمة غير صالحة. لن يؤدي التراجع عن أي شيء بدلا من ذلك إلى حدوث استثناء أكثر إرباكا في وقت لاحق. في الواقع، إذا كنت أحاول المؤشرات (). إما (كلوريبريسز، 600) أحصل على عودة لانهائية لأن سما يعود لا شيء. مما يجعل إيما دعوة سما مرارا وتكرارا. وتكشف النقطة السابقة أيضا أنه إذا لم تكن نافذة البيانات (لين) (2) هي التحقق الصحيح من الصحة. 1 في البيانات نافذة window2 1: - window 1 لا يبدو صحيحا بالنسبة لي. افترض أنك تريد البيانات-window2: - window البيان عودة السابق هو في مكان غريب لأنه عند هذه النقطة قمت بحساب تيار جديد. هذه هي الحالة الأساسية للعودة، ومن المعتاد التعامل مع حالة الأساس أولا. اقتراحي ل إيما: أجاب نوف 26 14 في 18:56 مراجعة الضحلة جميلة: أنت لا تحتاج إلى كتابة فئة لما تقومون به (وأقترح عليك إلقاء نظرة على هذا الفيديو). لا يقوم صفك بتغليف أي بيانات وكنت تستخدمه للتو ليكون لديك وظائف في نفس الكيان. أعتقد أن الأمور من الأسهل أن نفهم إذا كنت لتعريف كلاسميثود لجعلها واضحة أنك لن تعتمد حقا على أي حالة على الإطلاق. ومع ذلك، فإن الخيار الأفضل هو تحديد الوظائف فقط في وحدة المؤشرات. أجاب 24 نوفمبر 14 في 18:04 شكرا على اقتراحات أنا فعلا لم يكن لهم كما كلاسميثودس ومناقشتها ذهابا وإيابا بين حتى باستخدام فئة أو مجرد تحديد وظائف في وحدة مؤشر (الذي سأفعل الآن). نداش كريسك نوفمبر 25 14 في 19:12 فقط شاهد الفيديو أيضا، الاشياء العظيمة. نداش كريسك نوف 25 14 في 19:43 الجواب 2017 كومة إكسهانج، وشركة

No comments:

Post a Comment