Dự báo dễ dàng và chính xác với AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Dự báo dễ dàng và chính xác với AutoGluon-TimeSeries

AutoGluon-TimeSeries là phần bổ sung mới nhất cho AutoGluon, giúp bạn dễ dàng xây dựng các mô hình dự báo chuỗi thời gian hiệu quả chỉ với ba dòng mã.

Dự báo chuỗi thời gian là một nhiệm vụ phổ biến trong nhiều ngành công nghiệp cũng như lĩnh vực khoa học. Có quyền truy cập vào các dự báo đáng tin cậy về cung, cầu hoặc năng lực là rất quan trọng để lập kế hoạch cho các doanh nghiệp. Tuy nhiên, dự báo chuỗi thời gian là một vấn đề khó khăn, đặc biệt là khi có sẵn hàng nghìn chuỗi thời gian có khả năng liên quan, chẳng hạn như doanh số bán hàng trong một danh mục lớn trong thương mại điện tử hoặc năng lực tại hàng trăm địa điểm hoạt động.

Các phương pháp dự báo dựa trên phán đoán hoặc thống kê đơn giản thường đã là những cơ sở vững chắc, khó cải thiện bằng các phương pháp học máy (ML) mới. Hơn nữa, các ứng dụng của những tiến bộ gần đây trong ML để dự báo rất đa dạng, với một số phương pháp như Sâu [1] hay Temporal Fusion Transformers [2] nổi lên như những lựa chọn phổ biến. Tuy nhiên, những phương pháp này rất khó đào tạo, điều chỉnh và triển khai trong sản xuất, đòi hỏi kiến ​​thức chuyên môn về ML và phân tích chuỗi thời gian.

AutoML là một chủ đề đang phát triển nhanh trong ML, tập trung vào việc tự động hóa các tác vụ phổ biến trong quy trình ML, bao gồm tiền xử lý tính năng, lựa chọn mô hình, điều chỉnh mô hình, tập hợp và triển khai. AutoGluon-TimeSeries là phần bổ sung mới nhất cho AutoGluon, một trong những giải pháp AutoML mã nguồn mở hàng đầu và được xây dựng trên khung AutoML mạnh mẽ của AutoGluon trong các tác vụ dự báo. AutoGluon-TimeSeries được thiết kế để xây dựng các hệ thống dự báo mạnh mẽ chỉ với ba dòng mã, giảm bớt những thách thức về tiền xử lý tính năng, lựa chọn mô hình, điều chỉnh mô hình và dễ triển khai.

Với một cuộc gọi đơn giản đến AutoGluon-TimeSeries's TimeSeriesPredictor, AutoGluon tuân theo thứ tự ưu tiên trực quan trong việc khớp các mô hình: bắt đầu từ các đường cơ sở ngây thơ đơn giản và chuyển sang mạng thần kinh toàn cầu mạnh mẽ và các phương pháp dựa trên cây được tăng cường, tất cả đều nằm trong ngân sách thời gian do người dùng chỉ định. Khi có sẵn chuỗi thời gian liên quan (đồng biến theo thời gian hoặc biến ngoại sinh) hoặc siêu dữ liệu vật phẩm (tính năng tĩnh), AutoGluon-TimeSeries sẽ đưa chúng vào dự báo. Thư viện cũng khai thác tối ưu hóa Bayesian để điều chỉnh siêu tham số, đạt được cấu hình mô hình tốt nhất bằng cách điều chỉnh các mô hình phức tạp. Cuối cùng, AutoGluon-TimeSeries kết hợp các phương pháp dựa trên ML và thống kê tốt nhất vào một nhóm mô hình được tối ưu hóa cho vấn đề hiện tại.

Trong bài đăng này, chúng tôi giới thiệu tính dễ sử dụng của AutoGluon-TimeSeries trong việc nhanh chóng xây dựng một công cụ dự báo mạnh mẽ.

Bắt đầu với AutoGluon-TimeSeries

Để bắt đầu, bạn cần cài đặt AutoGluon, việc này có thể thực hiện dễ dàng với pip trên trình bao UNIX:

pip install "autogluon>=0.6"

AutoGluon-TimeSeries giới thiệu TimeSeriesDataFrame lớp để làm việc với bộ dữ liệu bao gồm nhiều chuỗi thời gian liên quan (đôi khi được gọi là bộ dữ liệu bảng). Các khung dữ liệu này có thể được tạo từ cái gọi là khung dữ liệu định dạng dài, có ID chuỗi thời gian và dấu thời gian được sắp xếp thành hàng. Sau đây là một ví dụ dữ liệu như vậy, được lấy từ cuộc thi M4 [3]. Ở đây, item_id cột chỉ định mã định danh duy nhất của một chuỗi thời gian, chẳng hạn như ID sản phẩm cho dữ liệu bán hàng hàng ngày của nhiều sản phẩm. Các target cột là giá trị quan tâm mà AutoGluon-TimeSeries sẽ học cách dự báo. weekend là một hiệp phương sai thay đổi theo thời gian bổ sung mà chúng tôi tạo ra để đánh dấu xem buổi quan sát có diễn ra vào cuối tuần hay không.

