Main Content

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

phaseSpaceReconstruction

관측된 시계열을 상태 벡터로 변환

설명

XR = phaseSpaceReconstruction(X,lag,dim)은 시간 지연 lag와 임베딩 차원 dim을 입력값으로 사용하여, 균일하게 샘플링된 시간 영역 신호 X의 재구성된 위상 공간 XR을 반환합니다.

phaseSpaceReconstruction을 사용하여 시스템 속성은 유지하면서 시스템 차수를 확인하고 모든 동적 시스템 변수를 재구성합니다. 위상 공간을 재구성하는 것은 사용 가능한 데이터가 제한되거나 위상 공간 차원 및 지연을 알 수 없는 경우 유용합니다. 비선형 특징 approximateEntropy, correlationDimensionlyapunovExponent는 계산의 첫 단계로 phaseSpaceReconstruction을 사용합니다.

[XR,eLag,eDim] = phaseSpaceReconstruction(X)는 추정된 지연값 eLag 및 임베딩 차원 eDim과 함께 재구성된 위상 공간 XR을 반환합니다.

[XR,eLag,eDim] = phaseSpaceReconstruction(X,lag)lag.로 지정된 시간 지연을 사용하여 균일하게 샘플링된 시간 영역 신호 X의 재구성된 위상 공간 XR과 임베딩 차원 eDim을 반환합니다.

[XR,eLag,eDim] = phaseSpaceReconstruction(X,[],dim)dim으로 지정된 임베딩 차원을 사용하여 균일하게 샘플링된 시간 영역 신호 X의 재구성된 위상 공간 XR과 시간 지연 eLag를 반환합니다.

예제

[___] = phaseSpaceReconstruction(___,Name,Value)는 하나 이상의 Name,Value 쌍의 인수로 지정된 추가 옵션을 사용하여 재구성된 위상 공간 XR을 반환합니다.

예제

phaseSpaceReconstruction(___)(출력 인수 없음)은 재구성된 위상 공간의 하위 좌표축으로 구성된 행렬을 만들고 대각선에 히스토그램 플롯을 놓습니다.

예제

모두 축소

이 예제에서는 로렌츠 끌개(Lorenz Attractor)에 대한 측정값이 있다고 가정합니다. 측정값은 x 방향으로만 있는데, 끌개는 3차원 시스템입니다. 이 제한적인 데이터를 사용하여 원래 시스템의 속성이 유지되도록 위상 공간을 재구성합니다.

로렌츠 끌개 데이터를 불러오고 3차원 플롯에서 x, y, z 측정값을 시각화합니다.

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 방향 측정값을 사용하여 지연과 차원을 추정합니다.

xdata = data(:,1);
[~,eLag,eDim] = phaseSpaceReconstruction(xdata)
eLag = 10
eDim = 3

로렌츠 끌개는 3차원의 데이터를 가지므로, 추정되는 임베딩 차원 eDim은 3입니다.

추정 지연값과 임베딩 차원을 사용하여 재구성된 위상 공간을 시각화합니다.

phaseSpaceReconstruction(xdata,eLag,eDim);

MATLAB figure

3x3 위상 공간 플롯에서 보다시피, 끌개의 토폴로지가 복원되었습니다. x1(t+10)x1(t+20)은 추정 지연값 10을 사용하여 재구성된 다른 두 개의 상태입니다. 대각 플롯 (1,1), (2,2) 및 (3,3)은 각각 x1(t), x1(t+10)x1(t+20) 데이터의 히스토그램을 나타냅니다.

입력 인수

모두 축소

균일하게 샘플링된 시간 영역 신호로, 벡터, 배열 또는 타임테이블로 지정됩니다. X에 여러 개의 열이 있는 경우 각 열은 독립적인 시계열로 처리됩니다.

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

임베딩 차원으로, 스칼라 또는 벡터로 지정됩니다. dim은 측정값부터 시작하여 위상 궤적을 재구성하는 공간의 차원입니다.

dim이 스칼라인 경우 X의 모든 열은 dim을 사용하여 재구성됩니다. dimX의 열 개수와 동일한 길이를 가진 벡터인 경우 열 i의 재구성 차원은 dim(i)입니다.

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

시간 지연값이 너무 작으면 상태에 랜덤 잡음이 발생합니다. 반대로, 지연 값이 너무 크면 재구성된 동특성이 시계열의 실제 동특성을 나타내지 않습니다.

이름-값 인수

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

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

예: …'HistogramBins',12

이산화에 사용할 Bin 개수로, 'HistogramBins'와 함께 스칼라가 쉼표로 구분되어 지정됩니다. HistogramBins는 AMI(평균 상호 정보)를 계산하여 지연 eLag를 추정하는 데 필요합니다.

X의 길이를 기반으로 HistogramBins의 값을 설정합니다.

지연의 최댓값으로, 'MaxLag'와 함께 스칼라가 쉼표로 구분되어 지정됩니다. MaxLag는 AMI(평균 상호 정보) 알고리즘을 사용하여 지연 est_delay를 추정하는 데 사용됩니다.

