Re: [R] R 3.1.2 : arima.sim(model=list(ma=0.5), n=250, innov=rnorm(250, mean=0, sd=0.1)) versus arima.sim(model=list(ma=0.5), n=250, mean=0, sd=0.1) = only the first element is not identical !

2015-07-13 Thread Fabien Tarrade

just to correct something :

in your test1 call, you are not  supplying arguments for what should 
be used for the innovations associated with start.innov which is used 
for the burn in period. So, arima.sim  uses the defaults of mean = 0 
and sd = 1.0.

 set.seed(123);
 test1 - arima.sim(model=list(ma=0.5), n = 
250,innov=rnorm(250,mean=0,sd=0.1))

 print(head(test1))
[1] -0.30326  0.14436  0.08499  0.01645  0.17797  0.13184

 set.seed(123);
 test3 - arima.sim(model=list(ma=0.5), innov = rnorm(250,mean=0, 
sd=1.0), n = 250, mean=0, sd=0.1)

 print(head(test3))
[1] -0.2582  1.4436  0.8499  0.1645  1.7797  1.3184

this doesn't seems to be true or I misinterpret you explanation

as pointed out by Mark in a previous message :
set.seed(123);
test4 - arima.sim(model=list(ma=0.5), innov = rnorm(250,mean=0, 
sd=0.1), n = 250, mean=0, sd=1.0)

print(head(test4))

do give the same result than test 1

Thanks
Cheers
Fabien
--
Dr Fabien Tarrade

Quantitative Analyst - Data Scientist - Researcher

Senior data analyst specialised in the modelling, processing and 
statistical treatment of data.
PhD in Physics, 10 years of experience as researcher at the forefront of 
international scientific research.

Fascinated by finance and data modelling.

Geneva, Switzerland

Email : cont...@fabien-tarrade.eu mailto:cont...@fabien-tarrade.eu
Phone : www.fabien-tarrade.eu http://www.fabien-tarrade.eu
Phone : +33 (0)6 14 78 70 90

LinkedIn http://ch.linkedin.com/in/fabientarrade/ Twitter 
https://twitter.com/fabtar Google 
https://plus.google.com/+FabienTarradeProfile/posts Facebook 
https://www.facebook.com/fabien.tarrade.eu Google 
skype:fabtarhiggs?call Xing https://www.xing.com/profile/Fabien_Tarrade

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.


Re: [R] R 3.1.2 : arima.sim(model=list(ma=0.5), n=250, innov=rnorm(250, mean=0, sd=0.1)) versus arima.sim(model=list(ma=0.5), n=250, mean=0, sd=0.1) = only the first element is not identical !

2015-07-13 Thread Fabien Tarrade

Hi Mark,

Thanks for your message and sorry for the delay but it took me some time 
to understand your message and to try few things.
I think one would say that that is not a bug. I looked at the details 
of arima.sim ( using debug(arima.sim) )
and there are two different series that are created inside the 
function. one is called innov and the other is start.innov. start.innov is

used to create a burn in period for the constructed series.
I am not sure I fully understand how the 2 time series are created :one 
is called innov and the other is start.innov but what I am not sure to 
understand is the following :


nobs = 500

set.seed(183);
test1 - arima.sim(model=list(ma=0.5), n = 
nobs,innov=rnorm(nobs,mean=0,sd=0.1))


set.seed(183);
test2 - arima.sim(model=list(ma=0.5), n=nobs, mean=0, sd=0.1)

sum(abs(test1-test2)0)
test1[1]
test2[1]
test1[2]
test2[2]

Browse[4] sum(abs(test1-test2)0)
[1] 1
Browse[4] test1[1]
[1] 0.09417
Browse[4] test2[1]
[1] -0.02648
Browse[4] test1[2]
[1] -0.1053
Browse[4] test2[2]
[1] -0.1053

which indicate that on 5 millions of generated event with the 2 methods 
only the first element is different ! (I try to change the seed and I 
saw the same). I could understand that most of the element are different 
but the fact that only the first one is different is something that I 
don't understand, sorry.



