การคาดการณ์ที่ง่ายและแม่นยำด้วย AutoGluon-TimeSeries PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

การคาดการณ์ที่ง่ายและแม่นยำด้วย AutoGluon-TimeSeries

AutoGluon-TimeSeries เป็นส่วนเสริมล่าสุดของ AutoGluon ซึ่งช่วยให้คุณสร้างแบบจำลองการคาดการณ์อนุกรมเวลาที่มีประสิทธิภาพได้อย่างง่ายดายด้วยโค้ดเพียงสามบรรทัด

การพยากรณ์อนุกรมเวลาเป็นงานทั่วไปในหลากหลายอุตสาหกรรมเช่นเดียวกับโดเมนทางวิทยาศาสตร์ การเข้าถึงการคาดการณ์ที่เชื่อถือได้สำหรับอุปสงค์ อุปทาน หรือกำลังการผลิตเป็นสิ่งสำคัญในการวางแผนสำหรับธุรกิจ อย่างไรก็ตาม การคาดการณ์อนุกรมเวลาเป็นปัญหาที่ยาก โดยเฉพาะอย่างยิ่งเมื่อมีอนุกรมเวลาที่เกี่ยวข้องหลายพันรายการ เช่น การขายในแคตตาล็อกขนาดใหญ่ในอีคอมเมิร์ซ หรือความจุที่ไซต์ปฏิบัติการหลายร้อยแห่ง

วิธีการคาดการณ์ทางสถิติหรือตามการตัดสินอย่างง่ายมักเป็นพื้นฐานที่แข็งแกร่งอยู่แล้ว ซึ่งยากต่อการปรับปรุงด้วยวิธีแมชชีนเลิร์นนิง (ML) ใหม่ ยิ่งไปกว่านั้น การประยุกต์ใช้ความก้าวหน้าล่าสุดใน ML เพื่อการคาดการณ์นั้นมีความหลากหลาย โดยมีไม่กี่วิธีเช่น ดีเออาร์ [1] หรือ Temporal Fusion Transformers [2] เป็นตัวเลือกยอดนิยม อย่างไรก็ตาม วิธีการเหล่านี้ยากต่อการฝึก ปรับแต่ง และปรับใช้ในการผลิต ซึ่งต้องอาศัยความรู้จากผู้เชี่ยวชาญเกี่ยวกับ ML และการวิเคราะห์อนุกรมเวลา

AutoML เป็นหัวข้อที่เติบโตอย่างรวดเร็วภายใน ML โดยมุ่งเน้นไปที่การทำงานอัตโนมัติทั่วไปในท่อ ML รวมถึงการประมวลผลล่วงหน้าของฟีเจอร์ การเลือกโมเดล การปรับแต่งโมเดล การรวม และการปรับใช้ AutoGluon-TimeSeries เป็นส่วนเสริมล่าสุดของ ออโต้กลูออนซึ่งเป็นหนึ่งในโซลูชัน AutoML แบบโอเพ่นซอร์สชั้นนำ และสร้างบนเฟรมเวิร์กอันทรงพลังของ AutoGluon สำหรับ AutoML ในงานคาดการณ์ AutoGluon-TimeSeries ได้รับการออกแบบมาเพื่อสร้างระบบการพยากรณ์ที่ทรงพลังด้วยโค้ดเพียงสามบรรทัด ช่วยลดความท้าทายของการประมวลผลคุณสมบัติล่วงหน้า การเลือกแบบจำลอง การปรับแต่งแบบจำลอง และความง่ายดายในการปรับใช้

ด้วยการโทรหา AutoGluon-TimeSeries ง่ายๆ TimeSeriesPredictor, AutoGluon ทำตามลำดับความสำคัญที่ใช้งานง่ายในโมเดลที่เหมาะสม: เริ่มต้นจากเส้นฐานที่เรียบง่ายไร้เดียงสาและย้ายไปยังโครงข่ายประสาทเทียมระดับโลกที่ทรงพลัง และเพิ่มวิธีการแบบต้นไม้ ทั้งหมดนี้อยู่ภายในงบประมาณเวลาที่ผู้ใช้กำหนด เมื่อมีอนุกรมเวลาที่เกี่ยวข้อง (ตัวแปรร่วมที่ผันแปรตามเวลาหรือตัวแปรภายนอก) หรือข้อมูลเมตาของรายการ (คุณสมบัติคงที่) AutoGluon-TimeSeries จะพิจารณาปัจจัยเหล่านี้ในการพยากรณ์ ไลบรารียังใช้ประโยชน์จากการเพิ่มประสิทธิภาพแบบเบย์สำหรับการปรับไฮเปอร์พารามิเตอร์ เพื่อให้ได้การกำหนดค่าโมเดลที่ดีที่สุดโดยการปรับโมเดลที่ซับซ้อน ในที่สุด AutoGluon-TimeSeries รวมวิธีการทางสถิติและ ML ที่ดีที่สุดเข้าด้วยกันเป็นชุดรูปแบบที่ปรับให้เหมาะกับปัญหาที่เกิดขึ้น

