Wednesday 17 January 2018

الانتقال من المتوسط - فلتر جافا


أكثر من ذلك بكثير نسخة أبسط: الطبقة العامة موفينغافيراجينزليدينغويندو ويندوزيز قائمة انتظار الطابور إنت سوم عامة موفينغافيراجينزليدينغويندو (إنت ويندوززيزي) this. windowsize ويندوززي this. queue جديد لينكدليست () this. sum 0 يجد المتوسط ​​المتحرك بعد إدراج البند n في تدفق البيانات خاصة مزدوجة فيندوفينغافيراج (إنت n) إف (queue. size () غب وينديز - 1) سوم سوم - queue. poll () queue. offer (n) سوم سوم n ريتورن (دوبل) سوم queue. size () ستاتيك فواد مين (سترينغ أرجس) إنت (1) لوت 20 i) System. out. println (كوتافتر إضافة كوت i كوت إلى قائمة الانتظار: متوسط: كوت m. findMovingAverage (i)) يمكننا ببساطة الاستمرار في المجموع الحالي للعناصر في قائمة الانتظار في المتغير العالمي. وهكذا، والحد من حساب في الطريقة التالية (). الطبقة العامة موفينغافيراج لينكدليست كويو إنت سيز إنت سوم 0 هولدز سوم ذي كويو قم بتهيئة بنية البيانات الخاصة بك هنا. (الحجم الداخلي) this. queue جديد لينكدليست () this. size حجم عام مزدوج التالي (إنت فال) queue. offer (فال) سوم فال إف (queue. size () gtthis. size) سوم - queue. poll () تنفيذ متوسط ​​متحرك بسيط في جافا في عدة مناسبات أراد إيف حساب مقاييس بسيطة في تطبيقات جافا، على سبيل المثال عدد الزيارات في الساعة، أو أخطاء طوال فترة زمنية. في حين أن حساب مقاييس بسيطة ليس صعبا بشكل رهيب، إلا أن عمله الإضافي ومعرفه ينفقان ذلك الوقت على نطاق المشكلة. فوجئت بعدم العثور على أي حلول مقبولة على نطاق واسع للمقاييس في جافا. لم أجد المقاييس ولكن يبدو قليلا معقدة جدا وغير موثقة بشكل جيد - كل ما أردت حقا هو لحساب المتوسط ​​المتحرك. فكرت في المشكلة بعض أكثر وقررت أنها ليست مشكلة صعبة. هيريس الحل الخاص بي يعمل هذا من خلال إنشاء مجموعة من حجم التحديث تحديث النافذة، ثم مؤشر ترابط العد إلى الفهرس التالي في الصفيف على تردد التحديث. العد للفاصل هو ببساطة أري - arrayi1، وهو أحدث عدد ناقص أقدم عدد. لمدة 10 دقيقة الفاصلة، أقدم العد (i1) هو بالضبط 10 دقيقة من العمر. لإضافة المتوسط ​​المتحرك إلى التعليمات البرمجية لدينا أولا تحتاج جيدا عداد، وذلك باستخدام أتوميكلونغ. يجب زيادة هذا العداد استنادا إلى الأحداث التي تهتم بها في الحوسبة (مثل طلبات بوست لخدمة ريست). نحن بحاجة إلى توفير التنفيذ مع الوصول إلى العداد والتي يتم إنجازها من خلال واجهة جيتكونت. هنا إل إنشاء متوسط ​​متحرك مع نافذة 5 دقائق يتم تحديث كل ثانية. وللحصول على المتوسط ​​الحالي نحن ببساطة استدعاء الأسلوب جيتايفيراج: تفصيل التنفيذ الرئيسي هو كيف يتم تحديد حجم الصفيف: عن طريق قسمة النافذة عن طريق تكرار التحديث. لذلك نافذة كبيرة مع تكرار التحديث المتكررة يمكن أن تستهلك قدرا كبيرا من الذاكرة. في هذا المثال حجم صفيف هو معقول 300. ومع ذلك، إذا أنشأنا المتوسط ​​المتحرك 24 ساعة مع فاصل زمني 1 ثانية سيكون حجم 86400 تردد التحديث أكثر معقولية لفترة 24 ساعة قد يكون كل 5 دقائق (حجم صفيف من 288 ). وهناك اعتبار آخر لاختيار النافذة وتردد التحديث هو أن النافذة يجب أن تكون قابلة للتجزئة حسب التردد. على سبيل المثال نافذة 2 دقيقة مع تردد التحديث 6 ثانية على ما يرام، ولكن تردد التحديث 7 ثانية ليست، لأنه لا قسمة من قبل 120. يتم طرح إليغالارجومنتكسيبتيون إذا كان تردد تحديث معامل نافذة ليست صفر. يتطلب هذا التنفيذ مؤشر ترابط واحد لكل متوسط ​​متحرك، وهو ليس فعالا جدا. الحل الأفضل هو مشاركة مؤشر الترابط عبر العديد من المتوسطات. تحديث . إيف تحديث التعليمات البرمجية لمشاركة موضوع هنا. وأخيرا، ثيريس مشكلة حالة أولية: ليس لدينا بيانات حتى الآن للنافذة بأكملها. على سبيل المثال إذا كان لديك نافذة 5 دقائق و 15 ثانية فقط من البيانات. يرجع هذا التنفيذ نول حتى يكون لدينا 5 دقائق من البيانات. وثمة نهج آخر هو تقدير المتوسط. لنفترض أن لدينا عد 10 في 30 ثانية، ثم يمكننا تقدير المتوسط ​​كما 40 في 2 دقيقة. ومع ذلك هناك خطر حدوث خطأ كبير عن طريق استقراء البيانات غير مكتملة. على سبيل المثال، إذا كان لدينا انفجار من 20 ضرب في 2 ثانية، ويد يكون تقدير 1200 في 2 دقيقة، والتي في جميع الاحتمالات هو طريق قبالة. أنا أساسا مجموعة من القيم مثل هذا: مجموعة أعلاه هو تبسيط مبالغ فيه، جمع إم 1 قيمة في ميلي ثانية واحدة في بلدي رمز حقيقي وأنا بحاجة إلى معالجة الإخراج على خوارزمية كتبت للعثور على أقرب قمة قبل نقطة في الوقت المناسب. منطقي يفشل لأن في بلدي المثال أعلاه، 0.36 هو الذروة الحقيقية، ولكن خوارزمي بلدي سوف ننظر إلى الوراء ونرى العدد الأخير جدا 0.25 كما الذروة، كما ثيريز انخفاض إلى 0.24 قبل ذلك. والهدف من ذلك هو اتخاذ هذه القيم وتطبيق خوارزمية لهم والتي سوف تلطف بها قليلا حتى أن لدي المزيد من القيم الخطية. (أي: إد مثل نتائجي لتكون متعرج، وليس جاجدي) وقد قيل إيف لتطبيق مرشح المتوسط ​​المتحرك الأسي لقيم بلدي. كيف يمكنني أن أفعل هذا من الصعب حقا بالنسبة لي لقراءة المعادلات الرياضية، وأنا أتعامل بشكل أفضل بكثير مع التعليمات البرمجية. كيف أقوم بمعالجة القيم في صفيفي، تطبيق حساب متوسط ​​متحرك أسي حتى حتى يطلب منهم فب 8 12 في 20:27 لحساب متوسط ​​متحرك أسي. تحتاج إلى الحفاظ على بعض الدول في جميع أنحاء وتحتاج إلى ضبط المعلمة. وهذا يتطلب فئة صغيرة (على افتراض أن تستخدم جافا 5 أو في وقت لاحق): إنستانتيات مع المعلمة تسوس تريد (قد يستغرق ضبط يجب أن يكون بين 0 و 1) ثم استخدم المتوسط ​​() لتصفية. عند قراءة صفحة على بعض تكرار الرياضيات، كل ما تحتاج حقا أن نعرف عند تحويله إلى التعليمات البرمجية هو أن الرياضيين يحبون كتابة الفهارس في المصفوفات وتسلسل مع سوبسكريبتس. (ثيف بعض الملاحظات الأخرى أيضا، والتي لا تساعد.) ومع ذلك، فإن إما بسيط جدا كما تحتاج فقط إلى تذكر قيمة قديمة واحدة لا صفائف الدولة معقدة المطلوبة. أجابيد فبراير 8 12 في 20:42 تكوشيران: بريتي موش. إيسن 39t لطيفة عندما يمكن أن تكون الأمور بسيطة (إذا بدأت مع تسلسل جديد، والحصول على متوسط ​​جديد). لاحظ أن المصطلحات القليلة الأولى في تسلسل المتوسط ​​سوف تقفز قليلا بسبب الآثار الحدودية، ولكن تحصل على تلك مع المتوسطات المتحركة الأخرى جدا. ومع ذلك، فإن ميزة جيدة هي أنه يمكنك التفاف المنطق المتوسط ​​المتحرك في أفيراجر والتجربة دون إزعاج بقية البرنامج الخاص بك كثيرا. نداش دونال فيلوس فبراير 9 12 في 0:06 أنا تواجه صعوبة في فهم أسئلتك، ولكن سأحاول الإجابة على أي حال. 1) إذا وجدت خوارزمية 0.25 بدلا من 0.36، فمن الخطأ. فمن الخطأ لأنه يفترض زيادة رتيبة أو نقصان (وهذا هو دائما الذهاب أو دائما الذهاب إلى أسفل). إلا إذا كنت متوسط ​​جميع البيانات الخاصة بك، نقاط البيانات الخاصة بك --- كما تقدم لهم --- هي غير الخطية. إذا كنت تريد حقا أن تجد أقصى قيمة بين نقطتين في الوقت المناسب، ثم شريحة صفيف الخاص بك من تمين إلى تماكس والعثور على الحد الأقصى من أن سوباراي. 2) الآن، مفهوم المتوسطات المتحركة بسيط جدا: تخيل أن لدي القائمة التالية: 1.4، 1.5، 1.4، 1.5، 1.5. أستطيع أن تمهيده بأخذ متوسط ​​رقمين: 1.45، 1.45، 1.45، 1.5. لاحظ أن الرقم الأول هو متوسط ​​1.5 و 1.4 (الثانية والأرقام الأولى) والثانية (القائمة الجديدة) هو متوسط ​​1.4 و 1.5 (الثالث والقائمة القديمة الثانية) الثالث (قائمة جديدة) متوسط ​​1.5 و 1.4 (الرابع والثالث)، وهلم جرا. كنت يمكن أن تجعل من فترة ثلاثة أو أربعة، أو ن. لاحظ كيف البيانات هو أكثر سلاسة بكثير. وهناك طريقة جيدة لرؤية المتوسطات المتحركة في العمل هو الذهاب إلى غوغل المالية، حدد الأسهم (محاولة تسلا موتورز متقلبة جدا (تسلا)) وانقر على التقنية في الجزء السفلي من الرسم البياني. حدد المتوسط ​​المتحرك مع فترة معينة، والمتوسط ​​المتحرك الأسي لمقارنة الاختلافات بينهما. المتوسط ​​المتحرك الأسي هو مجرد وضع آخر من هذا، ولكن الأوزان البيانات القديمة أقل من البيانات الجديدة وهذا هو وسيلة لتحيز تمهيد نحو الظهر. يرجى قراءة إدخال ويكيبيديا. لذلك، هذا هو أكثر تعليق من الجواب، ولكن مربع التعليق قليلا كان مجرد صغيرة. حظا طيبا وفقك الله. إذا كنت تواجه مشكلة مع الرياضيات، هل يمكن أن تذهب مع متوسط ​​متحرك بسيط بدلا من الأسي. لذا فإن الإخراج الذي تحصل عليه سيكون مصطلحات x الأخيرة مقسوما على x. كودوكود غير مختبرة: لاحظ أنك سوف تحتاج إلى التعامل مع بداية ونهاية أجزاء من البيانات بما أنه من الواضح أنك غير قادر على متوسط ​​آخر 5 شروط عندما كنت على نقطة البيانات 2 الخاص بك. أيضا، هناك طرق أكثر كفاءة لحساب هذا المتوسط ​​المتحرك (مجموع المبلغ - الأقدم الأحدث)، ولكن هذا هو للحصول على مفهوم ما يحدث عبر. أجاب على فب 8 12 في 20:41 يور أنسور 2017 ستاك إكسهانج، إنك

No comments:

Post a Comment