پیش بینی آسان و دقیق با AutoGluon-TimeSeries PlatoBlockchain Intelligence. جستجوی عمودی Ai.

پیش بینی آسان و دقیق با AutoGluon-TimeSeries

AutoGluon-TimeSeries جدیدترین افزوده شده به AutoGluon است که به شما کمک می کند تا به راحتی مدل های پیش بینی سری های زمانی قدرتمند را با حداقل سه خط کد بسازید.

پیش‌بینی سری‌های زمانی یک کار رایج در طیف وسیعی از صنایع و همچنین حوزه‌های علمی است. دسترسی به پیش بینی های قابل اعتماد برای عرضه، تقاضا یا ظرفیت برای برنامه ریزی برای کسب و کار بسیار مهم است. با این حال، پیش‌بینی سری‌های زمانی یک مشکل دشوار است، به‌ویژه زمانی که هزاران سری زمانی مرتبط بالقوه در دسترس هستند، مانند فروش در یک کاتالوگ بزرگ در تجارت الکترونیک، یا ظرفیت در صدها سایت عملیاتی.

روش‌های پیش‌بینی ساده آماری یا مبتنی بر قضاوت اغلب خطوط پایه قوی هستند که بهبود آنها با روش‌های جدید یادگیری ماشین (ML) دشوار است. علاوه بر این، کاربردهای پیشرفت های اخیر در ML برای پیش بینی، با روش های کمی مانند DeepAR [1] یا ترانسفورماتورهای همجوشی زمانی [2] که به عنوان گزینه های محبوب در حال ظهور هستند. با این حال، آموزش، تنظیم و به کارگیری این روش ها در تولید دشوار است و به دانش تخصصی ML و تجزیه و تحلیل سری های زمانی نیاز دارد.

AutoML یک موضوع به سرعت در حال رشد در ML است که بر خودکارسازی وظایف رایج در خطوط لوله ML متمرکز است، از جمله پیش پردازش ویژگی، انتخاب مدل، تنظیم مدل، مجموعه سازی و استقرار. AutoGluon-TimeSeries جدیدترین اضافه شده به است AutoGluon، یکی از راه حل های منبع باز AutoML پیشرو است و بر اساس چارچوب قدرتمند AutoGluon برای AutoML در کارهای پیش بینی ساخته شده است. AutoGluon-TimeSeries برای ایجاد سیستم های پیش بینی قدرتمند با حداقل سه خط کد طراحی شده است که چالش های پیش پردازش ویژگی، انتخاب مدل، تنظیم مدل و سهولت استقرار را کاهش می دهد.

با یک تماس ساده با AutoGluon-TimeSeries TimeSeriesPredictorAutoGluon از یک اولویت بصری در مدل‌های برازش پیروی می‌کند: از خطوط پایه ساده و ساده شروع می‌شود و به سمت شبکه‌های عصبی جهانی قدرتمند و روش‌های مبتنی بر درخت تقویت می‌شود، همه در بودجه زمانی مشخص شده توسط کاربر. وقتی سری‌های زمانی مرتبط (متغیرهای کمکی متغیر با زمان یا متغیرهای برون‌زا) یا فراداده مورد (ویژگی‌های استاتیک) در دسترس هستند، AutoGluon-TimeSeries آنها را در پیش‌بینی فاکتور می‌کند. این کتابخانه همچنین از بهینه سازی بیزی برای تنظیم هایپرپارامتر بهره می برد و با تنظیم مدل های پیچیده به بهترین پیکربندی مدل می رسد. در نهایت، AutoGluon-TimeSeries بهترین روش های آماری و مبتنی بر ML را در یک مجموعه مدل بهینه شده برای مشکل مورد نظر ترکیب می کند.

در این پست، سهولت استفاده AutoGluon-TimeSeries در ساخت سریع یک پیش بینی کننده قدرتمند را به نمایش می گذاریم.

با AutoGluon-TimeSeries شروع کنید

برای شروع، باید AutoGluon را نصب کنید، که به راحتی با پیپ روی پوسته یونیکس انجام می شود:

