Boundary "trimming"

178 views
Skip to first unread message

Robert Zinke

unread,
Sep 16, 2019, 6:36:58 PM9/16/19
to OxCal
Hello,

I noticed a curious thing that I have not been able to explain. That is, when I enter two samples in a phase, within a sequence, OxCal appears to "trim" the outsides of those samples.
For instance, I have made a simplified example:
 Plot()
 {
  Sequence()
  {
   Boundary("Old");
   Phase()
   {
    C_Date("OSL1",-14100,1300);
    C_Date("OSL2",-11505,1350);
   };
   Boundary("Young");
  };
 };
 
(I know there is no point in putting a single phase within a sequence, but just for demo purposes).

When I run the example above, it appears that the edges of the posterior PDFs get clipped off by the boundaries. Is that the case and, if so, what is the logic behind that happening?

Thank you,
Robert
PDF_trimming.png

Christopher Ramsey

unread,
Sep 17, 2019, 7:07:10 AM9/17/19
to ox...@googlegroups.com
Robert

The way the program works is that it tries to estimated the reasonable extent of the marginal posterior for the boundaries. This generally works ok - but if, as in this case, there are too few events to really use a model of this kind it may underestimate and they you get truncated boundaries. If you see this and want to get around it you can provide a prior for the Boundary using a Uniform distribution. In this case you are also using too high a resolution and of course you know the end boundary will not extend beyond the present so something like:

Options()
{
Resolution=20;
};
Plot()
{
Sequence()
{
Boundary("Old",U(-100000,0));
Phase()
{
C_Date("OSL1",-14100,1300);
C_Date("OSL2",-11505,1350);
};
Boundary("Young",U(-20000,2019));
};
};


might be appropriate. Though even here you can see there is some truncation still at the old end (and obviously at the young end).

Note that when you get truncated boundaries you often get a slight rise in the probability at the truncation point - this is because the model is trying to impose a uniform on the span of the phase - right up to the maximum possible.

The truncation at the old end could be dealt with using a different MCMC sampling algorithm - and I might try this in future versions. In the end though the main issue here is a model with too many parameters and too few data.

Best wishes

Christopher
> --
> 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/4deddd16-4b68-43c8-8cf6-43f8bed16ecd%40googlegroups.com.
> <PDF_trimming.png>

Ray Kidd

unread,
Sep 20, 2019, 9:55:05 AM9/20/19
to ox...@googlegroups.com
Hello Robert,

As I understand it, you are asking why the posterior PDF is trimmed?

The act of modelling within boundaries is adding the information that the dates are somehow grouped or associated, so the grouping uses this additional information in curtailing the spread of uncertainty in each date - the essence of Bayes.

Here is a short model to play with.  It uses KDE Plot instead of Phase (doing the same job but giving a distribution view).  It creates 8 random C_Dates around the area you suggest and shows how the posterior of each OSL date is modified by the model.

I hope this helps,

Best wishes

Ray Kidd

 Plot()
 {
/* A macro for creating 8 distributions from a single date plus a random addition
 */
  // Define and initialise the variables
  var(b);
  var(a);
  var(r);
  var(d);
  var(e);
  //set a central date
  d=-13000;
  //set width of random dates
  e=3000;
  // initialise the count
  a=1;
  Sequence()
  {
   Boundary("start");
   KDE_Plot("RandomDates", )
   {
    while(a<=8)
    {
     r=rand()*e-e*0.5;
     r=(r+d);
     b="OSL";
     // add 1 to each name
     b=b+a;
     // Name each distribution Date1, Date2 etc
     // Create 8 distributions from a date plus a random addition
     C_Date(b,r,1300);
     a=a+1;
    };
   };
   Span("RandomSpan");
   Boundary("end");
  };
 };

Robert Zinke

unread,
Sep 29, 2019, 12:44:43 PM9/29/19
to OxCal
Hi Ray and Christopher,

Thank you both very much for your responses. They were quite informative and I have a much better understanding now!
I was curious, though, if I do not want to consider Boundaries as objects that limit the minimum and maximum ages of my samples, why use boundaries in the first place? Could I simply run my sequence without a Boundary on either end?

Doing so seems to work, though produces a warning flag: Warning! No boundaries used - check manual

Thanks for any additional help!
Rob Zinke

Christopher Ramsey

unread,
Sep 30, 2019, 4:19:13 AM9/30/19
to ox...@googlegroups.com
Rob

This will run but it is not normally what you want (hence the warning) because it assumes the dates are completely unrelated. The effect of this is that the dates will be more scattered than they should be.

A simple example will hopefully explain this:

If you have a set of events which covers for example about 50 years and they are measured with an uncertainty of the order of 100 years (as is usually the case with calibrated radiocarbon dates), then however many dated events you have these will seem to scatter by more that a century. Indeed the more dates you have the wider the range of these dates will be. The Bayesian phase model, with boundaries deals with this issue - and will as far as is possible reconstruct the original range of the events within the phase.

Best wishes

Christopher
> --
> 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/7dad62fc-23e9-4b00-ab52-a2c76c5fff37%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages