From murdoch@dunc@n @end|ng |rom gm@||@com  Thu Jan  2 17:20:31 2025
From: murdoch@dunc@n @end|ng |rom gm@||@com (Duncan Murdoch)
Date: Thu, 2 Jan 2025 11:20:31 -0500
Subject: [Rd] Possible issue in stats/arima.R package
In-Reply-To: <CAMUMQUSh5t2sazypdiAeOSJ2MQssNfb89jQJvvBwRbA1PwAqeA@mail.gmail.com>
References: <CAMUMQUSh5t2sazypdiAeOSJ2MQssNfb89jQJvvBwRbA1PwAqeA@mail.gmail.com>
Message-ID: <822e67f1-5900-4355-b231-a09c8691d4ae@gmail.com>

On 2025-01-02 9:04 a.m., Norbert Kuder wrote:
> Hello all,
> 
> I am running R version 4.4.2 (2024-10-31 ucrt) on Windows 10 x64, and
> noticed something that might be a minor bug (or at least inconsistent code)
> in the stats/arima.R package.
> I have found:
> 1. A missing stop() call at line 69:
>      if (length(order) == 3) seasonal <- list(order = seasonal) else
> ("\'seasonal\' is of the wrong length")
> it should be rather:
>      if (length(order) == 3) seasonal <- list(order = seasonal) else
> stop("\'seasonal\' is of the wrong length")

I think you're right about this one.

> 
> 2. An unused 'mod' variable assignment at line 190:
> 
> mod <- makeARIMA(trarma[[1]], trarma[[2]], Delta, kappa, SSinit)
> 
> I am trying to confirm whether this is intended behavior or possibly an
> overlooked detail. Could someone please clarify if the current logic is
> correct?
> 

In the R-devel source I see mod being used in the next statement:

         mod <- makeARIMA(trarma[[1L]], trarma[[2L]], Delta, kappa, SSinit)
         val <- if(ncxreg > 0L)
             arimaSS(x - xreg %*% coef[narma + (1L:ncxreg)], mod)
         else arimaSS(x, mod)

It appears in both alternatives of the if statement.

This one is strange though:  the code in the github mirror 
(https://github.com/wch/r-source/blob/4a1ed749271c52e60a85e794e6f34b0831efb1ae/src/library/stats/R/arima.R#L256-L258) 
is different:

         mod <- makeARIMA(trarma[[1L]], trarma[[2L]], Delta, kappa, SSinit)
         if(ncxreg > 0) x <- x - xreg %*% coef[narma + (1L:ncxreg)]
         arimaSS(x, mod)

yet the log shows no recent changes.  I'm not sure what's going on.

Duncan Murdoch



[Rd] Possible issue in stats/arima.R package
Duncan Murdoch