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-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

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