R中的线性回归预测和for循环

问题描述

我对 R 非常陌生,我正在尝试使用线性回归模型来构建一个脚本来预测 2021 年的monthly_sales 数据,该模型是使用我的 2019 年和 2020 年的数据构建的(请参阅下面的数据)。我的模型是使用构建的 2019年和2020年product_manufactured数量、期初库存(begin_inv)和monthly_sales。

我遇到了一些问题,因为对于每一行,必须使用每月的销售预测来计算该行的期末库存,然后该行将成为下一行开始 库存等。我相信必须使用一些循环,而我在设计时遇到了一些挑战。

以下是我的数据框和迄今为止的尝试。 (在该数据框中,ending_inv = begin_inv + product_manufactured -monthly_sales)

product <- c('radio')
year <- c(rep(2019,12),rep(2020,rep( 2021,6))
month <- c('jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec','jan','jun')
begin_inv <- as.numeric(c('806','905','1097','1011','1025','1022','760','782','815','832','786','806',NA,NA))
product_manufactured <- as.numeric(c('156','461','692','892','1167','1494','1726','1977','2239','2324','2539','2933','156','302','610','862','1039','1282','1647'))
monthly_sales <- as.numeric(c('57','269','778','878','1170','1756','1704','1944','2222','2370','2493','3028','57',NA))
ending_inv <- as.numeric(c('905','737',NA))


df<- data.frame(product,year,month,begin_inv,product_manufactured,monthly_sales,ending_inv ) 




data_fcst <- df %>% mutate(ending_inv_lag = lag(ending_inv,default = first(ending_inv))) %>% mutate(begin_inv = ending_inv_lag)    %>% filter(year==2021)
data_hist <- df  %>% filter(year %in% c(2019,2020))



  forecasted_data <- data_hist %>% group_by(month)%>%  summarise(fit = list(lm(monthly_sales ~ product_manufactured + begin_inv)),data = list(cur_data())) %>%
    mutate(col   = map(fit,augment,newdata = data_fcst)) %>% rename("month1" = month)  %>% unnest(col) %>% select(-data,-fit)%>% as.data.frame() %>% 
    filter_("month1==month") %>% rename("forecasted sales" = .fitted) 

如何创建一个循环,为 2021 年的行生成monthly_sales 预测,然后使用该monthly_sales 预测来获取一个的起始库存,依此类推?

感谢您提供的任何帮助

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)