Hi
Thank you very much for you interest and help in this "mysterious" problem.
I am going to investigate the random numbers issue. Concerning the
order.maxit helps but it is not what I have in mind. I think that in
case
order.max <- if (is.null(order.max)) floor(10 * log10(n.))
else round(order.max)
I am going to explain better what my procedure is J
- I have developed a new approach to obtain forecast intervals. In
this approach I select the order p of the autoregressive approximation by
AIC criterion.
- Until now I only test it in few time series
- Now, I am using M1- competition data ( package: Mcomp) and for
the *Yearly data* it is catastrophic L (error occurs)
> M1
M-Competition data: 1001 time series
Type of data
Period DEMOGR INDUST MACRO1 MACRO2 MICRO1 MICRO2 MICRO3 Total
MONTHLY 75 183 64 92
10 89 104 617
QUARTERLY 39 18 45 59 5
21 16 203
*YEARLY* 30 35 30 29 16
29 12 181
I am going to investigate deeper the order.max and the randomness.
Thank you again for your time.
Best,
Clara
> sessionInfo()
R version 2.6.0 (2007-10-03)
i386-pc-mingw32
locale:
LC_COLLATE=Portuguese_Portugal.1252;LC_CTYPE=Portuguese_Portugal.1252;LC_MONETARY=Portuguese_Portugal.1252;LC_NUMERIC=C;LC_TIME=Portuguese_Portugal.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] Mcomp_1.07 forecast_1.07 tseries_0.10-12 zoo_1.4-0
[5] quadprog_1.4-11
loaded via a namespace (and not attached):
[1] grid_2.6.0 lattice_0.16-5 tools_2.6.0
2007/11/24, Steven McKinney <[EMAIL PROTECTED]>:
>
>
> Hi Clara,
>
> I suspect your error is happening because your input data
> is short (9 observations). In the help for ar() for
> argument "order.max" it states
>
> order.max Maximum order (or order) of model to fit. Defaults to
> 10*log10(N) where N is the number of observations except for method="mle"
> where it is the minimum of this quantity and 12.
>
> so perhaps the problem is 10*log10(9) is smaller than 1 and
> isn't being handled properly (this is just a guess).
>
> If I lengthen your data vector to be
> x<-ts(c(-0.2052083,-0.3764986,-0.3762448,0.3740089 ,0.2737568,2.8235722,-
> 1.7783313,0.2728676,-0.3273164,
> -0.2052083,-0.3764986,-0.3762448,0.3740089,0.2737568,2.8235722,-1.7783313,
> 0.2728676,-0.3273164),start=c(1978,3),frequency=4,end=c(1982,3))
>
> I can not trip the error.
>
> I filed a bug report.
>
> You might try specifying order.max in your
> function call. If I specify
> order.max = 1
> I can not trip the error.
>
> > res.ar<-ar(x,aic=TRUE,demean=F)
> > res.ar<-ar(x,aic=TRUE,demean=F)
> Error in if (order > 0) coefs[order, 1:order] else numeric(0) :
> missing value where TRUE/FALSE needed
> In addition: Warning message:
> In if (order > 0) coefs[order, 1:order] else numeric(0) :
> the condition has length > 1 and only the first element will be used
> > res.ar<-ar(x,aic=TRUE,demean=F)
> Error in if (order > 0) coefs[order, 1:order] else numeric(0) :
> missing value where TRUE/FALSE needed
> In addition: Warning message:
> In if (order > 0) coefs[order, 1:order] else numeric(0) :
> the condition has length > 1 and only the first element will be used
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar <-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar <-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar <-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar <-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar <-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
> > res.ar<-ar(x,aic=TRUE,demean=F, order.max = 1)
>
>
> > sessionInfo()
> R version 2.6.0 (2007-10-03)
> powerpc-apple-darwin8.10.1
>
> locale:
> en_CA.UTF-8/en_CA.UTF-8/en_CA.UTF-8/C/en_CA.UTF-8/en_CA.UTF-8
>
> attached base packages:
> [1] splines stats graphics grDevices utils datasets methods
> base
>
> other attached packages:
> [1] survival_2.34
>
> loaded via a namespace (and not attached):
> [1] tools_2.6.0
> >
>
>
> Steven McKinney
>
> Statistician
> Molecular Oncology and Breast Cancer Program
> British Columbia Cancer Research Centre
>
> email: smckinney +at+ bccrc +dot+ ca
>
> tel: 604-675-8000 x7561
>
> BCCRC
> Molecular Oncology
> 675 West 10th Ave, Floor 4
> Vancouver B.C.
> V5Z 1L3
> Canada
>
>
>
>
> -----Original Message-----
> From: [EMAIL PROTECTED] on behalf of Clara Cordeiro
> Sent: Fri 11/23/2007 7:38 AM
> To: [EMAIL PROTECTED]
> Subject: [R] help pleaseeeeeeeee
>
> Dears Sirs
>
> During my computational work I encountered unexpected behavior when
> calling
> "ar" function, namely
> # time series
> x<-ts(c(-0.2052083,-0.3764986 ,-0.3762448,0.3740089,0.2737568,2.8235722,-
> 1.7783313,0.2728676,-0.3273164),start=c(1978,3),frequency=4,end=c(1980,3))
>
> # ar function
> res.ar<-ar(x,aic=TRUE,demean=F)
>
> # call "ar" again and ............
> res.ar<-ar(x,aic=TRUE,demean=F)
> Error in if (order > 0) coefs[order, 1:order] else numeric(0) :
> missing value where TRUE/FALSE needed
> In addition: Warning messages:
> 1: In log(var.pred) : NaNs produced
> 2: In if (order > 0) coefs[order, 1:order] else numeric(0) :
> the condition has length > 1 and only the first element will be used
>
> For me it is mysterious why sometimes it works and others it does not,
> perhaps I am doing something wrong and stupid :-(
>
> If anyone had already had this problem could you please tell me how you
> have
> solved it?
>
> Thank you for your time.
>
> Best Regards,
>
> Clara Cordeiro
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> [email protected] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html<http://www.r-project.org/posting-guide.html>
> and provide commented, minimal, self-contained, reproducible code.
>
>
[[alternative HTML version deleted]]
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.