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.

SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

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
  • 1263 views
  • 5 likes
  • 3 in conversation