تقنية

فرق القيم ومعدل التغير: لماذا نحتاج الفاصل الزمني؟

القيمتان خمسة وسبعة عشر تعطيان فرقا اثني عشر ومعدلا اثنين لكل ثانية في ست ثوان أو ستة لكل ثانية في ثانيتين
رسم أصلي لحساب طرفين مؤلفين؛ لا قياس لحظي أو تنبؤ.

فرق القيم ومعدل التغير ليسا ميزة واحدة باسمين. فرق القراءتين يصف مقدار تغير القيمة بين طرفين، بينما قسمة ذلك الفرق على مدة الفترة تصف معدل التغير المتوسط. عندما تتفاوت الفواصل، قد تتساوى الفروق وتختلف المعدلات.

الخلاصة السريعة

لأن معدل التغير المتوسط يقسم فرق القيم على مدة معلومة موجبة؛ الفرق نفسه عبر فترتين مختلفتين لا يعطي المعدل نفسه.

  • تصف وثائق pandas العملية diff بحساب الفرق بين عنصر وعنصر آخر، والافتراضي هو الصف السابق. [1] هذا فرق قيم، لا قسمة تلقائية على مدة الزمن.
  • نؤلف قراءتين 5 و 17 بالوحدة نفسها، ففرق النهاية والبداية 12. خلال 6 ثوان يكون المعدل 12÷6=2 وحدة/ثانية، وخلال ثانيتين يكون 6 وحدات/ثانية.
  • المعدل هنا للفترة كاملة، لا سرعة تغير لحظية أو إثبات ارتفاع منتظم بين الطرفين. المتغير قيمة حالة عادية في المثال، وليس عدادا تراكميا نفترض غياب تصفيره.
  • نحتاج هوية الكمية ووحدتها ووقتين قابلين للمقارنة ومدة موجبة. إذا غابت المدة أو كانت صفرًا فلا نخترع معدلًا من الفرق وحده؛ لم نجمع بيانات أو نشغل diff أو نموذجا.

أي عملية تعطي فرق الصفوف؟

تصف pandas عملية Series.diff بأنها الفرق بين عنصر وعنصر آخر، وبصورة افتراضية تقارن بالعنصر في الصف السابق. [1]

نقصر المثال على قيم عددية معلومة مرتبة في الزمن، ونحسب النهاية ناقص البداية بالحساب العادي. لسنا بصدد سلوك كل نوع تخزين أو تحويله؛ لم نستدع diff، ولا نفترض من اسم العملية أنها قسمت على فاصل زمني.

ونفترض أن القيمة تصف حالة كمية تعليمية بالوحدة و، لا عدد أحداث تراكميا منذ إعادة تشغيل. بهذا نعزل فرق قيمة عادية عن أسئلة هوية عداد وتصفيره التي تحتاج معلومات أخرى.

كيف يختلف المعدل مع ثبات الفرق؟

نختار نفس قيمتي الطرفين في الحالتين، ونغير زمن النهاية فقط بالنسبة إلى البداية. في أ، الفرق 17−5=12 والمدة 6. في ب، الفرق نفسه 12 والمدة 2. لا توجد قراءات داخل الفترتين في المثال.

القسمة على المدة تعطي 12÷6=2 و 12÷2=6. هكذا تخفي ميزة الفرق 12 وحدها اختلاف معدل الفترة الذي حسبناه من الوقتين؛ نحتاج المدة إذا كان السؤال عن التغير لكل ثانية.

وإذا كتب ملف «2» دون الوحدة أو التعريف، فقد يفقد معنى المعدل. نحفظ وحدة القيمة ووحدة الزمن، ولا نساوي وحدة و/ثانية بوحدة و لمجرد تخزينهما بنوع عدد واحد.

حالة مؤلفةقيمة البداية والنهايةمدة الفترةفرق القيممعدل الفترة
أ5 ثم 176 ثوان12 وحدة و2 وحدة و/ثانية
ب5 ثم 17ثانيتان12 وحدة و6 وحدات و/ثانية

هل المعدل يصف كل لحظة بين الطرفين؟

لا يحدد طرفا الفترة وحدهما المسار داخلها. قد ترتفع القيمة بانتظام أو تتغير على مراحل، وقد تصعد وتهبط ثم تنتهي 17. فرق الطرفين 12 لا يميز هذه المسارات الممكنة.

لذلك نسمي 2 في أ معدل التغير المتوسط خلال الست ثوان، لا تغيرا أثبتناه في كل ثانية أو عند لحظة النهاية. ولا نعامل هذا المعدل كمقياس تذبذب أو كأكبر تغير لحظي؛ لم نعط معلومات لحساب ذلك.

المثال لا يتنبأ بالقيمة التالية، ولا يقيس أثر استعمال المعدل على نموذج. يوضح فقط المعلومات الإضافية التي تضيفها المدة إلى فرق طرفين، وحدود هذا الوصف بالنسبة إلى المسار غير المشاهد.

متى نتوقف قبل حساب المعدل؟

نقترح التحقق من أن القراءتين للكمية نفسها وبالوحدة نفسها، وأن الوقتين يمثلان لحظتيها بمراجع وساعات تسمح بالطرح. ثم نحسب مدة موجبة بعد ترتيب البداية والنهاية كما عرفتهما المهمة.

إذا كانت المدة صفرًا، لا تنتج القسمة معدل الفترة المعرف هنا. وإذا كان أحد الوقتين مجهولا، لا نعوض الفاصل بثانية واحدة لأنه أسهل؛ نحتفظ بالفرق مع بيان أن المعدل لم يحسم.

وعند إعداد ميزات، نحفظ قيم الطرفين ووقتيهما والفرق والمدة ووحدتيهما. لم نجمع قراءات أو نقس ساعة. صحة هذه الحسابات في المثال لا تثبت صحة الزمن المسجل أو توفر الميزة عند قرار فعلي.

المصادر ومتابعة القراءة

  1. pandas: Series.diff (يفتح في نافذة جديدة)pandas.pydata.org

أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.