NumPy 자기 상관
Vaibhav Vaibhav
2021년6월20일
데이터 과학에서 데이터 세트의 변수는 어떤 방식 으로든 서로 관련 될 수 있습니다. 관계는 직접 비례하거나 간접적으로 비례 할 수 있습니다. 하나의 변수를 간단히 변경하면 일부 변수가 약간 또는 크게 변경 될 수 있습니다. 이 현상을 상관 관계라고합니다.
자기 상관은 시간 신호 세트와 자신의 오래된 버전 간의 상관 관계를 나타냅니다. 두 세트의 시간 신호에는 그들 사이에 약간의 시간 차이가 있습니다.
NumPy에서 자기 상관 계산
강력한 데이터 과학 라이브러리 인 NumPy에는 두 1D 시퀀스 간의 상관 관계를 찾는 데 사용할 수있는 내장 함수correlate()
가 있습니다. 두 개의 1D 배열과 모드 유형을 허용합니다.
모드 유형은 valid
, same
, full
일 수 있으며 이 매개 변수는 선택 사항입니다. 이 매개 변수의 기본값은 valid
입니다.
이 기능에 대한 자세한 내용은 공식 문서를 참조하십시오.
import numpy
myArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
myArray = numpy.array(myArray)
result = numpy.correlate(myArray, myArray, mode="full")
result = result[result.size // 2 :]
print(result)
출력:
[385 330 276 224 175 130 90 56 29 10]
위의 코드에서 먼저 숫자 목록을 정의한 다음 NumPy의array()
메소드를 사용하여 NumPy 배열로 변환합니다. 그런 다음 관심있는 메서드correlate()
를 호출하여 데이터의 자기 상관을 계산합니다. 계산을 위해full
모드를 사용하고 있습니다.
결과는result
변수에 저장되고 슬라이스됩니다. 슬라이싱 부분은correlate()
메소드가2 * 배열의 길이-1
크기의 배열을 반환하고 관심 값이 후반부에 놓여 있기 때문에 중요합니다. 즉,[(result.size // 2), result.size)
.
작가: Vaibhav Vaibhav