【发布时间】:2014-12-26 12:54:32
【问题描述】:
我有一个 R 数据框,它描述了产品销售的演变过程。每季度 2000 家商店,有 5 列(即 5 个时间段)。我想知道如何用R分析它。
我已经试着做了一些基本的分析,就是先确定第一期、第二期等的平均销售额,然后确定每个期的平均值,然后比较每个期的演变情况。店铺相对于这个大体演变。例如,第一期总共有 50 000 个销售额,第 5 期总共有 35 000 个销售额,所以我假设每个商店在第 5 期的正常销售额是 35/55=0.63*第 1 期的金额period's sale:如果店铺X在第一期卖出了100件,我假设它在第五期正常应该卖出63件。
显然,这是一种简单易行的方法,但在统计上并不相关。
我想要一种方法,它可以让我确定一个最小化我的 R 格的趋势抑制。我的目标是能够通过中和总体趋势来分析商店的销售额:我想通过统计上正确的方法准确了解哪些是表现不佳的商店和哪些是表现出色的商店 .
我的数据框是这样构造的:
shopID | sum | qt1 | qt2 | qt3 | qt4 | qt5
000001 | 150 | 45 | 15 | 40 | 25 | 25
000002 | 100 | 20 | 20 | 20 | 20 | 20
000003 | 500 | 200 | 0 | 100 | 100 | 100
... (2200 rows)
我尝试将我的时间序列放在一个列表中,这是成功的,具有以下功能:
reversesales=t(data.frame(sales$qt1,sales$qt2,sales$qt3,sales$qt4,sales$qt5))
# I reverse rows and columns of the frame in order that the time periods be the rows
timeser<-ts(reversesales,start=1,end=5, deltat=1/4)
# deltat=1/4 because it is a quarterly basis, 1 and 5 because I have 5 quarters
不过,我无法对这个变量做任何事情。我不能做任何情节(使用“情节”功能),因为有 2200 行(所以 R 想让我连续绘制 2200 个情节,显然这不是我想要的)。
另外,我不知道如何确定每个店铺每个时期的销售额的理论趋势和理论值...
感谢您的帮助! (圣诞快乐)
【问题讨论】:
-
我建议使用混合模型确定整体趋势,然后将个别商店的表现与此趋势进行比较
-
您的意思是,通过计算每个季度的总销售额来确定总体趋势,然后将该趋势应用于每个单独的商店?
-
没有。在这种方法中,您将各个商店视为随机效应。在此处查找描述en.wikipedia.org/wiki/Random_effects_model
-
你能提供你的数据吗?
-
不,很抱歉我不能(非常敏感的数据)。但这真的很像我在第一条消息中插入的数据框。我理解随机效应模型。在这里,我猜趋势是:销售额 ~ alpha + beta*time,或者一些类似的估计与 t² 或类似的东西。但我不知道如何在 R 中对其进行建模。
标签: r time-series trend