ניתוח וחיזוי של סדרות זמן

תוכן עניינים:

ניתוח וחיזוי של סדרות זמן
ניתוח וחיזוי של סדרות זמן
Anonim

במשך שנים רבות, אנשים חזו תנאי מזג אוויר, אירועים כלכליים ופוליטיים ותוצאות ספורט, לאחרונה הרשימה הנרחבת הזו התחדשה במטבעות קריפטוגרפיים. לניבוי אירועים מגוונים, ישנן דרכים רבות לפתח תחזיות. לדוגמה, אינטואיציה, חוות דעת של מומחים, שימוש בתוצאות העבר כדי להשוות עם סטטיסטיקות מסורתיות וחיזוי סדרות זמן הוא רק אחד מהם, בעוד הסוג המודרני והמדויק ביותר של תחזיות עם מגוון רחב של יישומים.

שיטת סדרת זמן

שיטת סדרת זמן
שיטת סדרת זמן

שיטת סדרת זמן (TS) היא מערך נתונים שאוסף מידע על פני תקופה של זמן. ישנן שיטות מיוחדות לחילוץ סוג זה:

  • ליניארי ולא ליניארי;
  • פרמטרי ולא פרמטרי;
  • חד-ממדי ורב-ממדי.

זמן חיזויהסדרה מביאה איתה סט ייחודי של יכולות לעמוד באתגרים של היום. מודלים מסתמכים על למידה כדי לבסס את הכוח המניע מאחורי שינוי הנתונים. התהליך נובע ממגמות ארוכות טווח, השפעות עונתיות או תנודות לא סדירות האופייניות ל-TS ואינן נראות בסוגי ניתוח אחרים.

למידת מכונה היא ענף של מדעי המחשב שבו אלגוריתמים מורכבים מנתונים וכוללים רשתות עצביות מלאכותיות, למידה עמוקה, חוקי אסוציאציות, עצי החלטה, למידת חיזוק ורשתות בייסיאניות. מגוון אלגוריתמים מספקים אפשרויות לפתרון בעיות, ולכל אחד דרישות משלו ופשרות במונחים של קלט נתונים, מהירות ודיוק התוצאות. אלה, יחד עם הדיוק של התחזיות הסופיות, ישוקללו כאשר המשתמש יחליט איזה אלגוריתם יעבוד הכי טוב עבור המצב הנבדק.

חיזוי סדרת זמן שואל מתחום הסטטיסטיקה, אך נותן גישות חדשות למידול בעיות. הבעיה העיקרית של למידת מכונה וסדרות זמן היא זהה - לחזות תוצאות חדשות על סמך נתונים ידועים בעבר.

היעד של המודל החזוי

מטרת מודל הניבוי
מטרת מודל הניבוי

TS היא קבוצה של נקודות נתונים שנאספות במרווחי זמן קבועים. הם מנותחים כדי לקבוע מגמה ארוכת טווח, כדי לחזות את העתיד, או כדי לבצע סוג אחר של ניתוח. יש 2 דברים שמבדילים את TS מבעיית רגרסיה רגילה:

  1. הם תלויים בזמן. כךההנחה הבסיסית של מודל רגרסיה לינארית לפיה התצפיות אינן תלויות אינה מתקיימת במקרה זה.
  2. יחד עם מגמת עלייה או ירידה, לרוב ה-TS יש צורה כלשהי של עונתיות, כלומר שינויים ספציפיים לפרק זמן מסוים.

המטרה של מודל חיזוי של סדרות זמן היא לתת תחזית מדויקת לפי דרישה. לסדרת הזמן יש זמן (t) כמשתנה הבלתי תלוי והמשתנה התלוי ביעד. ברוב המקרים התחזית היא תוצאה ספציפית, למשל מחיר מכירת בית, תוצאת הספורט של התחרות, תוצאות המסחר בבורסה. החיזוי מייצג את החציון והממוצע וכולל רווח סמך המבטא רמת ביטחון בטווח של 80-95%. כאשר הם מוקלטים במרווחי זמן קבועים, התהליכים נקראים סדרות זמן והם מתבטאים בשתי דרכים:

  • חד מימדי עם אינדקס זמן שיוצר סדר מרומז;
  • סט עם שני מימדים: זמן עם משתנה בלתי תלוי ומשתנה תלוי אחר.

יצירת תכונות היא אחת המשימות החשובות והגוזלות זמן רב ביותר בלמידת מכונה יישומית. עם זאת, חיזוי סדרות זמן אינו יוצר תכונות, לפחות לא במובן המסורתי. זה נכון במיוחד כאשר אתה רוצה לחזות את התוצאה כמה צעדים קדימה, ולא רק את הערך הבא.

