Technika ekstrakcji funkcji - podsumowanie sekwencji danych

11

Często buduję model (klasyfikację lub regresję), w którym mam pewne zmienne predykcyjne, które są sekwencjami, i staram się znaleźć zalecenia dotyczące techniki, aby je podsumować w najlepszy możliwy sposób, aby można je było włączyć do modelu jako predyktory.

Jako konkretny przykład, powiedzmy, że budowany jest model przewidujący, czy klient odejdzie z firmy w ciągu następnych 90 dni (w dowolnym czasie od t do t + 90, a więc wynik binarny). Jednym z dostępnych predyktorów jest poziom salda finansowego klientów za okresy od t_0 do t-1. Może reprezentuje to miesięczne obserwacje z poprzednich 12 miesięcy (tj. 12 pomiarów).

Szukam sposobów na konstruowanie funkcji z tej serii. Używam opisów każdej serii klientów, takich jak średnia, wysoka, niska, standardowe odchylenie, pasuje do regresji OLS, aby uzyskać trend. Czy istnieją inne metody obliczania cech? Inne miary zmiany lub zmienności?

DODAJ:

Jak wspomniano w odpowiedzi poniżej, wziąłem również pod uwagę (ale zapomniałem tu dodać) użycie dynamicznego dopasowania czasu (DTW), a następnie hierarchiczne grupowanie na wynikowej macierzy odległości - tworząc pewną liczbę klastrów, a następnie używając członkostwa w klastrze jako funkcji. Punktacja danych testowych prawdopodobnie musiałaby przebiegać zgodnie z procesem, w którym DTW przeprowadzono dla nowych przypadków i centrów klastrów - dopasowując nowe serie danych do ich najbliższych centroidów ...

B_Miner
źródło

Odpowiedzi:

7

Z przyjemnością zobaczyłby napisane okno, w którym zebrano studia przypadków dotyczące inżynierii / ekstrakcji obiektów

Proszę doradzić, czy to pomoże

  1. Dyskretyzacja danych szeregów czasowych http://arxiv.org/ftp/q-bio/papers/0505/0505028.pdf

  2. Optymalizacja dyskretyzacji szeregów czasowych pod kątem odkrywania wiedzy https://www.uni-marburg.de/fb12/datenbionik/pdf/pubs/2005/moerchen05optimizing

  3. Doświadczanie SAX: nowa symboliczna reprezentacja szeregów czasowych http://cs.gmu.edu/~jessica/SAX_DAMI_preprint.pdf

  4. Indeksowanie dla interaktywnej eksploracji Big Data Series http://acs.ict.ac.cn/storage/slides/Indexing_for_Interactive_Exploration_of_Big_Data_Series.pdf

  5. Uogólniona ekstrakcja cech dla rozpoznawania wzorów strukturalnych w danych szeregów czasowych http://www.semanticscholar.org/paper/Generalized-Feature-Extraction-for-Structural-Olszewski-Maxion/7838bcd87bb6616e9fd3ffd92d4676a7082da34c

  6. Obliczanie i wizualizacja dynamicznych dopasowań czasu w pakiecie R: Pakiet dtw https://cran.r-project.org/web/packages/dtw/vignettes/dtw.pdf

SemanticBeeng
źródło
2

Próbujesz tutaj zmniejszyć wymiarowość swoich funkcji. Możesz szukać redukcji wymiarów, aby uzyskać kilka opcji, ale jedną z bardzo popularnych technik jest analiza głównych składników (PCA). Główne elementy nie są interpretowalne, jak wspomniane opcje, ale dobrze podsumowują wszystkie informacje.

Ben
źródło
Obawiam się tej odpowiedzi, że PCA nie rozpoznaje wyraźnej zależności między seriami t i t + 1.
B_Miner
Jeśli zależność t i t + 1 jest trendem lub sezonowością - rozważ wyodrębnienie jej i zajęcie się resztą jak zmiennymi niezależnymi.
Diego
2

Wyodrębnianie funkcji jest zawsze wyzwaniem i rzadziej poruszanym tematem w literaturze, ponieważ jest szeroko zależne od aplikacji.

Kilka pomysłów, które możesz wypróbować:

  • Surowe dane, mierzone z dnia na dzień. Jest to dość oczywiste z pewnymi implikacjami i dodatkowym przetwarzaniem wstępnym (normalizacja), aby porównywalne były osie czasu o różnej długości.
  • Wyższe momenty: skośność, kurtoza itp
  • Pochodne: prędkość ewolucji
  • Przedział czasu nie jest tak duży, ale może warto wypróbować niektóre funkcje analizy szeregów czasowych, takie jak na przykład autokorelacja.
  • Niektóre niestandardowe funkcje, takie jak łamanie osi czasu w tygodniach i osobne mierzenie ilości, które już mierzysz w każdym tygodniu. Wówczas nieliniowy klasyfikator byłby w stanie połączyć np. Cechy z pierwszego tygodnia z cechami z ostatniego tygodnia, aby uzyskać wgląd w ewolucję w czasie.
iliasfl
źródło
Ładne sugestie! Czy możesz bardziej wykorzystać wykorzystanie instrumentów pochodnych?
B_Miner
Całkowicie zgadzam się z twoim pierwszym oświadczeniem. Bardzo chciałbym zobaczyć napisane pudełko, w którym zebrano studia przypadków dotyczące inżynierii / ekstrakcji obiektów. Przysłowie mówi, że tworzenie funkcji jest o wiele ważniejsze niż najnowszy największy algorytm wydajności modelu predykcyjnego.
B_Miner
2

Na pierwszy rzut oka musisz wyodrębnić funkcje ze swoich szeregów czasowych (x - 12) - x. Jednym z możliwych podejść jest obliczenie wskaźników podsumowujących: średnia, dyspersja itp. Ale robiąc to, stracisz wszystkie informacje związane z szeregami czasowymi. Ale dane wyodrębnione z kształtu krzywej mogą być bardzo przydatne. Polecam przejrzenie tego artykułu, w którym autorzy proponują algorytm dla grupowania szeregów czasowych. Mam nadzieję, że się przyda. Oprócz takiego grupowania możesz dodać statystyki podsumowujące do listy funkcji.

sobach
źródło
Dzięki za link. Zastanawiałem się również nad użyciem DTW i klastrowania hierachicznego. Eksperymentowałem z pakietem R dla DWT. jstatsoft.org/v31/i07/paper
B_Miner
1
Rozważałem szczególnie utworzenie n klastrów i użycie członkostwa klastrowego jako funkcji.
B_Miner