시계열 플랫폼의 상호 상관에 대한 잘못된 출력?안녕하세요 JMP 커뮤니티,
(W10, 64 비트, JMP Pro 15.2.1)
나는 내가 뭘 잘못하고 있는지 또는 JMP가 시계열 플랫폼에서 상호 상관 계산을 수행하는 방법에 대해 오해하는 것을 찾고 싶습니다. 간단히 말해, Sin (x)와 Cos (x) 함수의 상호 상관을 비교할 때 예상대로 pi / 2 (또는 90도)의 답을 얻지 못하고 79도를 얻습니다. 대신.
시계열> 상호 상관 출력이 일부 동료에게 의미하는 바에 대한 간단한 설명과 설명을 함께 작성하려고합니다. 이를 위해 361 개의 행 (값 0-360, 각 행은도 또는 0.01745 라디안)과 Sin (x), Sin (x-5), Sin ( x-45), Cos (x) 및 무작위 균일 분포 (첨부 된 표 Periodic_series.jmp 참조). 목적은 SeriesJ 데이터 세트와 같은 복잡한 시간 종속 함수보다 사람들이 더 직접적으로 이해할 수있는 간단한 삼각 함수를 사용하여 상호 상관을 입증하는 것입니다.
데이터 테이블에서 첫 번째 스크립트를 실행하면 삼각 함수의 그래프가 표시됩니다 (임의의 균일는 의도적으로 제외됨). 모든 것이 정상적으로 보입니다.

그런 다음 시계열 스크립트를 실행할 수 있습니다. 여기서 Sin (x)는 Y 입력이고 다른 함수는 입력 목록 열이므로 상호 상관 분석을 수행 할 수 있습니다. 상호 상관 출력을 데이터 테이블로 변환 (cross-correlation.jmp 데이터 테이블 참조)하면 상관 관계 값 대 지연을 플로팅 할 수 있습니다 (이 데이터 테이블에서 첫 번째 스크립트 실행).

언뜻보기에 이것은 예상대로 보입니다 .Sin (x)와 Sin (x-5)의 교차 상관은 -5 근처에서 피크를 가지며 Sin (x)와 Sin (x-45)은 -45에 가깝습니다. , 그리고 Cos (x)가있는 Sin (x)의 경우 90에 가깝습니다. 그러나 십자선을 사용하면 Sin (x)과 Cos (x) 간의 상호 상관이 80에 더 가깝다는 것을 알 수 있습니다.

실제로 다음 스크립트를 실행하면 데이터 테이블에서 지연 가져 오기가 로그 창에 지연을 출력합니다.
"정확한 대 Sin (x-5) 도의 지연 = [-5]"
"Corr vs. Sin (x-45) lag in deg = [-40]"
"도에서 Corr 대 Cos (x) 지연 = [79]"
"Corr vs. Rondom Uniform lag in deg = [18]"
올바르게 계산 된 유일한 것은 -5의 지연입니다. Sin (x)를 -45도 지연 시키면 예상대로 -45가 아니라 -40의 지연이 발생합니다. 마찬가지로 Sin (x) 및 Cos (x)를 사용하면 값이 90이 될 것으로 예상 할 때 시차는 79입니다. "해결"문제인지 확인하기 위해 여러 가지 다른 방법과 더 많은 행을 사용하여 시도했지만 약 80의 지연이 계속 발생합니다. ㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ
계산이 올바른 지연을 반환하지 않거나 뭔가 누락되었습니다.내가 뭔가를 놓치고 있다고 생각하지만 그것이 무엇인지 잘 모르겠습니다. 다른 게시물의 몇 가지 제안을 따랐고 JMP 도움말에서 읽어 보았습니다. 여기 , 그러나 Sin (x)의 삼각 함수가 Cos (x)에서 90의 시차를 갖지 않는 이유를 설명하는 상호 상관에 대한 계산의 세부 사항을 찾을 수 없습니다.
이것에 대한 모든 생각 / 피드백은 대단히 감사합니다.
감사!,
DS
해석학데이터 테이블다른Re : 시계열 플랫폼의 상호 상관에 대한 잘못된 출력?유한 한 표본 크기 때문이라고 생각합니다. CCF의 연속 포인트의 경우 샘플 크기가 1만큼 다릅니다. 3600 개의 행을 더 추가하고 플롯을 다시 수행했으며 피크는 90에 가까웠고 진폭도 피크에서 1에 가까웠습니다.

