R:用神经网络预测股票价格 stock

R:用神经网络预测股票价格 stock,r,neural-network,R,Neural Network,默认情况下,nnet使用逻辑输出单位,即尝试预测二进制变量。 您需要线性输出单位 obs<- sample(1:21, 21*0.5, replace=F) tr.Nam<- stock[obs,]; st.Nam<- stock[-obs,] library(nnet) Nam_nnet<-nnet(close_price~., data=tr.Nam, size=4, decay=5e-4) summary(Nam_nnet) y<-tr.Nam$close_

默认情况下,
nnet
使用逻辑输出单位,即尝试预测二进制变量。 您需要线性输出单位

obs<- sample(1:21, 21*0.5, replace=F)
tr.Nam<- stock[obs,]; st.Nam<- stock[-obs,]

library(nnet)
Nam_nnet<-nnet(close_price~., data=tr.Nam, size=4, decay=5e-4)
summary(Nam_nnet)
y<-tr.Nam$close_price
p<-predict(Nam_nnet, st.Nam, type="raw")
p
tt<-table(y,p)
summary(tt)
tt

Nam_nnet现在“p”的价格接近,但值相同。如果股票价格预测总是一致的,那就不好了。请让我知道如何使预测价格每天都有所不同。最简单的方法是转换数据:如果大多数值在0左右,比如-2和2之间,问题就会消失。在
scale
之后,我得到了很好的p值,谢谢。不过,我还有一个问题<代码>绘图(p,st.Nam$close_价格)
这不起作用。我在st.Nam$close_price:$运算符对原子向量无效时收到消息错误
obs<- sample(1:21, 21*0.5, replace=F)
tr.Nam<- stock[obs,]; st.Nam<- stock[-obs,]

library(nnet)
Nam_nnet<-nnet(close_price~., data=tr.Nam, size=4, decay=5e-4)
summary(Nam_nnet)
y<-tr.Nam$close_price
p<-predict(Nam_nnet, st.Nam, type="raw")
p
tt<-table(y,p)
summary(tt)
tt
Nam_nnet <- nnet(
  close_price ~ ., 
  data = tr.Nam, 
  size = 4, decay = 5e-4, 
  linout = TRUE
)
p <- predict(Nam_nnet, st.Nam, type="raw")
plot( p, st.Nam$close_price )