【发布时间】:2021-04-08 13:22:09
【问题描述】:
我正在使用 R 编程语言。我正在尝试按照此处关于神经网络 (lstm) 和时间序列的 R 教程:https://blogs.rstudio.com/ai/posts/2018-06-25-sunspots-lstm/
我决定为本教程创建自己的时间序列数据(“y.mon”)(相同的格式和相同的变量名):
library(tidyverse)
library(glue)
library(forcats)
library(timetk)
library(tidyquant)
library(tibbletime)
library(cowplot)
library(recipes)
library(rsample)
library(yardstick)
library(keras)
library(tfruns)
library(dplyr)
library(lubridate)
library(tibbletime)
library(timetk)
index = seq(as.Date("1749/1/1"), as.Date("2016/1/1"),by="day")
index <- format(as.Date(index), "%Y/%m/%d")
value <- rnorm(97520,27,2.1)
final_data <- data.frame(index, value)
y.mon<-aggregate(value~format(as.Date(index),
format="%Y/%m"),data=final_data, FUN=sum)
y.mon$index = y.mon$`format(as.Date(index), format = "%Y/%m")`
y.mon$`format(as.Date(index), format = "%Y/%m")` = NULL
y.mon %>%
mutate(index = paste0(index, '/01')) %>%
tk_tbl() %>%
mutate(index = as_date(index)) %>%
as_tbl_time(index = index) -> y.mon
从这里开始,我按照教程中的说明进行操作(将“sun_spots data”替换为“y.mon”。到目前为止一切正常(我昨天发布了一个问题,由于过于详细而被关闭https://stackoverflow.com/questions/65527230/r-error-in-is-symbolx-object-not-found-keras - 代码可以参考rstudio教程):
#ERROR
coln <- colnames(compare_train)[4:ncol(compare_train)]
cols <- map(coln, quo(sym(.)))
rsme_train <-
map_dbl(cols, function(col)
rmse(
compare_train,
truth = value,
estimate = !!col,
na.rm = TRUE
)) %>% mean()
rsme_train
Error in is_symbol(x) : object '.' not found
我发现另一个处理类似问题的 stackoverflow 帖子:Getting error message while calculating rmse in a time series analysis
根据这个stackoverflow帖子,第一个错误可以这样解决:
coln <- colnames(compare_train)[4:ncol(compare_train)]
rsme_train <-
map_df(coln, function(col)
rmse(
compare_train,
truth = value,
estimate = !!col,
na.rm = TRUE
)) %>%
pull(.estimate) %>%
mean()
rsme_train
但是,本教程的以下部分有一个类似的部分,即使在应用更正后,同样的错误仍然存在:
compare_test %>% write_csv(str_replace(model_path, ".hdf5", ".test.csv"))
compare_test[FLAGS$n_timesteps:(FLAGS$n_timesteps + 10), c(2, 4:8)] %>% print()
cols <- map(coln, quo(sym(.)))
rsme_test <-
map_dbl(cols, function(col)
rmse(
compare_test,
truth = value,
estimate = !!col,
na.rm = TRUE
)) %>% mean()
rsme_test
#errors:
Error in stri_replace_first_regex(string, pattern, fix_replacement(replacement), :
object 'model_path' not found
Error in is_symbol(x) : object '.' not found
这些错误使我无法完成本教程的其余部分。 有人可以告诉我如何解决这些问题吗? 谢谢
【问题讨论】:
-
你为什么要加载所有这些包?
-
感谢您的回复!它们都是教程所必需的
-
这里似乎没有使用它们(不是全部),如果您知道实际涉及哪些包,它将帮助您解决问题。也不要让我安装一堆不需要的包来帮助你。我认为显而易见的问题是:你认为“。”是什么?是代表?显然 R 不知道,所以如果你能告诉它,事情会更好。
-
抱歉 - 为了在本教程中找到我需要帮助的地方,其中许多软件包都是必需的。我只是想让这篇文章尽可能地重现。如果你愿意,我可以在这个问题中删除它们。
-
学习的一部分是真正理解代码中发生的事情。创建一个最小的示例既可以帮助您理解,也可以隔离问题所在。我要说的一件事是,自 2018 年以来 rlang 发生了很多变化,因此如果需要进行大量更改,我不会感到惊讶。另外,当您对最后一个代码块进行更改时会发生什么?比如使用pull(.estimate)?
标签: r keras neural-network time-series data-visualization