AutoML'de tahmin yöntemlerine genel bakış

Bu makalede, Azure Machine Learning'de AutoML'nin zaman serisi verilerini hazırlamak ve tahmin modelleri oluşturmak için kullandığı yöntemler açıklanmaktadır. AutoML'de eğitim tahmin modelleri hakkında yönergeler ve örnekler için bkz . Zaman serisi tahmini için AutoML'yi ayarlama.

AutoML'de tahmin yöntemleri

AutoML, zaman serisi değerlerini tahmin etmek için çeşitli yöntemler kullanır. Bu yöntemler kabaca iki kategoriye atanabilir:

  • Geleceğe yönelik tahminlerde bulunmak için hedef miktarın geçmiş değerlerini kullanan zaman serisi modelleri
  • Hedefin değerlerini tahmin etmek için tahmin değişkeni kullanan regresyon veya açıklayıcı modeller

Bir marketten belirli bir portakal suyu markasına yönelik günlük talebi tahmin etmeniz gerektiğini varsayalım. İfade için $y_t$ değerinin $t$ günü bu markaya olan talebi temsil etmesine izin verin. Zaman serisi modeli , aşağıdaki ifadeyle geçmiş talebin bazı işlevlerini kullanarak talebi $t+1$ olarak tahmin eder:

$y_{t+1} = f(y_t, y_{t-1}, \ldots, y_{t-s})$

$f$ işlevi genellikle geçmişten gelen gözlemlenen talebi kullanarak ayarladığınız parametrelere sahiptir. $f$ değerinin tahminlerde bulunmak için kullandığı geçmiş miktarı ($s$) modelin parametresi olarak da kabul edilebilir.

Portakal suyu talebi örneğindeki zaman serisi modeli, yalnızca geçmiş taleple ilgili bilgileri kullandığından yeterince doğru olmayabilir. Fiyat, haftanın günü ve tatil dönemleri gibi gelecekteki talebi etkileyebilecek birçok faktör daha vardır. Aşağıdaki ifadeyle bu tahmin aracı değişkenlerini kullanan bir regresyon modeli düşünün:

$y = g(\text{price}, \text{haftanın günü}, \text{holiday})$

Yine, $g$ işlevi genellikle, AutoML'nin talebin geçmiş değerlerini ve tahmincileri kullanarak ayarladığı normalleştirmeyi yöneten değerler de dahil olmak üzere bir dizi parametreye sahiptir. Regresyon modelinin tahminlerde bulunmak için eş değer olarak tanımlanmış değişkenler arasındaki bağıntısal desenleri kullandığını vurgumak için ifadeden $t$ değerini atlarsınız. $g$ değerinden $y_{t+1}$ tahmini yapmak için haftanın hangi gününün $t+1$'a, günün tatil olup olmadığını ve $t+1$ üzerindeki portakal suyu fiyatını bilmeniz gerekir. İlk iki bilgi parçasını takvim kullanarak kolayca belirleyebilirsiniz. Perakende fiyatı genellikle önceden belirlenmiştir, bu nedenle portakal suyunun fiyatı muhtemelen bir gün önceden de bilinir. Ancak, fiyat gelecekte 10 gün sonra bilinmeyebilir. Bu regresyonun yardımcı programının tahminlere ne kadar ihtiyaç duyacağınız (tahmin ufku olarak da adlandırılır) ve tahmincilerin gelecekteki değerlerini ne derece bildiğinizle sınırlı olduğunu anlamak önemlidir.

Önemli

AutoML'nin tahmin regresyon modelleri, kullanıcı tarafından sağlanan tüm özelliklerin en azından tahmin ufkuna kadar gelecekte bilindiğini varsayar.

AutoML'nin tahmin regresyon modelleri, hedefin ve tahmincilerin geçmiş değerlerini kullanacak şekilde de artırılabilir. Sonuç, bir zaman serisi modelinin özelliklerine ve saf regresyon modeline sahip bir karma modeldir. Geçmiş miktarlar, regresyondaki gecikmeli miktarlar olarak adlandırılan ek tahmin değişkenidir. Gecikme sırası , değerin ne kadar geri bilindiği anlamına gelir. Örneğin, portakal suyu talebi örneği için hedefin order-iki gecikmesinin geçerli değeri, iki gün önce gözlemlenen meyve suyu talebidir.

