BookmarkSubscribeRSS Feed
aaaaawe2
Calcite | Level 5

Hi,

 

The Proc Severity procedure allows fitting of a 'Burr' distribution but the CDF function does not allow the 'Burr' distribution as an input. For instance I tried this code but does not work:

 

Cum_Pct_Burr = CDF("Burr", Y, theta,alpha,gamma);

 

Is there a way to generate a cdf for Burr distribution?

 

thanks,

 

A

3 REPLIES 3
Reeza
Super User
You probably need to create your own using PROC FCMP. There's another question on here in the last week (in this forum) that shows how that can be done for a distribution.
FreelanceReinh
Jade | Level 19

Hi @aaaaawe2,

 

Yes, you can use PROC FCMP. And it's relatively easy in this case thanks to the closed-form expression of the Burr distribution's CDF (found in the PROC SEVERITY documentation😞

proc fcmp outlib=work.funcs.prob;
function cdf_burr(x,t,a,g);
  return(if x>0 then 1-(1+(x/t)**g)**-a else 0);
endsub;
run;

options cmplib=work.funcs;

 

For example, plot the CDF for seven parameter combinations (first six also shown in Wikipedia😞

%let n=7;
data burr(rename=(i=start));
array l[&n] _temporary_ (1 1 1 1 1 1   3);
array c[&n] _temporary_ (1 1 1 2 3 0.5 1);
array k[&n] _temporary_ (1 2 3 1 1 2   1);
do x=0 to 5 by 0.01;
  do i=1 to &n;
    F=cdf_burr(x,l[i],k[i],c[i]);
    output;
  end;
end;
F=.;
fmtname='legndf';
length label $40;
do i=1 to &n;
  label=cats('theta=',l[i],', alpha=', k[i],', gamma=', c[i]);
  output;
end;
run;

proc format cntlin=burr(firstobs=3508);
run;

ods graphics on / attrpriority=color;
title 'CDF of Burr distributions';

proc sgplot data=burr;
format start legndf.;
label start='Parameters';
yaxis label='CDF';
series x=x y=F / group=start;
keylegend / location=inside position=bottomright;
run;

title;

Result:

Burr_CDF.png

 

I haven't looked deeper into the related documentation "Defining a Severity Distribution Model with the FCMP Procedure" because I don't have a SAS/ETS license.

Reeza
Super User

@FreelanceReinh SAS/ETS is included in onDemand for Academics if you're ever inclined to try it out.

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 3 replies
  • 1117 views
  • 5 likes
  • 3 in conversation