یک برنامه پایتون بنویسید که میانگین، واریانس و انحراف معیار نمونه‌ای را برای یک مجموعه‌دادهٔ بزرگ آماری (statistics) به‌صورت حافظه‌موثر و سریع با استفاده از numpy محاسبه کند.

2.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:09

0.0

برای حل: داده‌ها را به‌صورت تکه‌ای (chunking) یا با np.memmap بارگذاری کنید تا از پر شدن حافظه جلوگیری شود، سپس با الگوریتم یک‌گذرهٔ Welford یا محاسبات تجمعی روی هر تکه میانگین و واریانس را به‌دست آورید تا پایداری عددی تضمین شود. برای سرعت بالاتر از توابع برداری‌شده‌ی numpy (np.mean, np.var) استفاده کنید و در صورت نیاز برای پردازش موازی تکه‌ها از multiprocessing یا joblib بهره ببرید؛ نکات مفید: از dtype=float64 استفاده کنید، از حلقه‌های پایتون روی عناصر خودداری کنید و نتایج تکه‌ها را با فرمول‌های ترکیب میانگین/واریانس ادغام کنید.

توسط پژوهشگر در 221 روز قبل ساعت 01:09
دسته بندی ها: Python Python for beginner
nima در 221 روز قبل ساعت 14:23

برای داده‌های بزرگ از np.memmap یا chunking استفاده کن تا حافظه پر نشود و داده‌ها را با dtype=float64 بخوانی. با اجرای یک‌گذرهٔ Welford یا ترکیب نتایج تکه‌ها، میانگین، واریانس و انحراف معیار نمونه‌ای را به‌طور عددی پایدار و سریع بدست آور. برای سرعت بیشتر، از توابع برداری numpy استفاده کن و محاسبات تکه‌ای را با multiprocessing یا joblib موازی کن و نتیجه‌ها را با فرمول‌های ترکیبی ترکیب کن. همچنین برای واریانس نمونه‌ای، از ddof=1 استفاده کن تا خروجی با استاندارد آماری مطابقت داشته باشد.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری