小编Sum*_*way的帖子

时间序列预测,处理已知的大订单

我有很多已知异常值的数据集(大订单)

data <- matrix(c("08Q1","08Q2","08Q3","08Q4","09Q1","09Q2","09Q3","09Q4","10Q1","10Q2","10Q3","10Q4","11Q1","11Q2","11Q3","11Q4","12Q1","12Q2","12Q3","12Q4","13Q1","13Q2","13Q3","13Q4","14Q1","14Q2","14Q3","14Q4","15Q1", 155782698, 159463653.4, 172741125.6, 204547180, 126049319.8, 138648461.5, 135678842.1, 242568446.1, 177019289.3, 200397120.6, 182516217.1, 306143365.6, 222890269.2, 239062450.2, 229124263.2, 370575384.7, 257757410.5, 256125841.6, 231879306.6, 419580274, 268211059, 276378232.1, 261739468.7, 429127062.8, 254776725.6, 329429882.8, 264012891.6, 496745973.9, 284484362.55),ncol=2,byrow=FALSE)
Run Code Online (Sandbox Code Playgroud)

这个特定系列的前11个异常值是:

outliers <- matrix(c("14Q4","14Q2","12Q1","13Q1","14Q2","11Q1","11Q4","14Q2","13Q4","14Q4","13Q1",20193525.68, 18319234.7, 12896323.62, 12718744.01, 12353002.09, 11936190.13, 11356476.28, 11351192.31, 10101527.85, 9723641.25, 9643214.018),ncol=2,byrow=FALSE)
Run Code Online (Sandbox Code Playgroud)

有哪些方法可以预测考虑这些异常值的时间序列?

我已经尝试更换下一个最大的异常值(因此,运行数据集10次,用下一个最大值替换异常值,直到第10个数据集替换掉所有异常值).我也试过简单地删除异常值(因此每次再次运行数据集10次删除异常值,直到在第10个数据集中删除所有10个异常值)

我只想指出,删除这些大订单并不会完全删除数据点,因为该季度还会发生其他交易

我的代码通过多个预测模型测试数据(ARIMA加权样本,ARIMA加权样本,ARIMA加权,ARIMA,加性Holt-winters加权和Multiplcative Holt-winters加权)所以它需要是可以的适应这些多种模式.

以下是我使用的几个数据集,但我没有这些系列的异常值

data <- matrix(c("08Q1","08Q2","08Q3","08Q4","09Q1","09Q2","09Q3","09Q4","10Q1","10Q2","10Q3","10Q4","11Q1","11Q2","11Q3","11Q4","12Q1","12Q2","12Q3","12Q4","13Q1","13Q2","13Q3","13Q4","14Q1","14Q2","14Q3", 26393.99306, 13820.5037, 23115.82432,    25894.41036,    14926.12574,    15855.8857, 21565.19002,    49373.89675,    27629.10141,    43248.9778, 34231.73851,    83379.26027,    54883.33752,    62863.47728,    47215.92508,    107819.9903,    53239.10602,    71853.5,    59912.7624, 168416.2995,    64565.6211, 94698.38748,    80229.9716, 169205.0023, …
Run Code Online (Sandbox Code Playgroud)

r time-series outliers forecasting

22
推荐指数
1
解决办法
1322
查看次数

通过y = 0创建一条直线虚线/虚线

我希望能够通过y = 0绘制一条微弱的虚线或虚线,以便在绘制的线条低于0时使其更加明显.如果可能的id,就像y = 0线下方的图形的整个区域一样,将被轻微阴影当绘制的线下降到零以下时显示更好.

这里只是一个我希望阴影/绘制线条的图形示例:

http://s27.postimg.org/v94uey56r/Rplot02.png

有很多不同的图表类型,我想这样做,所以它不必具体,只要它的工作,所以我有一个大概的做什么是足够好的:)

谢谢

plot r graph

12
推荐指数
1
解决办法
2万
查看次数

预测的准确性测试

我找到了一个网站,它准确地解释了我需要为我的数据做些什么,但它不在R中.任何人都可以建议我如何在R中创建它?

http://people.duke.edu/~rnau/three.htm

我需要找到MSE,MAE,MAPE,ME,MPE,SSE来测试预测的准确性,这个页面是我发现的最接近解释如何做的.

data<-c(79160.56266,91759.73029,91186.47551,106353.8192,70346.46525,80279.15139,82611.60076,131392.7209,93798.99391,105944.7752,103913.1296,154530.6937,110157.4025,117416.0942,127423.4206,156751.9979,120097.8068,121307.7534,115021.1187,150657.8258,113711.5282,115353.1395,112701.9846,154319.1785,116803.545,118352.535)
forecasts<-c(118082.3,157303.8,117938.7,122329.8) # found using arima
Run Code Online (Sandbox Code Playgroud)

(如果你把这个问题标记下来,你可以解释为什么请)

r forecasting

4
推荐指数
1
解决办法
8406
查看次数

if 函数出错

我运行了一个很长的脚本来决定我应该使用哪个模型来预测。在对数据的输入和输出样本进行准确性测试后,我创建了一个大型if函数来查找哪个模型最好,其结果将是“ARIMA”、“Arima.wgt”、“AddHW”、“MultHW”、“ AddHWwgt”和“MultHWwgt”。在脚本期间,我从每个模型中获得了预测,我想使用该if函数来查看它们目前我编写的

if(maxmod<-"ARIMA")
  modelf<-ArimaALTfa else
    if(maxmod<-"Arima.wgt")
      modelf<-ArimaALTfb else
        if(maxmod<-"AddHW")
          modelf<-HWAbfc else
            if(maxmod<-"MultHW")
              modelf<-HWMbfd else
                if(maxmod<-"AddHWwgt")
                  modelf<-HWAALTfe else
                    modelf<-HWMALTff
Run Code Online (Sandbox Code Playgroud)

但我不断收到错误

Error in if (maxmod <- "ARIMA") modelf <- ArimaALTfa else if (maxmod <- "Arima.wgt") modelf <- ArimaALTfb else if (maxmod <- "AddHW") modelf <- HWAbfc else if (maxmod <- "MultHW") modelf <- HWMbfd else if (maxmod <- "AddHWwgt") modelf <- HWAALTfe else modelf <- HWMALTff : 
  argument is not interpretable as logical
Run Code Online (Sandbox Code Playgroud)

这发生在我尝试过的许多不同的事情上,例如,而不是modelf<-""我尝试过View("",title=""), …

if-statement r function

2
推荐指数
1
解决办法
55
查看次数

标签 统计

r ×4

forecasting ×2

function ×1

graph ×1

if-statement ×1

outliers ×1

plot ×1

time-series ×1