I made a copy of the function to play a bit and print some value :

= first line :
   test1 - test(model=list(ma=0.5), n = 
nobs,innov=rnorm(nobs,mean=0,sd=0.1))


= second line :
   test2 - test(model=list(ma=0.5), n=nobs, mean=0, sd=0.1)


after :
x - ts(c(start.innov[seq_len(n.start)], innov[1L:n]), start = 1 -
n.start)
I see :
[1]  0.2681255 -0.0398882 -0.0853729 -0.0707863 -0.0262917 -0.0001408
[1]  0.0268126 -0.0398882 -0.0853729 -0.0707863 -0.0262917 -0.0001408

after :
if (length(model$ma)) {
x - filter(x, c(1, model$ma), sides = 1L)
x[seq_along(model$ma)] - 0
}
I see :
[1]  0.0  0.09417 -0.10532 -0.11347 -0.06168 -0.01329
[1]  0.0 -0.02648 -0.10532 -0.11347 -0.06168 -0.01329

after :
if (length(model$ar))
x - filter(x, model$ar, method = recursive)
I see :
[1]  0.0  0.09417 -0.10532 -0.11347 -0.06168 -0.01329
[1]  0.0 -0.02648 -0.10532 -0.11347 -0.06168 -0.01329

after :
if (n.start  0)
x - x[-(seq_len(n.start))]
I see :
[1]  0.09417 -0.10532 -0.11347 -0.06168 -0.01329
[1] -0.02648 -0.10532 -0.11347 -0.06168 -0.01329

after :
if (d  0)
x - diffinv(x, differences = d)
I see :
[1]  0.09417 -0.10532 -0.11347 -0.06168 -0.01329
[1] -0.02648 -0.10532 -0.11347 -0.06168 -0.01329

so the difference appear since the beginning with the with element and 
which seems to be divided by 10!


after :
x - ts(c(start.innov[seq_len(n.start)], innov[1L:n]), start = 1 -
n.start)
I see :
[1]  0.2681255 ...
[1]  0.0268126 ...

in your test1 call, you are not  supplying arguments for what should 
be used for the innovations associated with start.innov which is used 
for the burn in period. So, arima.sim  uses the defaults of mean = 0 
and sd = 1.0.

 set.seed(123);
 test1 - arima.sim(model=list(ma=0.5), n = 
250,innov=rnorm(250,mean=0,sd=0.1))

 print(head(test1))
[1] -0.30326  0.14436  0.08499  0.01645  0.17797  0.13184

 set.seed(123);
 test3 - arima.sim(model=list(ma=0.5), innov = rnorm(250,mean=0, 
sd=1.0), n = 250, mean=0, sd=0.1)

 print(head(test3))
[1] -0.2582  1.4436  0.8499  0.1645  1.7797  1.3184

this doesn't seems to be true or I misinterpret you explanation
For your test2 call, you do provide them ( so they are used for both 
innov and start.innov )  and you use  sd = 0.1 So, for test2,  the 
values  for the burn in period end up being different from the ones in 
test1.
I am not sure I understand the meaning of burn in period. Do we expect 
that to change only the first element of 2 time series of 5M of events 


Below, I made a test3 that can be used to get the same values as 
test2. In short, by specifiying the innov call EXACTLY in test1, 
you're letting
arima.sim use the default arguments for the start.innov call so that's 
why they're different.

I did the test and I agree

Thanks a lot
Cheers
Fabien



#
 ##undebug(arima.sim)

set.seed(123);
test1 - arima.sim(model=list(ma=0.5), n = 
250,innov=rnorm(250,mean=0,sd=0.1))

print(head(test1))

set.seed(123);
test2 - arima.sim(model=list(ma=0.5), n=250, mean=0, sd=0.1)
print(head(test2))

set.seed(123);
test3 - arima.sim(model=list(ma=0.5), innov = rnorm(250,mean=0, 
sd=0.1), n = 250, mean=0, sd=0.1)