pip install "autogluon>=0.6"

AutoGluon-TimeSeries را معرفی می کند TimeSeriesDataFrame کلاس برای کار با مجموعه داده هایی که شامل چندین سری زمانی مرتبط هستند (گاهی اوقات مجموعه داده پانل نامیده می شود). این فریم های داده را می توان از فریم های داده با فرمت طولانی ایجاد کرد که دارای شناسه های سری زمانی و مهرهای زمانی هستند که در ردیف ها مرتب شده اند. نمونه زیر یکی از این نمونه داده ها است که از رقابت M4 [3] گرفته شده است. اینجا item_id ستون شناسه منحصربه‌فرد یک سری زمانی را مشخص می‌کند، مانند شناسه محصول برای داده‌های فروش روزانه چندین محصول. این target ستون مقدار مورد علاقه ای است که AutoGluon-TimeSeries پیش بینی آن را یاد خواهد گرفت. weekend یک متغیر کمکی متغیر با زمان اضافی است که ما برای مشخص کردن اینکه آیا مشاهده در آخر هفته بوده است یا نه، تولید کردیم.

ما به راحتی می توانیم یک محصول جدید تولید کنیم TimeSeriesDataFrame از این مجموعه داده با استفاده از from_data_frame سازنده کد پایتون زیر را ببینید:

df = TimeSeriesDataFrame.from_data_frame(raw_data_frame)

برخی از داده‌های سری زمانی دارای ویژگی‌های غیرمتغیر زمانی (ویژگی‌های استاتیک یا فراداده آیتم) هستند که می‌توانند در آموزش یک مدل پیش‌بینی استفاده شوند. به عنوان مثال، مجموعه داده M4 دارای یک متغیر دسته برای هر سری زمانی است. اینها را می توان به TimeSeriesDataFrame با تنظیم static_features متغیر با یک قاب داده جدید.

پیش بینی آسان و دقیق با AutoGluon-TimeSeries PlatoBlockchain Intelligence. جستجوی عمودی Ai.

از کد زیر استفاده کنید:

df.static_features = raw_static_features

یک TimeSeriesPredictor را آموزش دهید

در نهایت، ما می توانیم تماس بگیرید TimeSeriesPredictor برای تطبیق طیف گسترده ای از مدل های پیش بینی برای ایجاد یک سیستم پیش بینی دقیق. کد زیر را ببینید:

predictor = TimeSeriesPredictor(
    prediction_length=7,
    eval_metric="MASE",
    known_covariates_names=["weekend"],
)

در اینجا، ما مشخص می کنیم که TimeSeriesPredictor باید مدل هایی را برای پیش بینی هفت دوره زمانی بعدی تولید کند و بهترین مدل ها را با استفاده از میانگین خطای مقیاس مطلق قضاوت کند.MASE). علاوه بر این، ما نشان می‌دهیم که متغیر کمکی با زمان متغیر است weekend در مجموعه داده موجود است. اکنون می‌توانیم شیء پیش‌بینی‌کننده را بر روی آن قرار دهیم TimeSeriesDataFrame تولید شده زودتر:

predictor.fit(df, presets="medium_quality", time_limit=1800)

به غیر از ارائه داده های آموزشی، از پیش بینی کننده می خواهیم که استفاده کند “medium_quality” از پیش تنظیم شده است. AutoGluon-TimeSeries دارای چندین ایستگاه از پیش تنظیم برای انتخاب زیرمجموعه‌های مدل‌هایی است که باید در نظر گرفته شوند و چقدر زمان برای تنظیم آن‌ها صرف می‌شود و تعادل بین سرعت تمرین و دقت را مدیریت می‌کند. به غیر از تنظیمات از پیش تعیین شده، کاربران با تجربه تر می توانند از a hyperparameters آرگومان برای مشخص کردن دقیق مدل های مؤلفه و اینکه کدام هایپرپارامترها روی آنها تنظیم شوند. همچنین محدودیت زمانی 1,800 ثانیه را مشخص می کنیم که پس از آن پیش بینی کننده تمرین را متوقف می کند.

