Biến áp kết hợp tạm thời: Dự báo chuỗi thời gian với học sâu - Hướng dẫn đầy đủ

Tạo dự đoán chính xác và dễ hiểu

Được tạo bằng DALLE [1]

Theo [2], Máy biến áp nhiệt hạch tạm thời vượt trội hơn tất cả các mô hình Deep Learning nổi bật để dự báo chuỗi thời gian.

Bao gồm một tính năng Cây tăng cường độ dốc mô hình dữ liệu chuỗi thời gian dạng bảng.

Nhưng cái gì là Máy biến áp nhiệt hạch tạm thời (TFT)[3] và tại sao nó lại thú vị đến thế?

Trong bài viết này, chúng tôi giải thích ngắn gọn những điểm mới của Máy biến áp nhiệt hạch tạm thời và xây dựng một dự án hoàn thiện trên Dự báo nhu cầu năng lượng. Cụ thể, chúng tôi sẽ bao gồm:

  • Cách chuẩn bị dữ liệu của chúng tôi cho định dạng TFT.
  • Cách xây dựng, đào tạo và đánh giá mô hình TFT.
  • Cách nhận dự đoán về dữ liệu xác thực và dự đoán ngoài mẫu.
  • Làm thế nào để tính toán tầm quan trọng của tính năng, mô hình theo mùa,sự kiện cực đoan sử dụng mô hình tích hợp sự chú ý có thể giải thích được cơ chế.

Hãy lặn xuống!

Để có phân tích chuyên sâu về kiến ​​trúc Máy biến áp nhiệt hạch tạm thời, hãy kiểm tra phần trước của tôi bài viết .

Tthời gian Fchiếm đoạt Tmáy biến áp (TFT) là một mô hình dựa trên Transformer, thúc đẩy sự tự chú ý để nắm bắt các động lực thời gian phức tạp của nhiều chuỗi thời gian.

hỗ trợ TFT:

  • Chuỗi thời gian nhiều lần: Chúng ta có thể huấn luyện một mô hình TFT trên hàng nghìn chuỗi thời gian đơn biến hoặc đa biến.
  • Dự báo đa đường chân trời: Mô hình đưa ra các dự đoán gồm nhiều bước của một hoặc nhiều biến mục tiêu - bao gồm cả các khoảng dự đoán.
  • Đặc điểm không đồng nhất: TFT hỗ trợ nhiều loại tính năng, bao gồm các biến ngoại sinh tĩnh và biến đổi theo thời gian.
  • Những dự đoán có thể hiểu được: Các dự đoán có thể được giải thích theo tầm quan trọng và tính thời vụ khác nhau.

Một trong những đặc điểm đó chỉ có ở Máy biến áp nhiệt hạch tạm thời. Chúng tôi sẽ đề cập đến điều này trong phần tiếp theo.

Trong số các mô hình chuỗi thời gian DL đáng chú ý (ví dụ: Sâu[4]), TFT nổi bật vì nó hỗ trợ nhiều loại tính năng khác nhau. Đó là:

  • Thay đổi theo thời gian nổi tiếng
  • Thay đổi theo thời gian không xác định
  • Bất biến theo thời gian thực
  • Bất biến theo thời gian phân loại

Ví dụ, hãy tưởng tượng chúng ta có một trường hợp dự báo bán hàng:

Giả sử chúng ta phải dự đoán doanh số bán của 3 sản phẩm. Các num sales là biến mục tiêu. Các CPI index hoặc là number of visitors đang không xác định theo thời gian các tính năng vì chúng chỉ được biết đến vào thời điểm dự đoán. Tuy nhiên, holidaysspecial days đang đã biết thay đổi theo thời gian sự kiện.

Sản phẩm product id is một phân loại bất biến theo thời gian (tĩnh) tính năng. Các tính năng khác là số và không phụ thuộc vào thời gian như yearly_revenue có thể được phân loại là thực bất biến theo thời gian.

