دو عملکرد فیلتر عمومی وجود دارد: - Series_Fir (): استفاده از فیلتر FIR. برای محاسبه ساده میانگین متحرک و تمایز سری زمانی برای تشخیص تغییر استفاده می شود.
- Series_iir (): با استفاده از فیلتر IIR. برای هموار سازی نمایی و جمع تجمعی استفاده می شود.
اجازه دهید min_t = toscalar (demo_make_series1 | خلاصه حداقل (timestamp)) ؛اجازه دهید max_t = toscalar (demo_make_series1 | خلاصه حداکثر (timestamp)) ؛demo_make_series1 |Make-series num = count () پیش فرض = 0 در Timestamp از min_t تا max_t مرحله 1H توسط OSVER |گسترش ma_num = series_fir (شماره ، تکرار (1 ، 5) ، درست ، درست) |TimeChart را ارائه دهید

تجزیه و تحلیل رگرسیون
ADX برای برآورد روند سری زمانی ، از تجزیه و تحلیل رگرسیون خطی تقسیم شده پشتیبانی می کند.
- از series_fit_line () استفاده کنید تا بهترین خط را در یک سری زمانی برای تشخیص روند عمومی قرار دهید.
- برای تشخیص تغییرات روند ، نسبت به پایه ، که در نظارت بر سناریوها مفید هستند ، از series_fit_2lines () استفاده کنید.
نمونه ای از توابع Series_Fit_line () و Series_Fit_2Lines () در یک پرس و جو سری زمانی:
demo_series2 |EXTEND SERIES_FIT_2LINES (Y) ، SERIES_FIT_LINE (Y) |linechart را با (xcolumn = x) ارائه دهید

- آبی: سری زمانی اصلی
- سبز: خط مناسب
- قرمز: دو خط نصب شده
عملکرد با دقت نقطه پرش (تغییر سطح) را تشخیص داد.
تشخیص فصلی
بسیاری از معیارها از الگوهای فصلی (دوره ای) پیروی می کنند. ترافیک کاربر خدمات ابری معمولاً حاوی الگوهای روزانه و هفتگی است که در اواسط روز کاری بالاترین و کمترین در شب و آخر هفته است. سنسورهای IoT در فواصل دوره ای اندازه گیری می کنند. اندازه گیری های فیزیکی مانند دما ، فشار یا رطوبت نیز ممکن است رفتار فصلی را نشان دهد.
مثال زیر از تشخیص فصلی در ترافیک یک ماهه یک سرویس وب (سطل های 2 ساعته) استفاده می کند:
demo_series3 |TimeChart را ارائه دهید

- برای تشخیص خودکار دوره های سری زمانی ، از series_periods_detect () استفاده کنید.
- اگر می دانیم که یک متریک باید دارای دوره (های) مشخصی خاص باشد ، از series_periods_validate () استفاده کنید و می خواهیم تأیید کنیم که وجود دارند.
اگر دوره های مشخصی خاص وجود نداشته باشد یک ناهنجاری است
demo_series3 |پروژه (دوره ها ، نمرات) = series_periods_detect (شماره ، 0. ، 14d/2H ، 2) // برای تشخیص دوره های سری زمانی |دوره های MV-Expand ، نمرات |روزهای تمدید = 2H*TODOUBLE (دوره)/1d
| دوره | امتیازات | روزها |
| 84 | 0. 820622786055595 | 7 |
| 12 | 0. 764601405803502 | 1 |
این عملکرد فصلی روزانه و هفتگی را تشخیص می دهد. نمرات روزانه کمتر از هفتگی است زیرا روزهای آخر هفته با روزهای هفته متفاوت است.
توابع عناصر
عملیات حسابی و منطقی را می توان در یک سری زمانی انجام داد. با استفاده از series_subtract () می توانیم یک سری زمانی باقیمانده را محاسبه کنیم ، یعنی تفاوت بین متریک خام اصلی و یک صاف ، و به دنبال ناهنجاری ها در سیگنال باقیمانده است:
اجازه دهید min_t = toscalar (demo_make_series1 | خلاصه حداقل (timestamp)) ؛اجازه دهید max_t = toscalar (demo_make_series1 | خلاصه حداکثر (timestamp)) ؛demo_make_series1 |Make-series num = count () پیش فرض = 0 در Timestamp در MIN_T تا MAX_T مرحله 1H توسط OSVER |گسترش ma_num = series_fir (شماره ، تکرار (1 ، 5) ، درست ، درست) |Extend Bestual_NUM = Series_subtract (Num ، MA_NUM) // برای محاسبه سری زمانی باقیمانده |جایی که OSVER == "ویندوز 10" // فیلتر بر روی Win 10 برای تجسم نمودار تمیزتر |TimeChart را ارائه دهید