AutoGluon-TimeSeries تا جایی که می تواند در چارچوب زمانی مشخص، مدل های زیادی را آموزش می دهد، از خطوط پایه ساده اما قدرتمند شروع می شود و به سمت پیش بینی های پیچیده تر بر اساس درختان تقویت شده و مدل های شبکه عصبی کار می کند. با تماس predictor.leaderboard()، می توانیم لیستی از تمام مدل هایی که آموزش داده است و امتیازات دقت و زمان های آموزش برای هر کدام را مشاهده کنیم. توجه داشته باشید که هر مدل AutoGluon-TimeSeries خطاهای خود را در قالب «بالاتر بهتر است» گزارش می‌کند، به این معنی که بیشتر معیارهای خطای پیش‌بینی در هنگام گزارش در -1 ضرب می‌شوند. مثال زیر را ببینید:

              model  score_val  pred_time_val  fit_time_marginal  fit_order
0  WeightedEnsemble  -0.612510      15.406334          48.428711          8
1  AutoGluonTabular  -0.654924       1.068694         104.208688          6
2            DeepAR  -0.673366       6.731659        1065.956648          7
3     SeasonalNaive  -1.035286       0.410615           0.000742          2
4               ETS  -1.073640       5.832542           0.000584          3
5             Theta  -1.107362       1.773439           0.000614          4
6             ARIMA  -3.006273       2.483140           0.000625          5
7             Naive  -3.427339      29.532215           0.000577          1

پیش بینی با TimeSeriesPredictor

در نهایت، می‌توانیم از پیش‌بین برای پیش‌بینی تمام سری‌های زمانی در a استفاده کنیم TimeSeriesDataFrame، 7 روز آینده. توجه داشته باشید که از آنجایی که ما از متغیرهای کمکی متغیر با زمان استفاده کردیم که فرض می‌شود در آینده شناخته شوند، اینها نیز باید در زمان پیش‌بینی مشخص شوند. کد زیر را ببینید:

predictions = predictor.predict(
	df,
	known_covariates=future_known_covariates
)

به طور پیش‌فرض، AutoGluon-TimeSeries هم پیش‌بینی‌های نقطه‌ای و هم پیش‌بینی‌های احتمالی (چندکی) مقدار هدف را ارائه می‌کند. پیش‌بینی‌های احتمالی در بسیاری از وظایف برنامه‌ریزی ضروری هستند و می‌توان از آن‌ها برای محاسبه انعطاف‌پذیر فواصل استفاده کرد و وظایف پایین دستی مانند برنامه‌ریزی موجودی و ظرفیت را امکان‌پذیر کرد.

پیش بینی آسان و دقیق با AutoGluon-TimeSeries PlatoBlockchain Intelligence. جستجوی عمودی Ai.

نمونه زیر یک نمودار پیش‌بینی است که پیش‌بینی‌های نقطه‌ای و فواصل پیش‌بینی را نشان می‌دهد.

پیش بینی آسان و دقیق با AutoGluon-TimeSeries PlatoBlockchain Intelligence. جستجوی عمودی Ai.

نتیجه

AutoGluon-TimeSeries به پیش بینی کنندگان و دانشمندان داده راهی سریع و آسان برای ساخت مدل های پیش بینی قدرتمند می دهد. علاوه بر برخی از ویژگی های رایج کتابخانه که در این پست به نمایش گذاشته شده است، AutoGluon-TimeSeries مجموعه ای از روش ها را برای پیکربندی پیش بینی ها برای کاربران پیشرفته ارائه می دهد. همچنین آموزش، استقرار، و ارائه خدمات در مقیاس با پیش بینی کننده ها آسان است آمازون SageMakerبا استفاده از یادگیری عمیق AutoGluon ظروف.

