Publicado el :
Estadística CREACION_INTERNA

Modelado de datos binomiales con PROC HPGENSELECT

Este código también está disponible en: Deutsch English Français
En espera de validación
El script analiza datos de lingotes (ingots) para modelar la probabilidad de que un lingote no esté listo para el laminado, en función del tiempo de calentamiento (Heat) y el tiempo de remojo (Soak). Ilustra dos enfoques: primero con datos agrupados (sintaxis r/n) y luego transformando los datos a formato binario (una línea por observación individual) para ajustar un modelo binario equivalente.
Análisis de datos

Type : CREACION_INTERNA


Los datos se crean directamente en el script a través de una instrucción DATALINES en un paso DATA. No hay dependencia de archivos externos o tablas SASHELP.

1 Bloque de código
DATA STEP Data
Explicación :
Este bloque crea la tabla 'Ingots' leyendo los datos integrados a través de 'datalines'. Las variables representan el tiempo de calentamiento (Heat), el tiempo de remojo (Soak), el número de eventos (r, lingotes no listos) y el número total de intentos (n). El operador ' @@' permite leer múltiples observaciones en la misma línea de datos. Se añade una variable de identificador 'Obsnum' para uso posterior.
¡Copiado!
1DATA Ingots;
2 INPUT Heat Soak r n @code_sas_json/8_SAS_Intro_ReadFile_MultiCol_@@.json;
3 Obsnum= _n_;
4 DATALINES;
57 1.0 0 10 14 1.0 0 31 27 1.0 1 56 51 1.0 3 13
67 1.7 0 17 14 1.7 0 43 27 1.7 4 44 51 1.7 0 1
77 2.2 0 7 14 2.2 2 33 27 2.2 0 21 51 2.2 0 1
87 2.8 0 12 14 2.8 0 31 27 2.8 1 22 51 4.0 0 1
97 4.0 0 9 14 4.0 0 19 27 4.0 1 16
10;
11 
2 Bloque de código
PROC HPGENSELECT
¡Copiado!
1PROC HPGENSELECT DATA=Ingots;
2 model r/n = Heat Soak Heat*Soak / dist=Binomial;
3 id Obsnum;
4 OUTPUT out=Out xbeta predicted=Pred;
5RUN;
3 Bloque de código
DATA STEP Data
¡Copiado!
1DATA Out;
2 MERGE Out Ingots;
3 BY Obsnum;
4 
4 Bloque de código
PROC PRINT
¡Copiado!
1 
2PROC PRINT
3DATA=Out;
4where Heat=14 & Soak=1.7;
5RUN;
6 
5 Bloque de código
DATA STEP Data
¡Copiado!
1DATA Ingots_binary;
2 SET Ingots;
3 DO i=1 to n;
4 IF i <= r THEN Y=1; ELSE Y = 0;
5 OUTPUT;
6 END;
7RUN;
6 Bloque de código
PROC HPGENSELECT
¡Copiado!
1 
2PROC HPGENSELECT
3DATA=Ingots_binary;
4model Y(event='1') = Heat Soak Heat*Soak / dist=Binary;
5RUN;
6 
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 : S A S S A M P L E L I B R A R Y