محتويات الدورة

تحليل البيانات / المتقدم: قرارات مبررة وقابلة للتكرار / الدرس 17

الحجم والموثوقية العددية

احفظ المعنى التحليلي عند تقليل الذاكرة أو الحساب، ودقق الدقة والتجاوز وحدود التجميع قبل ادعاء تحسن الأداء.

وقت القراءة التقريبي: 4 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • تمييز التقريب العائم من عدم يقين البيانات.
  • جمع ملخصات الأجزاء بالمعلومات الكافية للمقياس.
  • مراجعة نوع البيانات والمحاذاة وافتراضات الأداء.

يبقى المقياس الأسرع الخاطئ خاطئا

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

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

التقريب العددي ليس عدم يقين المعاينة

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

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

python مقارنة حلقة ساذجة بجمع مكتبة أدق
from math import fsum

values = [1e16, 1.0, -1e16]
naive = 0.0
for value in values:
    naive += value
print(f"naive={naive:.1f} accurate={fsum(values):.1f}")
الناتج المتوقع
naive=0.0 accurate=1.0

تفقد الحلقة الصريحة حد الواحد، وتحفظ math.fsum النتيجة1.0 للقيم الثابتة.

حفظ الأعداد عند جمع المتوسطات الجزئية

يعالج المثال الثاني جزأين بالعدد والمجموع ثم يشتق المتوسط العام. يعطي متوسط متوسطيهما بوزن متساو2.75 بدلا من3 لأن الحجمين مختلفان. يحفظ التدفق هذا المقياس بمعلومات كافية، بينما يحتاج الوسيط أو الكمي العام استراتيجية دقيقة أو تقريبية أخرى.

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

python تجميع أجزاء موزون بصورة صحيحة
chunks = [[1, 2], [3, 4, 5]]
count = 0
total = 0
for chunk in chunks:
    count += len(chunk)
    total += sum(chunk)
if count == 0:
    raise ValueError("no observations")
print(f"count={count} mean={total / count:.2f}")
الناتج المتوقع
count=5 mean=3.00

يعطي المجموع15 والعدد5 متوسط3.00 بصرف النظر عن حجمي الجزأين المعروضين.

تؤثر دلالة المصفوفة والجدول في الحساب

قد تتجاوز مصفوفات أعداد NumPy الصحيحة ثابتة العرض، رغم أن أعداد Python الصحيحة ذات دقة اعتباطية. اختر النوع الكافي قبل العملية الخطرة؛ فتحويل نتيجة تجاوزت المدى متأخر. قد تنتج broadcasting مصفوفة أكبر أو حسابا آخر، فافحص الشكل والوحدات قبل الوثوق بالنتيجة المتجهة.

تحاذي pandas البيانات المسماة في عمليات كثيرة، بينما تتبع مصفوفة NumPy الخام مواضع المحاور. قد يؤدي جمع Series بفهرسين مختلفين إلى غياب أو مطابقة غير مقصودة. وربما يزيل تحويل أسرع إلى مصفوفات تسميات كانت تحفظ الصحة. وثق هل العملية حسب العلامات أو المواضع واختبر المدخل المعاد ترتيبه.

تأتي حدود التسامح من المجال

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

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

الأخطاء الشائعة وإصلاحها

لا يعيد التحويل إلى نوع أوسع قيمة كبيرة صحيحة.

لماذا يحدث؟
وقع التجاوز قبل التحويل.
كيف تصلحه؟
اختر نوع المعامل أو المجمع قبل الحساب.
كيف تتجنب تكراره؟
اختبر الحدود والنتائج الوسيطة.

يختلف متوسط الأجزاء من متوسط المجموعة الكاملة.

لماذا يحدث؟
أخذ متوسط المتوسّطات دون أعدادها.
كيف تصلحه؟
اجمع المجاميع وأعداد القياسات الصالحة.
كيف تتجنب تكراره؟
اختبر أحجام أجزاء غير متساوية وقيما مفقودة.

تغير إعادة ترتيب الجدول حسابا موضعيا.

لماذا يحدث؟
اختلطت التسميات بالمواضع.
كيف تصلحه؟
حاذ بالمفاتيح المتحققة أو افرض الترتيب المقصود.
كيف تتجنب تكراره؟
اختبر مدخلا مبدلا وتسميات غير مطابقة.

اختبر فهمك

1. لمتوسطَي جزأين2 و10 عددان2 و8. ما المتوسط الكامل وما المعلومات الأساسية؟

اعرض الحل المشروح

استعد المجموعين4 و80 واقسم84 على العدد الكلي10 لتحصل على8.4. أما6 فهو متوسط جزأين متساويي الوزن ويجيب سؤالا آخر. احفظ عدد المشاهدات الصالحة لا الصفوف الخام فقط إن غابت بعض القياسات؛ فهذا العدد ضروري لإعادة الجمع.

2. لماذا قد يلائم تسامح0.01 مقياسا ويكون مرفوضا لآخر؟

اعرض الحل المشروح

يعتمد على الحجم والوحدة ودقة القياس وحساسية القرار. قد يهمل جزء من مئة وحدة مع عد كبير ويكون ماديا لمعدل صغير أو قياس معاير. وثق المطلق والنسبي واختبر قرب الصفر. استبعد أولا الأخطاء البنيوية كالمقامات والوحدات المختلفة؛ فلا تصادق عليها مساواة تقريبية.

أهم ما تعلمته

  • يختلف الخطأ العددي من عدم يقين المعاينة وخطأ القياس.
  • تحتاج ملخصات الأجزاء معلومات كافية لحفظ المقياس المستهدف.
  • أنواع البيانات والأشكال والمحاذاة والتسامح جزء من الصحة.

المراجع الرسمية