Trước khi chuyển sang dự án của chúng tôi, trước tiên chúng tôi sẽ hiển thị một hướng dẫn nhỏ về cách chuyển đổi dữ liệu của bạn sang định dạng định dạng chuỗi thời gian mở rộng.

Lưu ý: Tất cả hình ảnh, số liệu trong bài viết này đều do tác giả tạo ra.

Đối với hướng dẫn này, chúng tôi sử dụng TemporalFusionTransformer mô hình từ Dự báo PyTorch thư viện và PyTorch Lightning:

pip cài đặt ngọn đuốc pytorch-sét pytorch_forecasting

Toàn bộ quá trình bao gồm 3 điều:

  1. Tạo khung dữ liệu gấu trúc với dữ liệu chuỗi thời gian của chúng tôi.
  2. Gói khung dữ liệu của chúng tôi thành một Bộ dữ liệu chuỗi thời gian ví dụ.
  3. Vượt qua của chúng tôi Bộ dữ liệu chuỗi thời gian ví dụ để TemporalFusionTransformer.

Sản phẩm Bộ dữ liệu chuỗi thời gian rất hữu ích vì nó giúp chúng ta xác định xem các đối tượng là thay đổi theo thời gian hay tĩnh. Ngoài ra, đây là định dạng duy nhất TemporalFusionTransformer chấp nhận.

Hãy tạo một tập dữ liệu huấn luyện tối thiểu để chỉ ra cách Bộ dữ liệu chuỗi thời gian công trình:

Chúng ta nên định dạng dữ liệu của mình theo cách sau: Mỗi hộp màu đại diện cho một chuỗi thời gian khác nhau, được biểu thị bằng group giá trị.

Hình 1: Khung dữ liệu gấu trúc sample_data

Cột quan trọng nhất của khung dữ liệu của chúng tôi là time_idx - nó xác định trình tự của các mẫu. Nếu không có quan sát nào bị thiếu, các giá trị sẽ tăng thêm +1 cho từng chuỗi thời gian.

Tiếp theo, chúng tôi gói khung dữ liệu của mình vào một Bộ dữ liệu chuỗi thời gian ví dụ:

Mọi lập luận đều có thể tự giải thích: max_encoder_length xác định khoảng thời gian nhìn lại và max_prediction_length chỉ định có bao nhiêu điểm dữ liệu sẽ được dự đoán. Trong trường hợp của chúng tôi, chúng tôi nhìn lại 3 bước thời gian trong quá khứ để đưa ra 2 dự đoán.

Sản phẩm Bộ dữ liệu chuỗi thời gian phiên bản hiện đóng vai trò là trình tải dữ liệu. Hãy in một lô và kiểm tra xem dữ liệu của chúng tôi sẽ được chuyển sang TFT như thế nào:

Lô này chứa các giá trị huấn luyện [0,1] từ chuỗi thời gian đầu tiên (group 0) và các giá trị thử nghiệm[2,3,4]. Nếu bạn chạy lại mã này, bạn sẽ nhận được các giá trị khác vì dữ liệu được xáo trộn theo mặc định.

Dự án của chúng tôi sẽ sử dụng Sơ đồ tải điện20112014 [5] dữ liệu từ UCI. Sổ ghi chép cho ví dụ này có thể được tải xuống từ tại đây:

Tập dữ liệu này chứa mức sử dụng năng lượng (tính bằng KW) của 370 khách hàng/người tiêu dùng với tần suất 15 phút. Dữ liệu kéo dài 4 năm (2011–2014).

Một số thiết bị tiêu dùng được tạo ra sau năm 2011 nên mức sử dụng điện năng của họ ban đầu bằng không.

Chúng tôi thực hiện tiền xử lý dữ liệu theo [3]:

  • Tổng hợp biến mục tiêu của chúng tôi power_usage theo giờ.
  • Tìm ngày sớm nhất cho mọi chuỗi thời gian có công suất khác 0.
  • Tạo các tính năng mới: month, day, hourday_of_week.
  • Chọn tất cả các ngày giữa 2014–01–012014–09–07.