Zaman serisi modelleri ile regresyon modelleri arasındaki bir diğer önemli fark da tahminleri oluşturma şeklidir. Özyineleme ilişkileri genellikle tahminleri birer birer üreten zaman serisi modellerini tanımlar. Geleceğe yönelik birçok dönem tahmin etmek için tahmin ufkuna kadar yinelenir ve önceki tahminleri modele geri besleyerek gerektiğinde bir dönem öncesinden sonraki tahmini oluştururlar. Buna karşılık, regresyon modelleri, ufka kadar tüm tahminleri tek bir denemede oluşturan doğrudan tahminciler olarak kabul edilir. Özyinelemeli modeller önceki tahminleri modele geri aktardığında bileşik tahmin hatası oluştuğundan, doğrudan tahminciler özyinelemeli yöntemlere tercih edilebilir. Gecikme özellikleri dahil edildiğinde AutoML, regresyon modellerinin doğrudan tahminciler olarak çalışabilmesi için eğitim verilerinde bazı önemli değişiklikler yapar. Daha fazla bilgi için bkz . AutoML'de zaman serisi tahmini için gecikme özellikleri.

AutoML'de modelleri tahmin etme

Machine Learning'de AutoML aşağıdaki tahmin modellerini uygular. Her kategori için modeller, model kapasitesi olarak da bilinen, birleştirebilecekleri desenlerin karmaşıklık düzeyine göre kabaca listelenir. Yalnızca gözlemlenen son değeri tahmin eden Naive modeli düşük kapasiteye sahipken, milyonlarca ayarlanabilir parametreye sahip derin bir sinir ağı (DNN) olan ZamanSal Konvolüsyon Ağı (TCNForecaster) yüksek kapasiteye sahiptir.

Zaman serisi modelleri Regresyon modelleri
Naive, MevsimSel Naive, Ortalama, MevsimSel Ortalama, ARIMA(X), Üstel Düzeltme Doğrusal SGD, LARS LASSO, Elastik Ağ, Kahin, K En Yakın Komşular, Karar Ağacı, Rastgele Orman, Aşırı Rastgele Ağaçlar, Gradyan Artırılmış Ağaçlar, LightGBM, XGBoost, TCNForecaster

AutoML ayrıca doğruluğu daha da geliştirmek için en iyi performansa sahip modellerin ağırlıklı birleşimlerini oluşturan grup modellerini içerir. Tahmin için, Caruana Grubu Seçim Algoritması'nı kullanarak kompozisyonun ve ağırlıkların bulunduğu yumuşak oylama grubu kullanırsınız.

Not

Tahmin modeli toplulukları için iki önemli uyarı vardır:

  • TCN şu anda topluluklara eklenemez.
  • AutoML varsayılan olarak, AutoML'de varsayılan regresyon ve sınıflandırma görevlerine dahil edilen yığın grubu yöntemini devre dışı bırakır. Yığın grubu, grup ağırlıklarını bulmak için en iyi model tahminlerine bir meta model sığdırıyor. İç karşılaştırma sırasında bu strateji, zaman serisi verilerini sığdırma eğilimini artırmıştır. Bu sonuç kötü genelleştirmeye neden olabileceğinden yığın grubu varsayılan olarak devre dışı bırakılır. Grubu AutoML yapılandırmasında gerektiği gibi etkinleştirebilirsiniz.

AutoML verilerinizi nasıl kullanır?

AutoML, zaman serisi verilerini tablosal "geniş" biçimde kabul eder. Her değişkenin kendi ilgili sütunu olmalıdır. AutoML, tahmin sorunu için bir sütunun zaman ekseni olmasını gerektirir. Bu sütun bir tarih saat türünde ayrıştırılabilir olmalıdır. En basit zaman serisi veri kümesi bir zaman sütunundan ve sayısal bir hedef sütundan oluşur. Hedef, geleceğe yönelik tahminde bulunan değişkendir. Aşağıdaki tabloda bu biçim için örnek değerler gösterilmektedir:

timestamp quantity
2012-01-01 100
2012-01-02 97
2012-01-03 106
... ...
2013-12-31 347

Daha karmaşık durumlarda, veri kümesi zaman diziniyle hizalanmış başka sütunlar içerebilir:

timestamp SKU price Reklamı quantity
2012-01-01 MEYVE SUYU1 3.5 0 100
2012-01-01 EKMEK3 5.76 0 47
2012-01-02 MEYVE SUYU1 3.5 0 97
2012-01-02 EKMEK3 5.5 1 68
... ... ... ... ...
2013-12-31 MEYVE SUYU1 3.75 0 347

İkinci örnek bir SKU, perakende fiyat ve bir öğenin zaman damgası ve hedef miktara ek olarak tanıtılıp tanıtılmadığını belirten bir bayrak içerir. İkinci veri kümesi iki seriyi gösterir: biri JUICE1 SKU'su ve biri BREAD3 SKU'su için. SKU sütunu bir zaman serisi kimliği sütunudur çünkü bu sütun değerlerine göre gruplandırma her biri tek bir seri içeren iki grup oluşturur. Model süpürme işleminden önce AutoML, giriş yapılandırmasının ve verilerinin temel doğrulamasını yapar ve mühendislik özellikleri ekler.