ในโพสต์นี้ เราแสดงการใช้งานที่ง่ายของ AutoGluon-TimeSeries ในการสร้างเครื่องพยากรณ์ที่ทรงพลังอย่างรวดเร็ว

เริ่มต้นใช้งาน AutoGluon-TimeSeries

ในการเริ่มต้น คุณต้องติดตั้ง AutoGluon ซึ่งทำได้ง่ายด้วย pip บนเชลล์ UNIX:

pip install "autogluon>=0.6"

AutoGluon-TimeSeries ขอแนะนำ TimeSeriesDataFrame คลาสสำหรับการทำงานกับชุดข้อมูลที่มีอนุกรมเวลาที่เกี่ยวข้องหลายชุด (บางครั้งเรียกว่าชุดข้อมูลพาเนล) เฟรมข้อมูลเหล่านี้สามารถสร้างขึ้นจากที่เรียกว่าเฟรมข้อมูลรูปแบบยาว ซึ่งมี ID อนุกรมเวลาและการประทับเวลาเรียงเป็นแถว ต่อไปนี้เป็นตัวอย่างข้อมูลหนึ่งที่นำมาจากการแข่งขัน M4 [3] ที่นี่ item_id คอลัมน์ระบุตัวระบุเฉพาะของอนุกรมเวลาเดียว เช่น รหัสผลิตภัณฑ์สำหรับข้อมูลการขายรายวันของผลิตภัณฑ์หลายรายการ เดอะ target คอลัมน์คือค่าที่น่าสนใจที่ AutoGluon-TimeSeries จะเรียนรู้เพื่อคาดการณ์ weekend เป็นความแปรปรวนร่วมพิเศษที่แปรผันตามเวลาที่เราสร้างขึ้นเพื่อระบุว่าการสังเกตนั้นเกิดขึ้นในช่วงสุดสัปดาห์หรือไม่

เราสามารถผลิตใหม่ได้อย่างง่ายดาย TimeSeriesDataFrame จากชุดข้อมูลนี้โดยใช้ from_data_frame ตัวสร้าง ดูรหัส Python ต่อไปนี้:

df = TimeSeriesDataFrame.from_data_frame(raw_data_frame)

ข้อมูลอนุกรมเวลาบางรายการมีคุณลักษณะที่ไม่แปรผันตามเวลา (คุณลักษณะคงที่หรือข้อมูลเมตาของรายการ) ที่สามารถใช้ในการฝึกแบบจำลองการคาดการณ์ ตัวอย่างเช่น ชุดข้อมูล M4 มีตัวแปรหมวดหมู่สำหรับแต่ละอนุกรมเวลา สิ่งเหล่านี้สามารถเพิ่มลงใน TimeSeriesDataFrame โดยการตั้งค่า static_features ตัวแปรด้วย data frame ใหม่

การคาดการณ์ที่ง่ายและแม่นยำด้วย AutoGluon-TimeSeries PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ใช้รหัสต่อไปนี้:

df.static_features = raw_static_features

ฝึกฝน TimeSeriesPredictor

ในที่สุดเราก็สามารถเรียก TimeSeriesPredictor เพื่อให้พอดีกับโมเดลการพยากรณ์ที่หลากหลายเพื่อสร้างระบบการพยากรณ์ที่แม่นยำ ดูรหัสต่อไปนี้:

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

ในที่นี้ขอระบุว่า TimeSeriesPredictor ควรสร้างแบบจำลองเพื่อพยากรณ์เจ็ดช่วงเวลาถัดไป และตัดสินแบบจำลองที่ดีที่สุดโดยใช้ค่าเฉลี่ยความคลาดเคลื่อนขนาดสัมบูรณ์ (เมส). นอกจากนี้ เราระบุว่าตัวแปรร่วมที่แปรผันตามเวลา weekend มีอยู่ในชุดข้อมูล ตอนนี้เราสามารถใส่วัตถุทำนายบน TimeSeriesDataFrame ผลิตก่อนหน้านี้:

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

