Aracılığıyla paylaş


AutoML'de zaman serisi tahmini için takvim özellikleri

Bu makalede, AutoML'nin regresyon modellerini tahmin etme doğruluğunu artırmak için oluşturduğu takvim tabanlı özelliklere odaklanmaktadır. Tatiller modellenen sistemin davranışları üzerinde güçlü bir etkiye sahip olabileceğinden, bir tatilden önceki, sırasında ve sonrasındaki zaman serinin desenlerini saptırabilir. Her tatil, öğrencilerin etki atayabileceği mevcut veri kümeniz üzerinde bir pencere oluşturur. Bu özellikle tatiller gibi belirli ürünler için yüksek talep oluşturan senaryolarda yararlı olabilir. AutoML'de tahmin metodolojisi hakkında daha fazla genel bilgi için yöntemlere genel bakış makalesine bakın. AutoML'de eğitim tahmin modellerine yönelik yönergeler ve örnekler, zaman serisi tahmini için AutoML'yi ayarlama makalemizde bulunabilir.

Özellik mühendisliğinin bir parçası olarak AutoML, eğitim verilerinde sağlanan tarih saat türü sütunlarını takvim tabanlı özelliklerin yeni sütunlarına dönüştürür. Bu özellikler regresyon modellerinin mevsimsel desenleri çeşitli tempolarda öğrenmelerine yardımcı olabilir. AutoML her zaman zaman serisinin zaman dizininden takvim özellikleri oluşturabilir çünkü bu, eğitim verilerinde gerekli bir sütundur. Takvim özellikleri, varsa tarih saat türüne sahip diğer sütunlardan da yapılır. Veri gereksinimleri hakkında daha fazla bilgi için AutoML'nin veri kılavuzunuzu nasıl kullandığına bakın.

AutoML iki takvim özelliği kategorisini dikkate alır: tamamen tarih ve saat değerlerini temel alan standart özellikler ve dünyanın bir ülkesine veya bölgesine özgü tatil özellikleri. Makalenin geri kalanında bu özelliklerin üzerinden geçeceğiz.

Standart takvim özellikleri

Aşağıdaki tabloda AutoML'nin standart takvim özelliklerinin tam kümesi ve örnek bir çıkış gösterilmektedir. Örnek, datetime gösterimi için standart YY-mm-dd %H-%m-%d biçimi kullanır.

Özellik adı Açıklama 2011-01-01 00:25:30 için örnek çıktı
year Takvim yılını temsil eden sayısal özellik 2011
year_iso ISO 8601'de tanımlandığı gibi ISO yıllarını temsil eder. ISO yılları, perşembe günü olan yılın ilk haftası başlar. Örneğin, 1 Ocak bir Cuma ise, ISO yılı 4 Ocak'ta başlar. ISO yılları takvim yıllarından farklı olabilir. 2010
half Tarihin yılın ilk yarısında mı yoksa ikinci yarısında mı olduğunu gösteren özellik. Tarih 1 Temmuz'un öncesindeyse 1, aksi takdirde 2 olur.
quarter Verilen tarihin üç aylık dönemini temsil eden sayısal özellik. Takvim yılının birinci, ikinci, üçüncü, dördüncü çeyreğini temsil eden 1, 2, 3 veya 4 değerlerini alır. 1
month Takvim ayını temsil eden sayısal özellik. 1 ile 12 arasında değerler alır. 1
month_lbl Ay adını temsil eden dize özelliği. 'Ocak'
day Ayın gününü temsil eden sayısal özellik. 1 ile 31 arasında değerler alır. 1
hour Günün saatini temsil eden sayısal özellik. 0 ile 23 arasında değerler alır. 0
minute Saat içindeki dakikayı temsil eden sayısal özellik. 0 ile 59 arasında değerler alır. 25
second Verilen tarih saatlerinin ikincisini temsil eden sayısal özellik. Yalnızca tarih biçiminin sağlandığı durumlarda 0 olarak kabul edilir. 0 ile 59 arasında değerler alır. 30
am_pm Saatin sabah mı yoksa akşam mı olduğunu gösteren sayısal özellik. Saat 12:00'nin öncesi için 0, 12:00'ın ardından da 1 kez olur. 0
am_pm_lbl Saatin sabah mı yoksa akşam mı olduğunu gösteren dize özelliği. ''
hour12 12 saatlik bir saatte günün saatini temsil eden sayısal özellik. Günün ilk yarısı için 0 ile 12, ikinci yarı için 1 ile 11 arasında değerler alır. 0
wday Haftanın gününü temsil eden sayısal özellik. 0 ile 6 arasında bir değer alır ve burada 0 Pazartesi'ye karşılık gelir. 5
wday_lbl Haftanın gününün adını temsil eden dize özelliği.
qday Üç aylık dönem içindeki günü temsil eden sayısal özellik. 1 ile 92 arasında değerler alır. 1
yday Yılın gününü temsil eden sayısal özellik. Artık yıl söz konusu olduğunda 1 ile 365 arasında veya 1 ile 366 arasında değerler alır. 1
week ISO 8601'de tanımlandığı gibi ISO haftasını temsil eden sayısal özellik. ISO haftaları her zaman Pazartesi günü başlar ve Pazar günü biter. 1 Ocak'ın Perşembe günü düşmesine veya 1 Ocak'ın Çarşamba'ya düşmesine neden olan artık yılların değerleri 1 ile 52 veya 53 arasında olur. 52

