Le script commence par définir un jeu de données `kupper_haseman` via des `datalines`. Il calcule ensuite le ratio `t/m` à l'aide de `PROC SURVEYMEANS` et stocke cette valeur dans une macro-variable `Pi`. Suivent des étapes de `DATA` pour calculer des variables intermédiaires nécessaires à la formule du test de GOF, y compris les contributions individuelles à la statistique. `PROC MEANS` est utilisée pour sommer ces contributions. Enfin, une autre étape `DATA` calcule la statistique finale du Chi-carré (`X2`) et sa p-value (`Pval`) en utilisant la fonction `probchi`. Les résultats sont présentés dans une sortie HTML via `PROC PRINT`.
Analyse des données
Type : CREATION_INTERNE
Les données utilisées, `kupper_haseman`, sont créées en interne directement dans le script via une instruction `datalines`. Elles proviennent de Kupper et Haseman (1978).
1 Bloc de code
DATA STEP Data
Explication : Ce bloc crée le jeu de données `kupper_haseman` qui contient les observations `t` (nombre de succès) et `m` (nombre d'essais) utilisées pour le test de Goodness-of-Fit. Les données sont intégrées directement dans le script via l'instruction `datalines`.
Copié !
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 Bloc de code
PROC SURVEYMEANS
Explication : Ce bloc utilise `PROC SURVEYMEANS` pour calculer le ratio de `t` sur `m` à partir du jeu de données `kupper_haseman`. Le résultat du ratio estimé est stocké dans un jeu de données temporaire nommé `Ratio`. Les instructions `ods select none` et `ods select all` sont utilisées pour supprimer l'affichage des sorties standard de la procédure.
Explication : Ce bloc `DATA` lit le jeu de données `Ratio` (contenant le ratio calculé) et utilise la fonction `call symput` pour assigner la valeur de la variable `Ratio` à une macro-variable nommée `Pi`. `trim(left(Ratio))` assure que la valeur est propre (sans espaces inutiles) avant d'être stockée dans la macro-variable.
Copié !
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 Bloc de code
DATA STEP
Explication : Ce bloc `DATA` crée le jeu de données `out1` en partant de `kupper_haseman`. Il calcule plusieurs variables intermédiaires (`pi`, `pic`, `pipic`, `mpi`, `t_mpi`, `pit_mpi`, `tpic`, `mm_1`, `aux`) essentielles pour la formule du test de GOF de Tarone. La macro-variable `&Pi` est utilisée pour la probabilité estimée. Seules `aux` et `mm_1` sont conservées pour les étapes suivantes.
Copié !
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 Bloc de code
PROC MEANS
Explication : Ce bloc utilise `PROC MEANS` pour calculer les sommes des variables `aux` et `mm_1` à partir du jeu de données `out1`. Les résultats agrégés (les sommes) sont stockés dans un nouveau jeu de données `out2`. L'option `noprint` supprime l'affichage par défaut des statistiques de `PROC MEANS`.
Copié !
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 Bloc de code
DATA STEP
Explication : Ce bloc `DATA` finalise les calculs du test de GOF. Il lit le jeu de données `out2` (contenant les sommes de `aux` et `mm_1`) et calcule la statistique du Chi-carré (`x2`) et sa p-value (`pval`) en utilisant la fonction `probchi`. Des labels descriptifs et des formats d'affichage sont appliqués aux variables `X2` et `PVal`.
Copié !
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 Bloc de code
PROC PRINT
Explication : Ce bloc génère la sortie finale en format HTML. Il définit un titre pour le rapport et utilise `PROC PRINT` pour afficher les variables `x2` (la statistique du test de GOF) et `pval` (la p-value) du jeu de données `out2`. L'option `noobs` supprime la colonne d'observation, et `label` utilise les labels des variables pour l'affichage.
Copié !
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;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : 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 et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.