Wednesday, 20 December 2017

المرجح الحركة من المتوسط - ج


أحاول حساب المتوسط ​​المتحرك لإشارة. يتم تحديث قيمة الإشارة (مزدوجة) في أوقات عشوائية. أنا أبحث عن وسيلة فعالة لحساب متوسط ​​الوقت المرجح على مدى نافذة الوقت، في الوقت الحقيقي. أنا يمكن أن تفعل ذلك بلدي، ولكن أكثر تحديا مما اعتقدت. معظم الموارد إيف وجدت عبر الإنترنت بحساب المتوسط ​​المتحرك للإشارة الدورية، ولكن التحديثات الألغام في وقت عشوائي. لا أحد يعرف موارد جيدة لذلك خدعة هو ما يلي: يمكنك الحصول على التحديثات في أوقات عشوائية عن طريق تحديث الفراغ (وقت إنت، قيمة تعويم). ومع ذلك تحتاج أيضا إلى تتبع أيضا عندما يقع التحديث قبالة نافذة الوقت، لذلك قمت بتعيين إنذار الذي دعا في الوقت N الذي يزيل التحديث السابق من يجري النظر من أي وقت مضى مرة أخرى في الحساب. إذا كان هذا يحدث في الوقت الحقيقي يمكنك طلب نظام التشغيل لإجراء مكالمة إلى طريقة باطلة دروبوفولدستوديت (وقت إنت) ليتم استدعاؤها في الوقت N إذا كان هذا هو محاكاة، لا يمكنك الحصول على مساعدة من نظام التشغيل وتحتاج إلى تفعل ذلك يدويا. في محاكاة يمكنك استدعاء الأساليب مع الوقت الموردة كوسيطة (التي لا ترتبط مع الوقت الحقيقي). غير أن الافتراض المعقول هو أن النداءات مضمونة بحيث تكون الوسيطات الزمنية في ازدياد. في هذه الحالة تحتاج إلى الحفاظ على قائمة فرز من القيم الوقت التنبيه، ولكل تحديث وقراءة المكالمة التي تحقق إذا كان الوسيطة الوقت أكبر من رأس قائمة التنبيه. في حين أنه هو أكبر يمكنك القيام التنبيه المتعلقة معالجة (إسقاط قبالة أقدم تحديث)، وإزالة الرأس والتحقق مرة أخرى حتى يتم معالجة جميع أجهزة الإنذار قبل وقت معين. ثم قم بإجراء مكالمة التحديث. لقد افترضت حتى الآن أنه من الواضح ما سوف تفعله لحساب الفعلي، ولكنني سوف وضع فقط في حالة. افترض أن لديك طريقة تعويم القراءة (وقت إنت) التي تستخدم لقراءة القيم. والهدف من ذلك هو جعل هذه الدعوة فعالة قدر الإمكان. لذلك لا تحسب المتوسط ​​المتحرك في كل مرة تسمى طريقة القراءة. بدلا من ذلك كنت تحسب القيمة كما من التحديث الأخير أو التنبيه الأخير، قرص هذه القيمة من قبل بضع عمليات نقطة العائمة لحساب مرور الوقت منذ التحديث الأخير. (ط عدد ثابت من العمليات باستثناء ربما معالجة قائمة من أجهزة الإنذار مكدسة). نأمل أن يكون هذا واضحا - يجب أن يكون هذا خوارزمية بسيطة جدا وفعالة للغاية. مزيد من التحسين. واحدة من المشاكل المتبقية هو إذا كان عدد كبير من التحديثات يحدث في إطار الوقت، ثم هناك فترة طويلة التي لا توجد يقرأ ولا تحديثات، ومن ثم قراءة أو التحديث يأتي على طول. في هذه الحالة، سوف تكون الخوارزمية أعلاه غير فعالة في تحديث القيمة بشكل متزايد لكل من التحديثات التي تتساقط. هذا ليس ضروريا لأننا نهتم فقط التحديث الأخير وراء نافذة الوقت حتى إذا كان هناك وسيلة لسحب بكفاءة من جميع التحديثات القديمة، فإنه من شأنه أن يساعد. للقيام بذلك، يمكننا تعديل الخوارزمية لإجراء بحث ثنائي من التحديثات للعثور على التحديث الأخير قبل نافذة الوقت. إذا كان هناك عدد قليل نسبيا من التحديثات التي تحتاج إلى إسقاط ثم يمكن للمرء أن تحديث بشكل متزايد قيمة لكل تحديث انخفض. ولكن إذا كان هناك العديد من التحديثات التي تحتاج إلى إسقاط ثم واحد يمكن إعادة حساب القيمة من الصفر بعد إسقاط التحديثات القديمة. التذييل على الحوسبة الإضافية: يجب أن أوضح ما أعنيه بالحساب الإضافي أعلاه في الجملة قرص هذه القيمة من خلال بضع عمليات نقطة العائمة لحساب مرور الوقت منذ التحديث الأخير. الحساب الأولي غير التدريجي: ثم يتكرر على ديلاتيفوبديتس من أجل زيادة الوقت: موفينغفيراج (سوم لاستوبديت تيمسينسلاستوبديت) ويندلنغث. الآن إذا كان التحديث واحد بالضبط يقع قبالة النافذة ولكن لا تصل التحديثات الجديدة، وضبط المبلغ على النحو التالي: (لاحظ أنه هو بريفيوديت الذي له الطابع الزمني تعديلها لبدء آخر بداية النافذة). وإذا كان بالضبط تحديث واحد يدخل النافذة ولكن لا توجد تحديثات جديدة تسقط، وضبط المبلغ على النحو التالي: كما ينبغي أن يكون واضحا، وهذا هو رسم تقريبي ولكن نأمل أنه يبين كيف يمكنك الحفاظ على متوسط ​​مثل ذلك هو O (1) العمليات في التحديث على أساس الاستهلاك. ولكن لاحظ مزيدا من التحسين في الفقرة السابقة. نلاحظ أيضا قضايا الاستقرار المشار إليها في إجابة قديمة، وهو ما يعني أن أخطاء نقطة العائمة قد تتراكم على عدد كبير من هذه العمليات الإضافية بحيث يكون هناك اختلاف عن نتيجة الحساب الكامل الذي له أهمية كبيرة للتطبيق. إذا كان التقريب على ما يرام و ثيريس الحد الأدنى من الوقت بين العينات، يمكنك محاولة فائقة أخذ العينات. يكون مصفوفة تمثل فترات زمنية متباعدة بالتساوي تكون أقصر من الحد الأدنى، وفي كل مرة يتم تخزين أحدث عينة تم استلامها. وكلما اقصر الفاصل الزمني كلما اقترب المتوسط ​​من القيمة الحقيقية. وينبغي ألا تتجاوز الفترة نصف الحد الأدنى أو أن تكون هناك فرصة لفقدان العينة. أجابيد ديك 15 11 في 18:12 أجاب ديك 15 11 في 22:38 ثانكس فور ذي أنسور. أحد التحسينات التي ستكون هناك حاجة إليها في الواقع كوتاكاشيكوت قيمة المتوسط ​​الكلي لذلك نحن don39t حلقة في كل وقت. أيضا، قد يكون نقطة ثانوية، ولكن لن يكون أكثر كفاءة لاستخدام ديك أو قائمة لتخزين القيمة، لأننا نفترض أن التحديث سيأتي في الترتيب الصحيح. سيكون الإدراج أسرع من الخريطة. نداش آرثر ديك 16 11 في 08:55 نعم، هل يمكن أن ذاكرة التخزين المؤقت قيمة المبلغ. اطرح قيم العينات التي تمحوها، أضف قيم العينات التي تقوم بإدراجها. أيضا، نعم، ديكلتبايرلتسامبل، داتغتغ قد تكون أكثر كفاءة. لقد اخترت خريطة للقراءة، وسهولة استدعاء خريطة :: وبربوند. كما هو الحال دائما، كتابة التعليمات البرمجية الصحيحة أولا، ثم الملف الشخصي وقياس التغييرات الإضافية. نداش روب ديك 16 11 في 15:00 ملاحظة: يبدو أن هذا ليس الطريق إلى الاقتراب من هذا. تركها هنا للإشارة إلى ما هو الخطأ في هذا النهج. تحقق من التعليقات. تحديث - استنادا إلى تعليق أوليس. غير متأكد من عدم الاستقرار الذي يتحدث عنه رغم ذلك. استخدام خريطة فرز مرات وصول ضد القيم. عند وصول قيمة إضافة وقت وصول للخريطة فرزها جنبا إلى جنب مع قيمته وتحديث المتوسط ​​المتحرك. تحذير هذا هو الزائفة رمز: هناك. ليس تماما فليشد خارج ولكن تحصل على هذه الفكرة. أشياء يجب أن نلاحظها. كما قلت أعلاه هو رمز الزائفة. ستحتاج إلى اختيار خريطة مناسبة. لا إزالة أزواج كما كنت إيتيرات من خلال كما سوف تبطل التكرار وسيكون لديك للبدء من جديد. انظر تعليق أوليس أدناه أيضا. أجاب ديك 15 11 في 12:22 هذا don39t العمل: فإنه doesn39t تأخذ بعين الاعتبار ما هي نسبة من نافذة طول كل قيمة موجودة ل. أيضا، هذا النهج من إضافة ومن ثم طرح مستقرة فقط لأنواع عدد صحيح، لا يطفو. نداش أوليفر تشارلزورث 15 ديسمبر 11 في 12:29 أوليكارليزورث - آسف فاتني بعض النقاط الرئيسية في الوصف (مزدوجة والوزن المرجح). وسوف أقوم بتحديث. شكر. نداش دينيس ديك 15 11 في 12:33 الوقت الترجيح مشكلة أخرى بعد. ولكن هذا 39 ليس ما I39m الحديث عنه. كنت أشير إلى حقيقة أنه عندما تدخل قيمة جديدة لأول مرة نافذة الوقت، ومساهمتها في المتوسط ​​هو الحد الأدنى. وتستمر مساهمته في الزيادة حتى تدخل قيمة جديدة. ندش أوليفر تشارلزورث 15 ديسمبر 11 في 12: 35A المتوسط ​​المتحرك المرجح هو متوسط ​​البيانات المحسوبة على مدى فترة من الزمن، حيث يتم إرفاق وزن أكبر لأحدث البيانات. ويمكن استخدام المتوسط ​​المتحرك المرجح مع أي سعر بما في ذلك سعر مرتفع، منخفض، مفتوح، أو إغلاق، ويمكن تطبيقها على مؤشرات أخرى أيضا. ويعمل المتوسط ​​المتحرك المرجح على تسهيل سلسلة البيانات، وهو أمر مهم في سوق متقلبة، حيث أنه يساعد على تحديد الاتجاهات بسهولة أكبر. يتم احتساب الترجيح من مجموع الأيام. مخطط دونداس لنماذج ويندوز لديه أربعة أنواع من المتوسطات المتحركة بما في ذلك بسيطة. الأسي. الثلاثي. والمرجح. أهم الفرق بين المتوسطات المتحركة أعلاه هو كيفية وزنها داتابوانتس. نوصي بأن تقرأ استخدام الصيغ المالية قبل المضي قدما. استخدام الصيغ المالية يوفر شرحا مفصلا حول كيفية استخدام الصيغ، ويوضح أيضا الخيارات المختلفة المتاحة لك عند تطبيق الصيغة. يعد المخطط الخطي خيارا جيدا عند عرض متوسط ​​متحرك مرجح. التفسير المالي: يستخدم المتوسط ​​المتحرك المرجح لمقارنة قيمة مع المتوسط ​​المتحرك المرجح، ويعطي المزيد من التأثير على البيانات الحديثة وأقل تأثير على البيانات السابقة. وأهم عنصر يستخدم في حساب المتوسط ​​المتحرك هو فترة زمنية ينبغي أن تكون مساوية لدورة السوق الملحوظة. المتوسط ​​المتحرك المرجح هو مؤشر متخلف، وسوف يكون دائما وراء السعر. عندما يكون السعر يتبع اتجاها المتوسط ​​المتحرك المرجح قريب جدا من السعر. عندما يزيد السعر من المتوسط ​​المرجح المرجح سوف يبقى على الأرجح بسبب تأثير البيانات التاريخية. الحساب: يتم حساب المتوسط ​​المتحرك المرجح باستخدام مجموع مؤشرات الفترات الزمنية (نقاط البيانات). يتم حساب الوزن لكل فترة كمؤشر (عدد نقاط البيانات). يوضح الجدول التالي كيفية حساب المتوسط ​​المتحرك المرجح لمدة 5 أيام: هل من الممكن تنفيذ متوسط ​​متحرك في C بدون الحاجة إلى نافذة من العينات وجدت أنه يمكنني تحسين قليلا، عن طريق اختيار حجم الإطار الذي هو قوة اثنين للسماح بتغيير قليلا بدلا من تقسيم، ولكن لا تحتاج إلى المخزن المؤقت سيكون لطيفا. هل هناك طريقة للتعبير عن نتيجة متوسط ​​متحرك جديد فقط كدالة للنتيجة القديمة والعينة الجديدة حدد مثالا متحركا على سبيل المثال، عبر نافذة مكونة من 4 عينات لتكون: إضافة عينة جديدة ه: يمكن تنفيذ المتوسط ​​المتحرك بشكل متكرر ، ولكن لحساب دقيق للمتوسط ​​المتحرك عليك أن تتذكر أقدم عينة المدخلات في المجموع (أي في المثال الخاص بك). وبالنسبة للمتوسط ​​المتحرك N الذي تحسبه: حيث ين هي إشارة الخرج و شن هي إشارة الدخل. مكافئ. (1) يمكن أن تكون مكتوبة بشكل متكرر كما كنت دائما بحاجة إلى تذكر العينة شن-N من أجل حساب (2). وكما أشار كونراد تيرنر، يمكنك استخدام نافذة أسي طويلة (بلا حدود) بدلا من ذلك، والتي تسمح لك بحساب الإخراج فقط من المخرجات السابقة والإدخال الحالي: ولكن هذا ليس متوسط ​​متحرك (غير مرجح) قياسي ولكن بشكل أضعافا مضاعفة (حيث على الأقل من الناحية النظرية) لا تنسى أبدا أي شيء (الأوزان فقط تحصل على أصغر وأصغر للعينات بعيدة في الماضي). أنا نفذت المتوسط ​​المتحرك دون ذاكرة البند الفردية لبرنامج تتبع غس كتبته. أبدأ مع 1 عينة وتقسيم بنسبة 1 للحصول على متوسط ​​الحالي. ثم قم بإضافة عينة أنوث وتقسيمها 2 إلى المتوسط ​​الحالي. يستمر هذا حتى يصل إلى طول المتوسط. في كل مرة بعد ذلك، أضيف في العينة الجديدة، واحصل على المتوسط ​​وأزل هذا المتوسط ​​من المجموع. أنا لست رياضياتيا ولكن هذا يبدو وكأنه وسيلة جيدة للقيام بذلك. أنا أحسب أنه من شأنه أن يحول المعدة من رجل الرياضيات الحقيقي ولكن، اتضح أنها واحدة من الطرق المقبولة للقيام بذلك. ويعمل بشكل جيد. فقط تذكر أن ارتفاع طول الخاص بك أبطأ هو اتباع ما كنت تريد أن تتبع. وهذا قد لا يهم معظم الوقت ولكن عندما تتبع الأقمار الصناعية، إذا كنت بطيئا، يمكن أن يكون درب بعيدا عن الوضع الفعلي، وسوف تبدو سيئة. هل يمكن أن يكون هناك فجوة بين جلس والنقاط زائدة. اخترت بطول 15 تحديث 6 مرات في الدقيقة الواحدة للحصول على تجانس كافية ولا تحصل بعيدا جدا عن الوضع الفعلي جلس مع نقاط درب ممهدة. أجاب 16 نوفمبر 16 في 23:03 تهيئة العدد الإجمالي 0، count0 (في كل مرة رؤية قيمة جديدة ثم إدخال واحد (سكانف)، واحد إضافة توتالنوفالو، زيادة واحدة (عدد)، واحد معدل الفجوة (توتالكونت) سيكون هذا المتوسط ​​المتحرك أكثر من جميع المدخلات لحساب المتوسط ​​فوق المدخلات الأربعة الأخيرة فقط، يتطلب 4 مدخلات، ربما نسخ كل مدخلات إلى مدخلات قديمة، ثم حساب المتوسط ​​المتحرك الجديد، حيث أن مجموع المدخلات 4، مقسوما على 4 (التحول الصحيح 2 سيكون جيد إذا كانت جميع المدخلات إيجابية لجعل متوسط ​​الحساب أجاب فب 3 15 في 4:06 وهذا في الواقع حساب المتوسط ​​الكلي وليس المتوسط ​​المتحرك. كما يحصل العد أكبر تأثير أي عينة إدخال جديدة تصبح صغيرة تتلاشى نداش هيلمر فبراير 3 15 أت 13:53 يور أنسور 2017 ستاك إكسهانج، إنك

No comments:

Post a Comment