Chúng tôi có thể dễ dàng sản xuất một cái mới TimeSeriesDataFrame từ tập dữ liệu này bằng cách sử dụng from_data_frame người xây dựng. Xem mã Python sau:

df = TimeSeriesDataFrame.from_data_frame(raw_data_frame)

Một số dữ liệu chuỗi thời gian có các đặc điểm không thay đổi theo thời gian (các đặc điểm tĩnh hoặc siêu dữ liệu mặt hàng) có thể được sử dụng để huấn luyện mô hình dự báo. Ví dụ: bộ dữ liệu M4 có một biến thể loại cho từng chuỗi thời gian. Những thứ này có thể được thêm vào TimeSeriesDataFrame bằng cách thiết lập static_features biến với một khung dữ liệu mới.

Dự báo dễ dàng và chính xác với AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Sử dụng mã sau:

df.static_features = raw_static_features

Đào tạo một TimeSeriesPredictor

Cuối cùng, chúng ta có thể gọi TimeSeriesPredictor để phù hợp với một loạt các mô hình dự báo nhằm xây dựng một hệ thống dự báo chính xác. Xem đoạn mã sau:

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

Ở đây, chúng tôi xác định rằng TimeSeriesPredictor nên tạo ra các mô hình để dự báo bảy khoảng thời gian tiếp theo và đánh giá các mô hình tốt nhất bằng cách sử dụng sai số tỷ lệ tuyệt đối trung bình (MASE). Hơn nữa, chúng tôi chỉ ra rằng hiệp phương sai thay đổi theo thời gian weekend có sẵn trong tập dữ liệu. Bây giờ chúng ta có thể điều chỉnh đối tượng dự đoán trên TimeSeriesDataFrame sản xuất trước đó:

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

Ngoài việc cung cấp dữ liệu đào tạo, chúng tôi yêu cầu người dự đoán sử dụng “medium_quality” cài đặt trước. AutoGluon-TimeSeries đi kèm với nhiều cài đặt trước để chọn các tập hợp con mô hình cần xem xét và dành bao nhiêu thời gian để điều chỉnh chúng, quản lý sự đánh đổi giữa tốc độ đào tạo và độ chính xác. Ngoài các cài đặt trước, người dùng có kinh nghiệm hơn có thể sử dụng một hyperparameters đối số để chỉ định chính xác các mô hình thành phần và siêu đường kính nào sẽ đặt trên chúng. Chúng tôi cũng chỉ định giới hạn thời gian là 1,800 giây, sau đó bộ dự đoán sẽ ngừng đào tạo.

Về cơ bản, AutoGluon-TimeSeries đào tạo nhiều mô hình nhất có thể trong khung thời gian đã chỉ định, bắt đầu từ các đường cơ sở ngây thơ nhưng mạnh mẽ và hướng tới các công cụ dự báo phức tạp hơn dựa trên các mô hình mạng thần kinh và cây được tăng cường. Bằng cách gọi predictor.leaderboard(), chúng ta có thể xem danh sách tất cả các mô hình mà nó đã đào tạo, điểm chính xác và thời gian đào tạo cho từng mô hình. Lưu ý rằng mọi mô hình AutoGluon-TimeSeries đều báo cáo lỗi của nó ở định dạng “càng cao càng tốt”, nghĩa là hầu hết các phép đo lỗi dự đoán được nhân với -1 khi được báo cáo. Xem ví dụ sau:

              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

Dự báo với TimeSeriesPredictor

Cuối cùng, chúng ta có thể sử dụng công cụ dự đoán để dự đoán tất cả các chuỗi thời gian trong một TimeSeriesDataFrame, 7 ngày trong tương lai. Lưu ý rằng vì chúng tôi đã sử dụng các đồng biến thay đổi theo thời gian được cho là sẽ biết trong tương lai, nên những đồng biến này cũng phải được chỉ định tại thời điểm dự đoán. Xem đoạn mã sau:

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

Theo mặc định, AutoGluon-TimeSeries cung cấp cả dự báo điểm và dự báo xác suất (lượng tử) của giá trị đích. Dự báo xác suất rất cần thiết trong nhiều nhiệm vụ lập kế hoạch và chúng có thể được sử dụng để tính toán linh hoạt các khoảng thời gian, cho phép thực hiện các nhiệm vụ xuôi dòng như lập kế hoạch kiểm kê và năng lực.