นอกเหนือจากการให้ข้อมูลการฝึกอบรมแล้ว เราขอให้ผู้ทำนายใช้ “medium_quality” ที่ตั้งไว้ล่วงหน้า AutoGluon-TimeSeries มาพร้อมกับค่าที่ตั้งไว้ล่วงหน้าหลายค่าเพื่อเลือกชุดย่อยของโมเดลที่ต้องพิจารณาและใช้เวลาเท่าใดในการปรับแต่ง จัดการการแลกเปลี่ยนระหว่างความเร็วการฝึกกับความแม่นยำ นอกเหนือจากค่าที่ตั้งไว้ล่วงหน้าแล้ว ผู้ใช้ที่มีประสบการณ์มากกว่าสามารถใช้ 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

สุดท้าย เราสามารถใช้ตัวทำนายเพื่อทำนายอนุกรมเวลาทั้งหมดใน TimeSeriesDataFrame, 7 วันข้างหน้า โปรดทราบว่าเนื่องจากเราใช้ตัวแปรร่วมที่ผันแปรตามเวลาซึ่งคาดว่าจะทราบในอนาคต จึงควรระบุค่าเหล่านี้ในเวลาที่คาดคะเนด้วย ดูรหัสต่อไปนี้:

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

ตามค่าเริ่มต้น AutoGluon-TimeSeries จะแสดงทั้งการคาดการณ์จุดและความน่าจะเป็น (ควอนไทล์) ของค่าเป้าหมาย การคาดการณ์ความน่าจะเป็นมีความสำคัญในงานการวางแผนจำนวนมาก และสามารถใช้คำนวณช่วงเวลาต่างๆ ได้อย่างยืดหยุ่น เปิดใช้งานงานดาวน์สตรีม เช่น สินค้าคงคลังและการวางแผนกำลังการผลิต

การคาดการณ์ที่ง่ายและแม่นยำด้วย AutoGluon-TimeSeries PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ต่อไปนี้คือแผนภาพการคาดการณ์ตัวอย่างที่แสดงการคาดการณ์จุดและช่วงเวลาการคาดการณ์

การคาดการณ์ที่ง่ายและแม่นยำด้วย AutoGluon-TimeSeries PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

สรุป

AutoGluon-TimeSeries ช่วยให้นักพยากรณ์และนักวิทยาศาสตร์ข้อมูลมีวิธีที่รวดเร็วและง่ายดายในการสร้างแบบจำลองการพยากรณ์ที่มีประสิทธิภาพ นอกเหนือจากฟีเจอร์ที่ใช้กันทั่วไปของไลบรารีบางส่วนที่แสดงในโพสต์นี้แล้ว AutoGluon-TimeSeries ยังนำเสนอชุดวิธีการกำหนดค่าการคาดการณ์สำหรับผู้ใช้ขั้นสูง ตัวทำนายยังสามารถฝึก ปรับใช้ และให้บริการตามขนาดได้อย่างง่ายดาย อเมซอน SageMakerโดยใช้การเรียนรู้เชิงลึกของ AutoGluon ตู้คอนเทนเนอร์.

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการใช้ AutoGluon, ตัวอย่าง, บทช่วยสอน รวมถึงงานอื่นๆ ที่เกี่ยวข้องกับ AutoGluon เช่น การเรียนรู้เกี่ยวกับข้อมูลแบบตารางหรือแบบหลายรูปแบบ โปรดไปที่ ออโต้กลูออน. หากต้องการเริ่มต้นใช้งาน AutoGluon-TimeSeries โปรดดูของเรา บทช่วยสอนเริ่มต้นอย่างรวดเร็ว หรือที่หน้า กวดวิชาเชิงลึก เพื่อดูคุณลักษณะทั้งหมดที่ห้องสมุดมีให้อย่างลึกซึ้งยิ่งขึ้น ติดตาม AutoGluon บน Twitterและติดดาวเราไว้ GitHub เพื่อรับทราบข้อมูลอัปเดตล่าสุด

สำหรับการคาดการณ์ในระดับที่มีการประมวลผลเฉพาะและเวิร์กโฟลว์ การสนับสนุนระดับองค์กร ความสามารถในการอธิบายการคาดการณ์ และอื่นๆ อีกมากมาย ให้ดูที่ พยากรณ์อเมซอน.

