Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2005
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: runs test once more


On May 23, 2005, at 2:21 AM, Csukas Attila wrote:

> Dear Everybody,
>
> I have checked the runs test, and it seems I have missed one step as a
> preparation. Now I have arranged all the observed and predicted values
> to the third column (third in the brackets) to the second column I
> inserted 1 for the observed values, 2 for the predicted values by the
> model (second in the brackets), and the first column contains the id
> for each case. For each id I would like to know whether there is a
> systematic bias between observed and predicted values or not.
> Basically, I am expecting nonsignificant runs test result, because  
> that
> would prove me, that the model fitted well. I hope could make clear my
> question now and would appreciate any help, hint and comment on the
> matter.
>
> Thank you in advance! One of the beginners..
>
> Attila Csukas
>
> Here is the new data :
>
> {{id, run, obspred}, {2, 1, 116.9}, {2, 1, 122.1}, {2, 1, 126.1},  
> {2, 1,
>     131.1}, {2, 1, 137.1}, {2, 1, 141.1}, {2, 1, 148.3}, {2, 1,
>     161.2}, {2, 1, 165.9}, {2, 1, 167.8}, {2, 1, 168}, {2, 1,
>     170.1}, {2, 2, 116.486}, {2, 2,
>     122.073}, {2, 2, 127.074}, {2, 2, 131.598}, {2, 2, 135.899},  
> {2, 2,
>       140.88}, {2, 2, 149.053}, {2, 2, 160.338}, {2, 2,
>     166.697}, {2, 2, 168.316}, {2, 2, 168.617}, {2, 2, 168.67}, {4,
>      1, 120.8}, {4, 1, 128.2}, {4, 1, 134.5}, {4, 1, 138.9}, {4,
>     1, 145.2}, {4, 1, 153.7}, {4, 1, 163.7}, {4, 1, 170.1}, {4, 1,
> 172.1}, {4,
>      1, 174.4}, {4, 1, 177.3}, {4, 1, 177.3}, {4, 2, 121.477}, {4, 2,
>      127.612}, {4, 2, 133.438}, {4, 2, 139.369}, {4, 2, 146.045},  
> {4, 2,
>      154.016}, {4, 2, 162.616}, {4, 2, 169.62}, {4, 2, 173.697}, {4,
>     2, 175.536}, {4, 2, 176.255}, {4, 2, 176.518}, {7, 1, 111.8}, {7,
>     1, 115.5}, {7, 1, 122.1}, {7, 1, 126.8}, {7, 1, 132.4}, {7,
>     1, 136.4}, {7, 1, 139.1}, {7, 1, 145.3}, {7, 1, 152.1}, {7,
>     1, 161}, {7, 1, 163.2}, {7, 1, 164.1}, {7, 2, 110.578}, {7,
>     2, 116.887}, {7, 2, 122.456}, {7, 2, 127.377}, {7, 2,
>     131.743}, {7, 2, 135.698}, {7, 2, 139.616}, {7, 2, 144.669},  
> {7, 2,
>     152.685}, {7, 2, 160.428}, {7, 2, 163.488}, {7, 2, 164.176}}
>
>
> On 2005/05/21, at 15:41, Ray Koopman wrote:
>
>
>> Csukas Attila wrote:
>>
>>> Dear Everybody,
>>>
>>> I am facing to a new problem and if it is possible would like
>>> to ask some help from experts as you are.
>>> I have observed values (second in the brackets) for three ids
>>> (first in the brackets) and also have predicted values (third
>>> in the brackets) estimated by a model. I would like to use runs
>>> test to prove that the model fitted well, that is there is no
>>> significant difference between observed and predicted values
>>> for each id.
>>>
>>> Does anybody know how can it be done? Any help is appreciated!
>>> Thanks in advance!
>>>
>>> Out[10] = {{id,obs,pred},
>>> {2,116.9,116.486}, {2,122.1,122.073}, {2,126.1,127.074},
>>> {2,131.1,131.598}, {2,137.1,135.899}, {2,141.1,140.88 },
>>> {2,148.3,149.053}, {2,161.2,160.338}, {2,165.9,166.697},
>>> {2,167.8,168.316}, {2,168. ,168.617}, {2,170.1,168.67 },
>>> {4,120.8,121.477}, {4,128.2,127.612}, {4,134.5,133.438},
>>> {4,138.9,139.369}, {4,145.2,146.045}, {4,153.7,154.016},
>>> {4,163.7,162.616}, {4,170.1,169.62 }, {4,172.1,173.697},
>>> {4,174.4,175.536}, {4,177.3,176.255}, {4,177.3,176.518},
>>> {7,111.8,110.578}, {7,115.5,116.887}, {7,122.1,122.456},
>>> {7,126.8,127.377}, {7,132.4,131.743}, {7,136.4,135.698},
>>> {7,139.1,139.616}, {7,145.3,144.669}, {7,152.1,152.685},
>>> {7,161. ,160.428}, {7,163.2,163.488}, {7,164.1,164.176}}
>>>
>>> One of the mathgroup contributors had comments on Wald-Wolfowitz
>>> test but I have difficulties with the application for the above
>>> data. [...]
>>>
>>
>> Me too. Runs of *what* ?
>>
>>
>

Here is a naive approach.  I go just for the look.  First I separate  
the the observed from the predicted. 'lst' is your new list:

In[111]:=
lstobs = Select[lst,
     #1[[2]] == 1 & ];
lstpre = Select[lst,
     #1[[2]] == 2 & ];

separate the runs:

In[113]:=
lstobsruns =
    (#1[[All,3]] & ) /@
     Split[lstobs,
      #1[[1]] - #2[[1]] ==
        0 & ];
lstpreruns =
    (#1[[All,3]] & ) /@
     Split[lstpre,
      #1[[1]] - #2[[1]] ==
        0 & ];

create the Fourier of them:

In[115]:=
frlstobs = Fourier /@
     lstobsruns;
frlstpre = Fourier /@
     lstpreruns;

Separate the Real and Imaginary parts:

In[129]:=
reimfrlstobs = Thread /@
     ({Re[#1], Im[#1]} & ) /@
      frlstobs;
reimfrlstpre = Thread /@
     ({Re[#1], Im[#1]} & ) /@
      frlstpre;

combined them in such a way that one run's observed and predicted are  
with each other:

In[131]:=
listplotit = Flatten[
     Thread[{reimfrlstobs,
       reimfrlstpre}], 1];

And ListPlot them:

In[132]:=
(ListPlot[#1, PlotJoined ->
      True] & ) /@ listplotit

  Then just by looking at them you can see if the match is good  
enough or not.  It looks to me that all the observed runs have more  
"wiggle" in them than in the predictions :)

János


  • Prev by Date: Re: Solve or Reduce on a monstrosity of an expresssion (and a prize!)
  • Next by Date: Re: Solve or Reduce on a monstrosity of an expresssion (and a prize!)
  • Previous by thread: runs test once more
  • Next by thread: Re: runs test once more