Standart takvim özelliklerinin tamamı her durumda oluşturulamayabilir. Oluşturulan küme, zaman serisinin sıklığına ve eğitim verilerinin saat dizinine ek olarak tarih saat özellikleri içerip içermediğine bağlıdır. Aşağıdaki tabloda farklı sütun türleri için oluşturulan özellikler gösterilmektedir:

Sütun amacı Takvim özellikleri
Zaman dizini Diğer özelliklerle yüksek bağıntıya sahip tam küme eksi takvim özellikleri. Örneğin, zaman serisi sıklığı günlükse, günlükten daha ayrıntılı bir frekansa sahip olan özellikler yararlı bilgiler sağlamadığından kaldırılır.
Diğer tarih saat sütunu , , , Month, DayDayOfWeek, DayOfYear, QuarterOfYear, WeekOfMonth, HourMinuteve Secondkümelerinden Yearoluşan azaltılmış bir küme. Sütun, saati olmayan bir tarihse, Hour, Minuteve Second 0 olur.

Tatil özellikleri

AutoML isteğe bağlı olarak belirli bir ülke veya bölgeden tatilleri temsil eden özellikler oluşturabilir. Bu özellikler, Iso ülke kodunu kabul eden parametresi kullanılarak country_or_region_for_holidays AutoML'de yapılandırılır.

Not

Tatil özellikleri yalnızca günlük sıklıkta zaman serisi için yapılabilir.

Aşağıdaki tabloda tatil özellikleri özetlenmiştir:

Özellik adı Açıklama
Holiday Tarihin ulusal/bölgesel tatil olup olmadığını belirten dize özelliği. Bir tatil aralığındaki günler de işaretlenir.
isPaidTimeOff Belirtilen ülke veya bölgede gün "ücretli izin tatili" ise 1 değerini alan ikili özellik.

AutoML, tatil bilgileri için kaynak olarak Azure Açık Veri Kümelerini kullanır. Daha fazla bilgi için PublicHolidays belgelerine bakın.

Tatil özelliği oluşturmayı daha iyi anlamak için aşağıdaki örnek verileri göz önünde bulundurun:

sample_data

Bu veriler için Amerikan tatil özellikleri oluşturmak için, aşağıdaki kod örneğinde gösterildiği gibi tahmin ayarlarında 'ABD' olarak ayarlıyoruzcountry_or_region_for_holiday:

from azure.ai.ml import automl

# create a forcasting job
forecasting_job = automl.forecasting(
    compute='test_cluster',   # Name of single or multinode AML compute infrastructure created by user
    experiment_name=exp_name, # name of experiment 
    training_data=sample_data,  
    target_column_name='demand',
    primary_metric='NormalizedRootMeanSquaredError',
    n_cross_validations=3,
    enable_model_explainability=True
)

# set custom forecast settings
forecasting_job.set_forecast_settings(
    time_column_name='timeStamp',
    country_or_region_for_holidays='US'
)

Oluşturulan tatil özellikleri aşağıdaki çıkışa benzer:

sample_data_output

Oluşturulan özelliklerin ön ekinin _automl_ sütun adlarına eklendiğini unutmayın. AutoML genellikle giriş özelliklerini mühendislik özelliklerinden ayırmak için bu ön eki kullanır.

Sonraki adımlar