อ้างอิง

[1] ซาลินาส, เดวิด, วาเลนติน ฟลันเคิร์ต, แจน กาสต์เฮาส์ และทิม ยานุสโชวสกี้ “DeepAR: การพยากรณ์ความน่าจะเป็นด้วยเครือข่ายที่เกิดซ้ำอัตโนมัติ” วารสารวิชาการพยากรณ์นานาชาติ 36. 3 (2020): 1181-1191.

[2] ลิม, ไบรอัน, เซอร์กัน โอ อาริก, นิโคลัส โลฟฟ์ และโทมัส ไฟสเตอร์ “Temporal Fusion Transformers สำหรับการพยากรณ์อนุกรมเวลาแบบหลายขอบฟ้าที่สามารถตีความได้” วารสารวิชาการพยากรณ์นานาชาติ 37.4 (2021): 1748-1764

[3] Makridakis, Spyros, Evangelos Spiliotis และ Vassilios Assimakopoulos “การแข่งขัน M4: 100,000 อนุกรมเวลาและ 61 วิธีการพยากรณ์” วารสารวิชาการพยากรณ์นานาชาติ 36.1 (2020): 54-74


เกี่ยวกับผู้แต่ง

การคาดการณ์ที่ง่ายและแม่นยำด้วย AutoGluon-TimeSeries PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.Caner เติร์กเมนิสถาน เป็นนักวิทยาศาสตร์ประยุกต์ที่ Amazon Web Services ซึ่งเขาทำงานเกี่ยวกับปัญหาที่เกิดขึ้นระหว่างการเรียนรู้ของเครื่องและการพยากรณ์ นอกเหนือจากการพัฒนา AutoGluon-TimeSeries ก่อนเข้าร่วม AWS เขาเคยทำงานในอุตสาหกรรมการให้คำปรึกษาด้านการจัดการในฐานะนักวิทยาศาสตร์ข้อมูล ซึ่งให้บริการในอุตสาหกรรมบริการทางการเงินและโทรคมนาคมในโครงการต่างๆ ทั่วโลก ความสนใจในการวิจัยส่วนตัวของ Caner ครอบคลุมหัวข้อต่างๆ มากมาย รวมถึงการพยากรณ์ การอนุมานเชิงสาเหตุ และ AutoML

การคาดการณ์ที่ง่ายและแม่นยำด้วย AutoGluon-TimeSeries PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.โอเล็กซานเดอร์ ชูร์ เป็นนักวิทยาศาสตร์ประยุกต์ที่ Amazon Web Services ซึ่งเขาทำงานเกี่ยวกับการพยากรณ์อนุกรมเวลาใน AutoGluon-TimeSeries ก่อนเข้าร่วม AWS เขาสำเร็จการศึกษาระดับปริญญาเอกด้านแมชชีนเลิร์นนิงที่มหาวิทยาลัยเทคนิคแห่งมิวนิก ประเทศเยอรมนี โดยทำการวิจัยเกี่ยวกับแบบจำลองความน่าจะเป็นสำหรับข้อมูลเหตุการณ์ งานวิจัยที่เขาสนใจ ได้แก่ แมชชีนเลิร์นนิงสำหรับข้อมูลชั่วคราวและการสร้างแบบจำลองเชิงกำเนิด

การคาดการณ์ที่ง่ายและแม่นยำด้วย AutoGluon-TimeSeries PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.นิค อีริคสัน เป็นนักวิทยาศาสตร์ประยุกต์อาวุโสที่ Amazon Web Services เขาสำเร็จการศึกษาระดับปริญญาโทด้านวิทยาการคอมพิวเตอร์และวิศวกรรมจากมหาวิทยาลัยมินนิโซตาทวินซิตี้ เขาเป็นผู้เขียนร่วมและหัวหน้าผู้พัฒนา AutoGluon เฟรมเวิร์ก AutoML แบบโอเพ่นซอร์ส เริ่มต้นในฐานะชุดเครื่องมือ ML สำหรับการแข่งขันส่วนบุคคลในปี 2018 Nick ได้ขยายขีดความสามารถของ AutoGluon อย่างต่อเนื่องและเข้าร่วมกับ Amazon AI ในปี 2019 เพื่อเปิดซอร์สโครงการและทำงานเต็มเวลาเพื่อพัฒนาความล้ำสมัยใน AutoML

ประทับเวลา:

เพิ่มเติมจาก AWS Machine Learning AWS