Hãy bắt đầu:

Tải dữ liệu

wget https://archive.ics.uci.edu/ml/machine-learning-databases/00321/LD2011_2014.txt.zip
!giải nén
LD2011_2014.txt.zip

Xử lý dữ liệu

Mỗi cột đại diện cho một người tiêu dùng. Ban đầu nhất power_usage các giá trị là 0.

Tiếp theo, chúng tôi tổng hợp thành dữ liệu hàng giờ. Do quy mô và độ phức tạp của mô hình, chúng tôi chỉ đào tạo mô hình của mình trên 5 người tiêu dùng (đối với những người có giá trị khác XNUMX).

Bây giờ chúng ta chuẩn bị tập dữ liệu cho Bộ dữ liệu chuỗi thời gian định dạng. Lưu ý rằng mỗi cột đại diện cho một chuỗi thời gian khác nhau. Do đó, chúng tôi 'làm tan chảy' khung dữ liệu của mình để tất cả các chuỗi thời gian được xếp chồng lên nhau theo chiều dọc thay vì theo chiều ngang. Trong quá trình này, chúng tôi tạo ra các tính năng mới của mình.

Khung dữ liệu được xử lý trước cuối cùng được gọi time_df. Hãy in nội dung của nó:

Sản phẩm time_df hiện ở định dạng thích hợp cho Bộ dữ liệu chuỗi thời gian. Như bạn đã đoán bây giờ, vì mức độ chi tiết được tính theo giờ nên hours_from_start biến sẽ là chỉ số thời gian.

Phân tích dữ liệu thăm dò

Việc lựa chọn 5 người tiêu dùng/chuỗi thời gian không phải là ngẫu nhiên. Các power usage của mỗi chuỗi thời gian có các thuộc tính khác nhau, chẳng hạn như giá trị trung bình:

time_df[['consumer_id','power_usage']].groupby('consumer_id').mean()

Hãy vẽ tháng đầu tiên của mỗi chuỗi thời gian:

Hình 2: Tháng đầu tiên của tất cả 5 chuỗi thời gian/người tiêu dùng.

Không có xu hướng đáng chú ý, nhưng mỗi chuỗi thời gian có tính thời vụ và biên độ hơi khác nhau. Chúng tôi có thể thử nghiệm và kiểm tra thêm tính dừng, sự phân tách tín hiệu, v.v., nhưng trong trường hợp của chúng tôi, chúng tôi chỉ tập trung vào khía cạnh xây dựng mô hình.

Ngoài ra, hãy lưu ý rằng các phương pháp dự báo chuỗi thời gian khác như ARIMA phải đáp ứng một số yêu cầu (ví dụ: chuỗi thời gian trước tiên phải dừng lại.) Với TFT, chúng ta có thể giữ nguyên dữ liệu của mình.

Tạo Trình tải dữ liệu

Ở bước này, chúng tôi chuyển time_df đến Bộ dữ liệu chuỗi thời gian định dạng vô cùng hữu ích vì:

  • Nó giúp chúng ta không phải viết Dataloader của riêng mình.
  • Chúng tôi có thể chỉ định cách TFT sẽ xử lý các tính năng của tập dữ liệu.
  • Chúng tôi có thể bình thường hóa tập dữ liệu của mình một cách dễ dàng. Trong trường hợp của chúng tôi, việc chuẩn hóa là bắt buộc vì tất cả các chuỗi thời gian đều có độ lớn khác nhau. Vì vậy, chúng tôi sử dụng Nhóm Chuẩn hóa để bình thường hóa từng chuỗi thời gian riêng lẻ.

Mô hình của chúng tôi sử dụng khoảng thời gian xem lại trong một tuần (7*24) để dự đoán mức sử dụng năng lượng trong 24 giờ tới.

