Zaman serisi sınıflandırması için özellikler


43

Değişken uzunluklu zaman serisine dayanan (çok sınıflı) sınıflandırma problemini , yani bir işlev bulmak için seçilen bir dizi zaman serisi küresel bir görüntüsü üzerinden özellikleri sabit büyüklüğü D arasında bağımsız T , \ phi (X_T) = v_1, \ dots, v_D \ in \ mathbb {R} ~, ve sonra bu özellik setinde standart sınıflandırma yöntemlerini kullanın. Ben değilim değil , tahmin ilgilenen yani önceden değerlendirebilmek x_ {+ 1 T}T

f(XT)=y[1..K]for XT=(x1,,xT)with xtRd ,
viDT
ϕ(XT)=v1,,vDR ,
xT+1. Örneğin, bir kişinin cinsiyetini tahmin etmek için nasıl yürüdüğünü analiz edebiliriz.

Dikkate alabileceğim standart özellikler nelerdir? Örneğin, serinin ortalama ve varyansını (veya daha yüksek dereceli anları) açıkça kullanabiliriz ve ayrıca serinin Ayrık Fourier Dönüşümünün (veya Ayrık Dalgacık Dönüşümü ) belirli aralıklarında bulunan enerji gibi frekans alanına da bakabiliriz .

Yanıtlar:


45

Basit istatistiksel özellikler

  • d boyutlarının her birinde araçlar
  • Standart sapmalar ve d boyutları
  • Çarpıklık , Basıklık ve yüksek sırası momentleri d boyutları
  • Maksimum ve Minimum değerler

Zaman serileri analizi ile ilgili özellikler

  • d×d1 çapraz korelasyonlar Her bir boyut arasında d Otomatik korelasyonlara
  • Tahmini bir ARIMA modelinin otoregresif (AR), tümleşik (I) ve hareketli ortalama (MA) kısmının siparişleri
  • AR bölümünün parametreleri
  • MA bölümünün parametreleri

Frekans alanıyla ilgili özellikler

DFT ve DWT’de enerji korunumu özelliklerinin incelenmesi için Morchen03’e bakınız.

  • frekansları tepe amplitüdde DFTS için grafik seçimleri bulunur boyutlarık d
  • k bu DFT’lerin nitelikleri

1
Emile, Bu soru az önce sorduğum soruya benziyor ( stats.stackexchange.com/questions/51475/… ). DFT özellikleri için herhangi bir R kodu gönderebilir misiniz?
B_Miner

Değişken uzunluklu zaman serileri için şekillendirmelere dayanan herhangi bir yöntem var mı?
Simone,

8

Emile, cevabınızda listelenen özelliklerin oldukça iyi bir başlangıç ​​noktası olduğunu düşünüyorum, ancak her zaman olduğu gibi, sorununuzla ilgili bazı etki alanı uzmanlıklarının (ya da en azından iyi bir düşünce) eşit derecede önemli olduğunu düşünüyorum.

Sinyalin türevlerinden (veya integrallerinden) hesaplanan özellikleri dahil etmeyi düşünebilirsiniz. Örneğin, hızlı ivmelenme / yavaşlamanın kazaya yatkın bir sürüş için oldukça iyi bir tahmin aracı olduğuna bahse girerim. Bu bilgi açıkça pozisyon sinyalinde mevcut, ancak neredeyse kesin değil.

Fourier katsayılarını bir dalgacık veya dalgacık paket gösterimi ile değiştirmeyi de düşünebilirsiniz. Dalgacıkların en büyük avantajı, geleneksel Fourier katsayıları sadece zamanla sınırlandırılmışken, bir özelliği hem frekans hem de zaman içinde konumlandırmanıza izin vermesidir. Verileriniz düzensiz açılıp / kapanan bileşenler içeriyorsa veya Fourier yöntemleri için sorunlu olabilecek kare dalga benzeri darbelere sahipse, bu özellikle yararlı olabilir.


6

Diğer cevapların önerdiği gibi, potansiyel özellikler olarak kullanılabilecek çok sayıda zaman serisi özelliği vardır. Bir AR modelinin katsayıları gibi ortalama, zaman serileriyle ilgili özellikler veya artırılmış dickey fuller hipotez testinin test istatistiği gibi son derece sofistike özellikler gibi basit özellikler vardır.

Olası zaman serisi özelliklerine kapsamlı bakış

Python paketi tsfresh bu özelliklerin çıkarılmasını otomatikleştirir. Belgelerinde farklı hesaplanan özellikler açıklanmaktadır. Sen bulabilirsiniz Burada hesaplanan özelliklerle sayfa .

Yasal Uyarı: Ben tsfresh yazarlarından biriyim.


5

El yapımı özellikleri çıkarmak için klasik yaklaşımlar kullanmak yerine otomatik kodlayıcılardan faydalanmanızı öneririm . Otomatik kodlayıcılar, derin öğrenme mimarisinin çıkarılması özelliğinde önemli bir rol oynar.

Otomatik kodlayıcı, işlevini öğrenmeye çalışır . Başka bir deyişle, kimlik işlevine bir yaklaşım öğrenmeye çalışıyor, böylece çıktısını almak ve benzer .f(XT)XTX^TXT

