Trial number from randomseed
David McFarlane
mcfarla9 at msu.edu
Fri Mar 16 18:58:20 UTC 2012
First, let me clarify the "cautionary tale" here. The caution is not
merely to fully test your programs with sufficient test cases before
running subjects, although indeed that is key to good research;
rather, I meant to stress the caution of *fully* analyzing subject
data right from the start, and then throughout data collection. If
you had done that (instead of merely confirming that data files
existed), then you would have caught this problem with the first
subject and fixed it before running more.
So the full process goes something like this (this is an extended
version of what I present in the online course, which means I should
probably not be giving this away):
- Develop research question & hypotheses
- Design experimental task to explore hypotheses.
- Declare full set of specifications for the experimental task.
- Develop software to implement experimental task to declared specifications.
- Throughout software development, test with a full set of input
scenarios. For convenience you may run tests with a speeded-up
program, and for consistency you should use carefully designed canned
input sequences; you should develop thesee into a battery of test
cases as you go.
- Every time you make a change to the program, retest it with the
*entire* battery of test cases to insure that you have not
re-introduced bugs that you fixed earlier. This is known as
"regression testing", as it tests to see that your improved software
has not regressed to re-introduce previously fixed problems.
- When you have the program fully developed, do complete run-throughs
on yourself in real time (not sped up).
- Do more full run-throughs, in real time, on lab partners.
- Fix up all the problems revealed through the tests on yourself &
lab partners, etc.
- With all that done, run your first pilot subject.
- Take the data from the first pilot subject, and run it completely
through your intended data analysis (excepting for collective
analyses that require more subjects). This will likely reveal flaws
in your analysis methodology, which you will need to correct, and
those corrections may call for more changes to the program, which
will put you back several steps here again, etc.
- Once you have success from one pilot subject, go ahead and run a
few more pilot subjects, at least enough to complete some practice
collective analyses that you could not do earlier. That will reveal
more flaws, etc. etc.
- OK, now you can start collecting data in earnest. But still, you
need to keep looking in on your data, identifying anomalies to
handle, etc., etc.
I hope that captures the general flavor of this
enterprise. Remember, anytime you think that your program works, it
just means that it does not work, and you have simpy failed to
discover what it does wrong yet. Software development is very
deceptive that way.
Anyway, I hope that you do not hope that you can somehow use the
RandomSeed to recover the data directly from the data files you
have. All hope is lost for that. If your data files show only one
line, then they have no other "hidden" data to recover, RandomSeed or
no. What you see is what you have. Sure, you may use E-Recovery to
recover lost data from data .txt files, but if EP already
successfully created the .edat files, then E-Recovery will not find
any more data.
So what use is RandomSeed in this case? Well, if you *re-ran* the
.ebs program, after entering the RandomSeed, it should reproduce the
same sequence as during the subject's run. But even here you face
several "gotchas", because you would have to make other changes in
your program in order to get EP to reveal the sequence this time, and
who knows what effect that will have on the resulting trial
sequences? For one, you will modify the program to accept a
RandomSeed, but we may trust that that change alone will not affect
any sequences. Next, you might try running the program while
entering responses -- that might safely regenerate the sequence used
during the subject's run, but this time logging the data. Or you
might first fix the program to log data for non-responses, then run
it with the RandomSeed -- at that point you have made even more
changes to the program, so let's hope that that does not affect the sequence.
But this all seems to iffy and tedious to me. If it were me, I would
just scrap this data and start over. Consider yourself lucky. You
lost only two weeks of data. We had a graduate student here who lost
two years of dissertation data collected on paid clinical subjects
because they never properly examined the data during data
collection. That student failed to get their doctorate. And that's
why I am so touchy about this issue.
Finally, you might again consult PST Web Support on this, as they may
know something that I do not. And then please write back and tell me
where I got it wrong.
(Oh, and BTW, it's "no data *were* collected" -- that's a pet peeve
for us around here.)
-----
David McFarlane
E-Prime training
online: http://psychology.msu.edu/Workshops_Courses/eprime.aspx
Twitter: @EPrimeMaster (twitter.com/EPrimeMaster)
At 3/15/2012 06:36 PM Thursday, you wrote:
>Hi David,
>
>Thanks so much for your quick reply!
>
>Yes - the program failed to log any data at all!
>
>The first time I tried to run the program, to make sure everything was
>working, I pressed spacebar to move on to the next trial, and when I
>checked the data, I saw all the attributes listed. And I took it for
>granted, and didn't run the whole programme again by itself (without
>any response). It is really weird (and upsetting!) - I wouldn't know
>how to turn off the Procedure logging with any inline code. On the
>list with all the attributes, under property name - when I said I
>checked them, I guess I meant I made sure they were checked (and they
>definitely were). Also, I sent my previous message out in a state of
>panic so I probably wasn't very clear, but I tested the program on my
>own, and I responded to each trial when I tested it. However, when the
>students did the experiment, they did not respond at all - and for
>those, no data was collected.
>
>Anyway, I'm not entirely sure I understood the part about the
>RandomSeed - do you mean it's possible for me to retrieve the
>presentation order from the RandomSeed? I really hope so - because in
>principle, if the user can enter a randomseed number that fixes the
>presentation order, it should work the other way too?
>
>I will look around the knowledge base and pst website. I really hope I
>find something! Thanks!
>
>
> > So reading through your plea, I understand that your program did not
> > merely fail to log the trial/stimulus order (which would have been
> > odd, because by default EP *always* logs *every* List attribute used
> > *in presentation order*, whether you want it or not), but failed to
> > log any data *at all*. Is that right?
> >
> > And I am (figuratively) scratching my balding head trying to figure
> > out how you managed to get things logged when giving a response, but
> > not for non-responses. That is really weird. EP by default logs all
> > information at the end of each Procedure, response or not, so I
> > cannot imagine how you got rows of data for responses, but not for
> > non-responses. As far as I can figure, you would have to go *way*
> > out of your way to turn off the automatic Procedure logging and
> > replace it with your own inline code, which would be bad unless you
> > *really* knew what you were doing. So I must be overlooking
> > something obvious. But no matter.
> >
> > Finally, you said that, "On the list with all the attributes, under
> > Logging," you "checked the attributes property name". Hmm. By
> > default, those Logging attributes already have check marks; if you
> > went in and manually "checked" them, then you really unchecked them,
> > and that turned off their logging. But that would mean that they
> > would fail to log for both non-responses *and* responses, which does
> > not square with your account. So I am stumped on how you got to
> this state.
> >
> > Anyway, that was not your question at all. As I take it, you merely
> > want a mechanism to use the recorded RandomSeed to regenerate the
> > presentation order. Well, the short answer is, if you look around
> > the E-Prime Knowledge Base on the PST web site, you will find
> > instructions on how to enter a RandomSeed value and have EP run with
> > that. As I recall, it comes down to adding RandomSeed as a
> > StartupInfo parameter (I cover StartupInfo parameters in my
> > course). For details, consult the EP KB, or PST Web Support.
> >
> > -----
> > David McFarlane
> > E-Prime training
> > online: http://psychology.msu.edu/Workshops_Courses/eprime.aspx
> > Twitter: @EPrimeMaster (twitter.com/EPrimeMaster)
> >
> > At 3/15/2012 03:23 PM Thursday, you wrote:
> >
> >
> >
> >
> >
> >
> >
> > >Dear all,
> >
> > >I am quite new to E-prime and I've just realised that the programme
> > >that I have been using to collect data for the past two weeks hasn't
> > >been logging the data correctly!
> >
> > >Basically, participants are presented with a series of attributes
> > >describing four hypothetical apartments (these attributes are
> > >presented for a fixed time of 4seconds). At the end of it,
> > >participants are asked to decide which apartment they would like to
> > >live in.
> > >I am interested in how the order of presentation of attributes affects
> > >this final judgement and there were some obvious issues with have a
> > >fixed order across all participants so we decided to randomise it.
> > >However, we decided on this with the impression that E-prime would log
> > >the data of the order in which the attributes appeared (at random). On
> > >the list with all the attributes, under Logging, I checked the
> > >attributes property name. I guess I made a huge mistake when I was
> > >testing the programme because I pressed spacebar to move on to the
> > >next attribute, and when I looked at the data, the attributes order
> > >was indeed recorded. I didn't double check if the same would happen if
> > >no response was made at all, which was the case for all participants
> > >since they were asked to just read each attribute and the next one
> > >would appear automatically.
> >
> > >I guess another reason why I didn't realise this mistake earlier was
> > >because I did get a E-DataAid file after each participant - however,
> > >there was just one line with the subject, session... and random seed.
> > >I know this is very far fetched, but I'm wondering if there is any
> > >chance at all that I could somehow retrieve any form of information
> > >about the order of trials from the randomseed number?
> >
> > >Thank you so much!!
--
You received this message because you are subscribed to the Google Groups "E-Prime" group.
To post to this group, send email to e-prime at googlegroups.com.
To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com.
For more options, visit this group at http://groups.google.com/group/e-prime?hl=en.
More information about the Eprime
mailing list