چه در حال تخصیص منابع کارآمدتر برای ترافیک وب، پیشبینی تقاضای بیمار برای نیازهای کارکنان، یا پیشبینی فروش محصولات یک شرکت باشید، پیشبینی ابزاری ضروری در بسیاری از مشاغل است. یک مورد استفاده خاص، که به عنوان شناخته می شود پیش بینی شروع سرد، پیشبینیهایی را برای یک سری زمانی ایجاد میکند که دادههای تاریخی موجود کمی دارد یا اصلاً وجود ندارد، مانند محصول جدیدی که به تازگی در صنعت خردهفروشی وارد بازار شده است. روشهای پیشبینی سریهای زمانی سنتی مانند میانگین متحرک یکپارچه اتورگرسیو (ARIMA) یا هموارسازی نمایی (ES) به شدت بر سریهای زمانی تاریخی هر محصول تکی تکیه دارند و بنابراین برای پیشبینی شروع سرد مؤثر نیستند.
در این پست، نحوه ساخت موتور پیشبینی شروع سرد را با استفاده از آن نشان میدهیم AutoGluon AutoML برای پیش بینی سری های زمانییک بسته پایتون منبع باز برای خودکارسازی یادگیری ماشین (ML) روی دادههای تصویر، متن، جدول و سری زمانی. AutoGluon یک خط لوله یادگیری ماشین خودکار (AutoML) را برای مبتدیان تا توسعه دهندگان باتجربه ML ارائه می دهد و آن را به دقیق ترین و آسان ترین راه حل کاملاً خودکار تبدیل می کند. ما از رایگان استفاده می کنیم Amazon SageMaker Studio Lab خدمات برای این نمایش
مقدمه ای بر سری زمانی AutoGluon
AutoGluon یک کتابخانه منبع باز پیشرو برای AutoML برای متن، تصویر و داده های جدولی است که به شما امکان می دهد مدل های بسیار دقیقی را از داده های خام تنها با یک خط کد تولید کنید. اخیراً، این تیم برای گسترش این قابلیتها به دادههای سری زمانی کار کرده است و یک ماژول پیشبینی خودکار را توسعه داده است که به صورت عمومی در دسترس است. GitHub. autogluon.forecasting
ماژول به طور خودکار داده های سری زمانی خام را در قالب مناسب پردازش می کند، و سپس مدل های پیشرفته یادگیری عمیق مختلف را آموزش می دهد و تنظیم می کند تا پیش بینی های دقیقی ایجاد کند. در این پست نحوه استفاده را نشان می دهیم autogluon.forecasting
و آن را برای کارهای پیش بینی شروع سرد اعمال کنید.
بررسی اجمالی راه حل
از آنجایی که AutoGluon یک بسته پایتون منبع باز است، می توانید این راه حل را پیاده سازی کنید به صورت محلی در لپ تاپ خود یا در Amazon SageMaker Studio Lab. مراحل زیر را طی می کنیم:
- AutoGluon را برای Amazon SageMaker Studio Lab راه اندازی کنید.
- مجموعه داده را آماده کنید.
- پارامترهای آموزشی را با استفاده از AutoGluon تعریف کنید.
- یک موتور پیشبینی شروع سرد را برای پیشبینی سریهای زمانی آموزش دهید.
- پیشبینیهای پیشبینی شروع سرد را تجسم کنید.
فرض کلیدی پیشبینی شروع سرد این است که اقلام با ویژگیهای مشابه باید مسیرهای سری زمانی مشابهی داشته باشند، این همان چیزی است که به پیشبینی شروع سرد اجازه میدهد تا روی موارد بدون دادههای تاریخی پیشبینی کند، همانطور که در شکل زیر نشان داده شده است.
در بررسی خود، از یک مجموعه داده مصنوعی بر اساس مصرف برق استفاده میکنیم که شامل سریهای زمانی ساعتی برای 370 آیتم است که هر کدام دارای یک item_id
از 0 تا 369. در این مجموعه داده مصنوعی، هر یک item_id
همچنین با یک ویژگی ثابت (ویژگی که در طول زمان تغییر نمی کند) همراه است. ما آموزش می دهیم DeepAR مدل با استفاده از AutoGluon برای یادگیری رفتار معمول موارد مشابه، و انتقال چنین رفتاری برای پیش بینی موارد جدید (item_id
370–373) که دادههای سری زمانی تاریخی ندارند. اگرچه ما رویکرد پیشبینی شروع سرد را تنها با یک ویژگی استاتیک نشان میدهیم، اما در عمل، داشتن ویژگیهای استاتیک آموزنده و با کیفیت، کلید یک پیشبینی خوب شروع سرد است.
نمودار زیر یک نمای کلی در سطح بالا از راه حل ما ارائه می دهد. کد منبع باز در دسترس است GitHub repo.
پیش نیازها
برای این راهنما، شما باید پیش نیازهای زیر را داشته باشید:
- An حساب کاربری Amazon SageMaker Studio Lab
- GitHub دسترسی به حساب
به حساب کاربری Amazon SageMaker Studio Lab خود وارد شوید و محیط را با استفاده از ترمینال تنظیم کنید:
اگر به Amazon SageMaker Studio Lab دسترسی ندارید، این دستورالعمل ها باید از لپ تاپ شما نیز کار کنند (توصیه می کنیم ابتدا Anaconda را روی لپ تاپ خود نصب کنید).
هنگامی که محیط مجازی را به طور کامل تنظیم کردید، نوت بوک را راه اندازی کنید AutoGluon-cold-start-demo.ipynb
و محیط دلخواه را انتخاب کنید .conda-autogluon:Python
هسته
مجموعه زمانی هدف و متا دیتاست آیتم را آماده کنید
مجموعه دادههای زیر را در صورت نبودن در نمونه نوتبوک خود دانلود کنید و در زیر فهرست ذخیره کنید data/
. شما می توانید این مجموعه داده ها را در ما پیدا کنید GitHub repo:
- Test.csv.gz
- coldStartTargetData.csv
- itemMetaData.csv
قطعه زیر را اجرا کنید تا مجموعه داده سری زمانی هدف را در هسته بارگیری کنید:
سری زمانی AutoGluon به ویژگی های استاتیک نیاز دارد که در قالب عددی نمایش داده شوند. این را می توان از طریق درخواست به دست آورد LabelEncoder()
در ویژگی استاتیک ما type
، جایی که ما A=0، B=1، C=2، D=3 را کد می کنیم (کد زیر را ببینید). به طور پیش فرض، AutoGluon ویژگی استاتیک را به صورت ترتیبی یا طبقه ای استنباط می کند. همچنین میتوانید با تبدیل ستون ویژگی استاتیک به نوع داده شی/رشته برای ویژگیهای طبقهبندی، یا نوع داده عدد صحیح/ شناور برای ویژگیهای ترتیبی، آن را بازنویسی کنید.
آموزش مدل AutoGluon را راه اندازی و شروع کنید
باید مشخص کنیم save_path = ‘autogluon-coldstart-demo’
به عنوان نام پوشه مصنوع مدل (به کد زیر مراجعه کنید). ما نیز خود را تنظیم کردیم eval_metric
as میانگین درصد خطای مطلق، یا ‘MAPE’
به طور خلاصه، جایی که ما تعریف کردیم prediction_length
به عنوان 24 ساعت اگر مشخص نشده باشد، AutoGluon به طور پیشفرض پیشبینیهای احتمالی تولید میکند و آنها را از طریق کاهش چندکی وزنی. ما فقط نگاه می کنیم مدل DeepAR در نسخه ی نمایشی ما، زیرا می دانیم که الگوریتم DeepAR امکان پیش بینی شروع سرد را با طراحی فراهم می کند. یکی از هایپرپارامترهای DeepAR را خودسرانه تنظیم می کنیم و آن هایپرپارامتر را به ForecastingPredictor().fit()
زنگ زدن. این اجازه می دهد تا AutoGluon فقط به مدل مشخص شده نگاه کند. برای لیست کامل هایپرپارامترهای قابل تنظیم، مراجعه کنید پکیج gluonts.model.deepar.
آموزش 30 تا 45 دقیقه طول می کشد. با فراخوانی تابع زیر می توانید خلاصه مدل را دریافت کنید:
پیش بینی در مورد شروع سرد
اکنون ما آماده ایم تا پیش بینی هایی را برای آیتم شروع سرد ایجاد کنیم. توصیه می کنیم حداقل پنج ردیف برای هر کدام داشته باشید item_id
. بنابراین، برای item_id
که کمتر از پنج مشاهده دارد، با NaN ها پر می کنیم. در نسخه ی نمایشی ما، هر دو item_id
370 و 372 مشاهده صفر دارند، یک مشکل شروع سرد خالص، در حالی که دو مورد دیگر دارای پنج مقدار هدف هستند.
در مجموعه داده سری زمانی هدف شروع سرد با کد زیر بارگیری کنید:
ما سری زمانی هدف شروع سرد را به مدل AutoGluon خود به همراه مجموعه داده متا مورد برای شروع سرد وارد می کنیم. item_id
:
پیش بینی ها را تجسم کنید
همانطور که در نمودار زیر نشان داده شده است، میتوانیم یک تابع رسم برای ایجاد تجسم در پیشبینی شروع سرد ایجاد کنیم.
پاک کردن
برای بهینه سازی استفاده از منابع، پس از بررسی کامل نوت بوک، زمان اجرا را در Amazon SageMaker Studio Lab متوقف کنید.
نتیجه
در این پست، نحوه ساخت موتور پیشبینی شروع سرد با استفاده از AutoGluon AutoML برای دادههای سری زمانی در Amazon SageMaker Studio Lab را نشان دادیم. برای کسانی از شما که به تفاوت بین آنها فکر می کنید پیش بینی آمازون و AutoGluon (سری زمانی)، Amazon Forecast یک سرویس کاملاً مدیریت شده و پشتیبانی شده است که از یادگیری ماشین (ML) برای تولید پیشبینیهای بسیار دقیق بدون نیاز به تجربه قبلی ML استفاده میکند. در حالی که AutoGluon یک پروژه منبع باز است که جامعه با آخرین مشارکت های تحقیقاتی پشتیبانی می شود. ما یک مثال سرتاسری را بررسی کردیم تا نشان دهیم AutoGluon برای سریهای زمانی چه تواناییهایی دارد، و مجموعه داده و مورد استفاده را ارائه کردیم.
AutoGluon برای داده های سری زمانی یک بسته منبع باز پایتون است، و ما امیدواریم که این پست، همراه با مثال کد ما، راه حلی ساده برای مقابله با مشکلات چالش برانگیز پیش بینی شروع سرد به شما ارائه دهد. شما می توانید به کل مثال در ما دسترسی داشته باشید GitHub repo. آن را امتحان کنید و نظر خود را با ما در میان بگذارید!
درباره نویسنده
ایوان کوی یک دانشمند داده با خدمات حرفه ای AWS است، جایی که به مشتریان کمک می کند تا راه حل هایی را با استفاده از یادگیری ماشین در AWS بسازند و به کار گیرند. او با مشتریان در صنایع مختلف از جمله نرم افزار، مالی، داروسازی و مراقبت های بهداشتی کار کرده است. در اوقات فراغت از مطالعه، گذراندن وقت با خانواده و به حداکثر رساندن سبد سهام خود لذت می برد.
جوناس مولر یک دانشمند کاربردی ارشد در گروه تحقیقات و آموزش هوش مصنوعی در AWS است، جایی که او الگوریتم های جدیدی را برای بهبود یادگیری عمیق و توسعه یادگیری ماشین خودکار توسعه می دهد. قبل از پیوستن به AWS برای دموکراتیک کردن ML، او دکترای خود را در آزمایشگاه علوم کامپیوتر و هوش مصنوعی MIT به پایان رساند. او در اوقات فراغت خود از کاوش در کوه ها و فضای باز لذت می برد.
ونمینگ یه مدیر محصول تحقیقاتی در AWS AI است. او مشتاق کمک به محققان و مشتریان سازمانی است تا به سرعت نوآوری های خود را از طریق منبع باز و فناوری یادگیری ماشینی پیشرفته انجام دهند. Wenming دارای تجربیات متنوع تحقیق و توسعه از Microsoft Research، تیم مهندسی SQL و استارت آپ های موفق است.
- "
- 100
- 9
- درباره ما
- مطلق
- دسترسی
- حساب
- دقیق
- دست
- در میان
- AI
- تحقیق ai
- الگوریتم
- الگوریتم
- اجازه دادن
- هر چند
- آمازون
- با استفاده از
- روش
- مصنوعی
- هوش مصنوعی
- خودکار
- در دسترس
- میانگین
- AWS
- ساختن
- می سازد
- کسب و کار
- صدا
- می توانید دریافت کنید
- قابلیت های
- CD
- تغییر دادن
- وارسی
- رمز
- ستون
- انجمن
- شرکت
- علم کامپیوتر
- مصرف
- مشتریان
- داده ها
- دانشمند داده
- تقاضا
- گسترش
- طرح
- توسعه
- توسعه
- توسعه دهندگان
- نمی کند
- آموزش
- موثر
- برق
- مهندسی
- وارد
- سرمایه گذاری
- محیط
- ضروری است
- مثال
- تجربه
- با تجربه
- گسترش
- خانواده
- ویژگی
- امکانات
- شکل
- سرمایه گذاری
- نام خانوادگی
- پیروی
- قالب
- رایگان
- کامل
- تابع
- آینده
- تولید می کنند
- رفتن
- خوب
- گروه
- داشتن
- بهداشت و درمان
- کمک می کند
- خیلی
- تاریخی
- چگونه
- چگونه
- HTTPS
- تصویر
- انجام
- بهبود
- مشمول
- از جمله
- فرد
- لوازم
- صنعت
- یکپارچه
- اطلاعات
- IT
- کلید
- شناخته شده
- لپ تاپ
- آخرین
- راه اندازی
- برجسته
- یاد گرفتن
- یادگیری
- کتابخانه
- لاین
- فهرست
- کوچک
- بار
- دستگاه
- فراگیری ماشین
- ساخت
- مدیر
- بازار
- متا
- مایکروسافت
- MIT
- ML
- مدل
- مدل
- اکثر
- متحرک
- محصول جدید
- دفتر یادداشت
- کد منبع باز
- دیگر
- خارج از منزل
- درصد
- دارویی
- مقام
- پیش بینی
- مشکل
- مشکلات
- فرآیندهای
- تولید کردن
- محصول
- محصولات
- حرفه ای
- پروژه
- فراهم می کند
- تحقیق و توسعه
- خام
- مطالعه
- توصیه
- تحقیق
- منابع
- منابع
- خرده فروشی
- حراجی
- مقیاس
- مقیاس گذاری
- علم
- دانشمند
- سلسله
- سرویس
- خدمات
- تنظیم
- کوتاه
- مشابه
- نرم افزار
- مزایا
- هزینه
- شروع
- نوپا
- موجودی
- استودیو
- موفق
- پشتیبانی
- هدف
- وظایف
- تیم
- پیشرفته
- پایانه
- از طریق
- زمان
- با هم
- سنتی
- ترافیک
- آموزش
- قطار
- us
- استفاده کنید
- مجازی
- تجسم
- وب
- چی
- WHO
- در داخل
- بدون
- مهاجرت کاری
- مشغول به کار
- کارگر
- صفر