Veri uzunluğu gereksinimleri

Tahmin modelini eğitmek için yeterli miktarda geçmiş veriniz olmalıdır. Bu eşik miktarı eğitim yapılandırmasına göre değişir. Doğrulama verileri sağlarsanız, zaman serisi başına gereken en az eğitim gözlemi sayısı aşağıdaki gibi ifade edilir:

$T_{\text{user validation}} = H + \text{max}(l_{\text{max}}, s_{\text{window}}) + 1$

Bu ifadede $H$ tahmin ufkudur, $l_{\text{max}}$ en yüksek gecikme sırasıdır ve $s_{\text{window}}$ sıralı toplama özelliklerinin pencere boyutudur. Çapraz doğrulama kullanıyorsanız, en az gözlem sayısı aşağıdaki gibi ifade edilir:

$T_{\text{CV}} = 2H + (n_{\text{CV}} - 1) n_{\text{step}} + \text{max}(l_{\text{max}}, s_{\text{window}}) + 1$

Bu sürümde, $n_{\text{CV}}$ çapraz doğrulama katlamalarının sayısıdır ve $n_{\text{step}}$ CV adım boyutu veya CV katlamaları arasındaki uzaklıktır. Bu formüllerin arkasındaki temel mantık, gecikmeler ve çapraz doğrulama bölmeleri için bazı doldurmalar da dahil olmak üzere her zaman serisi için en az bir eğitim gözlemleri ufkuna sahip olmanız gerektiğidir. Tahmin için çapraz doğrulama hakkında daha fazla bilgi için bkz . AutoML'de model seçimi.

Eksik veri işleme

AutoML'deki zaman serisi modelleri, gözlemler arasındaki gün sayısının değişebileceği aylık veya yıllık gözlemler gibi durumları içeren düzenli aralıklı gözlemler gerektirir. Modelleme işlemi başlatılmadan önce AutoML'nin eksik seri değerleri olmadığından ve gözlemlerin düzenli olduğundan emin olması gerekir. Sonuç olarak, iki eksik veri durumu vardır:

  • Tablosal verilerdeki bazı hücrelerde bir değer eksik.
  • Zaman serisi sıklığı göz önüne alındığında beklenen gözleme karşılık gelen bir satır eksik.

İlk durumda, AutoML ortak yapılandırılabilir teknikleri kullanarak eksik değerleri açar. Aşağıdaki tabloda eksik olan beklenen bir satır örneği gösterilmektedir:

timestamp quantity
2012-01-01 100
2012-01-03 106
2012-01-04 103
... ...
2013-12-31 347

Bu serinin günlük bir sıklığı vardır, ancak 2 Ocak 2012 (2012-01-02) için gözlem yoktur. Bu durumda, AutoML eksik değer için yeni bir satır ekleyerek verileri doldurmaya çalışır. Sütunun quantity yeni değeri ve verilerdeki diğer sütunlar, diğer eksik değerler gibi işaretlenir. Bu işlemi yürütmek için AutoML'nin bu durumda gösterildiği gibi gözlem boşluklarını doldurabilmesi için seri sıklığını tanıması gerekir. AutoML bu sıklığı otomatik olarak algılar veya isteğe bağlı olarak kullanıcı bunu yapılandırmada sağlayabilir.

Eksik değerleri sağlamak için imputation yöntemi girişte yapılandırılabilir. Aşağıdaki tabloda varsayılan yöntemler listelemektedir:

Sütun türü Varsayılan imputation yöntemi
Hedef İleri dolgu (son gözlem ileriye taşındı)
Sayısal özellik Ortanca değer

Kategorik özellikler için eksik değerler, sayısal kodlama sırasında eksik bir değere karşılık gelen başka bir kategori eklenerek işlenir. Imputation bu örnekte örtük bir işlemdir.

Otomatik özellik mühendisliği

AutoML genellikle modelleme doğruluğunu artırmak için kullanıcı verilerine yeni sütunlar ekler. Mühendislik özellikleri varsayılan veya isteğe bağlı öğeleri içerebilir.

Varsayılan mühendislik özellikleri:

İsteğe bağlı mühendislik özellikleri:

  • Belirli bir bölgeyle ilişkili tatiller için gösterge özellikleri
  • Hedef miktarın gecikmeleri
  • Özellik sütunlarının gecikmeleri
  • Hedef miktarın sıralı ortalaması gibi sıralı pencere toplamaları
  • Mevsimsel ayrıştırma ((Loess (STL) kullanarak mevsimsel ve Eğilim ayrıştırma)

ForecastingJob sınıfını kullanarak veya Azure Machine Learning stüdyosu web arabiriminden AutoML SDK'sından özellik kazandırma yapılandırabilirsiniz.

Nonstationary zaman serisi algılama ve işleme

Zaman içinde ortalama ve varyans değişiminin sabit olmayan olarak adlandırıldığı zaman serisi. Stokastik eğilimler sergileyen zaman serisi doğası gereği nonstationary...

Aşağıdaki görüntüde bu senaryo için bir görselleştirme gösterilir. Grafik, genel olarak yukarı doğru eğilim gösteren bir seri çizer. Serinin ilk ve ikinci yarısı için ortalama (ortalama) değerleri hesaplar ve karşılaştırırsanız, farkları belirleyebilirsiniz. Çizimin ilk yarısındaki serinin ortalaması, ikinci yarıdaki ortalamadan daha küçüktür. Serinin ortalamasının incelenen zaman aralığına bağlı olması, zaman değişen anların bir örneğidir. Bu senaryoda, serinin ortalaması ilk andakidir.

Bir gebelik dışı zaman serisi için perakende satışları gösteren diyagram.

Sonraki görüntüde özgün seriyi ilk farklarla çizen bir grafik gösterilir: $\Delta y_{t} = y_t - y_{t-1}$. Serinin ortalaması zaman aralığı boyunca kabaca sabitken, varyans farklılık gösterir. Bu senaryo, birinci sıralı sabit zaman serisinin bir örneğini gösterir:

Zayıf sabit bir zaman serisi için perakende satışları gösteren diyagram.

AutoML regresyon modelleri, stokastik eğilimlerle veya gebelik dışı zaman serisiyle ilişkili diğer iyi bilinen sorunlarla doğal olarak başa çıkamaz. Sonuç olarak, bu eğilimler mevcut olduğunda örnek dışı tahmin doğruluğu zayıf olabilir.

AutoML, düzeyini veya sabitliğini belirlemek için bir zaman serisi veri kümesini otomatik olarak analiz eder. Gebelik dışı zaman serisi algılandığında, AutoML, gebelik dışı davranışın etkilerini azaltmak için otomatik olarak bir fark kayıt dönüşümü uygular.

Model süpürme

Veriler eksik veri işleme ve özellik mühendisliğiyle hazırlandıktan sonra AutoML, model öneri hizmetini kullanarak bir dizi modeli ve hiper parametreyi tarar.

Modeller doğrulama veya çapraz doğrulama ölçümlerine göre sıralanır ve ardından isteğe bağlı olarak en iyi modeller bir topluluk modelinde kullanılabilir. En iyi model veya eğitilen modellerden herhangi biri, gerektiğinde tahminler üretmek için incelenebilir, indirilebilir veya dağıtılabilir. Daha fazla bilgi için bkz . AutoML'de tahmin için model süpürme ve seçim.

Model gruplandırma

Bir veri kümesi birden fazla zaman serisi içeriyorsa, verileri modellemenin birden çok yolu vardır. Zaman serisi kimlik sütunlarındaki verilere göre gruplandırabilir ve her seri için bağımsız modeller eğitebilirsiniz. Daha genel bir yaklaşım, verileri her biri birden çok (büyük olasılıkla ilgili) seri içerebilen gruplar halinde bölümlendirmek ve grup başına bir model eğitmektir.

AutoML tahminleri varsayılan olarak model gruplandırma için karma bir yaklaşım kullanır. Zaman serisi modellerinin yanı sıra ARIMAX ve Peygamber, bir seriyi bir gruba, diğer regresyon modellerini ise tüm serileri tek bir gruba atar.

Her model türü grupları şu şekilde kullanır:

  • Ayrı bir gruptaki her seri (1:1): Naive, MevsimSel Naive, Ortalama, Mevsim Ortalaması, Üstel Düzeltme, ARIMA, ARIMAX, Peygamber

  • Aynı gruptaki tüm seriler (N:1): Doğrusal SGD, LARS LASSO, Elastik Ağ, K En Yakın Komşular, Karar Ağacı, Rastgele Orman, Aşırı Rastgele Ağaçlar, Gradyan Artırılmış Ağaçlar, LightGBM, XGBoost, TCNForecaster

AutoML'de birçok model çözümü kullanılarak daha genel model gruplandırmaları yapılabilir. Daha fazla bilgi için bkz . Birçok Model - Otomatik ML not defteri.