Ngoài ra, hãy lưu ý rằng hours_from_start vừa là chỉ số thời gian vừa là đặc tính thay đổi theo thời gian. Các power_usage là biến mục tiêu của chúng tôi. Để trình diễn, bộ xác thực của chúng tôi là ngày cuối cùng:

Mô hình cơ sở

Tiếp theo, bước mà hầu hết mọi người đều quên: Mô hình cơ sở. Đặc biệt trong việc dự báo chuỗi thời gian, bạn sẽ ngạc nhiên về mức độ thường xuyên mà một công cụ dự đoán đơn giản có thể vượt trội hơn ngay cả một mô hình phức tạp hơn!

Là một đường cơ sở ngây thơ, chúng tôi dự đoán đường cong sử dụng năng lượng của ngày hôm trước:

Huấn luyện mô hình máy biến áp nhiệt hạch tạm thời

Chúng ta có thể huấn luyện mô hình TFT của mình bằng cách sử dụng công cụ quen thuộc Huấn luyện viên giao diện từ PyTorch Lightning.

Hãy chú ý những điều sau:

  • Chúng tôi sử dụng dừng sớm gọi lại để theo dõi việc mất xác thực.
  • Chúng tôi sử dụng Bảng kéo để ghi lại số liệu đào tạo và xác nhận của chúng tôi.
  • Mô hình của chúng tôi sử dụng Mất lượng tử — một loại tổn thất đặc biệt giúp chúng tôi đưa ra các khoảng dự đoán. Để biết thêm về hàm Mất lượng tử, kiểm tra bài viết này.
  • Chúng tôi sử dụng 4 người đứng đầu chú ý, giống như tờ giấy gốc.

Bây giờ chúng ta đã sẵn sàng để xây dựng và huấn luyện mô hình của mình:

Đó là nó! Sau 6 kỷ nguyên, EarlyStopping bắt đầu hoạt động và tạm dừng quá trình luyện tập.

Tải và lưu mô hình tốt nhất

Đừng quên lưu mô hình của bạn. Mặc dù chúng ta có thể chọn nó, nhưng lựa chọn an toàn nhất là lưu trực tiếp kỷ nguyên tốt nhất:

!zip -r model.zip Lightning_logs/lightning_logs/version_1/*

Để tải lại mô hình, hãy giải nén mô hình.zip và thực hiện các thao tác sau - chỉ cần nhớ đường dẫn mô hình tốt nhất:

Kiểm tra bảng kéo

Hãy xem xét kỹ hơn các đường cong đào tạo và xác nhận với Tensorboard:

Đánh giá mô hình

Nhận dự đoán về bộ xác thực và tính giá trị trung bình P50 (trung vị lượng tử) sự mất:

2 chuỗi thời gian cuối cùng có mức tổn thất cao hơn một chút vì cường độ tương đối của chúng cũng cao.

Vẽ biểu đồ dự đoán về dữ liệu xác thực

Nếu chúng ta vượt qua mode=raw trên dự đoán () phương pháp này, chúng tôi nhận được nhiều thông tin hơn, bao gồm cả dự đoán cho tất cả bảy phân vị. Chúng tôi cũng có quyền truy cập vào các giá trị chú ý (sẽ nói thêm về điều đó sau).

Hãy nhìn kỹ hơn vào raw_predictions biến:

Chúng tôi sử dụng cốt truyện_prediction() để tạo ra âm mưu của chúng tôi. Tất nhiên, bạn có thể tạo cốt truyện tùy chỉnh của riêng mình - cốt truyện_prediction() có thêm lợi ích là thêm các giá trị chú ý.

Lưu ý: Mô hình của chúng tôi dự đoán 24 điểm dữ liệu tiếp theo chỉ trong một bước. Đây không phải là một kịch bản dự báo luân phiên trong đó một mô hình dự đoán một duy nhất giá trị mỗi lần và 'khâu' tất cả các dự đoán lại với nhau.

Chúng tôi tạo một ô cho mỗi người tiêu dùng (tổng cộng 5 ô).

Hình 3: Dự đoán về dữ liệu xác thực cho MT_002
Hình 4: Dự đoán về dữ liệu xác thực cho MT_004
Hình 5: Dự đoán về dữ liệu xác thực cho MT_005
Hình 6: Dự đoán về dữ liệu xác thực cho MT_006
Hình 7: Dự đoán về dữ liệu xác thực cho MT_008

Kết quả khá ấn tượng.

Của chúng tôi Máy biến áp nhiệt hạch tạm thời mô hình có thể nắm bắt được hành vi của cả 5 chuỗi thời gian, cả về tính thời vụ và mức độ!

Ngoài ra, hãy lưu ý rằng:

  • Chúng tôi không thực hiện bất kỳ điều chỉnh siêu tham số nào.
  • Chúng tôi không triển khai bất kỳ kỹ thuật kỹ thuật tính năng ưa thích nào.

Trong phần tiếp theo, chúng tôi trình bày cách cải thiện mô hình của mình bằng cách tối ưu hóa siêu tham số.

Lập kế hoạch dự đoán cho một chuỗi thời gian cụ thể

Trước đây, chúng tôi vẽ biểu đồ dự đoán về dữ liệu xác thực bằng cách sử dụng idx đối số lặp lại trên tất cả các chuỗi thời gian trong tập dữ liệu của chúng tôi. Chúng tôi có thể đưa ra dự đoán cụ thể hơn và đưa ra dự đoán theo một chuỗi thời gian cụ thể:

Hình 7: Dự đoán ngày sắp tới cho MT_004 trên tập huấn luyện

In Hình 7, chúng tôi lên kế hoạch cho ngày hôm trước MT_004 người tiêu dùng cho chỉ số thời gian = 26512.

Hãy nhớ rằng, cột chỉ mục thời gian của chúng tôi hours_from_start bắt đầu từ 26304 và chúng tôi có thể nhận được dự đoán từ 26388 trở đi (vì chúng tôi đã đặt trước đó min_encoder_length=max_encoder_length // 2 bằng 26304 + 168//2=26388

Dự báo ngoài mẫu

Hãy tạo các dự đoán ngoài mẫu, ngoài điểm dữ liệu cuối cùng của dữ liệu xác thực - đó là 2014–09–07 23:00:00

Tất cả những gì chúng ta phải làm là tạo một khung dữ liệu mới chứa:

  • Số lượng N=max_encoder_length ngày trong quá khứ, hoạt động như giai đoạn xem lại — dữ liệu mã hóa trong thuật ngữ TFT.
  • Ngày tương lai có kích thước max_prediction_length mà chúng tôi muốn tính toán dự đoán của mình - dữ liệu giải mã.

Chúng tôi có thể tạo dự đoán cho cả 5 chuỗi thời gian của mình hoặc chỉ một chuỗi thời gian. Hình 7 hiển thị các dự đoán ngoài mẫu cho người tiêu dùng MT_002:

Hình 7: Dự đoán ngày tới cho MT_002

Dự báo chính xác là một chuyện, nhưng khả năng giải thích cũng rất quan trọng hiện nay.

Và điều đó còn tệ hơn đối với các mô hình Deep Learning, vốn được coi là hộp đen. Các phương pháp như GIỚI HẠNHÌNH DẠNG có thể cung cấp khả năng giải thích (ở một mức độ nào đó) nhưng không hoạt động tốt đối với chuỗi thời gian. Ngoài ra, chúng là các phương pháp hậu hoc bên ngoài và không bị ràng buộc với một mô hình cụ thể.

Máy biến áp nhiệt hạch tạm thời cung cấp ba loại khả năng giải thích:

  • Tính thời vụ: TFT tận dụng tính mới của nó Sự chú ý nhiều đầu có thể giải thích được cơ chế tính toán tầm quan trọng của các bước thời gian trong quá khứ.
  • Tính năng khôn ngoan: TFT tận dụng nó Mạng lựa chọn biến mô-đun để tính toán tầm quan trọng của mọi tính năng.
  • Độ bền của các sự kiện cực đoan: Chúng ta có thể điều tra cách chuỗi thời gian hoạt động trong các sự kiện hiếm hoi

Nếu bạn muốn tìm hiểu sâu hơn về hoạt động bên trong của Sự chú ý nhiều đầu có thể giải thích được Mạng lựa chọn biến, kiểm tra bài viết trước của tôi.

Khả năng diễn giải theo mùa vụ

TFT khám phá trọng số chú ý để hiểu các mô hình thời gian qua các bước thời gian trong quá khứ.

Các đường màu xám trong tất cả các ô trước biểu thị điểm chú ý. Hãy nhìn lại những ô đó - bạn có nhận thấy điều gì không? Hình 8 cho thấy những phát hiện của Hình 7 và cũng chiếm điểm chú ý:

Hình 8: Dự đoán ngày tới cho MT_001 với tính thời vụ được hiển thị

Điểm chú ý cho thấy mức độ ảnh hưởng của các bước thời gian đó khi mô hình đưa ra dự đoán của nó. Các đỉnh nhỏ phản ánh tính thời vụ hàng ngày, trong khi đỉnh cao hơn về phía cuối có thể hàm ý tính thời vụ hàng tuần.

Nếu chúng ta tính trung bình các đường cong chú ý trên tất cả các dấu thời gian và chuỗi thời gian (không chỉ 5 đường cong chúng ta đã sử dụng trong hướng dẫn này), chúng ta sẽ có được hình dạng đối xứng trong Hình 9 từ giấy TFT:

Hình 9: Các mẫu tạm thời cho tập dữ liệu Điện (nguồn)

Câu hỏi: Điều này có gì tốt? Chúng ta không thể ước tính đơn giản các mô hình thời vụ bằng các phương pháp như biểu đồ ACF, phân tách tín hiệu thời gian, v.v. sao?

Câu trả lời: ĐÚNG VẬY. Tuy nhiên, nghiên cứu trọng số chú ý của TFT có những lợi ích bổ sung:

  1. Chúng tôi có thể xác nhận mô hình của chúng tôi nắm bắt được động lực theo mùa rõ ràng trong các chuỗi của chúng tôi.
  2. Mô hình của chúng tôi cũng có thể tiết lộ các mẫu ẩn vì trọng số chú ý của cửa sổ đầu vào hiện tại xem xét tất cả các đầu vào trong quá khứ.
  3. Biểu đồ trọng số chú ý không giống với biểu đồ tự tương quan: Biểu đồ tự tương quan đề cập đến một chuỗi cụ thể, trong khi trọng số chú ý ở đây tập trung vào tác động của từng dấu thời gian bằng cách xem xét tất cả các biến đồng thời và chuỗi thời gian.

Khả năng diễn giải theo tính năng

Sản phẩm Mạng lựa chọn biến thành phần của TFT có thể dễ dàng ước tính tầm quan trọng của tính năng:

Hình 10: Tính năng quan trọng trên dữ liệu xác nhận

In Hình 10, chúng tôi nhận thấy như sau:

  • Sản phẩm hourday_of_week có điểm số cao, cả về quan sát trong quá khứ và hiệp phương sai trong tương lai. Điểm chuẩn trong bài báo gốc có cùng kết luận.
  • Sản phẩm power_usage rõ ràng là hiệp phương sai được quan sát có tác động mạnh nhất.
  • Sản phẩm consumer_id ở đây không có ý nghĩa lắm vì chúng tôi chỉ sử dụng 5 người tiêu dùng. Trong bài báo TFT, trong đó các tác giả sử dụng tất cả 370 người tiêu dùng, biến này có ý nghĩa hơn.

Lưu ý: Nếu biến tĩnh nhóm của bạn không quan trọng thì rất có thể tập dữ liệu của bạn cũng có thể được mô hình hóa tốt như nhau bằng một mô hình phân phối duy nhất (như ARIMA).

Phát hiện sự kiện cực đoan

Chuỗi thời gian nổi tiếng là dễ bị thay đổi đột ngột về đặc tính của chúng trong các sự kiện hiếm gặp (còn được gọi là chuỗi thời gian). chấn động).

Tệ hơn nữa, những sự kiện đó rất khó nắm bắt. Hãy tưởng tượng nếu biến mục tiêu của bạn trở nên không ổn định trong một khoảng thời gian ngắn vì một hiệp phương sai âm thầm thay đổi hành vi:

Đây có phải là một số tiếng ồn ngẫu nhiên hay một mô hình dai dẳng ẩn giấu thoát khỏi mô hình của chúng tôi?

Với TFT, chúng tôi có thể phân tích mức độ chắc chắn của từng tính năng riêng lẻ trong phạm vi giá trị của chúng. Thật không may, tập dữ liệu hiện tại không thể hiện sự biến động hoặc các sự kiện hiếm gặp - những sự kiện đó có nhiều khả năng được tìm thấy trong dữ liệu tài chính, bán hàng, v.v. Tuy nhiên, chúng tôi sẽ chỉ ra cách tính toán chúng:

Một số tính năng không có tất cả các giá trị của chúng trong tập dữ liệu xác thực, vì vậy chúng tôi chỉ hiển thị hourconsumer_id:

Hình 11: Dự đoán so với thực tế (phương tiện chuẩn hóa) theo giờ
Hình 12: Dự đoán so với thực tế (phương tiện chuẩn hóa) trên Consumer_id

Trong cả hai hình, kết quả đều đáng khích lệ. TRONG Hình 12, chúng tôi nhận thấy rằng người tiêu dùng MT_004 hơi kém so với những người tiêu dùng khác. Chúng tôi có thể xác minh điều này nếu chúng tôi bình thường hóa mức tổn thất P50 của mỗi người tiêu dùng với mức sử dụng điện năng trung bình mà chúng tôi đã tính toán trước đó.

Các thanh màu xám biểu thị sự phân phối của từng biến. Một điều tôi luôn làm là tìm những giá trị nào có tần số thấp. Sau đó, tôi kiểm tra xem mô hình hoạt động như thế nào trong các lĩnh vực đó. Do đó, bạn có thể dễ dàng phát hiện xem mô hình của mình có nắm bắt được hành vi của các sự kiện hiếm gặp hay không.

Nói chung, bạn có thể sử dụng tính năng TFT này để thăm dò điểm yếu của mô hình và tiến hành điều tra thêm.

Chúng ta có thể sử dụng liền mạch Máy biến áp nhiệt hạch tạm thời với tùy chọn để thực hiện điều chỉnh siêu tham số:

Vấn đề là vì TFT là mẫu dựa trên Transformer nên bạn sẽ cần nguồn tài nguyên phần cứng đáng kể!

Máy biến áp nhiệt hạch tạm thời chắc chắn là một cột mốc quan trọng đối với cộng đồng Time-Series.

Mô hình không chỉ đạt được kết quả SOTA mà còn cung cấp một khuôn khổ cho khả năng diễn giải các dự đoán. Mô hình này cũng có sẵn trong Phi tiêu thư viện python, dựa trên thư viện Dự báo PyTorch.

Cuối cùng, nếu bạn tò mò muốn tìm hiểu về kiến ​​trúc của Máy biến áp nhiệt hạch tạm thời một cách chi tiết, hãy kiểm tra bài viết đồng hành trên giấy gốc.

Biến áp kết hợp tạm thời: Dự báo chuỗi thời gian với học sâu - Hướng dẫn đầy đủ được xuất bản lại từ nguồn https://towardsdatascience.com/temporal-fusion-transformer-time-series-forecasting-with-deep-learning-complete-tutorial-d32c1e51cd91?source= rss—-7f60cf5620c9—4 qua https://towardsdatascience.com/feed

<!–

->

Dấu thời gian:

Thêm từ Tư vấn chuỗi khối