Wednesday 8 November 2017

Sas Proc Amplía La Media Móvil Exponencial


He incluido una captura de pantalla para ayudar a aclarar mi problema: Estoy tratando de calcular algún tipo de media móvil y la desviación estándar en movimiento. La cosa es que quiero calcular los coeficientes de variación (stdev / avg) para el valor real. Normalmente esto se hace mediante el cálculo de la stdev y avg durante los últimos 5 años. Sin embargo a veces habrá observaciones en mi base de datos para las que no tengo la información de los últimos 5 años (quizás sólo 3, 2 etc). Es por eso que quiero un código que calculará la media y stdev, incluso si no hay información para el conjunto de 5 años. Además, como ves en las observaciones, a veces tengo información de más de 5 años, cuando este es el caso necesito algún tipo de media móvil que me permite calcular el promedio y stdev durante los últimos 5 años. Así que si una empresa tiene información durante 7 años necesito algún tipo de código que calculará el promedio y el stdev para, digamos, 1997 (por 1991-1996), 1998 (1992-1997) y 1999 (1993-1998). Como no estoy muy familiarizado con sas comandos que debe mirar (muy, muy groseramente) como: O algo así, realmente no tengo ni idea, voy a tratar de averiguarlo, pero vale la pena publicarlo si no lo encuentro yo mismo. Versión 6.08 del sistema SAS, PROC EXPAND en el software SAS / ETS se puede utilizar para realizar una variedad de transformaciones de datos. Estas transformaciones incluyen: derivaciones, retrasos, medias móviles ponderadas y no ponderadas, sumas en movimiento y sumas acumuladas, por nombrar algunas. Muchas nuevas transformaciones fueron agregadas en la Versión 6.12, incluyendo especificaciones separadas para los promedios móviles centrados y hacia atrás. Estas nuevas transformaciones hicieron necesario modificar la sintaxis de algunas de las transformaciones soportadas antes de la Versión 6.12. A continuación se proporcionan ejemplos de cómo especificar la sintaxis para los promedios móviles centrados y hacia atrás utilizando la versión 6.11 y anterior y la versión 6.12 y posterior. PROC EXPAND puede calcular una media móvil centrada o una media móvil hacia atrás. Una media móvil centrada en 5 periodos se calcula promediando un total de 5 valores consecutivos de la serie (el valor del período actual además de los dos valores inmediatamente anteriores y dos valores inmediatamente siguientes al valor actual). Un promedio móvil de retroceso de 5 periodos se calcula promediando el valor del periodo actual con los valores de los 4 períodos inmediatamente anteriores. La siguiente sintaxis ilustra cómo utilizar la especificación TRANSFORM (MOVAVE n) para calcular una media móvil centrada en 5 periodos usando la Versión 6.11 o anterior: Para calcular un promedio móvil de retroceso de n periodos utilizando la Versión 6.11 o anterior, utilice TRANSFORM (MOVAVE) N LAG k) especificación, donde k (n-1) / 2 si n es impar o donde k (n-2) / 2 si n es par. La siguiente sintaxis ilustra cómo utilizar la especificación TRANSFORM (CMOVAVE n) para calcular una media móvil centrada en 5 periodos usando la Versión 6.12 o Más adelante: La siguiente sintaxis similar ilustra cómo utilizar la especificación TRANSFORM (MOVAVE n) para calcular un promedio móvil hacia atrás de 5 periodos utilizando la Versión 6.12 o posterior: Para obtener más información, vea Operaciones de Transformación en el capítulo EXPAND de la Guía de Usuarios de SAS / ETS . Si no tiene acceso a SAS / ETS, puede calcular una media móvil en el paso DATA tal como se ilustra en este programa de ejemplo. Información del sistema operativo y de la versión Las operaciones que se pueden utilizar en las opciones TRANSFORMIN y TRANSFORMOUT se muestran en la Tabla 14.1. Las operaciones se aplican a cada valor de la serie. Cada valor de la serie se sustituye por el resultado de la operación. En la Tabla 14.1. O x representa el valor de la serie en un período de tiempo determinado t antes de aplicar la transformación, representa el valor de la serie de resultados y N representa el número total de observaciones. La notación n indica que el argumento n es opcional, el valor predeterminado es 1. La ventana de notación se utiliza como argumento para los operadores de estadísticas en movimiento e indica que puede especificar un número entero de períodos n o una lista de n pesos en Paréntesis La secuencia de notación se utiliza como argumento para los operadores de secuencia, e indica que debe especificar una secuencia de números. La notación s indica la longitud de la estacionalidad, y es un argumento requerido. Tabla 14.1 Operaciones de transformación Operadores de ventana de tiempo móvil Algunos operadores calculan estadísticas para un conjunto de valores dentro de una ventana de tiempo móvil, a los que se llaman operadores de ventanas de tiempo en movimiento. Hay versiones centradas y hacia atrás de estos operadores. Los operadores de ventanas de tiempo de movimiento en movimiento son CMOVAVE, CMOVCSS, CMOVGMEAN, CMOVMAX, CMOVMED, CMOVMIN, CMOVPROD, CMOVRANGE, CMOVRANK, CMOVSTD, CMOVSUM, CMOVTVALUE, CMOVUSS y CMOVVAR. Estos operadores calculan estadísticas de los valores de las observaciones. Los operadores de ventanas de tiempo de movimiento hacia atrás son MOVAVE, MOVCSS, MOVGMEAN, MOVMAX, MOVMED, MOVMIN, MOVPROD, MOVRANGE, MOVRANK, MOVSTD, MOVSUM, MOVTVALUE, MOVUSS y MOVVAR. Estos operadores calculan estadísticas de los valores. Todos los operadores de ventana de tiempo en movimiento aceptan un argumento que especifica el número de períodos a incluir en la ventana de tiempo. Por ejemplo, la siguiente sentencia calcula una media móvil hacia atrás de cinco períodos de X. En este ejemplo, la transformación resultante es La siguiente sentencia calcula una media móvil centrada en cinco periodos de X. En este ejemplo, la transformación resultante es Si la ventana con un operador de ventana de tiempo móvil en movimiento no es un número impar, se incluye un valor más retrasado que el valor de avance en la ventana de tiempo. Por ejemplo, el resultado del operador CMOVAVE 4 puede calcular una operación de ventana de tiempo de movimiento hacia adelante combinando un operador de ventana de tiempo de movimiento hacia atrás con el operador REVERSE. Por ejemplo, la siguiente sentencia calcula un promedio móvil de X de cinco periodos. En este ejemplo, la transformación resultante es Algunos de los operadores de ventana de tiempo de movimiento le permiten especificar una lista de valores de peso para calcular estadísticas ponderadas. Estos son CMOVAVE, CMOVCSS, CMOVGMEAN, CMOVPROD, CMOVSTD, CMOVTVALUE, CMOVUSS, CMOVVAR, MOVAVE, MOVCSS, MOVGMEAN, MOVPROD, MOVSTD, MOVTVALUE, MOVUSS y MOVVAR. Para especificar un operador de ventana de tiempo de movimiento ponderado, introduzca los valores de peso entre paréntesis después del nombre del operador. El ancho de ventana es igual al número de pesos que especifique que no especifique. Por ejemplo, la siguiente sentencia calcula una media móvil centrada de cinco periodos ponderada de X. En este ejemplo, la transformación resultante es Los valores de peso deben ser mayores que cero. Si los pesos no suman 1, los pesos especificados se dividen por su suma para producir los pesos utilizados para calcular la estadística. Una ventana de tiempo completa no está disponible al principio de la serie. Para los operadores centrados, una ventana completa tampoco está disponible al final de la serie. El cálculo de los operadores de ventana de tiempo móvil se ajusta para estas condiciones de contorno como sigue. Para los operadores de ventanas que se mueven hacia atrás, el ancho de la ventana de tiempo se acorta al principio de la serie. Por ejemplo, los resultados del operador MOVSUM 3 son valores faltantes Puede truncar la longitud de la serie de resultados utilizando los operadores TRIM, TRIMLEFT y TRIMRIGHT para establecer valores que faltan al principio o al final de la serie. Puede utilizar estas funciones para recortar los resultados de los operadores de ventana de tiempo en movimiento de modo que la serie de resultados contenga sólo valores calculados desde una ventana de tiempo de ancho completo. Por ejemplo, las siguientes afirmaciones calculan una media móvil centrada de cinco periodos de X. Y establecen valores faltantes en los extremos de la serie que son promedios de menos de cinco valores. Normalmente, la ventana de tiempo móvil y los operadores de estadísticas acumuladas ignoran los valores faltantes y calculan sus resultados para los valores no perdidos. Cuando precedido por el operador NOMISS, estas funciones producen un resultado faltante si no hay ningún valor dentro de la ventana de tiempo. El operador NOMISS no realiza cálculos, sino que sirve para modificar el funcionamiento del operador de ventana de tiempo móvil que lo sigue. El operador NOMISS no tiene efecto a menos que sea seguido por un operador de ventana de tiempo móvil. Por ejemplo, la siguiente sentencia calcula una media móvil de cinco períodos de la variable X pero produce un valor faltante cuando falta cualquiera de los cinco valores. La sentencia siguiente calcula la suma acumulada de la variable X pero produce un valor faltante para todos los períodos después del primer valor X faltante. Similar al operador NOMISS, el operador MISSONLY no realiza cálculos (a menos que sea seguido por la opción MEAN), pero sirve para modificar la operación del operador de la ventana de tiempo móvil que la sigue. Cuando precedido por el operador MISSONLY, estos operadores de ventanas de tiempo de movimiento reemplazan cualquier valor faltante con la estadística de movimiento y dejan los valores no perdidos sin cambios. Por ejemplo, la siguiente sentencia sustituye cualquier valor faltante de la variable X por una media móvil exponencialmente ponderada de los valores pasados ​​de X y deja sin cambios los valores no perdidos. Los valores faltantes se interpolan utilizando la media móvil ponderada exponencial especificada. (Esto también se llama suavizado exponencial simple.) La siguiente declaración reemplaza cualquier valor faltante de la variable X con la media general de X. Puede utilizar el operador SETMISS para reemplazar valores perdidos con un número especificado. Por ejemplo, la siguiente declaración reemplaza cualquier valor faltante de la variable X con el número 8.77. Operadores clásicos de descomposición Si se trata de una serie temporal estacional con observaciones por estación, los métodos clásicos de descomposición dividen las series temporales en cuatro componentes: tendencias, ciclos, componentes estacionales e irregulares. Los componentes de tendencia y ciclo a menudo se combinan para formar el componente de ciclo de tendencia. Hay dos formas básicas de descomposición clásica: multiplicativa y aditiva, que se muestran a continuación. Ejemplos de uso Los índices estacionales multiplicativos son 0.9, 1.2. 0,8 y 1,1 para los cuatro trimestres. Sea SEASADJ una variable de series temporales trimestrales que se ha ajustado estacionalmente de manera multiplicativa. Para restablecer la estacionalidad a SEASADJ utilice la siguiente transformación: Los índices estacionales aditivos son 4.4, -1.1, -2.1 y -1.2 para los cuatro trimestres. Sea SEASADJ una variable de series temporales trimestrales que se ha ajustado estacionalmente de manera aditiva. Para restaurar la estacionalidad en SEASADJ, utilice la siguiente transformación: Operadores de conjunto Para los operadores de conjunto, el primer parámetro,, representa el valor a reemplazar y el segundo parámetro,, representa el valor de reemplazo. El reemplazo se puede localizar al principio, medio o final de la serie. Ejemplos de uso Supongamos que una tienda se abrió recientemente y que el historial de ventas se almacena en una base de datos que no reconoce valores perdidos. Aunque la demanda puede haber existido antes de la apertura de los almacenes, esta base de datos asigna el valor de cero. Modelar el historial de ventas puede ser problemático porque el historial de ventas es casi cero. Para compensar esta deficiencia, los valores iniciales cero se deben establecer como ausentes con los valores cero restantes sin cambios (lo que representa ninguna demanda). Asimismo, supongamos que una tienda está cerrada recientemente. La demanda puede todavía estar presente y por lo tanto un valor registrado de cero no refleja con exactitud la demanda real. Operador de escala

No comments:

Post a Comment