זה לא אומר שהתכונות מושבתות לחלוטין. יש להשתמש בהם בזהירות מהסיבות הבאות:

  1. לא ברור איזה עתיד אמיתיהערכים יהיו עבור התכונות האלה.
  2. אם האובייקטים ניתנים לחיזוי ויש להם כמה דפוסים, אתה יכול לבנות מודל חיזוי עבור כל אחד מהם.

עם זאת, שים לב ששימוש בערכים חזויים כתכונות יפיץ שגיאות לתוך משתנה היעד ויוביל לשגיאות או תחזיות מוטות.

רכיבי סדרת זמן

רכיבי סדרת זמן
רכיבי סדרת זמן

מגמה קיימת כאשר הסדרה גדלה, יורדת או נשארת ברמה קבועה לאורך זמן, ולכן היא נלקחת כפונקציה. עונתיות מתייחסת למאפיין של סדרת זמן המציגה תבניות תקופתיות שחוזרות על עצמן בתדירות קבועה (m), לדוגמה, m=12 פירושו שהתבנית חוזרת כל 12 חודשים.

ניתן להוסיף משתני דמה הדומים לעונתיות כפונקציה בינארית. ניתן, למשל, לקחת בחשבון חגים, אירועים מיוחדים, קמפיינים שיווקיים, ללא קשר אם הערך זר או לא. עם זאת, עליך לזכור שלמשתנים אלה חייבים להיות דפוסים מסוימים. עם זאת, ניתן לחשב בקלות את מספר הימים גם לתקופות עתידיות ולהשפיע על חיזוי סדרות זמן, במיוחד בתחום הפיננסי.

