El script comienza definiendo un conjunto de datos `kupper_haseman` a través de `datalines`. Luego calcula la razón `t/m` usando `PROC SURVEYMEANS` y almacena este valor en una macrovariable `Pi`. Siguen pasos `DATA` para calcular variables intermedias necesarias para la fórmula de la prueba GOF, incluidas las contribuciones individuales a la estadística. `PROC MEANS` se utiliza para sumar estas contribuciones. Finalmente, otro paso `DATA` calcula la estadística Chi-cuadrado final (`X2`) y su p-valor (`Pval`) usando la función `probchi`. Los resultados se presentan en una salida HTML a través de `PROC PRINT`.
Análisis de datos
Type : CREATION_INTERNE
Los datos utilizados, `kupper_haseman`, se crean internamente directamente en el script a través de una instrucción `datalines`. Provienen de Kupper y Haseman (1978).
1 Bloque de código
DATA STEP Data
Explicación : Este bloque crea el conjunto de datos `kupper_haseman` que contiene las observaciones `t` (número de éxitos) y `m` (número de ensayos) utilizadas para la prueba de bondad de ajuste. Los datos se integran directamente en el script a través de la instrucción `datalines`.
¡Copiado!
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 Bloque de código
PROC SURVEYMEANS
Explicación : Este bloque utiliza `PROC SURVEYMEANS` para calcular la razón de `t` sobre `m` a partir del conjunto de datos `kupper_haseman`. El resultado de la razón estimada se almacena en un conjunto de datos temporal llamado `Ratio`. Las instrucciones `ods select none` y `ods select all` se utilizan para suprimir la visualización de las salidas estándar del procedimiento.
Explicación : Este bloque `DATA` lee el conjunto de datos `Ratio` (que contiene la razón calculada) y utiliza la función `call symput` para asignar el valor de la variable `Ratio` a una macrovariable llamada `Pi`. `trim(left(Ratio))` asegura que el valor esté limpio (sin espacios innecesarios) antes de ser almacenado en la macrovariable.
¡Copiado!
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 Bloque de código
DATA STEP
Explicación : Este bloque `DATA` crea el conjunto de datos `out1` a partir de `kupper_haseman`. Calcula varias variables intermedias (`pi`, `pic`, `pipic`, `mpi`, `t_mpi`, `pit_mpi`, `tpic`, `mm_1`, `aux`) esenciales para la fórmula de la prueba GOF de Tarone. La macrovariable `&Pi` se utiliza para la probabilidad estimada. Solo `aux` y `mm_1` se conservan para los pasos siguientes.
¡Copiado!
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 Bloque de código
PROC MEANS
Explicación : Este bloque utiliza `PROC MEANS` para calcular las sumas de las variables `aux` y `mm_1` a partir del conjunto de datos `out1`. Los resultados agregados (las sumas) se almacenan en un nuevo conjunto de datos `out2`. La opción `noprint` suprime la visualización predeterminada de las estadísticas de `PROC MEANS`.
¡Copiado!
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 Bloque de código
DATA STEP
¡Copiado!
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 Bloque de código
PROC PRINT
¡Copiado!
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;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información 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 y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.