Kimlik işlevi, öğrenmeye çalışmak için özellikle önemsiz bir işlev gibi görünüyor; fakat ağ üzerindeki kısıtlamaları koyarak, örneğin gizli birimlerin sayısını sınırlamak gibi , verilerle ilgili ilginç bir yapı keşfedebiliriz.

Özellik Çıkarıcı

Bu şekilde, sizin arzu size Ortadaki gizli birimlerin sayısını sınırlamak için, derin bir autoencoder içinde en ortadaki katmanın çıkış değerlerine eşit olacaktır .ϕ(XT)=v1,,vDRD

Ek olarak, probleminize en iyi çözümü bulmak için birçok otomatik kodlayıcı çeşidini kullanabilirsiniz .


4

Bağlantılı makale başka bir bağlamda aynı konuya az ya da çok ilgi duyduğundan, biraz aydınlatıcı olacaktır.

Makale Özeti (İnternet Arşivi'nde)

Kâğıt PDF


1

Zaman serilerinizin uzunluğuna bağlı olarak, genel yaklaşım verileri bölümlere ayırmaktır, örneğin 10 sn.

Bununla birlikte, genellikle zaman serisini parçalara ayırmadan önce, filtreleme ve yapay ret gibi bazı ön işlemler yapmak gerekir. Daha sonra, frekansa dayalı olanlar (yani, her çağ için bir FFT alırsınız), zaman (örneğin, bu çağdaki zaman serisinin varyansı vb.) Veya morfoloji gibi çeşitli özellikleri hesaplayabilirsiniz (örneğin, sinyalin şekli). / her çağda zaman serisi).

Genellikle bir zaman serisinin / sinyalin bölümlerini (çağlarını) sınıflandırmak için kullanılan özellikler alana özeldir, ancak Wavelet / Fourier analizi, sinyallerinizi kendi içinde özelliklerden ziyade frekans / zaman-frekans alanlarında incelemenize izin veren araçlardır.

Bir sınıflandırma probleminde, her çağın 'mutlu' veya 'üzgün' bir sınıf etiketi olacaktır, daha sonra her çağ için hesaplanan 6 özelliği kullanarak 'mutlu' ve 'üzgün' çağlar arasında ayrım yapmak için bir sınıflandırıcı eğitirsiniz.

Her zaman serisinin sınıflandırma için tek bir durumu temsil etmesi durumunda, her bir özelliği zaman serisinin tüm örneklerinde hesaplamanız gerekir. FFT burada sadece sinyal doğrusal zamanla değişmeyen (LTI) ise, yani sinyal tüm zaman serileri boyunca durağan sayılırsa, eğer sinyal ilgilenilen süre boyunca durağan değilse, dalgacık analizi yapılabilir. daha uygun. Bu yaklaşım, her zaman serisinin bir özellik vektörü üreteceği ve sınıflandırma için bir durum oluşturacağı anlamına gelecektir.


Doğal olarak sürekli bir süreç olan ayrık zaman serilerinin kesikli periyotlara (veya çağlara) ayrıldığını daima bilgi kaybına yol açtığımı hissettim . Dizide doğal çağlar olmadığı sürece, nasıl çağlar seçilir? Muhtemelen istenen herhangi bir sonuca uyan çağlar bulunabilir.
Cam.Davidson.Pilon

1
Bir dönemin her sonuca uyabileceğinden emin değil ama pratik bir problem için Sabit olmayan bir sinyal ile geçici değişimleri hesaba katmak için bir yol bulmanız gerekir (eğer bir analiz / zaman serileri analitik olarak yeterince tanımlanmışsa veya lineer zaman değişmez ise) bu gerekli değil). Devir uzunluğu tekrar bölgeye özgüdür, ancak genellikle söz konusu zaman periyodunda (dönemin) sabit durması için yeterince kısa olacak şekilde seçilir.
BGreene

BGreene, sınıflandırmada kullanılan özellikleri seçmek için seriyi dönemlere ayırmanın faydasını açıklayabilir misiniz? Bu bölümlemeyi daha sonraki hesaplamalar için bir yardımcı olarak görüyorum (örneğin, FFT), ancak özelliklerin seçimi ile ilgili bir şey olarak görmüyorum. Belki de bahsettiğiniz "morfoloji" ile ilgilidir.
Emile

Çağlara bölünmenin, özellik seçimi ile ilgisi yoktur. Eğer uzun bir sinyalin varsa (örneğin 100Hz @ 100Hz'de kaydedilmiş 10 saatlik kayıt), sinyalin zaman içinde nasıl değiştiğini incelemek için onu çağlara bölmeniz gerekir. Bir sınıflandırma probleminde, her çağın 'mutlu' veya 'üzgün' bir sınıf etiketi olacaktır, daha sonra her çağ için hesaplanan 6 özelliği kullanarak 'mutlu' ve 'üzgün' çağları ayırt etmek için bir sınıflandırıcı eğitirsiniz.
BGreene

Tamam :) Bu kesinlikle orjinal sorumla ilgisi yok. Sınıfın bütün seriyi etiketlediği durumu düşünün. Açıklayıcı bir örnek eklemek için sorumu düzenleyeceğim.
Emile
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.