2014-04-09 2 views
0

저는 R을 시작했습니다. 정말 좋아하지만 최근에 저는 구석에 있습니다. 열 소비량을 예측하는 신경망 모델을 구축하고 싶습니다. 외부 공기 온도 (모델 입력) 및 열 수요량 (모델 출력)을 메가 와트 (지난 4 년간의 시간별 데이터)가 포함 된 과거 데이터가 있습니다. 내 기상 예보 (24 시간 앞당겨 짐)를 기반으로 24 시간 전에 열 수요량을 예측하기 위해 내 모델을 사용하고 싶습니다. 여기 내 코드입니다 ..신경망 모델 훈련 오류

data <- read.delim("C:/.../data.csv", dec=",") 
require(neuralnet) 
trainset<-data[1:26208,] 
testset<-data[26209:26232,] 
net<-neuralnet(heat~temp,trainset,hidden=5,threshold=0.01) 

내가 '알고리즘이 수렴하지 않았다'고 오류가

이 모델을 구축하는 첫 시도이다. 그래서 하나의 입력 매개 변수 (공기 온도) 만 사용하고 싶습니다. 앞으로는 풍속, 근무일 및 휴일 정보 등을 추가로 사용하고 싶습니다. 내가 뭘 잘못했는지 알아? 숨겨진 뉴런이나 레이어의 수가 문제입니까? 나 또한 '숨겨진'매개 변수의 다른 값을 사용하려고 시도했지만 여전히 오류가 있습니다.

click 당신의 도움에 미리 감사합니다

여기 내 데이터 세트입니다.

+0

[R 신경망은 시계열에 stepmax 내에서 수렴하지 않습니다.] (http://stackoverflow.com/questions/16631065/r-neuralnet-does-not-converge-within-stepmax-for-time-series) – duffymo

+0

이것은 도움이 될 것입니다. 컨버전스는 알고리즘과 데이터를 모두 이해하는 것과 관련이 있습니다. http://journal.r-project.org/archive/2010-1/RJournal_2010-1_Guenther+Fritsch.pdf – duffymo

답변

0

의견을 보내 주셔서 감사합니다.

> trainset<-data[1:1000,] 
> testset<-data[1001:1024,] 
> net<-neuralnet(heat~temp,trainset,hidden=2,threshold=0.01) 
> temp_test<-subset(testset,select=temp) 
> net.results<-compute(net,temp_test) 
> results<-data.frame(actual=testset$heat,prediction=net.results$net.result) 
> View(results) 

그래서 내가 융합 내 문제는 관계 betweet 모델 구성에 의해 발생한다고 가정 (번호 : 당신과 함께 제공되는 자료를 읽은 후 나는

내가 다른 신경 조직 구성과 작은 데이터 세트와 한 번 더하려고 생각 숨겨진 뉴런의 수) 및 훈련 데이터 세트 관측 수.