Re : 시계열 플랫폼의 상호 상관에 대한 잘못된 출력?안녕 뿡뿡 ,
피드백을 주셔서 감사합니다. 나는 더 많은 행을 시도했지만 그렇게 많이 시도하지는 않았습니다. 유한 한 샘플 크기가 계산에 어떤 영향을 미칠 수 있는지 이해하지만, 그것이 너무 많은 영향을 미친다는 사실에 조금 놀랐습니다. 나는 작은 차이를 상상할 수 있습니다. 아마도 더 작은 유한 세트로 88 또는 89 일 것입니다. 그러나 12 오프는 꽤 큰 것 같습니다. 내 관심사는 제한된 시계열 데이터 세트가있을 수있는 실제 상황에 대한 것입니다.
그건 그렇고, 더 많은 행을 추가하는 것을 올바르게 설명하지 않은 Deg 열에서 실수를 발견했습니다. 공식은 다음과 같아야합니다.

이런 식으로도 데이터는 항상 -180에서 180까지 실행됩니다 (증가 크기 때문에 한쪽 끝이나 다른 쪽 끝의 차이가 작음).
예를 들어 실제 제한된 데이터 세트의 경우 15 분 동안 만 초당 데이터를 수집하는 장치가있을 수 있습니다. 그것은 단지 900 개의 데이터 포인트입니다. 이 상황에 따르면 두 신호의 지연이 78이고 실제로는 90이라는 결론을 내릴 수 있습니다. 신호 지연이 78이라고 결론 짓는 것은 잘못된 것이며 누군가가 데이터에 대한 잘못된 분석을 시작하게 할 수 있습니다. 무슨 일이 있어도
이 특별한 경우, 우리는 알고있다 실제 지연은 선험적이지만 실제 상황에서는 항상 알려진 것은 아닙니다. 동일한 이벤트가 다른 위치에서 측정되고 신호 지연을 결정해야하는 데이터 세트를 상상할 수 있지만 데이터 세트는 다소 제한적입니다. 상호 상관 함수가 작동하는 방식에 따라 잘못된 결론이 나올 수 있습니다.
이를 보상하거나 제한된 데이터 세트를 설명하기위한 계산 방법이 있습니까? 지연에 대한 신뢰 구간을 얻기 위해 교체하고 지연 양의 시뮬레이션을 수행하는 다른 기능 열을 가질 수 있습니까? 어떤 종류의 기능 열이 될까요?
임의의 행 수를 허용하기 위해 올바른 수식으로 평가를 다시 수행하면 지연 값에서 학위 값으로 다시 변환 할 때도 여전히 올바른 답을 얻지 못합니다. 예를 들어 3601 개의 행 (0에서 3600까지의 값)을 사용하면 다음과 같은 지연 플롯이 표시됩니다.

그리고 Get lags 스크립트를 실행했지만 이제 lag가 다시 각도로 변환되는 열 (원래 테이블의 3601 행을 기반으로 한 아래 공식)을 보면 다음과 같은 결과가 나타납니다.

"Corr vs. Sin (x-5) lag in deg = [-4.89863926687031]"
"시차에서 올바른 대 Sin (x-5) 지연 = [-49]"
"Corr vs. Sin (x-45) lag in deg = [-40.2888086642599]"
"시차에서 올바른 대 Sin (x-45) 지연 = [-403]"
"도의 정확한 Cos (x) 지연 = [78.4782004998612]"
"시차의 올바른 대 Cos (x) 지연 = [785]"
아래는 900 및 785 행만큼 지연된 Cos (x)가있는 Sin (x)의 플롯입니다. 알 수 있듯이 785는 900 행 (빨간색 곡선)에서 발생하는 올바른 지연 값이 아닙니다.

그래서 나는 여전히 올바른 가치를 얻지 못하고 있습니다. 새 데이터 테이블이 첨부됩니다. 나는 여전히 내가 옳은 일을하고 있지 않다는 직감이 있습니다. 어딘가에서 잘못된 공식일까요? 올바른 값을 얻지 못하는 이유를 알 수 없습니다.
도와 주셔서 감사합니다!,
DS
Re : 시계열 플랫폼의 상호 상관에 대한 잘못된 출력?두 번째 데이터 세트에 문제가 있습니다. 두 번째 데이터의 Sin (x)는 다음과 같습니다.

내 3601 행은 다음과 같습니다.

이것이 SinX 및 CosX CCF가 변경되지 않는 이유를 설명합니다.
여기서 중요한 샘플 크기는 여기에서 관찰 한 횟수가 아니라주기 수입니다. 원래 데이터에는 하나의 사이클 만 있습니다. CCF를 계산하려면 시리즈를 이동해야합니다.이 경우 하나의 시리즈에서 누락 된 값이 생성되어 샘플 평균이 격렬하게 변동합니다. 주기가 많은 경우 평균은 실제 값인 0에 가깝게 유지됩니다.
실제 상황에서 하나의 데이터 주기만 있으면 CCF가 오해의 소지가 있다고 생각하지만 이는 데이터 문제이며 수정할 방법이 없습니다.