print(head(test3))

On Sat, Jul 11, 2015 at 3:46 AM, Fabien Tarrade 
fabien.tarr...@gmail.com mailto:fabien.tarr...@gmail.com wrote:


Dear all,

When doing a DataCamp tutorial with R I find the following

[R] R 3.1.2 : arima.sim(model=list(ma=0.5), n=250, innov=rnorm(250, mean=0, sd=0.1)) versus arima.sim(model=list(ma=0.5), n=250, mean=0, sd=0.1) = only the first element is not identical !

2015-07-11 Thread Fabien Tarrade

Dear all,

When doing a DataCamp tutorial with R I find the following observation 
that using 2 different syntax for arima.sim give different answer for 
the first element


If I use the the function using the list of argument describe in the 
help manual :

arima.sim(model=list(ma=0.5),n=250,innov=rnorm(250,mean=0,sd=0.1))

or if I use the following syntax use in a DataCamp example :

arima.sim(model=list(ma=0.5), n=250, mean=0, sd=0.1) it is accepted by 
DataCamp


I don't find exactly the same results. The reason is that even if the 
seed is the same in both cases the first element is not identical while 
it should be (it doesn't mean that the results is wrong, maybe for the 
first element the seed is not propagated correctly)


here the results of the difference using the same seed (only the first 
element is different using the 2 different syntaxes) :


  [1] -0.252214  0.00  0.00  0.00  0.00  0.00 
0.00  0.00  0.00  0.00
 [11]  0.00  0.00  0.00  0.00  0.00 0.00  
0.00  0.00  0.00  0.00



here the code to reproduce this feature :

set.seed(123);
test1 - 0.05 + 
arima.sim(model=list(ma=0.5),n=250,innov=rnorm(250,mean=0,sd=0.1))

set.seed(123);
test2 - 0.05 + arima.sim(model=list(ma=0.5), n=250, mean=0, sd=0.1)

test1-test2

I am using R 3.1.2 GUI 1.65 Mavericks build (6833) on Mac (I guess arima 
come with stats which is included in R (?))
The DataCamp team ask me to report to you about this observation on this 
mailing list. If you want me to fill a bug report some R bug tracking 
system, let me know


Please tell me if this is the wrong list and which other information do 
you need from R and how to get then (compiler, version of some R 
packages ...)



Hope this help
Thanks
Cheers
Fabien
--
Dr Fabien Tarrade

Quantitative Analyst - Data Scientist - Researcher

Senior data analyst specialised in the modelling, processing and 
statistical treatment of data.
PhD in Physics, 10 years of experience as researcher at the forefront of 
international scientific research.

Fascinated by finance and data modelling.

Geneva, Switzerland

Email : cont...@fabien-tarrade.eu mailto:cont...@fabien-tarrade.eu
Phone : www.fabien-tarrade.eu http://www.fabien-tarrade.eu
Phone : +33 (0)6 14 78 70 90

LinkedIn http://ch.linkedin.com/in/fabientarrade/ Twitter 
https://twitter.com/fabtar Google 
https://plus.google.com/+FabienTarradeProfile/posts Facebook 
https://www.facebook.com/fabien.tarrade.eu Google 
skype:fabtarhiggs?call Xing https://www.xing.com/profile/Fabien_Tarrade

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.


Re: [R] R 3.1.2 : arima.sim(model=list(ma=0.5), n=250, innov=rnorm(250, mean=0, sd=0.1)) versus arima.sim(model=list(ma=0.5), n=250, mean=0, sd=0.1) = only the first element is not identical !

2015-07-11 Thread Mark Leeds
Hi Fabian: I think one would say that that is not a bug. I looked at the
details of arima.sim ( using debug(arima.sim) )
 and there are two different series that are created inside the function.
one is called innov and the other is start.innov. start.innov is
used to create a burn in period for the constructed series.

