다변량 시계열 분류


9

약 40 차원의 시계열 (8 점)으로 구성된 일련의 데이터가 있습니다 (따라서 각 시계열은 8 x 40입니다). 해당 출력 (범주에 가능한 결과)은 0 또는 1입니다.

여러 차원의 시계열 분류기를 설계하는 가장 좋은 방법은 무엇입니까?

저의 초기 전략은 해당 시계열에서 각 차원의 평균, 표준, 최대 변동을 추출하는 것이 었습니다. RandomTreeForest를 훈련시키는 데 사용되는 데이터 세트를 얻었습니다. 이것의 완전한 순진함을 알고, 나쁜 결과를 얻은 후에, 나는 더 개선 된 모델을 찾고 있습니다.

내 리드는 다음과 같습니다. 각 차원에 대해 계열을 분류하고 (KNN 알고리즘 및 DWT를 사용하여) PCA로 차원을 줄이고 다차원 범주에 따라 최종 분류기를 사용합니다. ML에 비교적 익숙하지 않기 때문에 완전히 틀렸는 지 모르겠습니다.


당신이하고있는 일은 꽤 좋은 접근법입니다. 데이터 세트에 몇 개의 샘플이 있습니까?
Kasra Manshaei

약 500,000 개의 시계열이 있습니다 (각 시계열은 8 개의 타임 스탬프 * 40 차원이라는 것을 상기하십시오)
AugBar

320 개의 기능을 그대로 사용해 보셨습니까? 320 개 기능은 500,000 개 샘플에 적합하지 않습니다.
Jan van der Vegt

@ Jan van der Vegt : 신경망을 사용하여 그 방법을 시도했지만 그 결과는 설득력이 없었습니다. 전처리없이 원시 데이터를 사용했습니다. 분류기를 공급하기 위해 320 개의 기능을 갖춘 원료에 어떤 작업을 미리 적용해야합니까?
AugBar

1
신경망의 경우 중요한 기능의 범위에 따라 입력을 표준화하는 것이 중요합니다. 그러나 난 그냥 원시 기능을 RF에 공급하고 그것이 얼마나 잘 작동하는지, 쉽게 얻을 수 있는지 확인하기 위해 더 적은 튜닝이 필요합니다
Jan van der Vegt

답변:


5

당신은 올바른 길을 가고 있습니다. 시간 및 주파수 영역에서 몇 가지 기능을 더 계산해보십시오. 샘플 수 >> 기능 수만 있으면 과적 합할 가능성이 없습니다. 비슷한 문제에 대한 문헌이 있습니까? 그렇다면 항상 훌륭한 출발점이됩니다.

xgboost 또는 LightGBM과 같은 부스트 ​​트리 분류기를 사용해보십시오. 하이퍼 파라미터를 조정하는 것이 더 쉬우 며 기본 매개 변수로 좋은 결과를 제공합니다. 랜덤 포레스트 및 부스트 트리 분류기는 모두 기능 중요도를 반환 할 수 있으므로 문제와 관련된 기능을 확인할 수 있습니다. 공분산을 확인하기 위해 기능을 제거 할 수도 있습니다.

가장 중요한 것은 결과가 예기치 않게 좋지 않은 경우 문제가 올바르게 정의되어 있는지 확인하십시오. 파이프 라인에 버그가 없는지 수동으로 결과를 확인하십시오.



2

아래와 같이 데이터 세트에 더 많은 기능을 추가 할 수 있습니다.

  1. 데이터가 비선형 프로세스 인 경우 nolds 패키지를 사용해 볼 수 있습니다.

  2. max, min, mean, skew, kurtosis 및 가능한 경우 일부 롤링 통계.

비슷한 일을하고 있는데 관련 질문을했습니다 .


1

Jan van der Vegt에 동의합니다. 활성화 함수와 결합 된 표준화 (예 : [-1, 1]) 또는 정규화 N (0, 1)은 신경망에서 매우 중요합니다. 나는 Pichaid Varoonchotikul의 논문을 점검 할 것입니다 :“인공 신경망을 이용한 홍수 예측”은 ANN의 안과 밖을위한 것입니다. 매우 흥미로운 경고가 있습니다. 어쨌든, 나는 먼저 시도하지 않고 사용하지만 결과가 만족스럽지 않으면 두 가지 모두로 시험을 사용합니다. 그것이 도움이 될지는 모르지만 R 패키지 TSclust 및 관련 문서를 확인 하겠습니다 . 저자는 매우 친절하며 특정 모델을 찾는 데 도움이 될 것입니다. 그들은 시계열 분석 전문가입니다! 행운을 빕니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.