시계열 플랫폼의 상호 상관에 대한 출력이 잘못되었나요?안녕하세요, 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에 더 가깝다는 것을 알 수 있습니다.

실제로 데이터 테이블에서 지연 가져오기 스크립트를 실행하면 로그 창에 지연이 인쇄됩니다.
"Corr 대 Sin(x-5) 도 단위 지연 = [-5]"
"Corr 대 Sin(x-45) 지연(도) = [-40]"
"Corr 대 Cos(x) 지연(도) = [79]"
"Corr 대 Rondom 균일도 지연 = [18]"
올바르게 계산된 유일한 것은 -5의 지연입니다. Sin(x)를 -45도만큼 지연시키면 예상한 -45가 아닌 -40의 지연이 발생합니다. 마찬가지로 Sin(x) 및 Cos(x)의 경우 지연은 79인데, 값은 90이 될 것으로 예상됩니다. "해상도" 문제인지 확인하기 위해 여러 가지 다른 방법과 더 많은 행을 사용하여 시도했지만 약 80 정도의 지연이 계속 발생합니다.
계산이 올바른 지연을 반환하지 않거나 뭔가 빠졌습니다.뭔가 빠진 것 같은데 그게 뭔지 잘 모르겠어요. 다른 게시물의 몇 가지 제안을 따르고 JMP 도움말에서 해당 내용을 읽어 보았습니다. 여기 , 그러나 Sin(x)의 삼각 함수가 Cos(x)와 90의 지연을 갖지 않는 이유를 설명하는 상호 상관 계산에 대한 세부 정보를 찾을 수 없습니다.
이에 대한 어떤 생각이나 피드백이라도 주시면 감사하겠습니다.
감사해요!,
DS
고급 통계 모델링품질 및 프로세스 엔지니어링Re: 시계열 플랫폼의 상호 상관에 대한 출력이 잘못되었나요?안녕 @peng_liu ,
추가 제안에 감사드립니다. 이것이 합리적인 시간 지연을 찾는 데 도움이 될 수 있는지 확인하기 위해 더 부드럽게 시도해 보겠습니다. 유용한 것을 찾을 수 있기를 바랍니다.
제가 우려하는 점은 데이터에 시간이 지나면서 노이즈가 발생하여 상관관계가 손실되거나, 말씀하신 대로 샘플링/테스트 체계가 모든 상관관계를 삭제한다는 것입니다.
귀하의 의견과 의견에 진심으로 감사드립니다.
감사해요!,
디드리히
Re: 시계열 플랫폼의 상호 상관에 대한 출력이 잘못되었나요?몇 가지 생각 ...
정확한 지연이 없고 데이터에 노이즈가 있을 수 있습니다. 예를 들어 유효 지연은 범위 내에서 무작위입니다. CCF를 계산하기 전에 단순 이동 평균을 사용하여 계열을 평활화해 보십시오. 시계열 플랫폼에서는 단순 이동 평균을 사용하거나 열 수식에서는 "이동 평균..."을 사용할 수 있습니다.
샘플링 방식으로 인해 상관된 신호를 건너뛸 수도 있습니다. 그러면 데이터에서 지연을 찾을 수 있는 내용이 많지 않습니다.
Re: 시계열 플랫폼의 상호 상관에 대한 출력이 잘못되었나요?안녕 @peng_liu ,
추가 설명에 감사드립니다. 이제 문제가 무엇인지 이해하고 의미가 있습니다. 시간 "창" 내에 더 많은 사이클을 포함하면 올바른 값을 얻는다는 것을 확인할 수 있습니다.
이제 진짜 수수께끼는 다음과 같습니다.
제 생산 동료들은 생산 기록 시스템의 데이터(오븐 온도, 벨트 속도, 유량 등을 기록함)와 재료에 대한 QC 측정 사이의 시간 지연을 찾고 싶어합니다. 생산 데이터는 15분, 30분, 4시간 등 특정 간격으로 시스템에서 내보낼 수 있습니다. 우리는 4시간마다 상당히 정기적인 QC 테스트 일정을 가지고 있습니다. 정확한 시간 지연을 찾을 수 있다면 생산 이력 데이터가 QC 데이터와 상호 연관될 수 있다고 믿어집니다. 예를 들어, 생산 중 건조기 온도는 QC 테스트와 상관관계가 있는 것으로 여겨지지만 QC 테스트는 대략 120분 후에 수행됩니다. ~ 후에 재료가 이미 건조기를 통과했습니다. 우리는 실험실 규모의 연구를 통해 특정 처리 단계(오븐 온도와 같은 값)가 특정 테스트 결과와 상관관계가 있다는 것을 알고 있지만 생산 데이터에서 이를 찾는 것이 실험실에서보다 더 어렵다는 것이 입증되었습니다.
시계열의 상호 상관을 사용하여 데이터에서 어떤 종류의 지연을 찾을 수 있는지 확인하고 여러 지연 열을 수동으로 생성하고 다변량 플랫폼을 사용하여 지연된 열과 QC 데이터 간의 상관 관계를 찾아 보았습니다. 하지만 나는 아무것도 볼 수 없습니다. 당연히 프로세스의 노이즈로 인해 모든 상관 관계가 사라질 수 있지만 다른 옵션은 시계열이나 다변량 플랫폼 중 어느 것도 올바른 시간 지연을 결정하는 데 적합한 플랫폼이 아니라는 것입니다.
피드백과 생각/입력에 대해 정말 감사드립니다. 매우 도움이 되었습니다.
감사해요!,
DS
Re: 시계열 플랫폼의 상호 상관에 대한 출력이 잘못되었나요?두 번째 데이터 세트에 문제가 있습니다. 두 번째 데이터의 Sin(x)는 다음과 같습니다.

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

