Publicado el :
Estadística CREACION_INTERNA

Prueba de homogeneidad para resultados trinomiales agregados

Este código también está disponible en: Deutsch English Français
En espera de validación
El script comienza con un paso DATA para generar un conjunto de datos llamado `test_of_homogeneity`. Simula respuestas categóricas (bajo, medio, alto) para 175 panelistas (`subjid`) y 8 mediciones repetidas por panelista, para dos productos diferentes. La simulación utiliza la distribución multinomial 'random-clumped' para introducir una correlación intra-cluster. Luego, `PROC SURVEYLOGISTIC` se utiliza para modelar la respuesta `y` en función del `product` teniendo en cuenta la estructura de cluster a través de la instrucción `CLUSTER subjid`. Las estimaciones y comparaciones de probabilidades se realizan con `LSMEANS` y `ESTIMATE`. Finalmente, `PROC SURVEYFREQ` calcula una prueba de chi-cuadrado para la asociación entre `product` e `y`, también ajustada para el clustering.
Análisis de datos

Type : CREACION_INTERNA


Los datos se generan completamente dentro del primer DATA STEP. El script simula resultados trinomiales para dos productos utilizando parámetros predefinidos (número de clusters, tamaño de los clusters, probabilidades subyacentes, correlación intra-cluster) y la función `uniform()` para la generación de números aleatorios.

1 Bloque de código
DATA STEP Data
Explicación :
Este bloque DATA STEP genera la tabla `test_of_homogeneity`. Simula datos para `n` sujetos (clusters) y `m` observaciones por sujeto, para dos productos. Utiliza un método de simulación 'random-clumped multinomial' para crear respuestas trinomiales correlacionadas, basándose en probabilidades predefinidas (`pi11`, `pi12`, etc.) y una correlación intra-cluster (`rho2`). La semilla (`seed`) se fija para la reproducibilidad.
¡Copiado!
1DATA test_of_homogeneity;
2n = 175; *--- Number of Panelists (Clusters) per Test Product;
3m = 8; *--- Number of Repeated Measurements per Panelist;
4rho2 = 0.15; *--- Intra Cluster Correlation;
5pi11 = 0.880; *--- Probability Category 1, Product 1;
6pi21 = 0.900; *--- Probability Category 1, Product 2;
7pi12 = 0.110; *--- Probability Category 2, Product 1;
8pi22 = 0.075; *--- Probability Category 2, Product 2;
9seed = 1974; *--- Initial Seed;
10rho = sqrt(rho2);
11cpi12 = pi11 + pi12;
12cpi22 = pi21 + pi22;
13 DO j = 1 to n;
14 *--- Product 1;
15 Product = 1;
16 Subjid = j;
17 yy = 3;
18 u = uniform( seed );
19 IF u < cpi12 THEN yy = 2;
20 IF u < pi11 THEN yy = 1;
21 DO i=1 to m;
22 Y = 3;
23 u = uniform( seed );
24 IF u < rho THEN y = yy;
25 ELSE DO;
26 uu = uniform( seed );
27 IF uu < cpi12 THEN y = 2;
28 IF uu < pi11 THEN y = 1;
29 END;
30 OUTPUT;
31 END;
32 *--- Product 2;
33 Product = 2;
34 Subjid = j + n;
35 yy = 3;
36 u = uniform( seed );
37 IF u < cpi22 THEN yy = 2;
38 IF u < pi21 THEN yy = 1;
39 DO i=1 to m;
40 Y = 3;
41 u = uniform( seed );
42 IF u < rho THEN y = yy;
43 ELSE DO;
44 uu = uniform( seed );
45 IF uu < cpi22 THEN y = 2;
46 IF uu < pi21 THEN y = 1;
47 END;
48 OUTPUT;
49 END;
50 END;
51keep subjid product y;
52RUN;
2 Bloque de código
PROC SURVEYLOGISTIC
Explicación :
Este procedimiento ajusta un modelo de regresión logística para datos de encuesta. Modela la variable de respuesta nominal `y` en función del `product` con un enlace logit generalizado (`link=glogit`). La instrucción `CLUSTER subjid` es crucial porque ajusta los errores estándar para la correlación intrasujeto. Las instrucciones `LSMEANS` y `ESTIMATE` se utilizan para obtener las probabilidades ajustadas por categoría y para comparar los productos.
¡Copiado!
1ods html;
2PROC SURVEYLOGISTIC DATA=test_of_homogeneity;
3 class product subjid / param=glm;
4 model y (ref=First) = product / link=glogit varadj=morel;
5 cluster subjid;
6 lsmeans product / ilink;
7 estimate 'P12' int 1 product 1 0 / category='1' ilink;
8 estimate 'P22' int 1 product 0 1 / category='1' ilink;
9 estimate 'P13' int 1 product 1 0 / category='2' ilink;
10 estimate 'P23' int 1 product 0 1 / category='2' ilink;
11 estimate 'P12 Vs P22' product 1 -1 / category='1' exp;
12 estimate 'P13 Vs P23' product 1 -1 / category='2' exp;
13RUN;
14ods html close;
3 Bloque de código
PROC SURVEYFREQ
Explicación :
Este procedimiento calcula las frecuencias y realiza una prueba de chi-cuadrado (Rao-Scott) para la asociación entre la variable `product` y la respuesta `y`. Al igual que `PROC SURVEYLOGISTIC`, utiliza la instrucción `CLUSTER subjid` para tener en cuenta el diseño de muestreo en conglomerados (clustering) y proporcionar estadísticas de prueba válidas.
¡Copiado!
1ods html;
2PROC SURVEYFREQ DATA=test_of_homogeneity;
3 cluster subjid;
4 tables product * y / chisq;
5RUN;
6ods 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.