Middle
როგორ დავძლიოთ მონაცემებში ტრენდი, როდესაც პროგნოზისთვის ხეები და შემთხვევითი ტყეები ვიყენებთ?
sobes.tech AI
პასუხი AI-სგან
მონაცემებში ტრენდი არის სისტემატური ცვლილება სამიზნე ცვლადის მნიშვნელობებში დროის განმავლობაში, რაც შეიძლება გავლენა მოახდინოს გადაწყვეტილების ხეების და შემთხვევითი ტყეების პროგნოზების ხარისხზე, რადგან ეს მოდელები უხეშად ვარაუდობენ მონაცემების სტაციონარობას.
ტრენდის წინააღმდეგ ბრძოლა გადაწყვეტილების ხეების და შემთხვევითი ტყეების გამოყენებისას შეიძლება განხორციელდეს შემდეგი გზებით:
- ტაიმ სერიის დეკომპოზიცია: ტრენდის კომპონენტის იდენტიფიცირება და ამოღება (მაგალითად, მოძრავი საშუალო ან STL მეთოდების გამოყენებით), და შემდეგ მოდელის სწავლება დარჩენილი მონაცემებზე.
- ტაიმ-დამოკიდებული მახასიათებლების დამატება: მოდელში დროის დაკავშირებული მახასიათებლების (დღე, თვე, წელი, დაკვირვების ნომერი) ჩართვა, რათა მოდელმა გაითვალისწინოს ტრენდი.
- ფართობების გამოყენება: მონაცემების ტრანსფორმაცია, სადაც მიიღება მიმდევრობითი დაკვირვებების შორის განსხვავებები, რათა ტრენდი ამოიშალოს.
- მოდელის სწავლება შეზღუდული დროის ფანჯრებზე: რათა მოდელი "არასახსოვდეს" მოძველებული ტრენდები.
მაგალითი დროის მახასიათებლების დამატების:
import pandas as pd
from sklearn.ensemble import RandomForestRegressor
# განვიხილოთ, რომ df შეიცავს 'date' და 'target' სვეტებს
df['day_of_year'] = df['date'].dt.dayofyear
df['year'] = df['date'].dt.year
მახასიათებლები = ['day_of_year', 'year']
X = df[მახასიათებლები]
y = df['target']
მოდელი = RandomForestRegressor()
მოდელი.სწავლა(X, y)
ამ გზით, მოდელი შეძლებს გაითვალისწინოს ტრენდი დროის მახასიათებლების საშუალებით, ნაცვლად იმისა, რომ პირდაპირ სცადოს მისი მოდელირება.