NAR(비선형 자기회귀) 신경망을 훈련시키고 새 시계열 데이터에 대해 예측을 수행합니다. 시계열의 값 시퀀스를 예측하는 것을 다중 스텝 예측이라고도 합니다. 폐루프 신경망은 다중 스텝 예측을 수행할 수 있습니다. 폐루프 신경망은 외부 피드백이 없을 때 내부 피드백을 사용하여 계속해서 예측을 수행할 수 있습니다. NAR 예측에서 미래의 시계열 값은 그 시계열의 과거 값만 사용해 예측됩니다.
간단한 시계열 예측 데이터를 불러옵니다.
NAR 신경망을 만듭니다. 피드백 지연과 은닉 계층의 크기를 정의합니다.
preparets
를 사용하여 시계열 데이터를 준비합니다. 이 함수는 입력 시계열 및 목표 시계열을 필요한 스텝 개수만큼 자동으로 이동하여 초기 입력 및 계층 지연 상태를 채웁니다.
개루프에서 신경망을 완전히 생성한 다음, 향후 다중 스텝 사전 예측을 위한 폐루프로 변환하는 것이 좋습니다. 그러면 폐루프 신경망에서 원하는 만큼의 많은 미래 값을 예측할 수 있습니다. 폐루프 모드에서만 신경망을 시뮬레이션하면 신경망은 입력 시계열의 시간 스텝 수만큼 예측을 수행할 수 있습니다.
NAR 신경망을 훈련시킵니다. train
함수는 검증 및 테스트 단계를 포함해 개루프(직렬-병렬 아키텍처)에서 신경망을 훈련시킵니다.
훈련된 신경망을 표시합니다.
신경망 입력값 Xs
, 초기 입력 상태 Xi
및 초기 계층 상태 Ai
를 사용해 개루프 신경망의 신경망 출력값 Y
, 최종 입력 상태 Xf
및 최종 계층 상태 Af
를 계산합니다.
신경망 성능을 계산합니다.
이후의 20개의 시간 스텝에 대한 출력값을 예측하려면 먼저 폐루프 모드에서 신경망을 시뮬레이션합니다. 개루프 신경망 net
의 마지막 입력 상태 Xf
와 계층 상태 Af
는 폐루프 신경망 netc
의 초기 입력 상태 Xic
와 계층 상태 Aic
가 됩니다.
폐루프 신경망을 표시합니다. 이 신경망에는 입력값이 하나만 있습니다. 폐루프 모드에서는 이 입력값이 출력값에 연결됩니다. 지연된 목표 입력값은 지연된 직접 출력 연결로 대체됩니다.
향후 20개의 시간 스텝에 대해 신경망을 시뮬레이션하려면 길이가 20인 빈 셀형 배열을 입력하십시오. 신경망에는 Xic
와 Aic
로 주어지는 초기 조건만 필요합니다.
Yc=1×20 cell array
{[0.8346]} {[0.3329]} {[0.9084]} {[1.0000]} {[0.3190]} {[0.7329]} {[0.9801]} {[0.6409]} {[0.5146]} {[0.9746]} {[0.9077]} {[0.2807]} {[0.8651]} {[0.9897]} {[0.4093]} {[0.6838]} {[0.9976]} {[0.7007]} {[0.4311]} {[0.9660]}