임베딩 차원을 결정하는 인자로, 'PercentFalseNeighbors'와 함께 스칼라가 쉼표로 구분되어 지정됩니다. 거짓 최근접이웃의 비율이 차원 d에서 조정 파라미터 PercentFalseNeighbors 아래로 떨어지면 d가 임베딩 차원으로 간주됩니다.

PercentFalseNeighbors의 디폴트 값은 0.1이고 허용 가능한 값의 범위는 0~1입니다.

거짓 이웃을 결정하기 위한 거리 임계값으로, 'DistanceThreshold'와 함께 스칼라가 쉼표로 구분되어 지정됩니다. DistanceThreshold는 재구성된 위상 공간에서 거짓 최근접이웃인 점의 개수를 결정하기 위한 조정 파라미터입니다.

DistanceThreshold의 디폴트 값은 10이고 제안되는 값의 범위는 10~50입니다.

임베딩 차원의 최댓값으로, 'MaxDim'과 함께 스칼라가 쉼표로 구분되어 지정됩니다.

시스템의 상태 개수가 5를 초과하면 MaxDim의 값을 변경하십시오.

출력 인수

모두 축소

재구성된 위상 공간으로, 배열 또는 타임테이블로 반환됩니다. XR은 임베딩 차원과 지연값을 기반으로 한 상태 벡터를 포함합니다.

추정된 시간 지연으로, X의 크기에 관계없이 스칼라로 반환됩니다.

eLag는 AMI(평균 상호 정보) 알고리즘을 사용하여 추정됩니다. 자세한 내용은 알고리즘 항목을 참조하십시오.

추정된 임베딩 차원으로, X의 크기에 관계없이 스칼라로 반환됩니다.

eDim은 FNN(거짓 최근접이웃) 알고리즘을 사용하여 추정됩니다. 자세한 내용은 알고리즘 항목을 참조하십시오.

알고리즘

모두 축소

위상 공간 재구성

균일하게 샘플링된 일변량 시간 신호 X1=(x1,1,x1,2,...,x1,N)T에 대해, phaseSpaceReconstruction은 다음과 같이 지연된 재구성을 계산합니다.

X1,ir=(x1,i,x1,i+τ1,...,x1,i+(m11)τ1), i=1,2,...,N(m11)τ1

여기서 N은 시계열의 길이이고, τ1은 지연이며, m1X1의 임베딩 차원입니다.

마찬가지로, 다변량 시계열 X는 다음과 같이 지정됩니다.

X=[X1,X2,...,XS]=[x1,1x1,NxS,1xS,N]

phaseSpaceReconstruction은 각 시계열에 대한 재구성을 다음과 같이 계산합니다.

Xir=(X1,ir,X2,ir,...,XS,ir), i=1,2,...,N(max{mi}1)(max{τi})

여기서 S는 측정값의 개수이고 N은 시계열의 길이입니다.

지연 추정

위상 공간 재구성의 지연은 AMI(평균 상호 정보)를 사용하여 추정됩니다. 재구성에 대해, 시간 지연은 AMI의 첫 번째 국소 최솟값으로 설정됩니다.

평균 상호 정보는 다음과 같이 계산됩니다.

AMI(T)=i=1Np(xi,xi+T)log2[p(xi,xi+T)p(xi)p(xi+T)]

여기서 N은 시계열의 길이이고 Τ = 1:MaxLag입니다.

임베딩 차원 추정

위상 공간 재구성의 임베딩 차원은 FNN(거짓 최근접이웃) 알고리즘을 사용하여 추정됩니다.

  • 차원 d에 있는 점 i에 대해, 재구성된 위상 공간 {Xri}, i = 1:N에서 점 Xri 및 이 점과 가장 가까운 점 Xr*i는 다음과 같은 경우 거짓 이웃입니다.

    Ri2(d+1)Ri2(d)Ri2(d)>DistanceThreshold

    여기서 Ri2(d)=XirXir*2은 거리 측정법입니다.

  • 추정된 임베딩 차원 d는 조건 pfnn < PercentFalseNeighbors를 충족하는 가장 작은 값입니다. 여기서 pfnn은 재구성된 위상 공간에서 총 점 개수에 대한 FNN 점 개수의 비율입니다.

참고 문헌

[1] Rhodes, Carl & Morari, Manfred. "False Nearest Neighbors Algorithm and Noise Corrupted Time Series." Physical Review. E. 55.10.1103/PhysRevE.55.6162.

[2] Kliková, B., and Aleš Raidl. "Reconstruction of phase space of dynamical systems using method of time delay." Proceedings of the 20th Annual Conference of Doctoral Students WDS 2011.

[3] I. Vlachos, D. Kugiumtzis, "State Space Reconstruction for Multivariate Time Series Prediction", Nonlinear Phenomena in Complex Systems, Vol 11, No 2, pp 241-249, 2008.

[4] Kantz, H., and Schreiber, T. Nonlinear Time Series Analysis. Cambridge: Cambridge University Press, Vol. 7, 2004.

확장 기능

버전 내역

R2018a에 개발됨