Dự báo dễ dàng và chính xác với AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Sau đây là một biểu đồ dự báo mẫu thể hiện dự báo điểm và khoảng thời gian dự đoán.

Dự báo dễ dàng và chính xác với AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Kết luận

AutoGluon-TimeSeries cung cấp cho các nhà dự báo và nhà khoa học dữ liệu một cách nhanh chóng và dễ dàng để xây dựng các mô hình dự báo mạnh mẽ. Ngoài một số tính năng thường được sử dụng của thư viện được giới thiệu trong bài đăng này, AutoGluon-TimeSeries có một tập hợp các cách để định cấu hình dự báo cho người dùng nâng cao. Người dự đoán cũng dễ đào tạo, triển khai và phục vụ trên quy mô lớn với Amazon SageMaker, sử dụng tính năng học sâu AutoGluon container.

Để biết thêm chi tiết về cách sử dụng AutoGluon, các ví dụ, hướng dẫn cũng như các tác vụ khác mà AutoGluon đã giải quyết, chẳng hạn như tìm hiểu về dữ liệu dạng bảng hoặc đa phương thức, hãy truy cập AutoGluon. Để bắt đầu sử dụng AutoGluon-TimeSeries, hãy xem của chúng tôi hướng dẫn bắt đầu nhanh hoặc của chúng tôi hướng dẫn chuyên sâu để có cái nhìn sâu hơn về tất cả các tính năng mà thư viện cung cấp. Theo dõi AutoGluon trên Twitter, và gắn dấu sao cho chúng tôi GitHub để được thông báo về các bản cập nhật mới nhất.

Để dự báo trên quy mô lớn với điện toán chuyên dụng và quy trình công việc, hỗ trợ cấp doanh nghiệp, khả năng giải thích dự báo, v.v., hãy xem thêm Dự báo Amazon.

dự án

[1] Salinas, David, Valentin Flunkert, Jan Gasthaus và Tim Januschowski. “DeepAR: Dự báo xác suất với các mạng hồi quy tự hồi quy.” Tạp chí Dự báo Quốc tế 36. 3 (2020): 1181-1191.

[2] Lim, Bryan, Sercan O Arik, Nicolas Loeff, và Tomas Pfister. “Máy biến áp kết hợp tạm thời để dự báo chuỗi thời gian đa chân trời có thể diễn giải được.” Tạp chí Dự báo Quốc tế 37.4 (2021): 1748-1764.

[3] Makridakis, Spyros, Evangelos Spiliotis, và Vassilios Assimakopoulos. “Cuộc thi M4: 100,000 chuỗi thời gian và 61 phương pháp dự báo.” Tạp chí Dự báo Quốc tế 36.1 (2020): 54-74.


Giới thiệu về tác giả

Dự báo dễ dàng và chính xác với AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Caner Turkmenistan là Nhà khoa học ứng dụng tại Amazon Web Services, nơi anh làm việc về các vấn đề liên quan đến học máy và dự báo, ngoài việc phát triển AutoGluon-TimeSeries. Trước khi gia nhập AWS, anh ấy đã làm việc trong ngành tư vấn quản lý với tư cách là nhà khoa học dữ liệu, phục vụ ngành dịch vụ tài chính và viễn thông trong các dự án trên toàn cầu. Sở thích nghiên cứu cá nhân của Caner trải rộng trên nhiều chủ đề, bao gồm dự báo, suy luận nhân quả và AutoML.

Dự báo dễ dàng và chính xác với AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Oleksandr Shchur là Nhà khoa học ứng dụng tại Amazon Web Services, nơi anh làm việc về dự báo chuỗi thời gian trong AutoGluon-TimeSeries. Trước khi gia nhập AWS, anh đã hoàn thành bằng Tiến sĩ về Học máy tại Đại học Kỹ thuật Munich, Đức, nghiên cứu về các mô hình xác suất cho dữ liệu sự kiện. Mối quan tâm nghiên cứu của ông bao gồm học máy cho dữ liệu tạm thời và mô hình tổng quát.

Dự báo dễ dàng và chính xác với AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Nick Erickson là Nhà khoa học ứng dụng cấp cao tại Amazon Web Services. Anh lấy bằng thạc sĩ về Khoa học và Kỹ thuật Máy tính tại Đại học Minnesota Twin Cities. Ông là đồng tác giả và nhà phát triển chính của khung AutoML mã nguồn mở AutoGluon. Bắt đầu với tư cách là một bộ công cụ ML cạnh tranh cá nhân vào năm 2018, Nick đã liên tục mở rộng các khả năng của AutoGluon và tham gia Amazon AI vào năm 2019 để cung cấp mã nguồn mở cho dự án và làm việc toàn thời gian để phát triển công nghệ tiên tiến nhất trong AutoML.

Dấu thời gian:

Thêm từ Học máy AWS