2016-04-19 11 views
0

Ich versuche, ein Stata-Programm in SAS umzuwandeln, und ich habe Probleme mit der gammap-Funktion in Stata und was korreliert in SAS. Aus der Stata-Dokumentation scheint es, dass die Funktion gammap die kumulative Gammaverteilung zurückgibt.SAS vs. Stata: Gamma-Verteilungsfunktion

Testdaten:

PSCORE PALPHA PBETA 
0.032352097 21.4639 0.002864125 
0.030794526 21.4639 0.002864125 
0.032952468 21.4639 0.002864125 
0.041141297 21.4639 0.002864125 
0.033376449 21.4639 0.002864125 
0.032352097 5.7865 0.005516187 
0.030794526 5.7865 0.005516187 
0.032952468 5.7865 0.005516187 
0.041141297 5.7865 0.005516187 
0.033376449 5.7865 0.005516187 

So im Stata-Programm, ich habe:

RESULT = gammap(PALPHA,PSCORE/PBETA) 

ich dies als Teil der CDF Funktion in SAS übersetzt:

RESULT = CDF('GAMMA',PALPHA,PSCORE/PBETA); 

jedoch , die Ergebnisse stimmen nicht überein, meine Theorie ist also falsch.

Stata:

0.0045025 
0.0025791 
0.0055082 
0.0474779 
0.0063245 
0.5680494 
0.5214182 
0.5854155 
0.7804033 
0.5974566 

SAS:

0.99394 
0.99605 
0.99291 
0.95694 
0.99209 
0.54212 
0.58959 
0.52384 
0.29454 
0.51097 

Könnte jemand bieten Einblick auf das, was die korrekte Korrelation Code SAS könnte sein, und wohin ich gehe falsch, die CDF Funktion in Verwendung? Sollte ich die CDF Funktion nicht verwenden?

Antwort

1

Die SAS-CDF-Funktion benötigt 2 Parameter für die Gamma-Verteilung.

data have; 
input PSCORE PALPHA PBETA; 

datalines; 
0.032352097 21.4639 0.002864125 
0.030794526 21.4639 0.002864125 
0.032952468 21.4639 0.002864125 
0.041141297 21.4639 0.002864125 
0.033376449 21.4639 0.002864125 
0.032352097 5.7865 0.005516187 
0.030794526 5.7865 0.005516187 
0.032952468 5.7865 0.005516187 
0.041141297 5.7865 0.005516187 
0.033376449 5.7865 0.005516187 
; 

data want; 
set have; 
result = cdf('gamma',pscore,palpha,pbeta); 
run; 

Die Ergebnisse in WANT scheinen mit Ihren STATA Ergebnissen übereinzustimmen.

+0

Dank @DomPazz - das sieht aus wie es den Trick macht. – Foxer