Testing if events overlap

143 views
Skip to first unread message

Peter Almond

unread,
Jan 24, 2022, 11:14:40 AM1/24/22
to OxCal
Greetings All

I have determined events (based on defined boundaries) in two separate Sequences within the same Oxcal model. I'd like to test if the events from the two sequences are indistinguishable based on their pdfs. I thought the Combine function would do this for me but I the processing of the model (online version) stalls and the combined pdf is never calculated.

I have tried code like this

Combine("CE1000 event", "BBE_I", "LME_II");

where BBE_I and LME_II are events (boundaries) defined within the two different sequences.

Thanks
Peter

Richard Staff

unread,
Jan 24, 2022, 11:55:13 AM1/24/22
to ox...@googlegroups.com
Hi Peter,

I'd use the Difference command for that, e.g.:

Difference("CE1000 event", "BBE_I", "LME_II");

If the ranges produced include 0 (e.g., at 68.3%, 95.4% or 99.7% ranges), then your two events are indistinguishable (at those given ranges).

A related command that could be of interest is the Order command, which will give you a matrix of probabilities (if you are comparing multiple different events) of one event occurring before the other.

Hope that helps!

Richard 🙂



From: ox...@googlegroups.com <ox...@googlegroups.com> on behalf of Peter Almond <chase...@gmail.com>
Sent: 23 January 2022 00:52
To: OxCal <ox...@googlegroups.com>
Subject: Testing if events overlap
 
--
You received this message because you are subscribed to the Google Groups "OxCal" group.
To unsubscribe from this group and stop receiving emails from it, send an email to oxcal+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/oxcal/834367bb-fc0a-4c12-8736-d0937ed18e25n%40googlegroups.com.

Peter Almond

unread,
Jan 26, 2022, 3:29:34 PM1/26/22
to OxCal
Hi Richard

Thanks for your suggestion. Difference certainly works but I did hope to be able to combine the derived pdfs of the two events if they were not statistically different so I could use more information to refine the event timing. It seems Oxcal can combine pdfs of calibrated radiocarbon ages but not any posterior pdfs, whereas it can do differences on posteriors. That seems odd to me. Could that be a bug or is there something fundamental in the maths that makes that difficult?

I tried the order function on a simplified sequence model and found it ordered everything - boundaries, and individual 14C ages. In my complex model that would be a mess and computationally very demanding I suspect. I tried specifying arguments to the order function  but it didn't want to take any arguments, at least not how I had formatted it.
i.e.
Order ("Aggradation events")
{
"BBE_I"
"BBE_II"
"LME_I"
LME_III"
};

I appreciate your help.
Regards
Peter

Christopher Ramsey

unread,
Jan 26, 2022, 4:29:03 PM1/26/22
to OxCal group
Peter

Yes - there is something fundamental in the maths for this. To be combined in the posterior they need to be the same event in the model - which means they need to be combined there or cross referenced. A model where the marginal posteriors are different is assuming that the events are different. In some sense no events are really synchronous only separated by intervals that are considered insignificant in some respect.

If you want after the model run to check if the marginal posteriors can be combined you could do this but you would need to save the marginal posteriors as distributions (.prior). You could then combine these in a separate operation using the combine function.

For the order function if you only want to check the order of some items use the cross reference method. So you would want something like:

Order ("Aggradation events")
{
Date("=BBE_I");
Date("=BBE_II");
Date("=LME_I");
Date("=LME_III");
};

Best wishes

Christopher

> On 26 Jan 2022, at 20:29, Peter Almond <chase...@gmail.com> wrote:
>
> Hi Richard
>
> Thanks for your suggestion. Difference certainly works but I did hope to be able to combine the derived pdfs of the two events if they were not statistically different so I could use more information to refine the event timing. It seems Oxcal can combine pdfs of calibrated radiocarbon ages but not any posterior pdfs, whereas it can do differences on posteriors. That seems odd to me. Could that be a bug or is there something fundamental in the maths that makes that difficult?
>
> I tried the order function on a simplified sequence model and found it ordered everything - boundaries, and individual 14C ages. In my complex model that would be a mess and computationally very demanding I suspect. I tried specifying arguments to the order function but it didn't want to take any arguments, at least not how I had formatted it.
> i.e.
> Order ("Aggradation events")
> {
> "BBE_I"
> "BBE_II"
> "LME_I"
> LME_III"
> };
>
> I appreciate your help.
> Regards
> Peter
>
> On Tuesday, January 25, 2022 at 5:55:13 AM UTC+13 Richard wrote:
> Hi Peter,
>
> I'd use the Difference command for that, e.g.:
>
> Difference("CE1000 event", "BBE_I", "LME_II");
>
> If the ranges produced include 0 (e.g., at 68.3%, 95.4% or 99.7% ranges), then your two events are indistinguishable (at those given ranges).
>
> A related command that could be of interest is the Order command, which will give you a matrix of probabilities (if you are comparing multiple different events) of one event occurring before the other.
>
> Hope that helps!
>
> Richard 🙂
>
>
> From: ox...@googlegroups.com <ox...@googlegroups.com> on behalf of Peter Almond <chase...@gmail.com>
> Sent: 23 January 2022 00:52
> To: OxCal <ox...@googlegroups.com>
> Subject: Testing if events overlap
>
> Greetings All
>
> I have determined events (based on defined boundaries) in two separate Sequences within the same Oxcal model. I'd like to test if the events from the two sequences are indistinguishable based on their pdfs. I thought the Combine function would do this for me but I the processing of the model (online version) stalls and the combined pdf is never calculated.
>
> I have tried code like this
>
> Combine("CE1000 event", "BBE_I", "LME_II");
>
> where BBE_I and LME_II are events (boundaries) defined within the two different sequences.
>
> Thanks
> Peter
>
>
> --
> You received this message because you are subscribed to the Google Groups "OxCal" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to oxcal+un...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/oxcal/834367bb-fc0a-4c12-8736-d0937ed18e25n%40googlegroups.com.
>
> --
> You received this message because you are subscribed to the Google Groups "OxCal" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to oxcal+un...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/oxcal/b0c656c9-e977-423d-9c1a-73b3f7c9dc86n%40googlegroups.com.

Peter Almond

unread,
Jan 27, 2022, 4:55:14 PM1/27/22
to OxCal
Hi Christopher

Thanks for the clarification and your advice. I see your post from 2009 to Maggie on how to save and use posterior distributions as priors (https://groups.google.com/g/oxcal/c/gvc9nMpqRIA/m/Gs9arO4nyu0J).

Regards
Peter
Reply all
Reply to author
Forward
0 new messages