מחזורים הם עונות שלא מתרחשות בתעריף קבוע. לדוגמה, תכונות הרבייה השנתיות של הלינקס הקנדי משקפות דפוסים עונתיים ומחזוריים. הם אינם חוזרים על עצמם במרווחים קבועים ועשויים להתרחש גם אם התדירות היא 1 (מ'=1).

ערכים בפיגור -ערכים בפיגור של משתנה יכולים להיכלל כמנבאים. דגמים מסוימים, כגון ARIMA, Vector Autoregression (VAR) או Autoregressive Neural Networks (NNAR), פועלים כך.

מרכיבי המשתנה המעניין חשובים מאוד לניתוח ותחזית של סדרות זמן, כדי להבין את ההתנהגות, הדפוסים שלהם, וכדי להיות מסוגלים לבחור את המודל המתאים.

מאפייני מערך נתונים

תכונות מערך נתונים
תכונות מערך נתונים

ייתכן שאתה רגיל להזין אלפי, מיליונים ומיליארדים של נקודות נתונים במודלים של למידת מכונה, אבל זה לא נדרש עבור סדרות זמן. למעשה, ניתן לעבוד עם TS קטן ובינוני, תלוי בתדירות ובסוג המשתנה, וזה לא חיסרון של השיטה. יתרה מכך, למעשה יש מספר יתרונות לגישה זו:

  1. קבוצות מידע כאלה יתאימו ליכולות של מחשב ביתי.
  2. במקרים מסוימים, בצע ניתוח ותחזית של סדרות זמן תוך שימוש בכל מערך הנתונים, לא רק מדגם.
  3. אורך TS שימושי ליצירת גרפים שניתן לנתח. זו נקודה חשובה מאוד מכיוון שמתכנתים מסתמכים על גרפיקה בשלב הניתוח. זה לא אומר שהם לא עובדים עם סדרות זמן ענקיות, אבל בהתחלה הם צריכים להיות מסוגלים להתמודד עם TS קטנים יותר.
  4. כל מערך נתונים המכיל שדה הקשור לזמן יכול להפיק תועלת מניתוח ותחזית של סדרות זמן. עם זאת, אם למתכנת יש קבוצה גדולה יותר של נתונים, ה-DB (TSDB)אולי מתאים יותר.

חלק מהקבוצות האלה מגיעות מאירועים שתועדו עם חותמת זמן, יומני מערכת ונתונים פיננסיים. מכיוון ש-TSDB עובד באופן מקורי עם סדרות זמן, זוהי הזדמנות מצוינת ליישם את הטכניקה הזו על מערכי נתונים בקנה מידה גדול.

למידת מכונה

למידת מכונה (ML) יכולה להתעלות על שיטות חיזוי סדרות זמן מסורתיות. ישנם המון מחקרים המשווים בין שיטות למידת מכונה לשיטות סטטיסטיות קלאסיות יותר על נתוני TS. רשתות עצביות הן אחת הטכנולוגיות שנחקרו רבות ומיישמות גישות TS. שיטות למידת מכונה מובילות את הדירוג לאיסוף נתונים על סמך סדרות זמן. סטים אלה הוכחו כיעילים, עם ביצועים טובים יותר מקבוצות TS טהורות מול M3 או Kaggle.

ל-MO יש בעיות ספציפיות משלו. פיתוח תכונות או יצירת מנבאים חדשים ממערך נתונים הם צעד חשוב עבורו ויכול להיות בעל השפעה עצומה על הביצועים ולהוות דרך הכרחית לטפל בבעיות מגמה ועונתיות של נתוני TS. כמו כן, לחלק מהדגמים יש בעיות עם מידת התאמתם לנתונים, ואם לא, הם עלולים לפספס את המגמה העיקרית.

סדרות זמן וגישות למידת מכונה לא אמורות להתקיים במנותק זו מזו. ניתן לשלב אותם יחד כדי להעניק את היתרונות של כל גישה. שיטות חיזוי וניתוח סדרות זמן טובות בפירוק נתונים לנתוני מגמה ועונתיים.אלמנטים. לאחר מכן ניתן להשתמש בניתוח זה כקלט למודל ML שכולל מידע מגמות ועונתיות באלגוריתם שלו, מה שנותן את הטוב משני העולמות.

הבנת הצהרת הבעיה

לדוגמה, שקול את TS הקשורה לחיזוי מספר הנוסעים בשירות רכבת מהירה חדשה. לדוגמה, יש לך נתונים של שנתיים (אוגוסט 2016 - ספטמבר 2018) ועם הנתונים האלה אתה צריך לחזות את מספר הנוסעים ל-7 החודשים הבאים, עם נתונים של שנתיים (2016-2018) ברמה השעתית עם מספר הנוסעים הנוסעים, ויש צורך להעריך את מספרם בעתיד.

משנה של מערך נתונים לחיזוי עם סדרות זמן:

  1. יצירת רכבת וקובץ בדיקה להדמיה.
  2. 14 החודשים הראשונים (אוגוסט 2016 - אוקטובר 2017) משמשים כנתוני אימון, ו-2 החודשים הבאים (נובמבר 2017 - דצמבר 2017) הם נתוני מבחן.
  3. צבור את מערך הנתונים על בסיס יומי.
צבירת מערכי נתונים
צבירת מערכי נתונים

בצע הדמיית נתונים כדי לראות כיצד הם משתנה לאורך זמן.

נתונים להדמיה
נתונים להדמיה

שיטת בנייה נאיבית

הספרייה המשמשת במקרה זה עבור חיזוי TS היא מודלים סטטיסטיים. יש להתקין אותו לפני שניתן ליישם כל אחת מהגישות הללו. אולי statsmodels כבר מותקן בסביבת Python, אבל זה לא תומך בשיטותחיזוי, אז תצטרך לשכפל אותו מהמאגר ולהתקין אותו מהמקור.

רצף
רצף

לדוגמה זו, זה אומר שמחירי הנסיעה במטבעות יציבים מההתחלה ולאורך כל תקופת הזמן. שיטה זו מניחה שהנקודה הצפויה הבאה שווה לנקודה הנצפית האחרונה והיא נקראת גישה נאיבית.

שיטה נאיבית
שיטה נאיבית

עכשיו חשב את סטיית התקן כדי לבדוק את הדיוק של המודל במערך הנתונים של הבדיקה. מערך ה-RMSE והגרף לעיל, אנו יכולים להסיק שנאייב אינו מתאים לאופציות בתנודתיות גבוהה, אלא משמש לאופציות יציבות.

סגנון בינוני פשוט

כדי להדגים את השיטה, מציירים תרשים, בהנחה שציר ה-Y מייצג את המחיר וציר ה-X מייצג את הזמן (ימים).

סגנון בינוני פשוט
סגנון בינוני פשוט

ממנו ניתן להסיק שהמחיר עולה ויורד באקראי עם מרווח קטן, כך שהערך הממוצע נשאר קבוע. במקרה זה, תוכל לחזות את המחיר של התקופה הבאה, בדומה לממוצע של כל הימים האחרונים.

שיטה זו של חיזוי עם הממוצע הצפוי של נקודות שנצפו בעבר נקראת השיטה הממוצעת הפשוטה.

במקרה זה, נלקחים ערכים ידועים בעבר, הממוצע מחושב ונלקח כערך הבא. כמובן, זה לא יהיה מדויק, אבל זה די קרוב, ויש מצבים שבהם השיטה הזו עובדת הכי טוב.

בינוני פשוטשיטה
בינוני פשוטשיטה

בהתבסס על התוצאות המוצגות בגרף, שיטה זו פועלת בצורה הטובה ביותר כאשר הערך הממוצע בכל תקופת זמן נשאר קבוע. אמנם השיטה הנאיבית טובה מהממוצע, אבל לא לכל מערכי הנתונים. מומלץ לנסות כל דגם שלב אחר שלב ולראות אם הוא משפר את התוצאה או לא.

מודל ממוצע נע

דגם ממוצע נע
דגם ממוצע נע

בהתבסס על תרשים זה, אנו יכולים להסיק שהמחירים עלו מספר פעמים בעבר בפער גדול, אך כעת הם יציבים. כדי להשתמש בשיטת המיצוע הקודמת, עליך לקחת את הממוצע של כל הנתונים הקודמים. מחירי התקופה הראשונית ישפיעו מאוד על תחזית התקופה הבאה. לכן, כשיפור לעומת הממוצע הפשוט, קח את ממוצע המחירים רק לפרקי הזמן האחרונים.

טכניקת חיזוי זו נקראת טכניקת הממוצע הנע, המכונה לפעמים "חלון נע" בגודל "n". באמצעות מודל פשוט, הערך הבא ב-TS צפוי לבדוק את דיוק השיטה. ברור שנאיבי מתעלה על הממוצע והממוצע הנע עבור מערך הנתונים הזה.

יש גרסה של התחזית בשיטה של החלקה אקספוננציאלית פשוטה. בשיטת הממוצע הנע, תצפיות "n" העבר משוקללות שווה בשווה. במקרה זה, אתה עלול להיתקל במצבים שבהם כל אחד מה-'n' בעבר משפיע על התחזית בדרכו שלו. וריאציה זו, המשקללת את תצפיות העבר בצורה שונה, נקראת השיטהממוצע נע משוקלל.

אקסטרפולציה של דפוסים

אחד המאפיינים החשובים ביותר הדרושים כדי לשקול אלגוריתמי חיזוי של סדרות זמן הוא היכולת לבצע אקסטרפולציה של דפוסים מחוץ לתחום נתוני האימון. לאלגוריתמי ML רבים אין יכולת זו מכיוון שהם נוטים להיות מוגבלים לאזור המוגדר על ידי נתוני האימון. לכן, הם אינם מתאימים ל-TS, שמטרתם להקרין את התוצאה לעתיד.

תכונה חשובה נוספת של אלגוריתם TS היא האפשרות להשיג רווחי סמך. אמנם זהו מאפיין ברירת המחדל עבור מודלים של TS, אך לרוב המודלים של ML אין יכולת זו מכיוון שלא כולם מבוססים על התפלגויות סטטיסטיות.

אל תחשוב שרק שיטות סטטיסטיות פשוטות משמשות לניבוי TS. זה בכלל לא ככה. ישנן גישות מורכבות רבות שיכולות להיות שימושיות מאוד במקרים מיוחדים. Generalized Autoregressive Conditional Heteroscedasticity (GARCH), Bayesian ו-VAR הם רק חלק מהם.

ישנם גם מודלים של רשתות עצביות שניתן ליישם על סדרות זמן המשתמשות במנבאים בפיגור ויכולים להתמודד עם תכונות כגון אוטורגרסיה של רשת עצבית (NNAR). ישנם אפילו מודלים של סדרות זמן שהושאלו מלמידה מורכבת, במיוחד במשפחת הרשתות הנוירוניות החוזרות, כמו רשתות LSTM ו-GRU.

מדדי אומדן ואבחון שאריות

מדדי החיזוי הנפוצים ביותר הםאמצעי rms, שבהם אנשים רבים משתמשים בפתרון בעיות רגרסיה:

  • MAPE מכיוון שהוא בלתי תלוי בקנה מידה ומייצג את היחס בין השגיאה לערכים בפועל כאחוז;
  • MASE, שמראה עד כמה התחזית מתפקדת בהשוואה לתחזית הממוצעת הנאיבית.

לאחר ששיטת חיזוי הותאמה, חשוב להעריך עד כמה היא מסוגלת ללכוד את המודלים. למרות שמדדי ההערכה עוזרים לקבוע עד כמה הערכים קרובים לערכים בפועל, הם לא מעריכים אם המודל מתאים ל-TS. שאריות הן דרך טובה להעריך זאת. מכיוון שהמתכנת מנסה ליישם דפוסי TS, הוא יכול לצפות שגיאות יתנהגו כמו "רעש לבן" מכיוון שהן מייצגות משהו שלא ניתן ללכוד על ידי המודל.

"רעש לבן" חייב להיות בעל המאפיינים הבאים:

  1. שאריות לא מתואמות (Acf=0)
  2. שאריות עוקבות אחר התפלגות נורמלית עם אפס ממוצע (לא מוטה) ושונות קבועה.
  3. אם אחד משני המאפיינים חסר, יש מקום לשיפור במודל.
  4. ניתן לבדוק בקלות את המאפיין ממוצע האפס באמצעות מבחן T.
  5. המאפיינים של נורמליות ושונות קבועה נשלטות ויזואלית באמצעות היסטוגרמה של שאריות או מבחן נורמליות חד-משתני מתאים.

ARIMA Model

ARIMA - AutoRegressive Integrated Moving-Average מודל, הוא אחת השיטות הפופולריות ביותר בשימוש בחיזוי TS, בעיקרבאמצעות קורלציה אוטומטית של נתונים ליצירת מודלים באיכות גבוהה.

בעת הערכת מקדמי ARIMA, ההנחה העיקרית היא שהנתונים נייחים. המשמעות היא שמגמה ועונתיות לא יכולה להשפיע על השונות. ניתן להעריך את איכות המודל על ידי השוואת עלילת הזמן של הערכים בפועל עם הערכים החזויים. אם שתי העקומות קרובות, אז ניתן להניח שהמודל מתאים למקרה המנותח. זה אמור לחשוף כל מגמה ועונתיות, אם בכלל.

ניתוח של השאריות אמור להראות אם המודל מתאים: שאריות אקראיות אומרות שהוא מדויק. התאמת ARIMA לפרמטרים (0, 1, 1) תיתן את אותן תוצאות כמו החלקה מעריכית, ושימוש בפרמטרים (0, 2, 2) יביא לתוצאות החלקה מעריכית כפולה.

אלגוריתמים של סדרות זמן ב-SQL Server
אלגוריתמים של סדרות זמן ב-SQL Server

ניתן לגשת להגדרות ARIMA באקסל:

  1. התחל אקסל.
  2. מצא את XL MINER בסרגל הכלים.
  3. בסרט, בחר ARIMA מהתפריט הנפתח.

סיכום של יכולות דגם ARIMA:

  1. ARIMA - Autoregressive Integrated Moving Average.
  2. מודל חיזוי בשימוש בניתוח סדרות זמן.
  3. ARIMA תחביר פרמטר: ARIMA (p, d, q) כאשר p=מספר מונחים אוטורגרסיביים, d=מספר הבדלים עונתיים, ו-q=מספר מונחים של ממוצע נע.

אלגוריתמים ב-SQL Server

ביצוע חיזוי צולב הוא אחד החשוביםתכונות של סדרות זמן בחיזוי משימות פיננסיות. אם נעשה שימוש בשתי סדרות קשורות, ניתן להשתמש במודל המתקבל כדי לחזות את התוצאות של סדרה אחת על סמך התנהגות האחרות.

SQL Server 2008 כולל תכונות חדשות ועוצמתיות של סדרות זמן ללמידה ולהשתמש. לכלי נתוני TS נגישים בקלות, ממשק קל לשימוש להדמייה ושחזור של פונקציות אלגוריתם, וחלון הסבר עם קישור לשאילתות DMX בצד השרת כדי שתוכלו להבין מה קורה בפנים.

סדרת זמן שוק היא תחום רחב שניתן ליישם עליו מודלים ואלגוריתמים של למידה עמוקה. בנקים, ברוקרים וקרנות מתנסים כעת בפריסה של ניתוח ותחזית עבור מדדים, שערי חליפין, חוזים עתידיים, מחירי מטבעות קריפטוגרפיים, מניות ממשלתיות ועוד.

בחיזוי סדרות זמן, הרשת העצבית מוצאת דפוסים צפויים על ידי לימוד המבנים והמגמות של השווקים ונותנת עצות לסוחרים. רשתות אלו יכולות גם לסייע בזיהוי חריגות כגון שיאים בלתי צפויים, נפילות, שינויים במגמה ושינויי רמות. מודלים רבים של בינה מלאכותית משמשים לתחזיות פיננסיות.

מוּמלָץ: