Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

correlationDimension

무질서한 신호 복잡도 측정

설명

예제

corDim = correlationDimension(X)는 균일하게 샘플링된 시간 영역 신호 X의 상관 차원을 추정합니다. 상관 차원은 임의의 점 집합이 차지하는 공간의 차원 수를 측정한 값입니다. corDim은 유사성 반지름의 범위에 대한 상관 적분의 기울기로 추정됩니다. correlationDimension을 결정적 무질서와 랜덤 잡음을 구분하기 위한 특성 측정값으로 사용하여 잠재적인 결함을 검출합니다.[1]

예제

corDim = correlationDimension(X,lag)는 시간 지연 lag에 대해 균일하게 샘플링된 시간 영역 신호 X의 상관 차원을 추정합니다.

예제

corDim = correlationDimension(X,[],dim)은 임베딩 차원 dim에 대해 균일하게 샘플링된 시간 영역 신호 X의 상관 차원을 추정합니다.

예제

corDim = correlationDimension(X,lag,dim)은 시간 지연 lag와 임베딩 차원 dim에 대해 균일하게 샘플링된 시간 영역 신호 X의 상관 차원을 추정합니다.

예제

[corDim,rRange,corInt] = correlationDimension(___)은 추가적으로 유사성 반지름의 범위와 균일하게 샘플링된 시간 영역 신호 X의 상관 적분을 추정합니다. 상관 적분은 두 개의 서로 다른 시간 간격에서 시스템의 상태가 가까울 평균 확률로, 자기 유사성을 반영합니다.

예제

___ = correlationDimension(___,Name,Value)는 하나 이상의 Name,Value 쌍의 인수로 지정된 추가 옵션을 사용하여 상관 차원을 추정합니다.

예제

correlationDimension(___)(출력 인수 없음)은 이웃 반지름에 대한 상관 적분 플롯을 만듭니다.

예제

모두 축소

이 예제에서는 무질서한 해의 고유한 집합을 설명하는 로렌츠 끌개(Lorenz Attractor)가 있다고 가정합니다.

데이터 세트를 불러와서 로렌츠 끌개를 3차원으로 시각화합니다.

load('lorenzAttractorExampleData.mat','data');
plot3(data(:,1),data(:,2),data(:,3));

Figure contains an axes object. The axes object contains an object of type line.

이 예제에서는 로렌츠 끌개의 x 방향 데이터만 사용합니다. lag를 알 수 없으므로 phaseSpaceReconstruction을 사용하여 지연을 추정합니다. 로렌츠 끌개는 3차원 시스템이므로 'Dimension'을 3으로 설정합니다. dimlag 파라미터는 이웃 반지름에 대한 상관 적분 플롯을 만드는 데 필요합니다.

xdata = data(:,1);
dim = 3;
[~,lag] = phaseSpaceReconstruction(xdata,[],dim)
lag = 10

이전 단계에서 얻은 lag 값을 사용하여 로렌츠 끌개에 대해 이웃 반지름에 대한 상관 적분 플롯을 만듭니다. 'NumPoints'에 적절한 값을 설정하여 이웃 반지름에 적합한 분해능을 결정합니다.

Np = 100;
correlationDimension(xdata,lag,dim,'NumPoints',Np);

Figure contains an axes object. The axes object with title Correlation Dimension: 1.80032, xlabel Neighborhood Radius, ylabel Correlation Integral contains 8 objects of type line, text. These objects represent Original Data, Linear Fit.

첫 번째 녹색 세로 파선(왼쪽)은 MinRadius의 값을 나타내고 두 번째 녹색 세로 파선(오른쪽)은 MaxRadius를 나타냅니다. 빨간색 파선은 계산된 반지름의 범위 내에서 이웃 반지름 데이터에 대한 상관 적분의 선형 피팅 선을 나타냅니다.

상관 차원을 계산하려면 먼저 정확한 추정에 필요한 MinRadius 값과 MaxRadius 값을 결정해야 합니다.

플롯에서 두 개의 녹색 세로 파선을 끌어서 놓아 선형 피팅 선을 원래 데이터 선에 '최적으로 맞춰' 반지름의 범위를 얻습니다.

적절한 피팅을 위해 두 개의 세로선을 끌어서 놓은 후 MinRadiusMaxRadius의 새 값을 확인합니다.

이전 단계에서 얻은 새 MinRadius 값과 MaxRadius 값을 사용하여 로렌츠 끌개의 상관 차원을 구합니다.

MinR = 0.05656;
MaxR = 2.516;
corDim = correlationDimension(xdata,[],dim,'MinRadius',MinR,'MaxRadius',MaxR,'NumPoints',Np)
corDim = 1.7490

상관 차원의 값은 시스템의 무질서 수준에 정비례합니다. 즉, corDim의 값이 높을수록 시스템의 무질서한 복잡도 수준이 높다는 것을 나타냅니다.

입력 인수

모두 축소

균일하게 샘플링된 시간 영역 신호로, 벡터, 배열 또는 타임테이블로 지정됩니다. X에 여러 개의 열이 있는 경우 correlationDimensionX를 다변량 신호로 처리하여 상관 차원을 계산합니다.

