여러가지공부/통계적학습(Statistical Learning)

공분산, 상관 계수, 정규화, Cross correlation, Convolution, Coherence란? 비교 분석(통계, 신호처리)

끄적끄적아무거나 2022. 12. 19. 08:48
반응형

 

목차

     

     

     

     

    공분산(Covariance)이란?

     

    두 개의 확률 변수 사이에 상관성을 방향과 크기로 표현하는 방식입니다. 

     

    수식(1)

     

    수식(1)과 같이 각 i 포인트에서 x와 y 값이 평균에서 떨어진 정도를 곱한 값입니다. x, y의 편차 정도가 비슷할 수록 곱에 의한 값이 커집니다. 그리고 편차의 방향이 하나는 양수 하나는 음수일 경우 방향은 반대로 표기 되고 같은 방향으로 진행되면 양수로 표기 됩니다. 

     

    예를 들어 한 학급에서 학생의 키와 몸무게를 측정하고 키와 몸무게의 공분산을 확인할 경우 전체 키 평균은 170cm이고 몸무게가 68kg 일때 A학생의 키가 175cm이고 몸무게가 70kg이면 (175-170) x (70-68) 을 계산해서 다른 학생들과 합해 주는 것이 공분산입니다. 

     

    그림(1)

     

    그림(2)

     

    위 그림(1)과 그림(2)를 비교하면 그림(1)은 평균 대비 퍼짐 정도가 비슷하기 때문에 공분산의 크기가 크게 나오고 방향은 두 그림 모두 양수로 표기 됩니다. 

     

     

     

     

     

    상관 계수란(Correlation Coefficient, Normalized)?

    공분산의 한계는 두 데이터의 관계를 알려주지만 기준점이 없어서 크기를 이해하기 어렵습니다. 그래서 나온 방식이 상관계수입니다. 또는 정규화된 공분산(Normalized Covariance)라고도 합니다. 

     

    수식(2)

     

    수식(2)는 공분산을 각 표준편차로 나누어줌으로서 정규화식으로 만들었습니다. 앞서 공분산과 마찬가지로 크기와 방향 값을 알려주지만 여기서 크기는 -1~1로 정규화 되었습니다. 

     

    위 수식(2)를 만든 사람의 이름을 따서 피어슨 상관계수(Pearson correlation coefficient)라고도 합니다. 

     

    앞서 그림(1)과 같이 퍼짐이 작아질 수록 상관계수는 1에 가까워 지고 퍼짐이 넓어져서 서로간에 관계가 없어지면 0에 가까워 집니다. 

     

    그림(3)

     

    그림(3)과 같은 방향으로 분포가 되면 상관계수 값은 1에 가까우나 음수 방향이 되어 -1에 가까운 값이 됩니다. 

     

     

     

    Cross Correlation과 Convolution 이란?

    Cross Correlation과 Convolution은 신호 처리에 사용하는 수식입니다. 앞서까지의 개념은 통계(Statistics)에서 적용되는 내용이고 이제부터는 Digital Signal Processing과 관련이 있습니다. 사실 이번 포스트도 진동 시험기(Vibration Test)의 제어 프로그램에서 진동의 신호를 주파수 분석하는 데 Coherence가 나와서 하나 하나 의미를 찾아가는 과정에서 알게 되었습니다. 

     

    우선 Convolution의 수식은 아래와 같습니다. 

    수식(3)

     

     

     

    Cross Correlation의 수식은 아래 수식(4)와 같습니다. 

     

    수식(4)

     

    Convolution과 Cross Correlation의 차이는 사용 목적에 있습니다. 컨볼루션에 대한 설명 및 수식 전개는 링크를 참조하시면 됩니다(https://scribblinganything.tistory.com/604). 

     

    컨볼루젼은 LTI(Linear Time Invariant) 시스템에서 임펄스 응답(Impulse Response)를 알면 입력 신호 x(t)에 대한 응답을 구할 수 있습니다. 이를 통해서 필터(Filter)를 설계할 수 있습니다.

     

    Cross Correlation은 두 신호간의 상관 관계를 파악하기 위해 사용 합니다. 일반적으로 입력 신호 x(t)와 y(t)를 비교할 때 많이 사용 합니다. 

     

    wiki

     

    위 그림은 wikipedia에서 가져온 그림입니다. Tau(타우) 축으로 두 도형이 이동하면서 적분된 값입니다. 상관이 높은 시점에서 값이 가장 크게 나옵니다. 사실 Convolution이나 Cross Correlation이나 타우 방향에 의해 도형이 뒤집히는 것을 제외하고는 동일하지만 사용 용도에 의해 분류 됩니다. 

     

    Auto Correlation은 Cross Correlation과 동일하지만 2개의 다른 신호가 아닌 자기 자신의 신호를 사용해서 계산 합니다. 

     

     

     

     

    Coherence 란?

    Coherence는 피어슨 상관계수를 신호처리에서 사용해서 두 신호의 상관 관계를 확인하는 방법입니다. 

     

     

    수식은 위와 같습니다. Sxx와 Syy는 x신호와 y 신호 각 각의 Power Spectral Density(PSD)으로 여기서는 분모에 주파수 별 표준편차 값이 되는 것입니다. 

     

    Sxy는 x, y 신호의 Cross Spectral Density(CSD)로 두 신호의 주파수별 공분산과 동일하게 처리 됩니다. 

     

    즉, Coherence가 1이나 -1이 되면 두신호의 상관 관계가 높다는 의미이고 0이면 상관 관계가 낮다는 의미가 됩니다. 

     

     

     

     

    반응형