자동 상관 및 신경망에 Matlab을 사용할 때 시계열 데이터의 차이 / NaN을 처리하는 방법은 무엇입니까?


9

시계열 측정 (높이 1 차원 시리즈)이 있습니다. 관찰 기간에는 측정 프로세스가 일정 시간 동안 중단되었습니다. 결과 데이터는 데이터에 차이가있는 NaN이있는 벡터입니다. MATLAB을 사용하면 자기 상관 ( autocorr)을 계산하고 신경망 ( )을 적용 할 때 문제가 발생합니다 nnstart.

이러한 간격 / NaN은 어떻게 처리해야합니까? 벡터에서 이것을 제거해야합니까? 아니면 보간 값으로 항목을 바꾸시겠습니까? (그렇다면 MATLAB에서 어떻게)

답변:


4

나는 데이터를 전혀 만지지 않을 것입니다. NaN과의 자기 상관을 위해 이것을 사용하십시오 :

http://www.mathworks.com/matlabcentral/fileexchange/43840-autocorrelation-and-partial-autocorrelation-with-nans/content/nanautocorr.m

"데이터를 건드리지 않음"은 데이터 또는 시간 단계를 제거하거나 0 또는 평균으로 대체하지 않음을 의미하며, 특정 시간 지연 선형 종속성에 대한 정보를 손상시킵니다. "SAMPLE"자기 상관에 관심이 있다면, 가장 좋은 시뮬레이션 기술조차도 데이터 자체를 기반으로하여 자기 상관에 대한 더 이상의 정보를 추가하지 않을 것입니다. NaN을 처리하기 위해 matlab (위 링크) 자기 상관 및 부분 자기 상관 함수를 부분적으로 코딩했습니다 .NaN을 포함한 모든 데이터 커플은 계산에서 제외됩니다. 이것은 각 지연에 대해 수행됩니다. 그것은 나를 위해 일했다. 모든 제안은 잘 받아 들여집니다.


@Fabio를 환영합니다 : "데이터를 만지지 마십시오"라는 의미에 대해 더 설명해 주시겠습니까? 아무것도 제거하지 않으시겠습니까? 또한 링크 된 콘텐츠를 소개하고 이것이 OP에 도움이되는 이유를 설명하는 데 도움이됩니다.
Momo

안녕하세요, 댓글 주셔서 감사합니다. "데이터를 건드리지 않음"은 데이터 또는 시간 단계를 제거하거나 0 또는 평균으로 대체하지 않음을 의미하며, 특정 시간 지연 선형 종속성에 대한 정보를 손상시킵니다. NaN을 처리하기 위해 matlab (위 링크) 자기 상관 및 부분 자기 상관 함수를 부분적으로 코딩했습니다 .NaN을 포함한 모든 데이터 커플은 계산에서 제외됩니다. 이것은 각 지연에 대해 수행됩니다. 그것은 나를 위해 일했다. 모든 제안은 잘 받아 들여집니다.
Fabio

3

결 측값에 영향을 미치지 않는 알고리즘이 있으므로 선호되는 솔루션은 해당 알고리즘을 찾는 것입니다 (예 acf: 자기 상관에 대한 R ).

일반적으로 진행 방법은 관측치가 누락 된 데이터를 버리고 (매우 고통 스러울 수 있음) 값을 대치하는 것입니다. 이웃의 평균은 부드러운 연속 및 작은 간격에 충분할 수 있지만 물론 스플라인, 임의의 / 가장 빈번한 값, 모델의 대치 등을 사용하는 더 강력한 다른 방법


2
결 측값이있는 acf는 일반적인 방식으로 계산되지만 결 측값은 합계에서 '스킵'됩니다. 즉, 주어진 지연에 대한 acf 공식은 합계를 합계로 나눈 것처럼 보입니다. 각 합계에서 결 측값은 건너 뛰십시오). 이는 원래 데이터에서 결 측값을 제거하는 것과 다릅니다. matlab의 문제는 NaN을 건너 뛰지 않으며 계산에 포함하면 모든 것이 NaN으로 바뀐다는 것입니다.
Zero

1

유용한 ARIMA 구조 및 로컬 시간 추세 및 / 또는 레벨 이동을 활용하여 누락 된 골짜기를 무시하려면 중재 감지를 사용하십시오.


1

여기에는 두 가지 문제가 있습니다. 첫 번째는 matlab에서 자기 상관 답변에 대한 의미있는 숫자 프레임 워크를 제공하는 것입니다. 이를 위해서는 데이터 벡터의 시계열 부분을 확장 및 / 또는 패치해야합니다. 문제의이 '데이터 무결성'구성 요소가 가장 기본입니다.

둘째, 벡터의 '값'구성 요소를 처리하는 방법을 결정해야합니다 ... 이것은 가장 적합한 것으로 추정되는 특정 애플리케이션 (예 : 작고 누락 된 타임 스탬프 및 해당 NaN)에 따라 크게 다릅니다. 또는 Null이 이웃에서 안전하게 보간 될 수 있습니다 ... 더 큰 간격으로 값을 0으로 설정하는 것이 아마도 더 안전하거나 위의 권장대로 무시할 수 있습니다. 이는 의미가 있으려면 간격이 다시 비교적 작아야합니다.) .

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