1

我正在尝试添加 HoltWinters Alpha 函数。我有一个名为 Sales1 的表,代码应参考此表。有没有人可以更正或修改下面的代码,所以我得到的是 Holtwinters Alpha 而不是 Chronbachs Alpha?

Holt Winters calc(可能需要修改)

library(forecast)
library(Metrics

)

read_file(sales1)
x <- sales

x = c(Sales1)  
mSES = HoltWinters(x, alpha = 0.5, beta = FALSE, gamma = FALSE)  
mHW = HoltWinters(x, alpha = 0.5, beta = FALSE, gamma = FALSE)
mSES$SSE  
mHW$SSE

HoltWinters(x, alpha = NULL, beta = NULL, gamma = NULL,
            seasonal = c("additive", "multiplicative"),
            start.periods = 2, l.start = NULL, b.start = NULL,
            s.start = NULL,
            optim.start = c(alpha = 0.3, beta = 0.1, gamma = 0.1),
            optim.control = list())

chronbachs 阿尔法计算

read_file(sales1)
library(tidyverse)
library(psy)

之前要考虑的行数

rolling = 2

sales1 <- sales::sales(  ~date, ~sales,)
#Lag
sales1 = sales1 %>%  mutate(lagsales = lag(sales))

#Rolling Chronbachs Alpha.:( I need the Holtwinter Alpha here )

sales1$alpha = c(  rep(NA, rolling), 
  map_dbl((rolling + 1):nrow(sales1), function(x){
    cronbach(sales1 %>% select(sales, lagsales) %>% slice((x-rolling):x))$alpha
  })
)
sales1

来自 Sales1 表的西藏:

df <- tibble::tribble( ~seq, ~date, ~sales, 1, "3/01/2017", 40, 2, "4/01/2017", 2, 3, "5/01/2017" , 2, 4, "6/01/2017", 2, 5, "7/01/2017", 30, 6, "8/01/2017", 2, 7, "1/02/2017", 9 , 8, "2/02/2017", 5, 9, "3/02/2017", 65, 10, "4/02/2017", 3, 11, "5/02/2017", 65

4

0 回答 0