이는 SinX 및 CosX CCF가 변경되지 않는 이유를 설명합니다.
여기서 중요한 표본 크기는 관찰 횟수가 아니라 주기 횟수입니다. 원본 데이터에는 주기가 하나만 있습니다. CCF를 계산하려면 계열을 이동해야 하며, 이로 인해 한 계열에 결측값이 생성되고 이로 인해 표본 평균이 크게 변동됩니다. 주기가 많으면 평균은 참값인 0에 가깝게 유지됩니다.
실제 상황에서 데이터 주기가 하나만 있는 경우 CCF가 오해를 불러일으킬 수 있다고 생각하지만 이는 데이터 문제이므로 해결할 수 있는 방법이 없습니다.
Re: 시계열 플랫폼의 상호 상관에 대한 출력이 잘못되었나요?안녕 @peng_liu ,
의견을 보내 주셔서 감사합니다. 더 많은 행을 시도했지만 그렇게 많이 시도하지는 않았습니다. 유한한 표본 크기가 계산에 어떤 영향을 미칠 수 있는지 이해하지만, 그것이 계산에 너무 많은 영향을 미친다는 사실에 조금 놀랐습니다. 나는 작은 차이를 상상할 수 있습니다. 아마도 더 작은 유한 세트를 사용하면 88 또는 89일 수 있지만 12가 되는 것은 꽤 큰 것 같습니다. 제 생각에는 제한된 시계열 데이터 세트가 있을 수 있는 실제 상황에 대한 우려가 있는 것 같습니다.
그런데 Deg 열에서 더 많은 행을 추가하는 것을 올바르게 설명하지 못한 실수도 발견했습니다. 수식은 다음과 같아야 합니다.

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

그리고 Get lags 스크립트를 실행하면 -- 이제 지연이 다시 각도로 변환되는 열을 보면(원본 테이블의 3601개 행을 기반으로 한 아래 공식) 다음과 같은 결과를 얻습니다.

"Corr 대 Sin(x-5) 지연(deg) = [-4.89863926687031]"
"Corr 대 Sin(x-5) 지연 시차 = [-49]"
"Corr 대 Sin(x-45) 지연(deg) = [-40.2888086642599]"
"Corr 대 Sin(x-45) 지연 지연 = [-403]"
"Corr 대 Cos(x) 지연(deg) = [78.4782004998612]"
"Corr 대 Cos(x) 지연 지연 = [785]"
아래는 900행과 785행만큼 지연된 Cos(x)와 Sin(x)의 플롯입니다. 볼 수 있듯이 785는 올바른 지연 값이 아니며 행 900(빨간색 곡선)에서 발생합니다.

그래서 아직도 올바른 값을 얻지 못하고 있습니다. 새로운 데이터 테이블이 첨부되었습니다. 나는 아직도 내가 뭔가를 제대로 하고 있지 않다는 예감을 갖고 있습니다. 아마도 어딘가에 잘못된 공식이 있는 것 아닐까요? 왜 올바른 값을 얻지 못하는지 알 수 없습니다.
도와 주셔서 감사합니다!,
DS
Re: 시계열 플랫폼의 상호 상관에 대한 출력이 잘못되었나요?나는 그것이 유한한 표본 크기 때문이라고 생각합니다. CCF의 연속된 점의 경우 표본 크기는 1만큼 다릅니다. 3600개의 행을 더 추가하고 플롯을 다시 작성했는데 피크는 90에 더 가깝고 진폭도 피크에서 1에 더 가깝습니다.
