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-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

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