Das Skript beginnt mit der Definition eines `kupper_haseman`-Datensatzes über `datalines`. Anschließend wird das Verhältnis `t/m` mithilfe von `PROC SURVEYMEANS` berechnet und dieser Wert in einer Makrovariablen `Pi` gespeichert. Es folgen `DATA`-Schritte zur Berechnung von Zwischenvariablen, die für die GOF-Testformel erforderlich sind, einschließlich der individuellen Beiträge zur Statistik. `PROC MEANS` wird verwendet, um diese Beiträge zu summieren. Schließlich berechnet ein weiterer `DATA`-Schritt die finale Chi-Quadrat-Statistik (`X2`) und ihren p-Wert (`Pval`) mithilfe der Funktion `probchi`. Die Ergebnisse werden in einer HTML-Ausgabe über `PROC PRINT` präsentiert.
Datenanalyse
Type : CREATION_INTERNE
Die verwendeten Daten, `kupper_haseman`, werden intern direkt im Skript über eine `datalines`-Anweisung erstellt. Sie stammen von Kupper und Haseman (1978).
1 Codeblock
DATA STEP Data
Erklärung : Dieser Block erstellt den Datensatz `kupper_haseman`, der die Beobachtungen `t` (Anzahl der Erfolge) und `m` (Anzahl der Versuche) enthält, die für den Goodness-of-Fit-Test verwendet werden. Die Daten werden über die `datalines`-Anweisung direkt in das Skript integriert.
Kopiert!
data kupper_haseman;
input t m;
datalines;
0 5
2 5
1 7
0 8
2 8
3 8
0 9
4 9
1 10
6 10
;
1
DATA kupper_haseman;
2
INPUT t m;
3
DATALINES;
4
0 5
5
25
6
17
7
0 8
8
28
9
38
10
0 9
11
49
12
110
13
610
14
;
2 Codeblock
PROC SURVEYMEANS
Erklärung : Dieser Block verwendet `PROC SURVEYMEANS`, um das Verhältnis von `t` zu `m` aus dem Datensatz `kupper_haseman` zu berechnen. Das Ergebnis des geschätzten Verhältnisses wird in einem temporären Datensatz namens `Ratio` gespeichert. Die Anweisungen `ods select none` und `ods select all` werden verwendet, um die Anzeige der Standardausgaben der Prozedur zu unterdrücken.
Erklärung : Dieser `DATA`-Block liest den Datensatz `Ratio` (der das berechnete Verhältnis enthält) und verwendet die Funktion `call symput`, um den Wert der Variablen `Ratio` einer Makrovariablen namens `Pi` zuzuweisen. `trim(left(Ratio))` stellt sicher, dass der Wert sauber (ohne unnötige Leerzeichen) ist, bevor er in der Makrovariablen gespeichert wird.
Kopiert!
data Ratio;
set Ratio;
call symput('Pi',trim(left(Ratio)));
run;
1
DATA Ratio;
2
SET Ratio;
3
call symput('Pi',trim(left(Ratio)));
4
RUN;
4 Codeblock
DATA STEP
Erklärung : Dieser `DATA`-Block erstellt den Datensatz `out1` ausgehend von `kupper_haseman`. Er berechnet mehrere Zwischenvariablen (`pi`, `pic`, `pipic`, `mpi`, `t_mpi`, `pit_mpi`, `tpic`, `mm_1`, `aux`), die für die Tarone GOF-Testformel unerlässlich sind. Die Makrovariable `&Pi` wird für die geschätzte Wahrscheinlichkeit verwendet. Nur `aux` und `mm_1` werden für die nächsten Schritte beibehalten.
Kopiert!
data out1;
set kupper_haseman;
pi = Π
pic = 1 - pi;
pipic = pi * pic;
mpi = m * pi;
t_mpi = t - mpi;
pit_mpi = pi * t_mpi;
tpic = t * pic;
mm_1 = m * (m-1);
aux = ( t_mpi*t_mpi + pit_mpi - tpic ) / pipic;
keep aux mm_1;
run;
1
DATA out1;
2
SET kupper_haseman;
3
pi = Π
4
pic = 1 - pi;
5
pipic = pi * pic;
6
mpi = m * pi;
7
t_mpi = t - mpi;
8
pit_mpi = pi * t_mpi;
9
tpic = t * pic;
10
mm_1 = m * (m-1);
11
aux = ( t_mpi*t_mpi + pit_mpi - tpic ) / pipic;
12
keep aux mm_1;
13
RUN;
5 Codeblock
PROC MEANS
Erklärung : Dieser Block verwendet `PROC MEANS`, um die Summen der Variablen `aux` und `mm_1` aus dem Datensatz `out1` zu berechnen. Die aggregierten Ergebnisse (die Summen) werden in einem neuen Datensatz `out2` gespeichert. Die Option `noprint` unterdrückt die Standardanzeige der Statistiken von `PROC MEANS`.
Kopiert!
proc means data=out1 sum noprint;
var aux mm_1;
output out=out2 sum=aux mm_1;
run;
1
PROC MEANSDATA=out1 sum noprint;
2
var aux mm_1;
3
OUTPUT out=out2 sum=aux mm_1;
4
RUN;
6 Codeblock
DATA STEP
Erklärung : Dieser `DATA`-Block schließt die Berechnungen des GOF-Tests ab. Er liest den Datensatz `out2` (der die Summen von `aux` und `mm_1` enthält) und berechnet die Chi-Quadrat-Statistik (`x2`) und ihren p-Wert (`pval`) mithilfe der Funktion `probchi`. Beschreibende Labels und Anzeigeformate werden auf die Variablen `X2` und `PVal` angewendet.
Kopiert!
data out2;
set out2;
label X2 = "GOF Test";
label PVal = "P-Value";
format X2 8.2 Pval pvalue6.;
x2 = aux / sqrt( 2*mm_1 );
x2 = x2 * x2;
pval = 1 - probchi(x2,1,0);
run;
1
DATA out2;
2
SET out2;
3
label X2 = "GOF Test";
4
label PVal = "P-Value";
5
FORMAT X2 8.2 Pval pvalue6.;
6
x2 = aux / sqrt( 2*mm_1 );
7
x2 = x2 * x2;
8
pval = 1 - probchi(x2,1,0);
9
RUN;
7 Codeblock
PROC PRINT
Erklärung : Dieser Block generiert die finale Ausgabe im HTML-Format. Er definiert einen Titel für den Bericht und verwendet `PROC PRINT`, um die Variablen `x2` (die GOF-Teststatistik) und `pval` (den p-Wert) aus dem Datensatz `out2` anzuzeigen. Die Option `noobs` unterdrückt die Beobachtungsspalte, und `label` verwendet die Variablen-Labels für die Anzeige.
Kopiert!
ods html;
title "Tarone (1979) GOF Test";
proc print data=out2 noobs label;
var x2 pval;
run;
ods html close;
1
ods html;
2
title "Tarone (1979) GOF Test";
3
PROC PRINTDATA=out2 noobs label;
4
var x2 pval;
5
RUN;
6
ods html close;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Urheberrechtsinformationen : Tarone (1979) Two-sided GOF test
H0:Binomial Distribution Versus
H1:Generalized Binomial Distribution with Additive Interaction (Altham, 1978)
Altham's model was simultaneously proposed by Kupper and Haseman (1978)
and termed 'Correlated Binomial Model'
Data below were taken from Kupper and Haseman (1978, page 75)
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.