我对R和AI/ML技术还很陌生.我想用神经网络进行预测,因为我是新手,我只想知道这是不是应该怎么做.
作为测试用例,我sin()基于之前的2个值预测值.对于训练我创建的数据帧与y = sin(x),x1 = sin(x-1),x2 = sin(x-2),然后使用公式y ~ x1 + x2.
它似乎有效,但我只是想知道这是否是正确的方法,或者是否有更惯用的方式.
这是代码:
require(quantmod) #for Lag()
requre(nnet)
x <- seq(0, 20, 0.1)
y <- sin(x)
te <- data.frame(y, Lag(y), Lag(y,2))
names(te) <- c("y", "x1", "x2")
p <- nnet(y ~ x1 + x2, data=te, linout=TRUE, size=10)
ps <- predict(p, x1=y)
plot(y, type="l")
lines(ps, col=2)
Run Code Online (Sandbox Code Playgroud)
谢谢
这对预测电话有好处吗?
t2 <- data.frame(sin(x), Lag(sin(x)))
names(t2) <- c("x1", "x2")
vv …Run Code Online (Sandbox Code Playgroud) 我在这做错了什么?
library(quantmod)
getSymbols('^GSPC')
b <- tail(GSPC, 20) #for brevity
is.factor(factor(Cl(b), labels=c('A')))
> TRUE
b$f <- factor(Cl(b), labels=c('A'))
is.factor(b$f)
[1] FALSE
Run Code Online (Sandbox Code Playgroud)
我希望我的xts/quantmod对象中的列成为一个因素.我不知道它为什么不起作用.
谢谢