- آبی: سری زمانی اصلی
- قرمز: سری زمانی صاف
- سبز: سری زمانی باقیمانده
گردش کار سری زمانی در مقیاس
مثال زیر نشان می دهد که چگونه این توابع می توانند در مقیاس هزاران سری زمانی در ثانیه برای تشخیص ناهنجاری اجرا شوند. برای دیدن چند سوابق تله متری نمونه از متریک شمارش سرویس DB در طی چهار روز ، پرس و جو زیر را اجرا کنید:
demo_many_series1 |4
| زمان سنج | محل | حصار | DB | دگرگونی |
| 2016-09-11 21: 00: 00. 0000000 | LOC 9 | 5117853934049630089 | 262 | 0 |
| 2016-09-11 21: 00: 00. 0000000 | LOC 9 | 5117853934049630089 | 241 | 0 |
| 2016-09-11 21: 00: 00. 0000000 | LOC 9 | -865998331941149874 | 262 | 279862 |
| 2016-09-11 21: 00: 00. 0000000 | LOC 9 | 371921734563783410 | 255 | 0 |
و آمار ساده:
demo_many_series1 |خلاصه شماره = تعداد () ، min_t = min (timestamp) ، max_t = max (timestamp)
| حدود | min_t | max_t |
| 2177472 | 2016-09-08 00: 00: 00. 0000000 | 2016-09-11 23: 00: 00. 0000000 |
ساختن یک سری زمانی در سطل های 1 ساعته از متریک خوانده شده (کل چهار روز * 24 ساعت = 96 امتیاز) ، منجر به نوسان الگوی طبیعی می شود:
let min_t = toscalar (demo_many_series1 | خلاصه حداقل (timestamp)) ؛اجازه دهید max_t = toscalar (demo_many_series1 | خلاصه حداکثر (timestamp)) ؛demo_many_series1 |Make-Series Reads = AVG (DataRead) در Timestamp از min_t تا max_t مرحله 1H |TimeChart را با (ymin = 0) ارائه دهید

رفتار فوق گمراه کننده است ، زیرا سری زمانی عادی تک از هزاران مورد مختلف جمع شده است که ممکن است الگوهای غیر طبیعی داشته باشند. بنابراین ، ما در هر نمونه یک سری زمانی ایجاد می کنیم. نمونه ای توسط LOC (مکان) ، ANONOP (عملیات) و DB (دستگاه خاص) تعریف شده است.
چند سری زمانی را می توانیم ایجاد کنیم؟
demo_many_series1 |خلاصه توسط LOC ، OP ، DB |شمردن
اکنون ، ما در حال ایجاد مجموعه ای از سری زمانی 18339 از متریک Count Count هستیم. ما بند را به بیانیه سری Make اضافه می کنیم ، رگرسیون خطی را اعمال می کنیم و دو سری برتر را انتخاب می کنیم که مهمترین روند کاهش دهنده را داشتند:
let min_t = toscalar (demo_many_series1 | خلاصه حداقل (timestamp)) ؛اجازه دهید max_t = toscalar (demo_many_series1 | خلاصه حداکثر (timestamp)) ؛demo_many_series1 |Make-Series Reads = AVG (DataRead) در Timestamp از min_t تا max_t مرحله 1H توسط LOC ، OP ، DB |گسترش (rsquare ، شیب) = series_fit_line (خواندن) |Top 2 توسط شیب ASC |TimeChart را با (عنوان = 'قطع ترافیک خدمات برای 2 مورد (از 18339)')

نمونه ها را نمایش دهید:
let min_t = toscalar (demo_many_series1 | خلاصه حداقل (timestamp)) ؛اجازه دهید max_t = toscalar (demo_many_series1 | خلاصه حداکثر (timestamp)) ؛demo_many_series1 |Make-Series Reads = AVG (DataRead) در Timestamp از min_t تا max_t مرحله 1H توسط LOC ، OP ، DB |گسترش (rsquare ، شیب) = series_fit_line (خواندن) |Top 2 توسط شیب ASC |Project Loc ، OP ، DB ، شیب
| محل | Op | DB | شیب |
| LOC 15 | 37 | 1151 | -102743. 910227889 |
| LOC 13 | 37 | 1249 | -86303. 2334644601 |
در کمتر از دو دقیقه ، Azure Data Explorer نزدیک به 20،000 سری زمانی را مورد تجزیه و تحلیل قرار داد و دو سری زمانی غیر طبیعی را تشخیص داد که در آن تعداد خواندن ناگهان کاهش یافت.
این قابلیت های پیشرفته همراه با عملکرد سریع Azure Data Explorer یک راه حل منحصر به فرد و قدرتمند برای تجزیه و تحلیل سری زمانی ارائه می دهد.
مراحل بعدی
- در مورد تشخیص ناهنجاری و پیش بینی سریال های زمانی در Azure Data Explorer اطلاعات کسب کنید.
- در مورد قابلیت های یادگیری ماشین در Azure Data Explorer اطلاعات کسب کنید.