El script primero genera un conjunto de datos 'Polynomial' basado en una función polinomial. Luego, utiliza PROC ORTHOREG para ajustar un modelo polinomial de grado 9. Los resultados del modelo se almacenan y son utilizados por PROC PLM para puntuar los ceros de la función original. Paralelamente, PROC GLM se utiliza para ajustar un modelo similar, y las predicciones también se calculan con PROC PLM. Finalmente, las predicciones de ambos modelos (ORTHOREG y GLM) se fusionan y se muestran para su comparación.
Análisis de datos
Type : CREATION_INTERNE
El script crea dos conjuntos de datos: 'Polynomial' y 'Zeros'. Los datos se generan completamente a través de bucles 'do' en pasos DATA, sin depender de fuentes externas.
1 Bloque de código
DATA STEP Data
Explicación : Este bloque crea la tabla 'Polynomial'. Genera 101 observaciones calculando los valores de 'x' e 'y' según una función polinomial, sin utilizar datos de entrada.
¡Copiado!
title 'Polynomial Data';
data Polynomial;
do i = 1 to 101;
x = (i-1)/(101-1);
y = 10**(9/2);
do j = 0 to 8;
y = y * (x - j/8);
end;
output;
end;
run;
1
title 'Polynomial Data';
2
DATA Polynomial;
3
DO i = 1 to 101;
4
x = (i-1)/(101-1);
5
y = 10**(9/2);
6
DO j = 0 to 8;
7
y = y * (x - j/8);
8
END;
9
OUTPUT;
10
END;
11
RUN;
2 Bloque de código
PROC ORTHOREG
Explicación : Este bloque utiliza el procedimiento ORTHOREG para realizar una regresión polinomial de grado 9 sobre la variable 'y' en función de 'x'. El modelo se almacena en el objeto 'OStore' y se produce un gráfico del modelo ajustado.
¡Copiado!
ods graphics on;
proc orthoreg data=Polynomial;
effect xMod = polynomial(x / degree=9);
model y = xMod;
effectplot fit / obs;
store OStore;
run;
ods graphics off;
1
ods graphics on;
2
3
PROC ORTHOREGDATA=Polynomial;
4
effect xMod = polynomial(x / degree=9);
5
model y = xMod;
6
effectplot fit / obs;
7
store OStore;
8
RUN;
9
10
ods graphics off;
3 Bloque de código
DATA STEP Data
Explicación : Este bloque crea la tabla 'Zeros' que contiene las raíces (ceros) de la función polinomial utilizada para generar los datos iniciales. Estos valores de 'x' se utilizarán para la predicción.
¡Copiado!
data Zeros(keep=x);
do j = 0 to 8;
x = j/8;
output;
end;
run;
1
DATA Zeros(keep=x);
2
DO j = 0 to 8;
3
x = j/8;
4
OUTPUT;
5
END;
6
RUN;
4 Bloque de código
PROC PLM
Explicación : Este procedimiento utiliza el modelo 'OStore' (creado por PROC ORTHOREG) para calcular los valores predichos ('OPred') para cada observación de la tabla 'Zeros'. Los resultados se guardan en la tabla 'OZeros'.
Explicación : Muestra el contenido de la última tabla creada, que es 'OZeros', mostrando las predicciones del modelo ORTHOREG.
¡Copiado!
proc print noobs;
run;
1
PROC PRINT noobs;
2
RUN;
6 Bloque de código
PROC GLM
Explicación : Este bloque utiliza el procedimiento GLM (General Linear Model) para ajustar un modelo polinomial de grado 9 (especificado por las interacciones sucesivas de 'x'). El modelo se almacena en 'GStore' para su uso posterior.
¡Copiado!
proc glm data=Polynomial;
model y = x|x|x|x|x|x|x|x|x;
store GStore;
run;
1
PROC GLMDATA=Polynomial;
2
model y = x|x|x|x|x|x|x|x|x;
3
store GStore;
4
RUN;
7 Bloque de código
PROC PLM
Explicación : Similar al paso anterior, este procedimiento utiliza el modelo 'GStore' (creado por PROC GLM) para calcular las predicciones ('GPred') sobre la tabla 'Zeros'. Los resultados se almacenan en la tabla 'GZeros'.
Explicación : Este bloque fusiona las tablas 'OZeros' y 'GZeros' para crear una nueva tabla 'Zeros' que contiene las predicciones de ambos modelos (ORTHOREG y GLM) lado a lado para facilitar la comparación.
¡Copiado!
data Zeros;
merge OZeros GZeros;
run;
1
DATA Zeros;
2
MERGE OZeros GZeros;
3
RUN;
9 Bloque de código
PROC PRINT
¡Copiado!
proc print noobs;
run;
1
PROC PRINT noobs;
2
RUN;
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
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.