in your test1 call, you are not  supplying arguments for what should be
used for the innovations associated with start.innov which is used for the
burn in period. So, arima.sim  uses the defaults of mean = 0 and sd = 1.0.
For your test2 call, you do provide them ( so they are used for both innov
and start.innov )  and you use  sd = 0.1 So, for test2,  the values  for
the burn in period end up being different from the ones in test1.

Below, I made a test3 that can be used to get the same values as test2. In
short, by specifiying the innov call EXACTLY in test1, you're letting
arima.sim use the default arguments for the start.innov call so that's why
they're different.


#
 ##undebug(arima.sim)

set.seed(123);
test1 - arima.sim(model=list(ma=0.5), n =
250,innov=rnorm(250,mean=0,sd=0.1))
print(head(test1))

set.seed(123);
test2 - arima.sim(model=list(ma=0.5), n=250, mean=0, sd=0.1)
print(head(test2))

set.seed(123);
test3 - arima.sim(model=list(ma=0.5), innov = rnorm(250,mean=0, sd=0.1), n
= 250, mean=0, sd=0.1)
print(head(test3))

On Sat, Jul 11, 2015 at 3:46 AM, Fabien Tarrade fabien.tarr...@gmail.com
wrote:

 Dear all,

 When doing a DataCamp tutorial with R I find the following observation
 that using 2 different syntax for arima.sim give different answer for the
 first element

 If I use the the function using the list of argument describe in the help
 manual :
 arima.sim(model=list(ma=0.5),n=250,innov=rnorm(250,mean=0,sd=0.1))

 or if I use the following syntax use in a DataCamp example :

 arima.sim(model=list(ma=0.5), n=250, mean=0, sd=0.1) it is accepted by
 DataCamp

 I don't find exactly the same results. The reason is that even if the seed
 is the same in both cases the first element is not identical while it
 should be (it doesn't mean that the results is wrong, maybe for the first
 element the seed is not propagated correctly)

 here the results of the difference using the same seed (only the first
 element is different using the 2 different syntaxes) :

   [1] -0.252214  0.00  0.00  0.00  0.00  0.00
 0.00  0.00  0.00  0.00
  [11]  0.00  0.00  0.00  0.00  0.00 0.00
 0.00  0.00  0.00  0.00


 here the code to reproduce this feature :

 set.seed(123);
 test1 - 0.05 +
 arima.sim(model=list(ma=0.5),n=250,innov=rnorm(250,mean=0,sd=0.1))
 set.seed(123);
 test2 - 0.05 + arima.sim(model=list(ma=0.5), n=250, mean=0, sd=0.1)

 test1-test2

 I am using R 3.1.2 GUI 1.65 Mavericks build (6833) on Mac (I guess arima
 come with stats which is included in R (?))
 The DataCamp team ask me to report to you about this observation on this
 mailing list. If you want me to fill a bug report some R bug tracking
 system, let me know

 Please tell me if this is the wrong list and which other information do
 you need from R and how to get then (compiler, version of some R packages
 ...)


 Hope this help
 Thanks
 Cheers
 Fabien
 --
 Dr Fabien Tarrade

 Quantitative Analyst - Data Scientist - Researcher

 Senior data analyst specialised in the modelling, processing and
 statistical treatment of data.
 PhD in Physics, 10 years of experience as researcher at the forefront of
 international scientific research.
 Fascinated by finance and data modelling.

 Geneva, Switzerland

 Email : cont...@fabien-tarrade.eu mailto:cont...@fabien-tarrade.eu
 Phone : www.fabien-tarrade.eu http://www.fabien-tarrade.eu
 Phone : +33 (0)6 14 78 70 90

 LinkedIn http://ch.linkedin.com/in/fabientarrade/ Twitter 
 https://twitter.com/fabtar Google 
 https://plus.google.com/+FabienTarradeProfile/posts Facebook 
 https://www.facebook.com/fabien.tarrade.eu Google
 skype:fabtarhiggs?call Xing https://www.xing.com/profile/Fabien_Tarrade
 
 __
 R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
 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.


[[alternative HTML version deleted]]

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.