برای جزئیات بیشتر در مورد استفاده از AutoGluon، مثال‌ها، آموزش‌ها، و همچنین سایر وظایف AutoGluon مانند یادگیری بر روی داده‌های جدولی یا چندوجهی، به سایت مراجعه کنید. AutoGluon. برای شروع استفاده از AutoGluon-TimeSeries، ما را بررسی کنید آموزش شروع سریع یا ما آموزش عمیق برای نگاه عمیق تر به تمام ویژگی هایی که کتابخانه ارائه می دهد. AutoGluon را دنبال کنید توییترو ما را ستاره دار کنید GitHub از آخرین به روز رسانی ها مطلع شوید.

برای پیش‌بینی در مقیاس با محاسبات و گردش‌های کاری اختصاصی، پشتیبانی در سطح سازمانی، قابلیت توضیح پیش‌بینی و موارد دیگر، همچنین بررسی کنید پیش بینی آمازون.

منابع

[1] سالیناس، دیوید، والنتین فلانکرت، یان گاستهاوس، و تیم یانوشوفسکی. DeepAR: پیش‌بینی احتمالی با شبکه‌های بازگشتی خودکار. مجله بین المللی پیش بینی 36. 3 (2020): 1181-1191.

[2] لیم، برایان، سرکان او آریک، نیکلاس لوف، و توماس پیستر. "ترانسفورماتورهای همجوشی زمانی برای پیش بینی سری های زمانی چند افقی قابل تفسیر." مجله بین المللی پیش بینی 37.4 (2021): 1748-1764.

[3] ماکریداکیس، اسپیروس، اوانجلوس اسپیلیوتیس، و واسیلیوس آسیماکوپولوس. مسابقه M4: 100,000 سری زمانی و 61 روش پیش‌بینی. مجله بین المللی پیش بینی 36.1 (2020): 54-74.


درباره نویسندگان

پیش بینی آسان و دقیق با AutoGluon-TimeSeries PlatoBlockchain Intelligence. جستجوی عمودی Ai.کانر ترکمن یک دانشمند کاربردی در خدمات وب آمازون است، جایی که او علاوه بر توسعه AutoGluon-TimeSeries، روی مشکلات در تقاطع یادگیری ماشین و پیش بینی کار می کند. قبل از پیوستن به AWS، او در صنعت مشاوره مدیریت به عنوان دانشمند داده کار می کرد و به خدمات مالی و صنایع مخابراتی در پروژه هایی در سراسر جهان خدمت می کرد. علایق تحقیقاتی شخصی Caner طیف وسیعی از موضوعات را شامل می شود، از جمله پیش بینی، استنتاج علی و AutoML.

پیش بینی آسان و دقیق با AutoGluon-TimeSeries PlatoBlockchain Intelligence. جستجوی عمودی Ai.الکساندر شچور یک دانشمند کاربردی در خدمات وب آمازون است، که در آنجا روی پیش‌بینی سری‌های زمانی در AutoGluon-TimeSeries کار می‌کند. او قبل از پیوستن به AWS، دکترای خود را در یادگیری ماشین در دانشگاه فنی مونیخ آلمان به پایان رساند و در مورد مدل‌های احتمالی برای داده‌های رویداد تحقیق کرد. علایق تحقیقاتی او شامل یادگیری ماشینی برای داده های زمانی و مدل سازی مولد است.

پیش بینی آسان و دقیق با AutoGluon-TimeSeries PlatoBlockchain Intelligence. جستجوی عمودی Ai.نیک اریکسون یک دانشمند ارشد کاربردی در خدمات وب آمازون است. او مدرک کارشناسی ارشد خود را در رشته علوم و مهندسی کامپیوتر از دانشگاه شهرهای دوقلوی مینه سوتا اخذ کرد. او یکی از نویسندگان و توسعه‌دهنده اصلی چارچوب AutoML منبع باز AutoGluon است. نیک که در سال 2018 به عنوان یک مجموعه ابزار رقابت شخصی ML شروع شد، به طور مستمر قابلیت‌های AutoGluon را گسترش داد و در سال 2019 به آمازون AI پیوست تا پروژه را منبع باز کند و به طور تمام وقت روی پیشرفت پیشرفته‌ترین هنر در AutoML کار کند.

تمبر زمان:

بیشتر از آموزش ماشین AWS