2016-09-24 4 views
-1

Я хотел бы руководство не как построить ежедневные данные и использовать прогнозирование в R.Time Series R с дублированием предметов для ежедневно не прогноз

Есть низкая покупка в субботу и воскресенье в этих данных. И есть определенные рабочие дни, у которых нет покупки вообще. Таким образом, это препятствия для анализа. У меня около 300 строк с различным именем элемента, которые элементы дублируются внутри столбца, но с разными датами. Пример: я купил ровно 1 мыло 3 раза в неделю, в понедельник, среду и воскресенье. Это пример таблицы данных:

Example Data

Моя беда до сих пор является то, что мне потребовалось много времени, чтобы прогнозировать вручную с помощью другого статистического программного обеспечения, поэтому я стараюсь, чтобы узнать R с самого начала и посмотреть, как это может сэкономить время. В таблице выше, были введены в R, то date также были преобразованы из factor в date класса, используя функцию as.Date(data$Date)

Обычно я использовал экспоненциальный метод сглаживания, так как покупки по-прежнему низкие, а иногда нет в наличии, поэтому не большая часть рисунка показана из исторических данных. Результатом этого анализа является то, что я мог бы ежедневно прогнозировать покупку товара, чтобы дать инструкцию, когда мы должны требовать товар.

+0

См. [Mcve] о том, как обеспечить воспроизводимый пример при задании вопросов о SO. –

ответ

1

Сначала рассмотрим возможность добавления воспроизводимого примера для более существенного ответа. Посмотрите на наиболее распространенный вопрос с тегом R для практического использования.

EDIT: Я думаю, что это то, что вы хотите, прежде чем создавать Ts:

data.agg <- aggregate(data$purchase, by = list(data$date, data$item), FUN = sum) 

Если данные еще не класса «ц» вы можете создать объект временных рядов с помощью команды ts(). Из ?ts страницы:

ts(data = NA, start = 1, end = numeric(), frequency = 1, 
    deltat = 1, ts.eps = getOption("ts.eps"), class = , names =) 
as.ts(x, ...) 

Как правило, вы можете использовать функцию HoltWinters для экспоненциального сглаживания следующим образом:

data.hw <- HotlWinters(data) 
data.predict <- predict(data.hw, n.ahead = x) # for x = units of time ahead you would like to predict 

Смотрите также ?HoltWinters для получения дополнительной информации о функции

Возпроизводимо Пример для заполнителя:

data <- data.frame(date = c(1, 2, 1, 2, 1, 1), item = c('b','b','a','a', 'a', 'a'), purchase = c(5,15, 23, 7, 12, 11)) 

data.agg <- aggregate(data$purchase, by = list(data$date, data$item), FUN = sum) 

Воспроизводимый пример для HoltWinters:

library(AER) 
data("UKNonDurables") 

nd <- window((log(UKNonDurables)), end = c(1970, 4)) 
tsp(nd) 
hw <- HoltWinters(nd) 
pred <- predict(hw, n.ahead = 35) 
pred 

plot(hw, pred, ylim = range(log(UKNonDurables))) 
lines(log(UKNonDurables)) 
+0

Это полезно, однако элементы дублируются, мне нужно построить его Уникальные способы без дублированной переменной, так что у него есть только 1 Предмет с ежедневной покупкой. @ daniel-winkler – user3292755

+0

Просто уточнить: хотите ли вы общее количество покупок в день независимо от товара или общего количества покупок в день за товар? –

+0

Элемент также очень важен для анализа, поэтому я хотел бы видеть количество покупок в день за элемент @daniel – user3292755