X가 행 벡터로 지정된 경우 correlationDimension은 X를 일변량 신호로 처리합니다.

임베딩 차원으로, 스칼라 또는 벡터로 지정됩니다. dim은 'Dimension' 이름-값 쌍과 동일합니다.

시간 지연으로, 스칼라 또는 벡터로 지정됩니다. lag는 'Lag' 이름-값 쌍과 동일합니다.

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: ...,'Dimension',3

임베딩 차원으로, 'Dimension'과 함께 스칼라 또는 벡터가 쉼표로 구분되어 지정됩니다. Dimension이 스칼라인 경우 X의 모든 열은 Dimension을 사용하여 재구성됩니다. DimensionX의 열 개수와 동일한 길이를 가진 벡터인 경우 열 i의 재구성 차원은 Dimension(i)입니다.

시스템의 차원, 즉 상태 개수에 따라 Dimension을 지정합니다. 임베딩 차원에 대한 자세한 내용은 phaseSpaceReconstruction 항목을 참조하십시오.

위상 공간 재구성의 지연으로, 'Lag'와 함께 스칼라 또는 벡터가 쉼표로 구분되어 지정됩니다. Lag가 스칼라인 경우 X의 모든 열은 Lag를 사용하여 재구성됩니다. LagX의 열 개수와 동일한 길이를 가진 벡터인 경우 열 i의 재구성 지연은 Lag(i)입니다.

지연 값이 너무 작으면 데이터에 랜덤 잡음이 발생합니다. 반대로, 지연 값이 너무 크면 재구성된 동특성이 시계열의 실제 동특성을 나타내지 않습니다. 최적의 지연을 추정하는 방법에 대한 자세한 내용은 phaseSpaceReconstruction 항목을 참조하십시오.

유사성의 최소 반지름으로, 'MinRadius'와 함께 스칼라가 쉼표로 구분되어 지정됩니다. 상관 차원 플롯의 선형 피팅을 조정하여 MinRadius의 최적 값을 찾습니다.

유사성의 최대 반지름으로, 'MaxRadius'와 함께 스칼라가 쉼표로 구분되어 지정됩니다. 상관 차원 플롯의 선형 피팅을 조정하여 MaxRadius의 최적 값을 찾습니다.

계산을 위한 점 개수로, 'NumPoints'와 함께 양의 정수 스칼라가 쉼표로 구분되어 지정됩니다. NumPointsMinRadiusMaxRadius 사이의 점 개수입니다. rRange에 필요한 분해능을 기반으로 하여 NumPoints에 적절한 값을 선택합니다.

NumPoints에는 1보다 큰 값만 허용되며 디폴트 값은 10입니다.

출력 인수

모두 축소

상관 차원으로, 스칼라로 반환됩니다. corDim은 다차원 위상 공간에서 무질서한 신호 복잡도를 측정한 값이며, 유사성 반지름의 범위에 대한 상관 적분의 기울기입니다. corDim은 결정적 무질서와 랜덤 잡음을 구분하기 위한 특성 측정값으로 결함 검출에 사용됩니다.

유사성 반지름으로, 배열로 반환됩니다. rRangeMaxRadiusMinRadius 간의 차이를 NumPoints로 정의된 점의 개수로 균일하게 분할한 값입니다.

상관 적분으로, 배열로 반환됩니다. corInt는 두 개의 서로 다른 시간의 상태가 가까울 평균 확률로, 자기 유사성을 반영합니다. NumPointscorInt 배열의 길이를 정의합니다.

알고리즘

상관 차원은 다음과 같은 방법으로 계산됩니다.

  1. correlationDimension 함수가 먼저 임베딩 차원 m과 지연 τ를 사용하여, 지연된 재구성 Y1:N을 생성합니다.

  2. 그런 다음 점 i에서 범위 내 점 개수가 계산됩니다. 이때 방정식은 다음과 같습니다.

    Ni(R)=i=1,ikN1(YiYk<R)

    여기서 1은 지표 함수이고 R은 유사성 반지름입니다. 이때 R = exp(linspace(log(rmin), log(rmax), N)).입니다. 여기서 rminMinRadius이고 rmaxMaxRadius이며 NNumPoints입니다.

  3. 상관 차원 corDimC(R) vs. R의 기울기입니다. 여기서 상관 적분 C(R)은 다음과 같이 정의됩니다.

    C(R)=2N(N1)i=1NNi(R)

참고 문헌

[1] Caesarendra, Wahyu & Kosasih, P & Tieu, Kiet & Moodie, Craig. "An application of nonlinear feature extraction-A case study for low speed slewing bearing condition monitoring and prognosis." IEEE/ASME International Conference on Advanced Intelligent Mechatronics: Mechatronics for Human Wellbeing, AIM 2013.1713-1718. 10.1109/AIM.2013.6584344.

[2] Theiler, James. "Efficient algorithm for estimating the correlation dimension from a set of discrete points". American Physical Society. Physical Review A 1987/11/1. Volume 36. Issue 9. Pages 44-56.

확장 기능

버전 내역

R2018a에 개발됨