【R语言】作业:时间序列分析

---
title: "时间序列"
author: "曹和瑞 冷忞杰"
date: "2020/3/27"
output:
  html_document: default
  pdf_document: default
---

```{r include = FALSE} 
if(!knitr:::is_html_output())
{
  options("width"=56)
  knitr::opts_chunk$set(tidy.opts=list(width.cutoff=56, indent = 2), tidy = TRUE)
  knitr::opts_chunk$set(fig.pos = 'H')
}
```
# 季度:时间序列预测
## 数据预处理

我们首先将销售情况数据集导入,将orderid列拆分为center、year、product三项,以便于将时间信息提取出来单独研究。

```{r echo=FALSE, message=FALSE, warning=FALSE}
# 清空环境,设置工作目录
rm(list=ls())
setwd("G:/R default work directory") # 设置数据集和分析结果所在工作目录
begin<- Sys.time()

options(warn=-1) #消除警告信息
library(dplyr)
library(ggplot2)
library(readxl)
orders<-read_excel("global-superstore.xlsx","订单")

library(tidyr)
orders0<- orders %>%
  separate(col =orderid,
           into =c('center','year','product'),
           sep ='-')
```

## 各个市场不同类别的细分市场的销售数量

```{r pressure1, echo=TRUE}
y_axis_formatter=function(x){
  return(paste(x/1000,'K',sep=""))
}
ggplot(orders,aes(x=segment,y=quantity))+
  geom_bar(stat='identity')+
  facet_grid(type~market)+
  scale_y_continuous(labels=y_axis_formatter)+
  xlab("细分市场")+
  ylab("数量")+
  coord_flip()
```

如图可知,按照类型划分,办公用品销量最高,其次是家具;按照细分市场划分,对单一消费者的销量最高,其次是公司;按照市场地理位置划分,亚太地区、欧盟、拉丁美洲和美国销量最高。

## 按年份汇总销售量

```{r pressure2, echo=TRUE}
orders%>%mutate(year=lubridate::year(purchasedate))%>%
  group_by(year)%>%
  summarise(totalsales=sum(sales))
```

根据年份划分,我们能够清晰地看出,2014年的产品销量最多,且销量呈现出逐年递增的趋势。

## 不同年份各季度的汇总1

```{r pressure3, echo=TRUE}
orders%>%mutate(year=lubridate::year(purchasedate),
                quarter=lubridate::quarter(purchasedate)
)%>%
  group_by(year,quarter)%>%
  summarise(totalsales=sum(sales))%>%
  ggplot(.,aes(x=year,y=totalsales))+
  geom_line()+
  facet_grid(.~quarter)
```

如图显示了四个季度在不同年份销售量的横向对比。由图可知,各同一季度2011-2014年,销量均呈现逐年递增趋势,且每年第一、二季度增速相对放缓,第四季度销量增幅最大;各年份同季度横向对比中,2012年、2013年增速相对放缓,2014年增速恢复较高水平。

## 不同年份各季度的汇总2

```{r pressure4, echo=TRUE}
orders%>%mutate(year=lubridate::year(purchasedate),
                quarter=lubridate::quarter(purchasedate)
)%>%
  group_by(year,quarter)%>%
  summarise(totalsales=sum(sales))%>%
  ggplot(.,aes(x=quarter,y=totalsales))+
  geom_line()+
  facet_grid(.~year)
```

如图显示了各年四个季度销售量的横向对比。如图可知,每年各个季度销量逐步递增,并在下一年第一季度回落。从整体销量变化情况来看,2011年第三季度、2012年第三季度、2013年第三季度销量出现超过预期的突增;2012年第二季度、2013年第二季度销量不足预期,出现缩减。

## 横轴是季度,以不同折线表示年份

```{r pressure5, echo=TRUE}
orders%>%mutate(year=
                  lubridate::year(purchasedate),
                quarter=
                  lubridate::quarter(purchasedate)
)%>%
  group_by(year,quarter)%>%
  summarise(totalsales=sum(sales))%>%
  ggplot(.,aes(x=quarter,y=totalsales,colour=
                 factor(year)))+
  geom_line()
```

该图为上一张图的折线形式,由图可知2014年的增速最高,销量最好。

## 不同年份按月汇总

```{r pressure6, echo=TRUE}
orders%>%mutate(year=lubridate::year(purchasedate),
                month=lubridate::month(purchasedate)
)%>%
  group_by(year,month)%>%
  summarise(totalsales=sum(sales))%>%
  ggplot(.,aes(x=month,y=totalsales,colour=
                 factor(year)))+
  geom_line()
```

## 不同类别各年按月汇总的趋势

```{r pressure7, echo=TRUE}
orders%>%mutate(year=
                  lubridate::year(purchasedate),
                month=
                  lubridate::month(purchasedate)
)%>%
  group_by(type,year,month)%>%
  summarise(totalsales=sum(sales))%>%
  ggplot(.,aes(x=month,y=totalsales,
               colour=factor(year)))+
  geom_line()+
  scale_x_continuous(breaks=1:12)+
  facet_grid(type~.)
```


## 各类别产品各年各月的总销售额

```{r pressure8, echo=TRUE}
orders%>%mutate(year=lubridate::year(purchasedate),
                month=lubridate::month(purchasedate,label=T)
)%>%
  group_by(type,year,month)%>%
  summarise(totalsales=sum(sales))%>%
  tidyr::spread(month,totalsales)
```

# **分析主要结论**

通过上述分析得到的主要结论如下:

- 从总体趋势来看,按照类型划分,办公用品销量最高,其次是家具;按照细分市场划分,对单一消费者的销量最高,其次是公司;按照市场地理位置划分,亚太地区、欧盟、拉丁美洲和美国销量最高。

- 各类产品总体销量呈现按季、按年递增趋势,间接反映产品销量呈现季节性特点;

- 随着时间的推移,各类产品年销量呈现非线性增长态势;局部销量在每年的第四季度达到最高,并于后一年的第一季度回落;




**本次数据分析耗时 `r round(difftime(Sys.time(),begin,units = "mins"),digits = 2)` 分钟**。

猜你喜欢

转载自blog.csdn.net/weixin_42067401/article/details/105162666