롤링 윈도우에 대해 일부 추정 기능을 실행하고있는 누락 된 데이터가있는 시계열 데이터가 있습니다. 창은 일정한 길이가 아니며 각 변수의 시작과 끝 날짜가 다릅니다. 누락 된 데이터가있는 창을 제거하고 싶습니다. 창은 겹치므로 하나의 누락 된 관찰은 대개 많은 창을 고려에서 제외시킵니다. 내가 원하는 것은 각 날짜에서 그것을 포함하는 창으로의 매핑입니다.Matlab의 효율적인 롤링 윈도우 식별
현재 가능한 모든 요일에 대해 행을 가진 논리 행렬이 있고 각 열은 해당 창의 요일에 대해 참 값을 가진 창 중 하나를 나타냅니다. 그런 다음이 행렬을 누락 된 데이터를 나타내는 행에 서브 세트 할 수 있으며, 실제로 값이 들어있는 열은 유효하지 않은 창입니다. 문제는 논리 행렬이 커지고 (10k x 10k ~ 100mb) 많은 것이있을 수 있다는 것입니다. 크기 문제를 해결하는 스파 스로 변환 할 수 있지만 창이 길면 제거 할 창을 계산하는 속도가 매우 느려집니다.
이것은 자원 집약적 인 (메모리 또는 계산) 문제가 아니므로 더 좋은 방법이 있습니까?
편집 : 예제를 추가해 약간 더 명확하게 표시하도록하겠습니다. 날짜의 전체 세트가 1에서 100까지라고 가정 해보십시오. Windows는 1:10, 2:11, 3:12에서 91 : 100까지입니다 (균일하지만이 예에서는 중요하지 않습니다). 저는 5에서 25까지 실행되는 시리즈를 가지고 있지만 NaN은 17입니다.
하나의 NaN이 10 개의 창 (8:17부터 17:26)을 두드립니다. 나는 관찰 17에서 창 8:17까지 효율적인 매핑을 원한다. 분명히, 창문이 일정한 길이라면 꽤 쉽습니다. 그러나 창문이 불규칙 할 때 효율적인 방법은 무엇입니까?
나는 이해할 수 없다.'(date> = begin (i) && data
@Oli 나는 물건을 더 분명하게 해주는 예제를 추가했습니다. – MatlabSorter